Cómo instalar Seafile en Ubuntu 20.04 LTS

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 la root user . Recomendamos actuar como un non-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 siguiente apt 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 usando apt 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 el mysql_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 un systemd 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 el systemd 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 URL https://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 consulte el sitio web oficial de Seafile .

Related Posts