Manual Seafile

Descargar como odt, pdf o txt
Descargar como odt, pdf o txt
Está en la página 1de 11

Instalación y Configuración de Seafile Server en Ubuntu Server 18.04 LTS.

Seafile requiere tres componentes para funcionar correctamente:

➢ Seahub : interfaz web de Seafile, escrita en Python usando el marco web Django . Desde
Seahub puede acceder, administrar y compartir sus archivos utilizando un navegador web.
➢ Servidor Seafile : el daemon del servicio de datos que gestiona la carga, descarga y
sincronización de archivos sin formato . No interactúa directamente con el servidor, sino que
utiliza un programa cliente o la interfaz web Seahub.
➢ Servidor Ccnet : el demonio de servicio RPC para permitir la comunicación interna entre los
diferentes componentes de Seafile. Por ejemplo, cuando usa Seahub, puede acceder a los datos
del servidor Seafile utilizando el servicio Ccnet RPC.

Cada uno de estos componentes almacena sus datos por separado en su propia base de datos. En este
paso creará las tres bases de datos MariaDB y un usuario antes de proceder a configurar el servidor.

Primero, inicie sesión en el servidor utilizando SSH con su nombre de usuario y dirección IP:

$ usuario_del_servidor@ip_del_servidor

Instale Apche2 Server en servidor Ubuntu

$ sudo apt update


$ sudo apt install apache2

Después de instalar Apache2, los siguientes comandos se pueden usar para detener, iniciar y habilitar el
servicio Apache2 para que siempre se inicie con el arranque del servidor.

$ sudo systemctl stop apache2.service


$ sudo systemctl start apache2.service
$ sudo systemctl enable apache2.service

Para probar la configuración de Apache2, abra su navegador y busque el nombre de host del servidor o
la dirección IP y debería ver la página de prueba predeterminada de Apache2 como se muestra a
continuación. Cuando vea eso, Apache2 funciona como se espera.
http://ip_del_servidor
Instale MariaDB Cliente y Servidor.

$ sudo apt-get install mariadb-server mariadb-client

Después de instalar MariaDB, los siguientes comandos se pueden usar para detener, iniciar y habilitar
el servicio MariaDB para que siempre se inicie cuando se inicia el servidor.

$ sudo systemctl stop mariadb.service


$ sudo systemctl start mariadb.service
$ sudo systemctl enable mariadb.service

Después de eso, ejecute los siguientes comandos para proteger el servidor MariaDB creando una
contraseña de root y rechazando el acceso root remoto.

$ sudo mysql_secure_installation

Cuando se le solicite, responda las siguientes preguntas siguiendo la guía.

 Enter current password for root (enter for none) (Solo precione Enter)
 Set root password? [Y/n]: Y
 New password: Digite Contraseña (ingrese una contraseña de root para mariadb)
 Re-enter new password: Repita La Contraseña (ingrese Nuevamente La contraseña)
 Remove anonymous users? [Y/n]: Y
 Disallow root login remotely? [Y/n]: Y
 Remove test database and access to it? [Y/n]: Y
 Reload privilege tables now? [Y/n]: Y

A continuación, ejecute los siguientes comandos para abrir el archivo de configuración predeterminado
MariaDB …

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

Luego agregue las líneas a continuación y guarde

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table = 1
innodb_default_row_format = dynamic

Reiniciar el servidor MariaDB

$ sudo service mariadb restart

Conéctese al servidor de base de datos MariaDB como administrador (root):

$ sudo mysql -u root -p

