1부에서 계속 이어서 하겠습니다~
1. [Seafile] Raspberry pi에 Seafile 설치하기-1
[Seafile 소스코드 준비]
- libsearpc
- ccnet-server
- seafile-server
- seahub
- seafobj
- seafdav
위의 6개의 구성요소를 설치해야 합니다.
하지만 그전에 환경변수를 하나 등록해줍니다.
export PKG_CONFIG_PATH=/home/pi/dev/seafile/lib:$PKG_CONFIG_PATH export PKG_CONFIG_PATH=/home/pi/dev/libsearpc:$PKG_CONFIG_PATH export PKG_CONFIG_PATH=/home/pi/dev/ccnet-server:$PKG_CONFIG_PATH
공식 사이트에서는 ccnet이라고 되있는데 설치를 하면 ccnet이 ccnet-server가 됩니다. 그래서 환경 변수도 ccnet-server로 변경하였습니다. 설치 중에 ccnet으로 되있는 경우도 전부 ccnet-server로 변경하였습니다.
이제 구성요소를 설치하겠습니다.
1. libsearpc 설치
cd ~/dev git clone https://github.com/haiwen/libsearpc.git cd libsearpc git reset --hard v3.0-latest ./autogen.sh ./configure make dist
2. ccnet-server 설치
cd ~/dev git clone https://github.com/haiwen/ccnet-server.git cd ccnet-server git reset --hard v6.0.1-server ./autogen.sh ./configure make dist
3. seafile-server 설치
cd ~/dev git clone https://github.com/haiwen/seafile-server.git cd seafile git reset --hard v6.0.1-server ./autogen.sh ./configure make dist
4. seahub 설치
seahub는 그냥 설치하면 아마 django-admin 에러가 발생할 것입니다. 이건 seahub 설치 중에 환경변수 PATH를 참조하는 데 그곳에 django-admin 스크립트가 없어서 발생합니다. 그러나 저희는 django-admin을 설치하였기 때문에 링크파일(바로가기라고 생각하시면 됩니다.)을 만들기만 하면 됩니다.
sudo ln -s ~/dev/seahub_thirdpart/django-admin /usr/local/bin/django-admin sudo ln -s ~/dev/seahub_thirdpart/django-admin.py /usr/local/bin/django-admin.py
그리고 아래의 명령을 진행해줍니다.
cd ~/dev git clone https://github.com/haiwen/seahub.git cd seahub git reset --hard v6.0.1-server ./tools/gen-tarball.py --version=6.0.1 --branch=HEAD
5. seafobj 설치
cd ~/dev git clone https://github.com/haiwen/seafobj.git cd seafobj git reset --hard v6.0.1-server make dist
6. seafdav 설치
cd ~/dev git clone https://github.com/haiwen/seafdav.git cd seafdav git reset --hard v6.0.1-server make
에러 없이 설치되었다면 이제 소스코드를 한곳에 모아야 합니다.
mkdir ~/seafile-sources cp ~/dev/libsearpc/libsearpc-1.2.2-tar.gz ~/seafile-sources cp ~/dev/ccnet/ccnet-6.0.1-tar.gz ~/seafile-sources cp ~/dev/seafile/seafile-6.0.1-tar.gz ~/seafile-sources cp ~/dev/seahub/seahub-6.0.1-tar.gz ~/seafile-sources cp ~/dev/seafobj/seafobj.tar.gz ~/seafile-sources cp ~/dev/seafdav/seafdav.tar.gz ~/seafile-sources
명령어 중 버전이 적혀있는 곳은 공통된 작업을 했기 때문에 다 맞을 것 입니다.
[서버 스크립트 생성]
이제 서버를 실제로 구동하는 스크립트를 생성해봅시다
mkdir ~/seafile-server-pkgs ~/dev/seafile-server/scripts/build/build-server.py --libsearpc_version=1.2.2 --ccnet_version=6.0.1 --seafile_version=6.0.1 --thirdpartdir=/home/pi/dev/seahub_thirdpart --srcdir=/home/pi/seafile-sources --outputdir=/home/pi/seafile-server-pkgs --version=6.0.1
서버 스크립트 생성 시 다른 라이브러리가 없어서 에러가 나올 수 있습니다.
저는 LDAP 와 onigposix.h 를 찾을 수 없다는 에러가 나왔습니다.
아마 다른 분들도 처음 라즈비안 OS를 설치한 직후 포스팅을 따라 왔다면 저와 같은 에러가 나올 것입니다.
1. LDAP 에러
LDAP 라이브러리가 없어서 생긴 에러니 설치해줍니다.
sudo apt-get install libldap2-dev
2. onigposix.h 에러
Oniguruma 라는 라이브러리가 없어서 생긴 에러니 설치해줍니다.
sudo apt-get install libonig-dev
위의 조치를 취한 후 다시 명령을 해봅시다.
~/dev/seafile-server/scripts/build/build-server.py --libsearpc_version=1.2.2 --ccnet_version=6.0.1 --seafile_version=6.0.1 --thirdpartdir=/home/pi/dev/seahub_thirdpart --srcdir=/home/pi/seafile-sources --outputdir=/home/pi/seafile-server-pkgs --version=6.0.1
에러 없이 seafile-server_6.0.1_pi.tar.gz 파일이 ~/seafile-server-pkgs 아래에 생겼다면 서버 구동의 준비가 거의 다되었습니다.
이제 마지막 과정이 남았으며 3부에서 계속하겠습니다~