Установка и настройка Seafile

Thank you for reading this post, don't forget to subscribe!

Установка облачного хранилища Seafile

Уста­нав­ли­ва­ем все необ­хо­ди­мое ПО для CentOS/RedHat/Fedora, выполните

yum update -y
# yum install python-imaging MySQL-python python-simplejson python-setuptools mysql-server mysql mysql-client -y

В про­цес­се  уста­нов­ки сер­ве­ра с mysql, уста­нов­щик попро­сит вве­сти (уста­но­вить) пароль для поль­зо­ва­те­ля рут, уста­нав­ли­ва­ем какой вам будет удоб­но, при­мер ‘mysql-root’.

Далее что мы сде­ла­ем, так созда­дим поль­зо­ва­те­ля для наше­го облач­но­го хра­ни­ли­ща и выста­вим на него права:

# adduser seafile
# passwd seafile
# su -seafile

С толь­ко что создан­но­го поль­зо­ва­те­ля нуж­но будет запу­стить скрипт уста­нов­ки, по это­му пере­зай­дем на поль­зо­ва­те­ля seafile:

# su - seafile

Затем вой­ди­те в базу дан­ных MySQL и создай­те три базы дан­ных, по одно­му на каж­дые ком­по­нен­тов Seafile сер­ве­ра: ccnet server,
seafile server
seahub
с одним поль­зо­ва­те­лем для всех баз данных.

Все необ­хо­ди­мое уже уста­нов­ле­но и оста­лось зай­ти на офи­ци­аль­ный сайт и ска­чать исход­ный код про­грам­мы Seafile, пере­хо­дим сюда http://www.seafile.com/en/download/, ска­чи­ва­ем самую послед­нюю вер­сию сер­ве­ра, на момент напи­са­ния была 3.1:

# mkdir /usr/local/src/seafile && cd /usr/local/src/seafile

# wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.7_x86-64.tar.gz

Сле­ду­ю­щим дей­стви­ем рас­па­ко­вы­ва­ем ска­чан­ный архив:

# tar -xzf seafile-server_*

Пере­хо­дим в дирек­то­рию и запус­ка­ем скрипт:

# cd /usr/local/src/seafile/seafile-server-*

Для уста­нов­ки Seafile сер­ве­ра с исполь­зо­ва­ни­ем MySQL сто­ит запу­стить скрипт для уста­нов­ки setup-seafile-mysql.sh и отве­тить на все вопросы:

# ./setup-seafile-mysql.sh

  • What is the name of your server? = про­пи­сы­ва­ем имя сер­ве­ра ( я ввел себе seafile-server).
  • What is the IP or domain of the server? = вве­ди­те IP адрес сер­ве­ра или домен­ное имя.
  • Which port do you want to use for ccnet server? = нажи­ма­ем [Enter] – если хоти­те исполь­зо­вать порт по умол­ча­нию – 10001.
  • Where do you want to put seafile data? =нажи­ма­ем [Enter] – место­по­ло­же­ние по умол­ча­нию будет ваша $HOME/seafile-data директория.
  • Which port do you want to use for seafile server? =нажи­ма­ем [Enter] –если хоти­те исполь­зо­вать порт по умол­ча­нию – 12001.
  • Which port do you want to use for seafile httpserver? =нажи­ма­ем [Enter] –если хоти­те исполь­зо­вать порт по умол­ча­нию – 8082.
  • Please choose a way to initialize seafile databases: = выби­ра­ем 1 выби­ра­ем MySQL и вво­дим: localhost, 3306 и root пароль.
  • Enter the name for MySQL user of seafile: = seafile (если вы созда­ли дру­гие имя поль­зо­ва­те­ля исполь­зуй­те его) и вве­ди­те seafile MySQL поль­зо­ва­тель­ский пароль.
  • On ccnet-server, seafile-server и seahub databases про­сто нажи­ма­ем  [Enter]  – для исполь­зо­ва­ния по умолчанию.

После все­го что мы по вво­ди­ли, сто­ит нажать «ENTER» для про­дол­же­ния уста­нов­ки. После успеш­ной уста­нов­ки, он будет гене­ри­ро­вать неко­то­рую полез­ную инфор­ма­цию, напри­мер, какие пор­ты долж­ны быть откры­ты в бранд­мау­э­ре, что­бы рабо­та­ло все.

Откры­тие бранд­мау­э­ра и созда­ние скрип­та для запус­ка Seafile

Перед запус­ком сер­ве­ра Seafile из локаль­но­го скрип­та для теста, нуж­но вер­нут­ся к поль­зо­ва­те­лю root и про­пи­сать пра­ви­ла Iptables для бранд­мау­э­ра. Для нача­ла, зало­ги­ним­ся от root- а:

$ su - root

После чего отре­дак­ти­ру­ем файл кон­фи­гу­ра­ции (доба­вим пра­ви­ла) Iptables:

# vim /etc/sysconfig/iptables

Добавь­те сле­ду­ю­щие правила:

[…]
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8082 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 12001 -j ACCEPT
[…]

Пере­за­пу­стим IPTables что­бы при­ме­ни­лись пра­ви­ла с помо­щью сле­ду­ю­щей команды:

