NAS & ODROID/OMV 3 NAS

오드로이드 XU4 + OMV 로 자작 NAS 구축하기 - 6. Seafile

awesometic 2017. 7. 20. 18:57
반응형

많은 분들이 Dropbox, Google Drive 등 클라우드 스토리지 서비스를 사용하고 계십니다. 스마트폰의 사진이나 동영상을 백업하기 위해서요. 스마트폰의 용량은 한정되어 있는데, 요새는 사진 한 장 한 장이 워낙 고화질이라 너무 크죠. 그런 고화질의 사진을 찍고 저장할 때마다 백업을 함으로써 스마트폰이 분실되어도 찍었던 소중한 사진, 동영상을 볼 수 있다는 장점이 있습니다.

하지만 Dropbox, Google Drive, Microsoft OneDrive는 유료 서비스입니다. 무료로는 찔끔밖에 안 줘요. 그 유명한 Dropbox는 2GB입니다. 땅바닥에 굴러다니는 USB 메모리도 이거보단 커요.

매년 10만원이 넘는 돈을 지불하면서 이런 서비스를 사용해야 할까요? 남의 서버에? 심지어 유명 서비스들은 전부 해외에 있습니다. 그래서 전송 속도가 느려요. 국내 서비스인 네이버 클라우드랑 다음 클라우드는... 다음 클라우드는 문을 닫았지만 네이버 클라우드는 무료 30GB로 서비스 중이네요. 100GB도 안 됩니다.

오드로이드 XU4 + OMV로 NAS를 구축하고 있으니, 직접 클라우드 스토리지 서비스도 구축해 사용해 봅시다. 설치비만 빼면 외장하드 크기 만큼 매년 무료로 사용하실 수 있어요.


* 물론 Dropbox 가 무료로 2GB밖에 안 주면서 아직까지 유명한 이유 중 하나로 굉장히 강력한 동기화 성능과 안정성에 있습니다. 실시간 동기화가 중요하신 분들은 Seafile 로 완전히 이사하진 마시고 먼저 조금씩 사용해보세요.

* 유료 클라우드 스토리지 서비스의 장점은 데이터 분실 위험이 거의 없다는 점입니다. 여러 하드디스크에 같은 데이터를 씀으로서 하드디스크 고장으로 인한 데이터 손실을 최소화해요. 메이저급 회사들은 저런 단순 RAID가 아니라 굉장히 복잡한 방식으로 데이터를 보존한다고 하니, 운명적으로 수백 개의 하드디스크가 동시에 망가지지 않는 이상 데이터를 보존하실 수 있습니다. 하지만 직접 구축할 경우 2차 백업을 하시지 않으면 바로 데이터 손실로 이어질 수 있으니 주의해 주세요.

* Seafile 매뉴얼: https://manual.seafile.com/

* easy_install --upgrade pip 를 알려주신 박현성님 감사드립니다.




* 왜 Seafile?

NAS 좀 아시는 분들은 ownCloudPydio를 생각하실 겁니다. 또는 유료로 FileCloud도 생각하실 수 있어요. 하지만 Seafile을 사용하는 여러 가지 이유 중 가장 큰 이유는 Seafile이 C와 Python으로 이루어져 있다는 점입니다.

Seafile은 ownCloud, Pydio처럼 PHP로 이루어지지 않았습니다. 이것이 무엇을 의미하냐면, 복잡하고 민감한 PHP 설정을 제쳐둘 수 있다는 것, 나아가 설치 및 설정이 쉽고 속도가 빠르다는 것을 의미합니다. 또한 32비트 기반 플랫폼에서 2GB 이상의 파일을 별도의 설정 없이 곧바로 업/다운로드 할 수 있습니다.

그리고 ownCloud, Pydio보다 더 나은 클라이언트 프로그램을 제공합니다. 윈도우 클라이언트 프로그램은 몰라도 ownCloud, Pydio의 안드로이드 앱은 최악이었어요.

그렇기 때문에 32비트 ARM 기반 SBC NAS에서 Seafile이 최선은 될 순 없지만, 현재 선택할 수 있는 가장 나은 선택이라고 생각하여 포스팅합니다.



0. Seafile 설치 준비

Seafile 설치는 조금 어려울 수 있습니다. 하지만 모든 과정을 하나씩 따라해 오시면 충분히 하실 수 있습니다.