Luego escriba la contraseña que creó anteriormente para iniciar sesión, saldra un mensaje de
bienvenida si la instalación tuvo éxito.
En el indicador MariaDB, use el siguiente comando SQL para crear el usuario de la base de datos( En
esta Ocacion Se Crea el Usuario ‘pharmaplus’ como ejemplo y en el campo de contraseña se cambia
por la de preferencia en este caso se uso la contraseña ‘852369’ :

MariaDB [(none)]> CREATE USER 'seafileuser'@'localhost' IDENTIFIED BY 'new_password_here';

A continuación, creará las siguientes bases de datos para almacenar los datos de los tres componentes
de Seafile:

• ccnetdb para el servidor Ccnet.


• seahubdb para la interfaz web de Seahub.
• seafiledb para el servidor de archivos Seafile.

En el indicador MariaDB, cree sus bases de datos:

MariaDB [(none)]> CREATE DATABASE ccnetdb;


MariaDB [(none)]> CREATE DATABASE seafiledb;
MariaDB [(none)]> CREATE DATABASE seahubdb;

Luego, otorgue todos los privilegios a su usuario de la base de datos para acceder y realizar cambios en
estas bases de datos:

MariaDB [(none)]> GRANT ALL ON ccnetdb.* TO 'seafileuser'@'localhost' IDENTIFIED BY


'm852369' WITH GRANT OPTION;

MariaDB [(none)]> GRANT ALL ON seafiledb.* TO 'seafileuser'@'localhost' IDENTIFIED BY


'm852369' WITH GRANT OPTION;

MariaDB [(none)]> GRANT ALL ON seahubdb.* TO 'seafileuser'@'localhost' IDENTIFIED BY


'm852369’ WITH GRANT OPTION;

Salga del indicador MariaDB escribiendo ‘exit;’:

MariaDB [(none)]> FLUSH PRIVILEGES;


MariaDB [(none)]> exit;

Ahora que ha creado un usuario y las bases de datos necesarias para almacenar los datos de cada uno de
los componentes de Seafile, instalará dependencias para descargar el paquete del servidor Seafile.
Instalar dependencias y descargar Seafile

Algunas partes de Seafile están escritas en Python y, por lo tanto, requieren módulos y programas
Python adicionales para funcionar. En este paso, instalará estas dependencias necesarias antes de
descargar y extraer el paquete del servidor Seafile.

Para instalar las dependencias usando apt ejecuta el siguiente comando:

$ sudo apt install python2.7 libpython2.7 python-setuptools python-pil python-ldap python-urllib3


ffmpeg python-pip python-mysqldb python-memcache python-requests

Las dependencias python-setuptoolsy python-pipsupervisan la instalación y administración de paquetes


de Python. Los paquetes python-urllib3y python-requestshacen solicitudes a sitios web. Finalmente,
python-mysqldbes una biblioteca para usar MariaDB de Python y ffmpegmaneja archivos multimedia.

Seafile requiere Pillowuna biblioteca de Python para el procesamiento de imágenes y moviepy para
manejar las miniaturas de los archivos de películas. Estos módulos no están disponibles en el
repositorio de paquetes de Ubuntu, por lo tanto, instálelos con pip:

$ sudo pip install Pillow moviepy

Ahora que ha instalado las dependencias necesarias, puede descargar el paquete del servidor Seafile.

$ cd /tmp
$ wget https://download.seadrive.org/seafile-server_7.0.5_x86-64.tar.gz
$ tar -xvzf seafile-server_7.0.5_x86-64.tar.gz
$ sudo mv seafile-server-7.0.5 /var/www/html/seafile

Después de eso, ejecute los siguientes comandos para configurar Seafile.

$ cd /var/www/html/seafile
$ sudo ./setup-seafile-mysql.sh

Hacer eso debería solicitarle que ingrese la información de conexión de la base de datos que creó
anteriormente y configure su entorno.

El guión ahora le pedirá una serie de preguntas. Dondequiera que se mencionen los valores
predeterminados, al presionar la ENTER tecla se usará ese valor.

Este tutorial se usa Seafilecomo el nombre del servidor, pero puede cambiarlo si desea:

What is the name of the server? It will be displayed on the client.


3 - 15 letters or digits
[ server name ] seafile
Para Pregunta 2, ingrese el nombre de dominio para esta instancia de 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 ] 192.168.0.x(segun la ip del servidor),
pharmapluscloud.com

Presione ENTER para aceptar el valor predeterminado para Pregunta 3. Si ha configurado


almacenamiento externo, por ejemplo, usando NFS o almacenamiento en bloque, deberá especificar la
ruta a esa ubicación aquí.

Where do you want to put your seafile data?


Please use a volume with enough free space
[ default "/var/www/html/seafile-data" ]

Para Pregunta 4presionar ENTER para aceptar el número de puerto predeterminado.

Which port do you want to use for the seafile fileserver?


[ default "8082" ]

El siguiente mensaje le permite confirmar la configuración de la base de datos. Puede crear nuevas
bases de datos o usar bases de datos existentes para la configuración. Para este tutorial, ha creado las
bases de datos necesarias en el Paso 1, así que seleccione la opción 2aquí.

-------------------------------------------------------
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

Las preguntas 6 a 9 se relacionan con el servidor de base de datos MariaDB. Debe proporcionar el
nombre de usuario y la contraseña del usuario de MySQL que creó en el Paso 1, pero puede presionar
ENTER para aceptar los valores predeterminados para hosty port.

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 ] pharmaplus

What is the password for mysql user "seafile"?

[ password for seafile ] 830110109

Después de proporcionar la contraseña, el script solicitará los nombres de las bases de datos de Seafile.
Utilice ccnet-db, seafile-db y seahub-db para este tutorial. El script verificará si hay una conexión
exitosa a las bases de datos antes de continuar para mostrar un resumen de la configuración inicial.

Enter the existing database name for ccnet:


[ ccnet database ] ccnetdb

verifying user "pharmaplus" access to database ccnetdb ... done

Enter the existing database name for seafile:


[ seafile database ] seafiledb

verifying user "pharmaplus" access to database seafiledb ... done

Enter the existing database name for seahub:


[ seahub database ] seahubdb

verifying user "pharmaplus" access to database seahubdb ... done

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

server name: sea-pharma


server ip/domain: your_domain

seafile data dir: /var/www/html/seafile-data


fileserver port: 8082

database: use existing


