Manual Seafile
Manual Seafile
Manual Seafile
➢ 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
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.
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.
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.
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
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 …
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table = 1
innodb_default_row_format = dynamic
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’ :
A continuación, creará las siguientes bases de datos para almacenar los datos de los tres componentes
de Seafile:
Luego, otorgue todos los privilegios a su usuario de la base de datos para acceder y realizar cambios en
estas bases de datos:
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.
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:
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
$ 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:
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 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.
[ default "localhost" ]
[ default "3306" ]
Which mysql user to use for seafile?
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.
---------------------------------
This is your configuration
---------------------------------
--------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------
Output
Generating ccnet configuration ...
done
Successly create configuration dir /var/www/html/ccnet.
-----------------------------------------------------------------
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
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
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/
</VirtualHost>
Si informa Syntax OK, entonces no hay problemas con su configuración. Reinicie Apache para que los
cambios surtan efecto:
Para cargar todas las configuraciones anteriores, reinicie Apache2 ejecutando los siguientes comandos.
reinicia Apache2
$ 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:
----------------------------------------
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.
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:
[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.
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
Finalmente, para permitir que los servicios Seafile y Seahub se inicien automáticamente en el arranque,
ejecute los siguientes comandos:
En este punto, ha completado la configuración del servidor y ahora puede probar cada uno de los
servicios.