# service iptables restart

ПРИМЕЧАНИЕ: Если вы изме­ни­ли стан­дарт­ные пор­ты в про­цес­се уста­нов­ки Seafile, то про­пи­ши­те пра­ви­ла в iptables имен­но для ваше­го брандмауэра.

Теперь при­шло вре­мя, про­ве­рить Seafile сер­вер. Пере­клю­чи­тесь на поль­зо­ва­те­ля seafile и запу­сти­те сер­вер с помо­щью скрип­тов seafile.sh и seahub.sh.
Пер­вый раз, когда вы запу­сти­те seahub.sh скрипт, он создаст учет­ную запись адми­ни­стра­то­ра для Seafile сер­ве­ра, исполь­зуй­те свой адрес элек­трон­ной почты и выбе­ри­те  надеж­ный пароль для учет­ной запи­си адми­ни­стра­то­ра, осо­бен­но если вы уста­нав­ли­ва­е­те эту кон­фи­гу­ра­цию в про­из­вод­ствен­ной среде.

# su - seafile
$ cd /usr/local/src/seafile/seafile-server-latest/
$ ./seafile.sh start
$ ./seahub.sh start

Вас попро­сят вве­сти емейл и пароль. Он нужен для вхо­да на сервер.

После того как сер­вер успеш­но запу­щен, открой­те бра­у­зер и перей­ди­те на свой IP-адрес сер­ве­ра или имя доме­на (порт 8000, по про­то­ко­лу HTTP), а затем вой­ди­те с помо­щью вашей учет­ной запи­си адми­ни­стра­то­ра, кото­рую вы ука­зы­ва­ли свыше.

http://server_IP:8000

или

http://your_domain-name:8000

Я ввел свои дан­ные и попал на рабо­чий сер­вер seafile.

После пер­вых успеш­ных тестов, оста­но­ви­те сер­вер Seafile и создай­те сце­на­рий (скрипт), кото­рый помо­жет вам управ­лять ваши­ми про­цес­са­ми, как и любые дру­гие про­цес­сы демо­нов систе­ма Linux.

Оста­нав­ли­ва­ем сервер:

$ /usr/local/src/seafile/seafile-server-latest/seafile.sh stop
$/usr/local/src/seafile/seafile-server-latest/seahub.sh stop

Сно­ва логи­ним­ся от рута:

$ su - root

Сей­час перей­дем в нуж­ную дирек­то­рию и ска­ча­ем скрипт для рабо­ты запус­ка, оста­нов­ки, пере­за­пус­ка seafile,

Перей­дем в нуж­ную директорию:

# cd /etc/init.d

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

СТОИТ ОТМЕТИТЬ! Нуж­но поме­нять путь и поль­зо­ва­те­ля (там где лежит сер­вер и его скрип­ты для запуска).

После ини­ци­а­ли­за­ции фай­ла, убе­ди­тесь, что он име­ет пра­ва на выпол­не­ния и управ­ле­ние про­цес­сом запус­ка, оста­нов­ки и пере­за­пус­ка. Теперь вы може­те доба­вить услу­гу Seafile в запуск систе­мы, исполь­зуя коман­ду chkconfig.

# chmod +x /etc/init.d/seafile

# service seafile.sh start
# service seafile stop
# service seafile restart

Так же мож­но доба­вить его в авто­за­груз­ку ОС, или убрать:

# chkconfig seafile on
# chkconfig seafile off

Посмот­реть список:

# chkconfig --list seafile

По умол­ча­нию сер­вер Seafile исполь­зу­ет / TCP HTTP порт 8000 для веб-тран­зак­ций. Если вы хоти­те полу­чить доступ Seafile сер­вер от бра­у­зе­ра на стан­дарт­ном HTTP пор­ту (80м) с помо­щью сле­ду­ю­ще­го скрип­та, кото­рый будет запус­ка­ет сер­вер по 80-му пор­ту (ЗНАЙ, что­бы запу­стить сер­ви­сы на пор­ты ниже 1024 тре­бу­ет при­ви­ле­гий суперпользователя).

# vim /etc/init.d/seafile

Нуж­но доба­вить запуск по 80-му порту.

# cd /etc/init.d/
#vim seafile_shange_ports
[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

# mv seafile_shange_ports /etc/init.d/seafile

Если вы ранее запу­сти­ли Seafile на 8000 пор­ту убе­ди­тесь, что все про­цес­сы будут уби­ты, запу­стить сер­вер на пор­ту 80.

# chmod +x /etc/init.d/seafile
# service seafile start | stop | restart

Вы так­же може­те про­ве­рить на каких пор­тах  рабо­та­ет Seafileс исполь­зо­ва­ни­ем NETSTAT команды:

# netstat -tlpn

Мож­но изме­нить дирек­то­рию с сер­ве­ром( пере­не­сти в дру­гое место), но не забы­ва­ем поме­нять в скрип­те путь! В иде­а­ле, нуж­но сде­лать следующее:

# cp -r /usr/local/src/seafile/seafile-server-latest /home/seafile

После это­го сде­лать изме­не­ния в скрип­те для запус­ка. Я не стал это­го делать, меня устра­и­ва­ло и такая работа