이전에 Nginx와 MySQL이 설치되어 있어야 합니다.

먼저 사용하고 계신 NAS의 IP를 알고 있어야 합니다. 하나씩 따라오셨다면 이미 알고 계십니다. 모르시는 분들은 아래 링크를 참고해 확인하실 수 있습니다.

2017/07/19 - [오드로이드 XU4] - 오드로이드 XU4 + OMV 로 자작 NAS 구축하기 - OMV 설치 / 설정

그리고 터미널로 접속하기 위해 SSH 클라이언트를 설치해야 합니다. 역시 하나씩 따라하시면서 UAS도 해제하신 분들이라면 이미 SSH로 접속이 가능합니다. 혹시나 모르시는 분들은 아래 링크를 참고해 주세요.

2017/07/19 - [오드로이드 XU4] - 오드로이드 XU4 UAS 해제하기

Putty를 통해 로그인 한 상태에서 시작하겠습니다.

* 앞으로 많이 복사 후 붙여넣으실텐데, Putty에서 붙여넣기 방법은 마우스 오른쪽 클릭입니다.

* 뭔가 복사할 일은 없으시겠지만 혹시나 복사한다고 컨트롤 + C 는 절대 누르시지 마세요.

* OMV_3_0_88_Odroidxu4_4.9.46 버전 이상을 설치하셨다면 OMV 웹 - SSH 메뉴에서 "루트 로그인 허용" 을 활성화해주셔야 SSH 접속이 가능합니다. OMV 의 초기 접속 계정 정보는 root / openmediavault 입니다.
참고: 2018/01/25 - [오드로이드 XU4/XU4 + OMV 자작 NAS 만들기] - OMV 에서 SSH 접속하는 방법



1. Seafile 다운로드 및 설치

Seafile 은 OMV에서 제공하지 않습니다. 따라서 저희가 터미널을 통해 오드로이드 안으로 들어가 직접 설치해야만 합니다.

먼저 Putty를 통해 성공적으로 접속하셨다면 아래와 같은 화면이 뜰 겁니다.

여기서 다음 명령어를 통해 라즈베리파이용 Seafile 서버를 다운 받습니다. 라즈베리파이나 오드로이드나 플랫폼 종류(32비트 ARM)가 같기 때문에 그대로 사용하셔도 됩니다.

wget https://github.com/haiwen/seafile-rpi/releases/download/v6.1.1/seafile-server_6.1.1_stable_pi.tar.gz

그러면,

wget https://github.com/haiwen/seafile-rpi/releases/download/v6.1.1/seafile-server_6.1.1_stable_pi.tar.gz
--2017-07-20 10:25:28--  https://github.com/haiwen/seafile-rpi/releases/download/v6.1.1/seafile-server_6.1.1_stable_pi.tar.gz
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/34115988/3cf96010-573c-11e7-9f81-48708f2c7743?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20170720%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170720T082528Z&X-Amz-Expires=300&X-Amz-Signature=8b4763beb8db8b12cebe4fec8053272bbce6e6e751f94f4600acf01e52536c69&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dseafile-server_6.1.1_stable_pi.tar.gz&response-content-type=application%2Foctet-stream [following]
--2017-07-20 10:25:29--  https://github-production-release-asset-2e65be.s3.amazonaws.com/34115988/3cf96010-573c-11e7-9f81-48708f2c7743?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20170720%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170720T082528Z&X-Amz-Expires=300&X-Amz-Signature=8b4763beb8db8b12cebe4fec8053272bbce6e6e751f94f4600acf01e52536c69&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dseafile-server_6.1.1_stable_pi.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 54.231.81.226
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|54.231.81.226|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 30186571 (29M) [application/octet-stream]
Saving to: ‘seafile-server_6.1.1_stable_pi.tar.gz’

seafile-server_6.1.1_stable_pi.tar.gz                100%[======================================================================================================================>]  28.79M   407KB/s   in 25s    

2017-07-20 10:25:54 (1.15 MB/s) - ‘seafile-server_6.1.1_stable_pi.tar.gz’ saved [30186571/30186571]

이런 식으로 결과가 나옵니다.

이후 다음 명령어를 쳤을 때 다음과 결과와 같이 파일이 잘 있으면 됩니다.

