아... 이거 프로그래밍 글은 아니고 일종의 NAS 설치기같은 겁니다.
의존성
sudo pacman -S python2 python-setuptools python-ldap python-urllib3 python-requests sqlite3 python-pip
(지금와서 생각하는건데 pip 써서 --user로 설치할거면 여기 있는 라이브러리들 중 다수를 설치하지 않아도 될 듯)
yay -S libselinux (무시하고 설치하면 설치됨)
설치 방법
AUR 대신 공식 방식 사용
설치파일은 라즈베리파이용 사용
Caveats
- seahub 파일 생성 실패시 seahub.db 와 같은 경로의 seahub-뭐시기였나 를 삭제 후 다시 셋업
chmod: changing permissions of '/mnt/wdmybook/검열됨/seafile-data': Operation not permitted
mkdir: cannot create directory ‘/mnt/wdmybook/검열됨/seafile-data’: Permission denied
cp: cannot stat '/mnt/wdmybook/검열됨/seafile-data/library-template': Permission denied
- 유저 권한으로 하려면 pip 라이브러리는 --user 붙여서 설치
- 아치위키 보고 PATH에 bashrc하고 혹시모르니까 systemd에도 추가해두셔요
- /tmp/seahub_cache 권한이 없는 경우 해당경로 삭제 (어차피 다시 만듦)
- Interal Server Error: seahub: ordered_dict 모듈이 없음: urllib3 & requests 호환성이 문제인 경우 ( seahub/thirdpart 에 있는 requests-뭐시기.egg 삭제 (하면 유저로 설치한 거 사용함) (2.20.0 이후부터 urllib3 특정버전 이후와 호환된다고 함)
- egg는 zip 파일 확장자 바꾼건데 수정없이 그대로 사용할 수 있는 의존성이라고 합니다. requirements.txt 변경해서 다시 빌드하는 방법은 못 찾아냄. 있더라도 소스로부터 빌드해야할득....
- 라즈베리파이용 v6.3.4 seahub가 이 상태인데 이슈넣긴 귀찮아서 넘겼습니다
- nginx를 비 root로 실행중인 경우 /media에 연결된 seahub/ 폴더에 nginx 유저가 접근할 수 있어야 함
(정적파일 서빙) - 저는 usermod -aG seafile html 하고 chmod g=u -R /home/seafile 했습니다.
- 8082 여세요 (파일전송 포트)
- 서비스 URL 설정은
어차피 nginx로 프록시거는 경우에는 그냥 localhost 하셔도 잘 되더라구요공유 링크가 이 링크를 기반으로 생성되니 외부에 공개되는 주소로 하세요.
자랑
골머리
야 이거 나중에 이전할 때 어떻게 하냐... 이걸 또 하라고...?
왜 사용자 프로필 이미지가 설정이 안 될까요 (아...)
백업 후 복원
- 백업
- seaf-fsck.sh 로 일반 파일로 변환하여 전체 파일 백업.
- 파일에 문제가 없으니 마운트만 뗐습니다.
- db 백업, 경로 백업 (인데 홈 통채로 백업해서 db 백업은 무의미할듯)
- 복원
- sudo useradd -m seafile && sudo usermod -aG html seafile
- yay -S libselinux (아키텍처 무시 설치)
- 동일하게 마운트
- scp로 홈 (앱 경로) 복원
- sudo pacman -S ffmpeg python2-pip libxml2 libxslt python-lxml python-ldap
- ldap는 어째서인지 user로 설치 안 됨
- ffmpeg 덕분에 mesa 깔립니다.
- pip2 install --user setuptools urllib3 requests moviepy Pillow==4.3.0
- .bashrc 에 아래의 두 줄 추가 (return 나오기 ㅈ
- export PATH="/home/seafile/.local/bin:$PATH"
- export PYTHONPATH="/home/seafile/.local/lib/pythone2.7:${PYTHONPATH}"
- seahub만 실행 안 됨 ->
- 파워 디버깅: bash -x ./seahub.sh start
- CSS랑 리소스 로드 안 됨: 위의 과정에 sudo chown -R seafile:html /home/seafile 추가 (...)
cd seahub 경로 && pip install -r requirements.txt --user하지 마세요
TV 애니메이션 "나에게 천사가 내려왔다!" 중