ccnet database: ccnetdb
seafile database: seafiledb
seahub database: seahubdb
database user: pharmaplus

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

Presione ENTER para confirmar.

Output
Generating ccnet configuration ...
done
Successly create configuration dir /var/www/html/ccnet.

Generating seafile configuration ...


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 <port> | stop | restart <port> }
-----------------------------------------------------------------
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.

Se ha completado la configuración inicial del servidor. En el siguiente paso, configurará el servidor


web Apache antes de iniciar los servicios de Seafile.

configuración del servidor web Apache

Finalmente, configure el archivo de configuración del sitio Apahce2 para Seafile. Este archivo
controlará cómo los usuarios acceden al contenido de Seafile. Ejecute los siguientes comandos para
crear un nuevo archivo de configuración llamado seafile.conf

$ sudo vim /etc/apache2/sites-available/seafile.conf

Luego copie y pegue el contenido a continuación en el archivo y guárdelo. Reemplace la línea resaltada
con su propio nombre de dominio y ubicación raíz del directorio.

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/seafile/
ServerName example.com
ServerAlias www.example.com
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>

Guardar y salir del archivo.

Pruebe si hay algún error de sintaxis en la configuración del host virtual:

$ sudo apache2ctl configtest

Si informa Syntax OK, entonces no hay problemas con su configuración. Reinicie Apache para que los
cambios surtan efecto:

$ sudo systemctl restart apache2

habilite el módulo Seafile y Rewrite

Después de configurar el VirtualHost anterior, habilítelo ejecutando los siguientes comandos

$ sudo a2ensite seafile.conf


$ sudo a2enmod rewrite
$ sudo a2enmod headers
$ sudo a2enmod env
$ sudo a2enmod dir
$ sudo a2enmod mime
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http

Para cargar todas las configuraciones anteriores, reinicie Apache2 ejecutando los siguientes comandos.
reinicia Apache2

$ sudo systemctl restart apache2.service

Ahora puede iniciar el servicio Seafile y la interfaz Seahub:

$ cd /var/www/html/seafile/
$ ./seafile.sh start
$ ./seahub.sh start

Como es la primera vez que inicia el servicio Seahub, le pedirá que cree una cuenta de administrador.
Ingrese una dirección de correo electrónico válida y una contraseña para este usuario administrador:

What is the email for the admin account?


[ admin email ] [email protected]

What is the password for the admin account?


[ admin password ] 830110109

Enter the password again:


[ admin password again ] 830110109

----------------------------------------
Successfully created seafile admin
----------------------------------------
Seahub is started

Done.

Abra en un navegador web e inicie sesión con su dirección de correo electrónico y contraseña de
administrador de Seafile. https://your_domain:8000

Una vez que haya iniciado sesión correctamente, puede acceder a la interfaz de administración o crear
nuevos usuarios.

Ahora que ha verificado que la interfaz web funciona correctamente, puede habilitar estos servicios
para que se inicien automáticamente al iniciar el sistema en el siguiente paso.

habilitar el servidor Seafile para que se inicie en el arranque del sistema

Para permitir que el servidor de archivos y la interfaz web se inicien automáticamente en el arranque,
puede crear sus respectivos systemd archivos de servicio y activarlos.
Crear un systemd archivo de servicio para el servidor de archivos Seafile:

$ sudo vim /etc/systemd/system/seafile.service

Agregue el siguiente contenido al archivo:

[Unit]
Description=Seafile
After=network.target mysql.service

[Service]
Type=forking
ExecStart=/var/www/html/seafile/seafile.sh start
ExecStop=/var/www/html/seafile/seafile.sh stop
User=root
Group=root

[Install]
WantedBy=multi-user.target

Aquí, las líneas ExectStart y ExecStop indican los comandos que se ejecutan para iniciar y detener el
servicio Seafile. El servicio se ejecutará sammy como Usery Group. La Afterlínea especifica que el
servicio Seafile se iniciará después de que la red y el servicio MariaDB hayan comenzado.

Guardar seafile.service y salir.

Cree un systemdarchivo de servicio para la interfaz web de Seahub:

$ sudo vim /etc/systemd/system/seahub.service

Esto es similar al servicio Seafile. La única diferencia es que la interfaz web se inicia después del
servicio Seafile. Agregue el siguiente contenido a este archivo:

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

[Service]
Type=forking
ExecStart=/var/www/html/seafile/seahub.sh start
ExecStop=/var/www/html/seafile/seahub.sh stop
User=root
Group=root
[Install]
WantedBy=multi-user.target

Guardar seahub.service y salir.

Finalmente, para permitir que los servicios Seafile y Seahub se inicien automáticamente en el arranque,
ejecute los siguientes comandos:

$ sudo systemctl enable seafile.service


$ sudo systemctl enable seahub.service

Cuando se reinicia el servidor, Seafile se iniciará automáticamente.

En este punto, ha completado la configuración del servidor y ahora puede probar cada uno de los
servicios.

También podría gustarte