ls -l
total 29480
-rw-r--r-- 1 root root 30186571 Jun 22 11:16 seafile-server_6.1.1_stable_pi.tar.gz

설치 파일 준비가 완료되었습니다.

이제 Seafile이 들어갈 디렉토리를 구성해줘야 합니다. 저희는 훗날 Nginx에 연동해서 쓸 테니 /var/www 에 seafile이란 디렉토리를 만들어 진행하겠습니다.

* 사실 Nginx에 연동한다고 굳이 /var/www 일 필요는 없습니다만, 터미널에 root로 로그인했기 때문에 /root 디렉토리 아래에 설치하기 보단 권한이나 이것저것 생각해 /var/www 아래에 설치하는 게 맞다고 생각했습니다. /root 디렉토리가 아닌 편한 곳에 설치해 주세요.

mkdir -p /var/www/seafile

그리고 아래 명령어들을 입력해 디렉토리를 구성해줍시다.

mv seafile-server_* /var/www/seafile
cd /var/www/seafile
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed

설치 전 Seafile 설치에 필요한 필수 패키지들을 다음 명령어를 통해 설치해줍니다. 복사, 붙여넣기 해주세요.

apt-get install python python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3 python-pip python-dev libmemcached-dev memcached

하드디스크의 절대경로(정확한 위치)가 어디인지 알아야 합니다.

아래 명령어를 통해 알아냅시다.

df | grep /dev/sda1 | awk '{print$6}'
/srv/dev-disk-by-id-usb-JMicron_USB_to_SATA_bridge_DB00000000013B-0-0-part1

결과로 나온 /srv/dev-disk-by-id-... 경로는 복사해둡시다. 복사는 마우스로 끌어서 블록으로 만든 후 마우스 오른쪽 클릭입니다. 한번 Putty에 입력될텐데 걱정 않으셔도 됩니다.

마지막으로 설치하기 위해 다음 명령어들을 입력해줍니다.

cd seafile-server-6.1.1
./setup-seafile-mysql.sh

이제 설치 과정이 시작됩니다.

엔터를 눌러 진행해줍니다.

아래는 전체 과정을 복사, 붙여넣기 한 것입니다.

서버 도메인을 두 번째 질문에서 물어보는데, 일단 오드로이드 IP를 적어 주세요.

seafile data 경로로 방금 전 알아둔 /srv/dev-... 경로를 붙여넣으신 뒤에 /seafile-data 라고 덧붙이신 뒤 입력해주세요.

밑에 빈 칸은 default 값을 그대로 이용(그냥 엔터)하거나 패스워드 입력 입니다.

제가 진행한 전체 과정을 참고하시면서 진행하시면 되겠습니다.

./setup-seafile-mysql.sh 
Checking python on this machine ...
  Checking python module: setuptools ... Done.
  Checking python module: python-imaging ... Done.
  Checking python module: python-mysqldb ... Done.

-----------------------------------------------------------------
This script will guide you to setup your seafile server using MySQL.
Make sure you have read seafile server manual at

        https://github.com/haiwen/seafile/wiki

Press ENTER to continue
-----------------------------------------------------------------


What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] AwesometicNAS

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ] 192.168.50.10

Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/var/www/seafile/seafile-data" ] /srv/dev-disk-by-id-usb-JMicron_USB_to_SATA_bridge_DB00000000013B-0-0-part1/seafile-data

Which port do you want to use for the seafile fileserver?
[ default "8082" ] 

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

[ 1 or 2 ] 1

What is the host of mysql server?
[ default "localhost" ] 

What is the port of mysql server?
[ default "3306" ] 

What is the password of the mysql root user?
[ root password ] 

verifying password of user root ...  done

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "seafile" ] 

Enter the password for mysql user "seafile":
[ password for seafile ] 

Enter the database name for ccnet-server:
[ default "ccnet-db" ] 

Enter the database name for seafile-server:
[ default "seafile-db" ] 

Enter the database name for seahub:
[ default "seahub-db" ] 

---------------------------------
This is your configuration
---------------------------------

    server name:            AwesometicNAS
    server ip/domain:       192.168.50.10

    seafile data dir:       /srv/dev-disk-by-id-usb-JMicron_USB_to_SATA_bridge_DB00000000013B-0-0-part1/seafile-data
    fileserver port:        8082

    database:               create new
    ccnet database:         ccnet-db
    seafile database:       seafile-db
    seahub database:        seahub-db
    database user:          seafile



