Avís
Aquest article és antic i és possible que part de la informació estigui desactualitzada o ja no sigui vàlida actualment.
Si tens qualsevol dubte o necessites confirmar algun detall, et recomanem contactar amb el nostre equip de suport per rebre informació actualitzada i assistència personalitzada.
Seafile és un servei d'emmagatzematge gratuït, de codi obert i autoallotjat, molt semblant a DropBox i NextCloud. Amb Seafile, pots sincronitzar i compartir fitxers, contactes i dades en qualsevol dispositiu amb enllaços protegits amb contrasenya. Està escrit en llenguatge Python i fa servir MySQL per emmagatzemar les dades. Seafile es pot instal·lar als sistemes operatius Linux i Windows i disposa de clients GUI per a OS X, Android, Linux, iOS i Windows. Seafile inclou un ampli conjunt de característiques, com ara compatibilitat multiplataforma, control de versions, autenticació de doble factor, instantànies, WebDAV, xifratge i moltes més.
En aquest tutorial, aprendrem com instal·lar i configurar Seafile en un servidor al núvol que executa Ubuntu 18.04.
Requisits previs
- Un servidor vps al núvol que executi Ubuntu 18.04.
- Una contrasenya de root al teu servidor vps al núvol.
Comencem
Comencem actualitzant el teu sistema a l'última versió. Executa l'ordre següent per actualitzar el teu sistema:
# apt-get update -y
# apt-get upgrade -yUn cop actualitzat, reinicia el teu sistema per aplicar totes les actualitzacions.
A continuació, hauràs d'instal·lar Python amb totes les dependències necessàries al teu servidor. Pots instal·lar-les totes executant l'ordre següent:
# apt-get install python2.7 libpython2.7 python-setuptools python-pil python-ldap python-urllib3 ffmpeg python-pip python-mysqldb python-memcache python-requests unzip wgetUn cop instal·lades totes les dependències, ja pots passar al pas següent.
Instal·lar Apache i MariaDB
Primer hauràs d'instal·lar Apache i MariaDB al teu servidor. Pots instal·lar-los tots dos amb l'ordre següent:
# apt-get install apache2 mariadb-server mariadb-client -yUn cop instal·lats tots dos paquets, inicia Apache i MariaDB i habilita'n l'inici després de reiniciar el sistema amb l'ordre següent:
# systemctl start apache2
# systemctl enable apache2
# systemctl start mariadb
# systemctl enable mariadbConfiguració de la base de dades per a Seafile
A continuació, hauràs de crear bases de dades per als components de Seafile. Primer, entra a l'intèrpret d'ordres de MariaDB amb l'ordre següent:
# mysql -u root -pIntrodueix la teva contrasenya de root quan se't demani i, després, crea tres bases de dades amb l'ordre següent:
MariaDB [(none)]> CREATE DATABASE seafile;
MariaDB [(none)]> CREATE DATABASE ccnet;
MariaDB [(none)]> CREATE DATABASE seahub;Després, crea un usuari per a Seafile amb l'ordre següent:
MariaDB [(none)]> CREATE USER 'seafile'@'localhost' IDENTIFIED BY 'password';A continuació, concedeix tots els privilegis sobre les bases de dades creades més amunt:
MariaDB [(none)]> GRANT ALL ON seafile.* TO 'seafile'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> GRANT ALL ON ccnet.* TO 'seafile'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> GRANT ALL ON seahub.* TO 'seafile'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;A continuació, torna a carregar els privilegis i surt de l'intèrpret d'ordres de MariaDB amb l'ordre següent:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Instal·la Seafile
Primer, hauràs de baixar l'última versió de l'instal·lador de Seafile des del seu lloc web oficial. Pots baixar-lo amb l'ordre següent:
# wget https://download.seadrive.org/seafile-server_7.0.4_x86-64.tar.gzUn cop baixat, extreu el fitxer baixat amb l'ordre següent:
# tar -xvzf seafile-server_7.0.4_x86-64.tar.gzA continuació, copia el directori extret al directori arrel d'Apache amb l'ordre següent:
# cp -r seafile-server-7.0.4 /var/www/html/seafileA continuació, executa l'script d'instal·lació de Seafile per iniciar la instal·lació:
# cd /var/www/html/seafile
# ./setup-seafile-mysql.shDurant la instal·lació, hauràs de respondre una sèrie de preguntes.
Comprova tota la configuració i prem ENTER per continuar la instal·lació. Un cop la instal·lació s'hagi completat correctament, hauries de veure el resultat següent:
Checking python on this machine ...
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 ] seafile
What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ] 38.143.68.184
Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/var/www/html/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 ] 2
What is the host of mysql server?
[ default "localhost" ]
What is the port of mysql server?
[ default "3306" ]
Which mysql user to use for seafile?
[ mysql user for seafile ] seafile
What is the password for mysql user "seafile"?
[ password for seafile ]
verifying password of user seafile ... done
Enter the existing database name for ccnet:
[ ccnet database ] ccnet
verifying user "seafile" access to database ccnet ... done
Enter the existing database name for seafile:
[ seafile database ] seafile
verifying user "seafile" access to database seafile ... done
Enter the existing database name for seahub:
[ seahub database ] seahub
verifying user "seafile" access to database seahub ... done
---------------------------------
This is your configuration
---------------------------------
server name: seafile
server ip/domain: 38.143.68.184
seafile data dir: /var/www/html/seafile-data
fileserver port: 8082
database: use existing
ccnet database: ccnet
seafile database: seafile
seahub database: seahub
database user: seafile
---------------------------------
Press ENTER to continue, or Ctrl-C to abortA continuació, configura els permisos correctes per a Seafile amb l'ordre següent:
# chown -R www-data:www-data /var/www/html/A continuació, hauràs d'establir el valor de FILE_SERVER_ROOT. Pots fer-ho editant el fitxer seahub_settings.py:
# nano /var/www/html/conf/seahub_settings.pyAfegeix la línia següent:
FILE_SERVER_ROOT = 'http://38.143.68.184/seafhttp' Desa i tanca el fitxer quan hagis acabat.
Configura Apache per a Seafile
A continuació, hauràs de configurar Apache com a servidor intermediari invers per a Seafile. Pots fer-ho creant el fitxer següent:
# nano /etc/apache2/sites-available/seafile.confAfegeix les línies següents:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/seafile/
ServerName 38.143.68.184
Alias /media "/var/www/html/seahub/media"
<Directory /var/www/html/seafile/>
Options +FollowSymlinks
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html/seafile
SetEnv HTTP_HOME /var/www/html/seafile
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
</VirtualHost>
Desa i tanca el fitxer. Després, habilita el fitxer d'amfitrió virtual de Seafile i altres mòduls necessaris amb l'ordre següent:
# a2ensite seafile.conf
# a2enmod rewrite
# a2enmod proxy
# a2enmod proxy_http
# a2enmod headers
# a2enmod env
# a2enmod dir
# a2enmod mimeFinalment, reinicia el servei Apache per carregar totes les configuracions:
# systemctl restart apache2Crea un usuari administrador per a Seafile
A continuació, hauràs de crear un usuari administrador i establir-hi una contrasenya.
Primer, inicia el servei Seafile amb l'ordre següent:
# su -p -l www-data -s /bin/bash -c "./seafile.sh start"A continuació, inicia el servei Seahub per crear un compte d'administrador amb l'ordre següent:
# su -p -l www-data -s /bin/bash -c "./seahub.sh start"Se't demanarà que creïs un compte d'administrador tal com es mostra a continuació:
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 ] admin@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.Crea el fitxer de servei Systemd per a Seafile i Seahub
A continuació, hauràs de crear un fitxer de servei systemd per administrar els serveis Seafile i Seahub.
Primer, crea un fitxer de servei seafile amb l'ordre següent:
# nano /etc/systemd/system/seafile.serviceAfegeix les línies següents:
[Unit]
Description=Seafile
After= mysql.service
After=network.target
[Service]
User=www-data
Group=www-data
Type=forking
ExecStart=/var/www/html/seafile-server-latest/seafile.sh start
ExecStop=/var/www/html/seafile-server-latest/seafile.sh stop
[Install]
WantedBy=multi-user.targetDesa i tanca el fitxer. Després, crea un fitxer de servei systemd per a Seahub amb l'ordre següent:
# nano /etc/systemd/system/seahub.serviceAfegeix les línies següents:
[Unit]
Description=Seahub
After= mysql.service
After=network.target
[Service]
User=www-data
Group=www-data
Type=forking
ExecStart=/var/www/html/seafile-server-latest/seahub.sh start
ExecStop=/var/www/html/seafile-server-latest/seahub.sh stop
[Install]
WantedBy=multi-user.targetDesa i tanca el fitxer. Després, torna a carregar el dimoni systemd amb l'ordre següent:
# systemctl daemon-reloadA continuació, reinicia els serveis Seafile i Seahub i habilita'n l'inici després de reiniciar el sistema amb l'ordre següent:
# systemctl restart seafile
# systemctl enable seafile
# systemctl restart seahub
# systemctl enable seahubAccedeix a la interfície web de Seafile
Ara obre el teu navegador web i escriu l'URL http:// your-server-ip. Se't redirigirà a la pàgina d'inici de sessió de Seafile:
Introdueix el teu nom d'usuari i la contrasenya d'administrador, i fes clic al botó Iniciar Sesión. Hauries de veure el tauler predeterminat de Seafile a la pantalla següent:
Enhorabona! Has instal·lat i configurat correctament Seafile al servidor al núvol que executa Ubuntu 18.04.
Ja pots compartir fitxers, contactes i dades amb qualsevol usuari 🙂