En este tutorial, le mostraremos cómo instalar Seafile en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, Seafile es una sincronización de archivos autoalojada de código abierto que comparte la solución con alto rendimiento y confiabilidad. Seafile le permite poner archivos en su propio servidor y permitir que otros y sus diferentes dispositivos se sincronicen y accedan a él. Seafile está escrito en lenguaje de programación C y Python y ofrece funciones similares como Dropbox, mega.co.nz y otras.
Este artículo asume que tiene al menos un conocimiento básico 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 se supone que está 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 sistema de almacenamiento en la nube y alojamiento de archivos de código abierto Seafile en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos: Ubuntu 20.04, 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra la Terminal si está en una computadora de escritorio).
- A
non-root sudo user
o acceder a laroot user
. Recomendamos actuar como unnon-root sudo user
sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instale Seafile en Ubuntu 20.04 LTS Focal Fossa
Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguienteapt
Comandos en la terminal.
sudo apt update sudo apt upgrade
Paso 2. Paso 2. Instale las dependencias requeridas.
Ahora instale todas las dependencias necesarias para la instalación del servidor Seafile usandoapt
comandos a continuación:
sudo apt install python3 python3-{pip,pil,ldap,urllib3,setuptools,mysqldb,memcache,requests} sudo apt install ffmpeg memcached libmemcached-dev sudo pip3 install --upgrade pip sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 sudo pip3 install --timeout=3600 django-pylibmc django-simple-captcha python3-ldap mysqlclient
Paso 3. Instalación de la pila LEMP.
Se requiere un servidor Ubuntu 20.04 LEMP. Si no tiene LEMP instalado, puede seguir nuestra guía aquí.
Paso 4. Configuración de MariaDB para.
De forma predeterminada, MariaDB no está reforzado. Puede asegurar MariaDB usando elmysql_secure_installation
guion. debe leer y debajo de cada paso cuidadosamente, que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y accederá 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. Crearemos una base de datos para cada uno de estos componentes del servidor.
MariaDB [(none)]> CREATE DATABASE seafile_server; MariaDB [(none)]> CREATE DATABASE ccnet_server; MariaDB [(none)]> CREATE DATABASE seahub_server;
Luego, cree un usuario de base de datos y otorgue privilegios para las bases de datos creadas:
MariaDB [(none)]> CREATE USER 'seafile'@'localhost' IDENTIFIED BY 'Your-Strong-Password'; MariaDB [(none)]> GRANT ALL ON seafile_server.* TO 'seafile'@'localhost'; MariaDB [(none)]> GRANT ALL ON ccnet_server.* TO 'seafile'@'localhost'; MariaDB [(none)]> GRANT ALL ON seahub_server.* TO 'seafile'@'localhost'; MariaDB [(none)]> QUIT;
Paso 5. Instalación de Seafile en Ubuntu 20.04.
De forma predeterminada, Seafile no está disponible en el repositorio base de Ubuntu 20.04. Ahora ejecute el siguiente comando a continuación para descargar la última versión de Seafile desde la página oficial:
wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_9.0.4_x86-64.tar.gz
A continuación, extraiga el archivo descargado:
sudo tar -xvf seafile-server_9.0.4_x86-64.tar.gz -C /srv sudo mv /srv/seafile-server_9.0.4_x86-64 /srv/seafile
Después de eso, ejecute el script de instalación:
cd /srv/seafile/ sudo ./setup-seafile-mysql.sh
Durante la instalación, se le pedirá que responda algunas preguntas sobre su servidor (nombre, dirección, puerto, etc.). También se le preguntará acerca de la inicialización de una base de datos.
Una vez que se complete la instalación, ahora inicie el servidor Seafile usando los siguientes comandos:
cd /srv/seafile sudo ./seafile.sh start
A continuación, inicie el servicio de interfaz web Seahub (Django):
sudo ./seahub.sh start
Paso 6. Cree el servicio Seafile Systemd.
Ahora configuramos el seafile y el seahub como unsystemd
Servicio:
sudo tee /etc/systemd/system/seafile.service<<EOF [Unit] Description=Seafile After= mysql.service After=network.target [Service] Type=forking ExecStart=/srv/seafile-server-latest/seafile.sh start ExecStop=/srv/seafile-server-latest/seafile.sh stop [Install] WantedBy=multi-user.target EOF
Además, creamos uno para Seahub:
sudo tee /etc/systemd/system/seahub.service<<EOF [Unit] Description=Seafile After= mysql.service After=network.target [Service] Type=forking ExecStart=/srv/seafile-server-latest/seahub.sh start ExecStop=/srv/seafile-server-latest/seahub.sh stop [Install] WantedBy=multi-user.target EOF
Guardar y close el archivo, luego vuelva a cargar elsystemd
manager para que se produzcan los cambios:
sudo systemctl daemon-reload sudo systemctl start seafile && sudo systemctl enable seafile sudo systemctl start seahub && sudo systemctl enable seahub
Paso 7. Configure Nginx como proxy inverso.
Ahora creamos un nuevo archivo de configuración bajo/etc/nginx/conf.d/seafile.conf
con los siguientes comandos:
server {
listen 80;
listen [::]:80;
server_name seafile.your-domain.com;
autoindex off;
client_max_body_size 100M;
access_log /var/log/nginx/seafile.com.access.log;
error_log /var/log/nginx/seafile.com.error.log;
location / {
proxy_pass https://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_read_timeout 1200s;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass https://127.0.0.1:8082;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
}
location /media {
root /srv/seafile-server-latest/seahub;
}
}
Guardar y close el archivo, luego reinicie el servidor web Nginx para que se realicen los cambios:
nginx -t sudo systemctl restart nginx
Paso 8. Configure el cortafuegos.
De manera predeterminada, el firewall UFW está habilitado en Ubuntu. Dependiendo de su archivo de configuración de host virtual Nginx, abra los puertos 80 y 443 para permitir el tráfico HTTP y HTTPS:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload
Paso 9. Acceso a la interfaz web de Seafile.
Una vez que se haya instalado correctamente, abra su navegador web y acceda a la interfaz web de Seafile usando la URLhttps://seafile.your-domain.com
. Deberías ver la siguiente página:
¡Felicidades! Ha instalado correctamente Seafile. Gracias por usar este tutorial para instalar el sistema de almacenamiento en la nube y alojamiento de archivos de código abierto Seafile en el sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulteel sitio web oficial de Seafile.