---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

Generating ccnet configuration ...

done
Successly create configuration dir /var/www/seafile/ccnet.
Generating seafile configuration ...

Done.
done
Generating seahub configuration ...

----------------------------------------
Now creating seahub database tables ...

----------------------------------------

creating seafile-server-latest symbolic link ...  done




-----------------------------------------------------------------
Your seafile server configuration has been finished successfully.
-----------------------------------------------------------------

run seafile server:     ./seafile.sh { start | stop | restart }
run seahub  server:     ./seahub.sh  { start  | stop | restart  }

-----------------------------------------------------------------
If you are behind a firewall, remember to allow input/output of these tcp ports:
-----------------------------------------------------------------

port of seafile fileserver:   8082
port of seahub:               8000

When problems occur, Refer to

        https://github.com/haiwen/seafile/wiki

for information.

설치가 완료되었습니다.



2. Seafile 기본 설정

1) 시간대 변경

Seafile의 시간대를 바꿔야 정상적으로 파일 관련 시간을 보실 수 있습니다. 생성/수정/삭제 시간 등등요.

시간대를 바꿔주기 위해 conf/seahub_settings.py 파일을 수정해줄 겁니다.

다음의 명령어를 입력해주세요. Asia/Seoul 시간대로 바꾸도록 파일을 수정해줍니다.

간단히 한 줄만 추가해주기 때문에 나중에 다른 시간대로 변경하시려면 해당 명령어를 입력하시지 말고 직접 수정하셔야 합니다.

echo "TIME_ZONE = 'Asia/Seoul'" >> /var/www/seafile/conf/seahub_settings.py && cat /var/www/seafile/conf/seahub_settings.py

복사해서 넣으시면(마우스 우클릭) 결과로,

echo "TIME_ZONE = 'Asia/Seoul'" >> /var/www/seafile/conf/seahub_settings.py && cat /var/www/seafile/conf/seahub_settings.py
# -*- coding: utf-8 -*-
SECRET_KEY = "-!tn(wqs==1)bs13ar_5b1zk*3tafv3e$w)a9sfvyjockd$-2r"

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'seahub-db',
        'USER': 'seafile',
        'PASSWORD': 'admin',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

TIME_ZONE = 'Asia/Seoul'

마지막에 TIME_ZONE = Asia/Seoul 이라고 한 줄만 떠야 정상입니다. SECRET_KEY가 고유 키이기 때문에 위의 내용을 그대로 복사/붙여넣기 하시면 안 됩니다.


2) 부팅 시 자동 시작 설정

Seafile 은 PHP와 다르게 웹서버에 물려있지 않는 자체 서비스이기 때문에 쉘 스트립트 파일로 실행을 스스로 해줘야 합니다.

하지만 매번 재부팅 할 때마다 이런 작업을 하는 건 매우 불편하니, 서비스를 등록함으로써 리눅스가 시작할 때 알아서 실행되도록 해줍시다.

먼저 /etc/system/system 에 service 파일을 생성하겠습니다. Seafile 서비스의 핵심 모듈인 seafile과 웹 서비스 제공 모듈인 seahub가 각각 따로 실행되기 때문에 service 파일을 각각 만들어 진행해야 합니다.

하나씩 잘 따라가 주세요.

nano /etc/systemd/system/seafile.service

화면이 바뀌면, 아래 내용을 복사한 후 화면이 바뀐 Putty에 마우스 우클릭을 통해 붙여 넣어 줍니다.

