앞에서
서버 구동 스크립트를
생성했었다.
2021/01/01 - [Tip...] - [라즈베리파이4 NAS 설치 7] Seafile 설치 파일 생성하기
직접 생성한 스크립트로
설치와 실행을
하려했으나
계속 원인을 알 수 없는
오류가 나오는 바람에
결국...
다운받아서 설치했다.
그렇다...
난 지금까지
뻘짓했다.
ㅠㅠ...
서버 구동 스크립트는
Seafile의 Github에서
다운 받을 수 있다.
https://github.com/haiwen/seafile-rpi/releases
Seafile의 서버를
다운받을 때는
본인의 라즈베리파이가
bionic / buster / focal / stretch
중 무슨 버전인지
그리고
arm64(=armv8) / armv7
인지
확인하고 다운받아야 한다.
압축 해제
빌드된 서버 파일은
압축되어 있기 때문에
압축을 해제해야 한다.
$ cd
$ mkdir seafile
$ mv ~/seafile-server-<version>.tar.gz ~/seafile/
$ cd ~/seafile
$ tar xvzf seafile-server-<version>.tar.gz
압축 해제된
디렉토리에서
서버 구동에
필요한 파일들을
확인할 수 있다.
파이썬 패키지 설치
서버 구동에 필요한
파이썬 패키지들을 설치한다.
Seafile 7.x 버전 부터는
파이썬 3을 사용하기 때문에
인터넷에 돌아다니는
명령어가 아닌
아래 명령어로 설치해야한다.
(* 인터넷에 돌아다니는 건
파이썬 2.7 용이다.)
$ sudo apt-get install -y python3-ldap python3-urllib3 sqlite3 python3-requests
서버 설치
서버 설치를 시작하면
서버의 이름,
서버 아이피 주소,
데이터 저장 폴더,
포트,
관리자 메일,
패스워드 등을
설정하게 된다.
OS가 설치된
SDcard는
용량이 부족하므로
데이터를 저장할
외장 하드를
미리 연결한 후
외장 하드가
마운트된 위치를
확인한 다음에
진행한다.
$ sudo lsblk
이제 Seafile-server의
설치를 진행한다.
$ cd ~/seafile/seafile-server-<version>
$ ./setup-seafile.sh
setup-seafile.sh 파일을
실행하면
rudin@raspberrypi:~/seafile/seafile-server-7.1.5 $ ./setup-seafile.sh
-----------------------------------------------------------------
This script will guide you to config and setup your seafile server.
Make sure you have read seafile server manual at
https://download.seafile.com/published/seafile-manual/home.md
Note: This script will guide your to setup seafile server using sqlite3,
which may have problems if your disk is on a NFS/CIFS/USB.
In these cases, we suggest you setup seafile server using MySQL.
Press [ENTER] to continue
-----------------------------------------------------------------
Checking packages needed by seafile ...
Checking python on this machine ...
Find python: python3
Checking python module: python-sqlite3 ... Done.
Checking for sqlite3 ...Done.
Checking Done.
What would you like to use as the name of this seafile server?
Your seafile users will be able to see the name in their seafile client.
You can use a-z, A-Z, 0-9, _ and -, and the length should be 3 ~ 15
[server name]: NAS
What is the ip or domain of this server?
For example, www.mycompany.com, or, 192.168.1.101
[This server's ip or domain]: 192.168.0.199
What tcp port do you want to use for seafile fileserver?
8082 is the recommended port.
[default: 8082 ] Enter
This is your config information:
server name: NAS
server ip/domain: 192.168.0.199
seafile data dir: /home/rudin/seafile/seafile-data
fileserver port: 8082
If you are OK with the configuration, press [ENTER] to continue.
Generating ccnet configuration in /home/rudin/seafile/ccnet...
Generating seafile configuration in /home/rudin/seafile/seafile-data ...
-----------------------------------------------------------------
Seahub is the web interface for seafile server.
Now let's setup seahub configuration. Press [ENTER] to continue
-----------------------------------------------------------------
Creating database now, it may take one minute, please wait...
/home/rudin/seafile/seafile-server-7.1.5
Done.
creating seafile-server-latest symbolic link ... done
-----------------------------------------------------------------
Your seafile server configuration has been completed successfully.
-----------------------------------------------------------------
run seafile server: ./seafile.sh { start | stop | restart }
run seahub server: ./seahub.sh { start <port> | stop | restart <port> }
-----------------------------------------------------------------
If the server is behind a firewall, remember to open these tcp ports:
-----------------------------------------------------------------
port of seafile fileserver: 8082
port of seahub: 8000
When problems occur, refer to
https://download.seafile.com/published/seafile-manual/home.md
for more information.
rudin@raspberrypi:~/seafile/seafile-server-7.1.5 $
서버 시작
이제 서버를 시작한다.
$ ./seafile.sh start # Start Seafile service, default port is 8082
$ ./seahub.sh start # Start Seahub website, default port is 8000
$ ./seafile.sh start
- No seafevents 라는
메시지가 보이는 데,
seafevents는
Pro에서만 사용하는
기능이라고 한다.
$ ./seahub.sh start
오류가 발생한다면,
아래와 같이
해결한다.
No module named 'seaserv'
./seahub.sh start
를 하면
seaserv 라이브러리를
찾을 수 없다는 오류가
나타난다.
이 문제는
해당 라이브러리를
못 찾아 발생하는 문제로
라이브러리를 검색한 다음에
그 위치를
환경변수에 등록하는
방법으로 해결한다.
$ sudo find / |grep seaserv
$ export PYTHONPATH=/seaserv/발견된/디렉토리/위치
우선, 라이브러리를 찾는다.
찾은 위치를
PYTHONPATH 환경변수로
등록한다.
Bind IP 수정
설치가 끝나고
최초 접속을 해보면
접속이 안된다.
이유는
127.0.0.1:8000
접속만 열려있기 때문이다.
$ sudo lsof -i -P -n |grep 8000
이는 아래 파일을
수정해서 해결할 수 있다.
대상: ~/seafile/conf/gunicorn.conf.py
$ vi ~/seafile/conf/gunicorn.conf.py
gunicorn.conf.py 내용 중
bind = "127.0.0.1:8000" 을
bind = "0.0.0.0:8000"으로
수정한다.
내용을 수정한 후,
서버를 다시 시작한다.
$ cd ~/seafile/seafile-server-<version>
$ ./seafile.sh restart # Start Seafile service, default port is 8082
$ ./seahub.sh restart # Start Seahub website, default port is 8000
접속 확인
이제 설치가 끝났으니
Seafile로 접속을
확인한다.
http://라즈베리파이의 IP:8000
접속에 성공한 화면이다.
앞에서 서버 구동 시
입력한 관리자 계정으로
로그인 한다.
참고 사항
설치는 끝났다.
아래는 참고 사항일 뿐이다.
서버 구동 시
디버그 메시지를
보고 싶다면
start-fastcgi 옵션으로
서버를 구동시킨다.
$ ./seahub.sh start-fastcgi # this will show error details.
Seafile은 보안 이유인지
파일을 조각화하여
저장한다.
때문에, 웹이나
클라이언트 프로그램을
제외하고
저장된 파일을
확인할 수 없는데,
seaf_fuse를 사용하여
저장된 파일들을
백업할 수 있다.
이는 따로 포스팅할 예정이다.
끝
이제 설치는 끝났다.
라즈베리파이 부팅 시
서버 자동 실행,
저장 위치 변경 등
추가 설정은
따로 포스팅할 예정이다.