3. [Seafile] Raspberry pi에 Seafile 설치하기-3

Seafile|2019. 3. 9. 22:11

2부에 이어서 계속 하겠습니다~

 

1. [Seafile] Raspberry pi에 Seafile 설치하기-1

2. [Seafile] Raspberry pi에 Seafile 설치하기-2

 

3부에서는 2부에서 만든 tar.gz 압축을 풀고 실제로 구동시키기 위한 작업을 합니다.

 

참고 사이트 : https://manual.seafile.com/deploy/using_sqlite.html

 

 

[압축 해제]

 

홈 디렉토리에서 시작합니다.

 

mkdir haiwen mv ~/seafile-server-pkgs/seafile-server_6.0.1_pi.tar.gz haiwen cd haiwen tar -xzf seafile-server_6.0.1_pi.tar.gz mkdir installed mv seafile-server_6.0.1_pi.tar.gz installed

 

[패키지 설치]

 

서버 구동 시 필요한 패키지를 설치합니다.

 

sudo apt-get install python-ldap python-urllib3 sqlite3 python-requests

저는 python 2.7과 python-setuptools는 있기 때문에 설치 명령에 넣지는 않았습니다. 아마 여러분들도 저와 같을 것이라고 생각합니다.

 

 

[서버 설치]

 

마지막으로 서버를 설치하는 작업입니다.

이 과정에서 Seafile 서버의 이름과 서버 아이피 주소, 데이터 저장 폴더, 포트, 관리자 메일, 패스워드 등을 설정하게 됩니다. 

 

관리자 메일은 Seafile 서버에 접속할 아이디라고 보시면 됩니다. 

실제 메일 주소를 써야 하는지는 저도 잘 모르겠습니다...

아마 Seafile 사용자들이 이런저런 요청을 하게 될텐더 이런 요청들이 관리자가 설정한 관리자 메일 주소로 가지 않을까 추측만 하고 있습니다.

 

나머지 설정은 서버의 이름과 아이피 주소(라즈베리파이 아이피 주소)만 신경쓰시고 나머지는 그냥 디폴트로 설정하시면 될 듯 합니다.

 

cd seafile-server-* ./setup-seafile.sh  #run the setup script & answer prompted questions

 

[서버 구동]

 

이제 실제로 시작해봅시다.

 

./seafile.sh start # Start Seafile service ./seahub.sh start # Start Seahub website, default port is 8000

이제 다른 PC를 이용해 http://라즈베리파이의 아이피 주소:8000 로 접속하시면 Seafile 로그인 화면을 보실 수 있으실 겁니다.

 

 

 

다들 Raspberry pi에 Seafile을 성공적으로 설치하셨기를 바랍니다~

 

 

 

 

 

 

 

반응형

댓글()

2. [Seafile] Raspberry pi에 Seafile 설치하기-2

Seafile|2019. 3. 9. 21:43

1부에서 계속 이어서 하겠습니다~

 

1. [Seafile] Raspberry pi에 Seafile 설치하기-1

 

 

[Seafile 소스코드 준비]

  1. libsearpc
  2. ccnet-server
  3. seafile-server
  4. seahub
  5. seafobj
  6. 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부에서 계속하겠습니다~

반응형

댓글()

1. [Seafile] Raspberry pi에 Seafile 설치하기-1

Seafile|2019. 3. 9. 21:18

Seafile이란 파일 동기화 및 공유 플랫폼입니다.

 

서버에 Seafile 서비스를 설치하면 연결된 PC 간 파일들의 동기화를 지원해줍니다.

 

Windows, MAC, Linux 사이의 동기화 및 파일 공유를 가능하게 해줍니다.

 

공식 사이트 : https://www.seafile.com/en/home/

 

 

[준비 과정]

 

저는 Raspberry pi에 Seafile을 설치해보려 합니다.

 

먼저 Raspberry pi가 있어야겠죠? ㅎㅎ

 

저는 예전에 사놓았던 Raspberry pi 3 model B 를 사용하려 합니다.

 

운영체제로는 공식 OS인 Raspbian 을 설치하였습니다.

 

Raspbian OS : https://www.raspberrypi.org/downloads/raspbian/

 

2019년 3월 9일 현재 가장 최신의 OS인 Raspbian Stretch 를 설치하였으며, 용량이 적은 LITE 버전을 설치하였습니다.

 

자세한 설치 과정 및 네트워크 설정, 초기 설정까지 여기서 다루지는 않으려고 합니다.ㅎㅎ

 

 

Seafile 설치 안내 사이트 : https://manual.seafile.com/build_seafile/rpi.html

 

Raspberry pi에 Seafile을 설치하는 방법은 위의 공식 사이트를 참조하였으며, 중간에 에러가 좀 있기 때문에 제가 포스팅 하는 것과는 라이브러리 설치가 좀 다를 수 있습니다.

 

[Seafile 빌드 환경 구성]

 