[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target mysql.service

[Service]
Type=oneshot
ExecStart=/var/www/seafile/seafile-server-latest/seafile.sh start
ExecStop=/var/www/seafile/seafile-server-latest/seafile.sh stop
RemainAfterExit=yes
User=root
Group=root

[Install]
WantedBy=multi-user.target

붙여 넣으셨으면 "컨트롤+x" , "y 키", "엔터"를 순서대로 눌러 줍니다. 저장해서 빠져나오는 과정입니다.

그리고 seahub.service도 만들어줍니다.

nano /etc/systemd/system/seahub.service

역시 아래 내용을 복사 후 붙여넣어 줍니다.

[Unit]
Description=Seafile hub
After=network.target seafile.service

[Service]
# change start to start-fastcgi if you want to run fastcgi
ExecStart=/var/www/seafile/seafile-server-latest/seahub.sh start
ExecStop=/var/www/seafile/seafile-server-latest/seahub.sh stop
User=root
Group=root
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

방금 전과 같이 "컨트롤+x" , "y 키", "엔터"를 순서대로 눌러 저장 후 빠져나옵니다.

마지막으로 다음 명령어를 복사/붙여넣기 후 엔터를 입력합니다.

systemctl enable seafile.service && systemctl enable seahub.service


3) Memcache 추가로 성능 최적화

Memcache를 추가해 Seafile의 반응 속도를 올려봅시다. Memcache는 사용 가능한 메모리에 데이터를 미리 저장시켜 놓는다고 생각하시면 됩니다. 이걸 하지 않으면 매번 새로 데이터를 만들고 가공해서 보여줘야 하는데, 메모리에 저장시켜 놓음으로써 같은 내용을 다시 볼 때 새로 작업하지 않고 바로 볼 수 있어 빠릅니다.

Seafile에서 정식으로 지원하기 때문에 설치가 굉장히 간단합니다. 잘 따라해 주세요.

먼저 pip 라는 Python 패키지 관리자를 통해 필요한 패키지들을 설치합니다.

sudo easy_install --upgrade pip
sudo -H pip install pylibmc
sudo -H pip install django-pylibmc

그리고 conf/seahub_settings.py 파일을 열어 마지막에 아래 내용을 붙여 넣습니다. 방법은 조금 다릅니다. 먼저 아래 명령어를 입력해주세요.

echo -e '\n' >> /var/www/seafile/conf/seahub_settings.py

입력하신 후 nano로 열어 줍니다.

nano /var/www/seafile/conf/seahub_settings.py

그리고 아래 방향키를 쭉 내리셔서 초록색 prompt를 파일 내용 가장 아래로 보낸 후, 아래 내용을 복사/붙여넣기 합니다.

CACHES = {
    'default': {
        'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

"컨트롤+x" , "y 키", "엔터"를 순서대로 눌러 빠져나옵니다.



3. Seafile 실행

이제 Seafile을 실행해봅시다.

서비스로 실행 파일을 등록했기 때문에 "service seafile start" 등의 명령어로 실행이 가능합니다.

하지만 seahub의 경우 처음 실행하기 때문에 실행 시 관리자 이메일을 어떤 걸로 쓸 건지 묻습니다. 물음에 대답하기 위해 seahub는 직접 실행해줘야 합니다. 한 줄씩 따라서 입력해 주세요.

cd /var/www/seafile/seafile-server-latest
./seafile.sh start
./seahub.sh start

seahub 실행 시 결과는 다음과 같습니다. 제 경우를 든 예시입니다. 이메일과 비밀번호를 적절히 입력해 주세요.

./seahub.sh start

LC_ALL is not set in ENV, set to en_US.UTF-8
Starting seahub at port 8000 ...

----------------------------------------
It's the first time you start the seafile server. Now let's create the admin account
----------------------------------------

What is the email for the admin account?
[ admin email ] awesometic@example.com

What is the password for the admin account?
[ admin password ] 

Enter the password again:
[ admin password again ] 



----------------------------------------
Successfully created seafile admin
----------------------------------------




Seahub is started

Done.

다음부터는 service seafile start, service seahub start 를 입력하시면 됩니다. 하지만 자동으로 시작하기 때문에 직접 입력하실 일은 없을 거에요.

그리고 인터넷 주소창에 http://{오드로이드IP}:8000/ 을 입력해 들어가 봅시다.

seahub를 처음 실행했을 때 계정 정보로 로그인해 들어가면,

이렇게 환영해합니다.



4. 클라이언트 설치

1) 윈도우

Seafile 클라이언트를 컴퓨터에 설치해서 편리하게 접근하실 수 있습니다.

클라이언트를 설치함으로써 내 컴퓨터의 폴더 하나를 만들어 그것을 NAS와 동기화시키는 겁니다. 그 폴더에 어떤 파일을 넣으면 자동으로 서버에 올라가는 거에요.

https://www.seafile.com/en/download/

여기서 Client for Windows 를 다운받습니다.

그리고 설치하면,

알아서 이렇게 실행됩니다.

서버와 동기화할 폴더를 지정하라는 거에요. 제 컴퓨터에는 자료 저장용으로 D드라이브가 하나 더 있기 때문에 저기에 만들겠다고 하는 것 같네요. 일단 기본값으로 그냥 다음 버튼을 눌러줍니다.

계정 추가 화면입니다. 여기선 서버에 자신의 오드로이드 서버 와 8000번 포트로 지정해줍니다. 아래 예시가 나와있어요.

그리고 전자메일과 암호는 seahub를 처음 실행시킬 때 만든 계정으로 입력합니다.

로그인하면 이런 화면이 떠요. 기본 라이브러리를 만들자는 건데, 이걸 만들면 내 컴퓨터에 하드디스크가 뜨듯 Seafile 아이콘이 생깁니다. 예 버튼을 눌러 만듭시다.

다 됐다고 하네요. 열기를 해봅시다. 그러면 동기화되고 있는 폴더가 뜰 거에요.

그리고 무엇보다 내 컴퓨터에 Seafile 아이콘으로 된 내 라이브러리라는 항목이 생겼을 겁니다.


이렇게요. 저 라이브러리에 파일을 넣거나 수정, 삭제하면 바로 Seafile 서버의 해당 라이브러리에도 적용됩니다.


2) 안드로이드

