En este tutorial, le mostraremos cómo instalar y configurar Seafile en Ubuntu 16.04 LTS. Para aquellos de ustedes que no lo sabían, Seafile es un software de almacenamiento en la nube de código abierto. Ofrece sincronización y uso compartido de archivos para usuarios individuales y grupos, proporciona cifrado del lado del cliente y fácil acceso desde dispositivos móviles. También se integra fácilmente con servicios locales como LDAP y WebDAV o se puede implementar utilizando servicios de red avanzados y bases de datos como MySQL, SQLite , PostgreSQL, Memcached, Nginx o servidor web Apache.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso del almacenamiento seguro en la nube de código abierto de Seafile en un servidor Ubuntu 16.04 (Xenial Xerus).
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:Ubuntu 16.04 (Xenial Xerus).
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar Seafile en Ubuntu 16.04 LTS Xenial Xerus
Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando el siguiente apt-get
comandos en la terminal.
sudo apt-get update sudo apt-get upgrade
Paso 2. Instale el servidor LEMP (Linux, Nginx, MariaDB, PHP).
Se requiere un servidor LAMP de Ubuntu 16.04. Si no tiene LEMP instalado, puede seguir nuestra guía aquí. También instale todos los módulos PHP necesarios:
apt-get install php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql libapache2-mod-php7.0 php7.0-mcrypt php7.0-zip
Instalación de módulos Python:
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
Paso 3. Configure la base de datos MariaDB para Seafile.
De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB utilizando mysql_secure_installation
texto. Debe leer y seguir cada paso cuidadosamente, que establecerá una contraseña raíz, eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz remoto y eliminará la base de datos de prueba y el acceso a MariaDB seguro.
mysql_secure_installation
Configúralo así:
- Set root password? [Y/n] y - 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, debemos iniciar sesión en la consola de MariaDB y crear una base de datos para Seafile. Ejecute el siguiente comando:
mysql -u root -p
Esto le pedirá una contraseña, así que ingrese su contraseña raíz de MariaDB y presione Enter. Una vez que haya iniciado sesión en su servidor de base de datos, debe crear una base de datos para Instalación Seafile:
MariaDB [(none)]> create database ccnet_db character set = 'utf8'; MariaDB [(none)]> create database seafile_db character set = 'utf8'; MariaDB [(none)]> create database seahub_db character set = 'utf8'; MariaDB [(none)]> create user seacloud@localhost identified by 'password'; MariaDB [(none)]> grant all privileges on ccnet_db.* to seacloud@localhost identified by 'password'; MariaDB [(none)]> grant all privileges on seafile_db.* to seacloud@localhost identified by 'password'; MariaDB [(none)]> grant all privileges on seahub_db.* to seacloud@localhost identified by 'password'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit
Paso 4. Instalación de Seafile en el servidor.
Debe descargar la última versión estable de Seafile:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_6.0.6_x86-64.tar.gz
Extraiga el tarball al directorio actual:
tar -xvzf seafile-server_6.0.6_x86-64.tar.gz mv seafile-server_6.0.6 seafile-server
Instalar Seafile:
Ejecute este script que creará las bases de datos y los directorios necesarios para el servidor Seafile y responderá todas las preguntas usando las siguientes opciones de configuración, después de que el script verifique la existencia de todos los Python módulos requeridos:
./setup-seafile-mysql.sh
Después de que el servidor Seafile se instale correctamente, generará información útil, como qué puertos deben estar abiertos en su Firewall para permitir la conexión externa y qué scripts manejar en para iniciar el servidor.
Paso 5. Iniciar los servicios de Seafile.
Cree una secuencia de comandos de inicio para el servidor Seafile como esta:
nano /lib/systemd/system/seafile.service
Agregue las siguientes líneas:
[Unit] Description=Seafile Server After=network.target mariadb.service[Service] Type=oneshot ExecStart=/home/seafile/seafile-server/seafile.sh start ExecStop=/home/seafile/seafile-server/seafile.sh stop RemainAfterExit=yes User=seafile Group=seafile[Install] WantedBy=multi-user.target
Guarde el archivo y cree un nuevo archivo de servicio para seahub:
[Unit] Description=Seafile Hub After=network.target seafile.target[Service] Type=oneshot ExecStart=/home/seafile/seafile-server/seahub.sh start-fastcgi ExecStop=/home/seafile/seafile-server/seahub.sh stop RemainAfterExit=yes User=seafile Group=seafile[Install] WantedBy=multi-user.target
Ahora intente usar el servicio y el comando para iniciar una nueva instancia del servidor Seafile:
systemctl daemon-reload systemctl start seafile systemctl start seahub
Paso 6. Configuración del servidor web Nginx para Seafile.
*Nota:configure una dirección IP estática 192.168.77.21 en su servidor.
Primero, cree un nuevo archivo de host virtual con el nombre seafile.conf
:
nano /etc/nginx/sites-available/seafile.conf
Agregue las siguientes líneas:
server { listen 80; server_name 192.168.77.21;proxy_set_header X-Forwarded-For $remote_addr;# Reverse proxy for seafile location / { fastcgi_pass 127.0.0.1:8000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name;fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param REMOTE_ADDR $remote_addr;access_log /var/log/nginx/seahub.access.log; error_log /var/log/nginx/seahub.error.log; fastcgi_read_timeout 36000; }# Reverse Proxy for seahub location /seafhttp { rewrite ^/seafhttp(.*)$ $1 break; proxy_pass http://127.0.0.1:8082; client_max_body_size 0; proxy_connect_timeout 36000s; proxy_read_timeout 36000s; proxy_send_timeout 36000s; send_timeout 36000s; }#CHANGE THIS PATH WITH YOUR OWN DIRECTORY location /media { root /home/seafile/seafile-server/seahub; } }
Guarde el archivo y reinicie Nginx:
systemctl restart nginx
Paso 7. Acceso a Seafile.
El almacenamiento en la nube de Seafile estará disponible en el puerto HTTP 80 de forma predeterminada. Abra su navegador favorito y vaya a http://yourdomain.com o http://192.168. 77.21. Ingrese el ID de correo electrónico de administrador y la contraseña para iniciar sesión que creó en el momento de la instalación. Si está utilizando un firewall, abra el puerto 8000 para habilitar el acceso al panel de control.
¡Felicitaciones! Ha instalado correctamente Seafile. Gracias por usar este tutorial para instalar el almacenamiento seguro en la nube de código abierto de Seafile en el sistema Ubuntu 16.04 LTS (Xenial Xerus). Para obtener ayuda adicional o información útil, le Le recomendamos que consulte el sitio web oficial de Seafile.