1. 먼저 다음의 명령어로 패키지 서버를 업데이트를 해줍니다.

 

복사&붙여넣기로 사용할 수 있습니다.

sudo apt-get update
sudo apt-get upgrade

 

2. Seafile 설치 시 필요한 패키지를 다운로드 합니다.

 

sudo apt-get install build-essential sudo apt-get install libevent-dev libssl1.0-dev libglib2.0-dev uuid-dev intltool libsqlite3-dev default-libmysqlclient-dev libarchive-dev libtool libjansson-dev valac libfuse-dev re2c flex python-setuptools cmake

3. http 서버 라이브러리를 설치합니다.

 

git clone https://www.github.com/haiwen/libevhtp.git cd libevhtp cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF . make sudo make install

4. 설치 후 시스템 라이브러리 캐시를 업데이트합니다.

 

sudo ldconfig

 

[Python 라이브러리 설치]

 

1. Python 라이브러리를 위한 폴더를 생성합니다.

 

mkdir -p ~/dev/seahub_thirdpart

2. /tmp/ 로 이동한 Python 라이브러리 압축 파일을 다운로드합니다. 

 

sudo wget https://pypi.python.org/packages/source/p/pytz/pytz-2016.1.tar.gz sudo wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.18.tar.gz sudo wget https://pypi.python.org/packages/source/d/django-statici18n/django-statici18n-1.1.3.tar.gz sudo wget https://pypi.python.org/packages/source/d/djangorestframework/djangorestframework-3.3.2.tar.gz sudo wget https://pypi.python.org/packages/source/d/django_compressor/django_compressor-1.4.tar.gz sudo wget https://pypi.python.org/packages/source/j/jsonfield/jsonfield-1.0.3.tar.gz sudo wget https://pypi.python.org/packages/source/d/django-post_office/django-post_office-2.0.6.tar.gz sudo wget http://pypi.python.org/packages/source/g/gunicorn/gunicorn-19.4.5.tar.gz sudo wget http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz sudo wget https://pypi.python.org/packages/source/c/chardet/chardet-2.3.0.tar.gz sudo wget https://labix.org/download/python-dateutil/python-dateutil-1.5.tar.gz sudo wget https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz sudo wget https://pypi.python.org/packages/source/d/django-picklefield/django-picklefield-0.3.2.tar.gz sudo wget -O /tmp/django_constance.zip https://github.com/haiwen/django-constance/archive/bde7f7c.zip sudo wget https://pypi.python.org/packages/source/j/jdcal/jdcal-1.2.tar.gz sudo wget https://pypi.python.org/packages/source/e/et_xmlfile/et_xmlfile-1.0.1.tar.gz sudo wget https://pypi.python.org/packages/source/o/openpyxl/openpyxl-2.3.0.tar.gz sudo wget https://pypi.python.org/packages/cc/26/b61e3a4eb50653e8a7339d84eeaa46d1e93b92951978873c220ae64d0733/futures-3.1.1.tar.gz sudo wget https://pypi.python.org/packages/a8/07/947dfe63dff1f2be5f84eb7f0ff5f712bb1dc730a6499b0aa0be5c8f194e/django-formtools-2.0.tar.gz sudo wget https://pypi.python.org/packages/87/16/99038537dc58c87b136779c0e06d46887ff5104eb8c64989aac1ec8cba81/qrcode-5.3.tar.gz

3. /home/pi/dev/seahub_thirdpart  에 압축된 Python 라이브러리를 압축해제하고, 환경변수에 경로를 등록해줍니다.

 

cd ~/dev/seahub_thirdpart export PYTHONPATH=. easy_install -d . /tmp/pytz-2016.1.tar.gz easy_install -d . /tmp/Django-1.8.18.tar.gz easy_install -d . /tmp/django-statici18n-1.1.3.tar.gz easy_install -d . /tmp/djangorestframework-3.3.2.tar.gz easy_install -d . /tmp/django_compressor-1.4.tar.gz easy_install -d . /tmp/jsonfield-1.0.3.tar.gz easy_install -d . /tmp/django-post_office-2.0.6.tar.gz easy_install -d . /tmp/gunicorn-19.4.5.tar.gz easy_install -d . /tmp/flup-1.0.2.tar.gz easy_install -d . /tmp/chardet-2.3.0.tar.gz easy_install -d . /tmp/python-dateutil-1.5.tar.gz easy_install -d . /tmp/six-1.9.0.tar.gz easy_install -d . /tmp/django-picklefield-0.3.2.tar.gz easy_install -d . /tmp/django_constance.zip easy_install -d . /tmp/jdcal-1.2.tar.gz easy_install -d . /tmp/et_xmlfile-1.0.1.tar.gz easy_install -d . /tmp/openpyxl-2.3.0.tar.gz

포스팅이 길어질 듯 하니 다음 과정은 2부에 적겠습니다~

 

반응형

댓글()