안드로이드를 통해서 간편하게 하실 수 있습니다. 무엇보다 이 앱을 설치하면 스마트폰 사진 백업이 자동으로 이루어져요.

https://play.google.com/store/apps/details?id=com.seafile.seadroid2

안드로이드 스마트폰 마켓을 통해 Seafile 앱을 설치합니다.

환영해줍니다. 계정 추가를 누른 후 다른 Seafile 서버 를 클릭합시다.

계정을 추가할 수 있는 화면으로 넘어왔습니다. 서버 주소에 오드로이드 IP를, 192.168.50.10:8000 형식으로 적어줍니다. 계정 이름과 암호는 역시 seahub 처음 만들 때 계정 정보로 합시다.

그리고 로그인하게 되면,

이렇게 내가 사용하고 있는 라이브러리가 나타납니다. 스마트폰을 통해서도 파일을 추가, 수정, 삭제하실 수 있고, 설정에서 사진 백업 옵션을 통해 자동으로 저장되는 사진을 백업하실 수 있습니다.

그런데 ES 파일 탐색기와 함께 쓰면 권한 허가 문제가 있는데, ES 파일 탐색기가 "다른 앱 위에 그리기" 권한을 갖고 있기 때문인지 Seafile 앱에서 파일 읽기/쓰기 권한을 얻을 수 없습니다. "다른 앱 위에 그리기" 권한을 이 앱만 갖고 있는 게 아닌데 이상하게 안 되네요. ES 파일 탐색기에서 ES Swipe 옵션을 비활성화 해주면 잘 됩니다.

ES 파일 탐색기를 키신 후,


ES Swipe 메뉴로 들어갑니다.



그리고, 비활성화 해주면 됩니다.

사실 ES 파일 탐색기가 파일 관리 뿐 아니라 이것 저것 다 하려고 해서 앱의 덩치가 많이 큽니다. 메모리도 많이 먹구요. 하지만 FTP 서버를 사용하기 위해선 아직 이만한 대안이 없으니 사용하고 있습니다. 더 가볍고 좋은 앱이 있으면 알려주세요 :)


* 해당 가이드는 오드로이드 XU4 + OMV에서 Seafile의 사용 준비만을 다룹니다. 자세한 사용법은 올리지 않겠습니다.

* Seafile의 포트포워딩에 대해선 아직 다루지 않았습니다. 다른 서비스들의 설치까지 모두 다룬 후 한 번에 포트포워딩 하려고 합니다. 이미 하실 줄 아시는 분들은 8000번을 포트포워딩 하시면 될 것으로 보입니다. 윈도우나 모바일 클라이언트로 접속 시 8000번으로 시도해보세요.

* Seafile도 도메인을 얻고 SSL도 적용해 보안도 강화시키면 더욱 좋습니다. 해당 사항에 대해선 차후에 포스팅하겠습니다.

반응형