GNU/Linux >> Tutoriales Linux >  >> OpenSuse

Cómo instalar Seafile con Nginx en openSUSE Leap 42.1

Seafile es un software de alojamiento de archivos gratuito con una funcionalidad similar a Dropbox o Google Drive que se puede instalar en su propio servidor. Seafile se publica bajo una licencia OpenSource. Puede crear su propia sincronización segura de archivos y compartir servidor con seafile, es un software confiable para compartir archivos que permite a los usuarios cifrar sus datos en el servidor. Seafile está escrito en C y Python.

En este tutorial, le mostraré cómo crear su propio servidor de sincronización y uso compartido de archivos con Seafile en openSUSE Leap 42.1. Lo guiaremos a través de la instalación de Seafile y luego configuraremos la GUI web con cifrado https detrás de un servidor proxy inverso nginx.

Requisito previo

  • OpenSUSE Leap 42.1 - 64 bits
  • Privilegios de raíz
  • Comprender el comando zypper

Paso 1:configurar el nombre de host

Inicie sesión en su servidor openSUSE:

ssh [email protected]

después de iniciar sesión en el servidor, edite el archivo de hosts con vim:

vim /etc/hosts

Pegue la configuración (reemplace la IP y el nombre de host con sus propios valores):

192.168.1.101   cloud.kuonseafile.co    cloud

Guardar y salir.

Nota:

192.168.1.101 =dirección IP de mi servidor.

Nube =nombre de host de mi servidor.

kuonseafile.co =mi nombre de dominio.

Verifique el nombre de host y el FQDN (Nombre de dominio completo):

hostname
hostname -f

Paso 2:Instalar dependencias

Seafile está escrito en python, por lo que necesitamos varias bibliotecas de python para la instalación. Para la base de datos, seafile es compatible con SQLite y MySQL. En este tutorial, usaré una base de datos MySQL que proporciona un mejor rendimiento que SQLite.

Instale todos los paquetes, incluido el servidor MySQL/MariaDB con el siguiente comando zypper:

zypper in python python-imaging python-MySQL-python python-setuptools mariadb mariadb-client

Cuando finalice la instalación, continúe con el siguiente paso.

Paso 3:configurar la base de datos

Hay una cosa que debe saber cuando desee implementar seafile. Seafile necesita 3 bases de datos:

  1. base de datos ccnet
  2. base de datos de archivos marinos
  3. base de datos seahub

En el paso 2 hemos instalado con éxito el servidor MySQL/MariaDB, ahora inícielo con el siguiente comando:

rcmysql start

Establezca una nueva contraseña para el usuario root de mysql con el comando mysqladmin:

/usr/bin/mysqladmin -u root password 'aqwe123'

A continuación, inicie sesión en el shell de MySQL y cree 3 bases de datos para seafile y un nuevo usuario para esas 3 bases de datos.

Inicie sesión en el shell de MySQL:

mysql -u root -p

ESCRIBE LA CONTRASEÑA "aqwe123"

Cree las tres bases de datos para la instalación de Seafile:ccnet_db, seafile_db y seahub_db:

create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';

Y cree un nuevo usuario seafilecloud con la contraseña '[email protected]':

create user [email protected] identified by '[email protected]';

Ahora otorgue acceso al usuario de seafilecloud a todas las bases de datos:

grant all privileges on ccnet_db.* to [email protected] identified by '[email protected]';
grant all privileges on seafile_db.* to [email protected] identified by '[email protected]';
grant all privileges on seahub_db.* to [email protected] identified by '[email protected]';
flush privileges;

Todas las bases de datos están listas para la instalación del archivo marino.

Paso 4:instalar y configurar Seafile

En este paso, instalaremos y configuraremos seafile. Instalaremos seafile en el directorio principal y de usuario de seafile, por lo que debemos crear un nuevo usuario de Linux con el nombre "seafile".

Crear el nuevo usuario

Cree un nuevo usuario con el nombre seafile para la instalación:

useradd -m -s /bin/bash seafile

Nota:

-m =Crear un nuevo directorio de inicio para el usuario en "/home/".
-s /bin/bash =Definir el shell para el usuario.

Descargar Seafile

Cambie al usuario seafile con el siguiente comando su:

su - seafile

Ahora que está en el directorio de inicio de Seafile, descargue el servidor 5 de SeaFile con el comando wget:

wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.3_x86-64.tar.gz

Extraiga el archivo seafile y cámbiele el nombre:

tar -xzvf seafile-server_5.1.3_x86-64.tar.gz
mv seafile-server-5.1.3/ seafile-server

Instalar Seafile 5

Vaya al directorio del servidor de archivos marinos y ejecute el archivo de instalación para instalar archivos marinos:

cd seafile-server/

Instalaremos seafile con la base de datos MySQL, así que ejecute el archivo de instalación MySQL:

./setup-seafile-mysql.sh

Ahora se le pedirán los detalles del servidor.

nombre del servidor =usar el nombre de host del servidor.
IP o dominio del servidor =usar la dirección IP de mi servidor.
Directorio de datos de Seafile =simplemente presione Enter.
Puerto para el servidor de archivos seafile =simplemente presione Entrar.

A continuación, configure la base de datos. Hemos creado nuestra propia base de datos para la instalación, así que elige el número "2" .

Ahora se le preguntará sobre el perfil de la base de datos:

Host de mysql =El valor predeterminado es localhost.
Puerto predeterminado =3306.
Usuario de MySQL para archivo marino =Utiliza el usuario que creamos en el paso 3:"seafilecloud".
Contraseña de MySQL =contraseña para el usuario de seafilecloud.
base de datos ccnet =Hemos creado la base de datos - ccnet_db.
base de datos seafile =seafile_db.
base de datos seahub =seahub_db.

Si no ocurrieron errores, puede confirmar la instalación presionando "Enter".

espere a que el script genere la configuración y la base de datos.

Iniciar Seafile y Seahub

Seafile está instalado, ahora puede iniciarlo con el siguiente comando:

./seafile.sh start
./seahub.sh start

Se le pedirá que cree un usuario administrador para Seafile, solo ingrese su correo electrónico y contraseña de administrador.

En esta etapa, puede acceder a la GUI web de Seafile en el puerto 8000.

Paso 5:instalar y configurar Nginx

Nginx es un servidor web liviano con bajo uso de memoria y consumo de CPU. En este paso, instalaremos nginx, luego crearemos un nuevo host virtual para el acceso de proxy inverso a seafile. Vamos a habilitar https para conexiones en el servidor.

Instalar Nginx

Instale el servidor web nginx con el comando zypper:

zypper in nginx

Generar el Certificado SSL

A continuación, vaya al directorio nginx y cree un nuevo directorio para el certificado SSL. Luego genere el archivo de certificado con el comando OpenSSL:

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Ahora genere el archivo de certificado:

openssl genrsa -out privkey.pem 4096
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

Configurar host virtual

En el directorio nginx, cree un nuevo directorio llamado "vhosts.d" para almacenar el archivo de host virtual. Cree ese directorio y luego cree un nuevo archivo de host virtual con vim:

mkdir -p /etc/nginx/vhosts.d/
cd /etc/nginx/vhosts.d/
vim cloud.kuonseafile.conf

Pegue la configuración del host virtual a continuación:

    server {
        listen       80;
        server_name  cloud.kuonseafile.co;    #Domain Name
        rewrite ^ https://$http_host$request_uri? permanent;    # force redirect http to https
    }
    server {
        listen 443;
        ssl on;
        ssl_certificate /etc/nginx/ssl/cacert.pem;        # path to your cacert.pem
        ssl_certificate_key /etc/nginx/ssl/privkey.pem;    # path to your privkey.pem
        server_name cloud.kuonseafile.co;                    #Domain Name
        proxy_set_header X-Forwarded-For $remote_addr;

        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
        server_tokens off;

        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   HTTPS               on;
            fastcgi_param   HTTP_SCHEME         https;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        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;
        }
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

Reemplace server_name con su propio nombre de dominio:líneas 3 y 11.
Para la ubicación de medios, línea 47, reemplace por la ruta de instalación de seafile:'/home/seafile/seafile-server/seahub'.

Guarde el archivo y salga del editor, luego pruebe la configuración con el comando:

nginx -t

asegúrese de que no haya ningún problema o error en la configuración.

Configurar Seafile para usar su propio dominio y HTTPS

Cambie al archivo de usuario y edite la configuración. Antes de editar la configuración, apague el servicio seafile y seahub.

su - seafile
cd seafile-server/
./seafile.sh stop
./seahub.sh stop

Vuelva al directorio de inicio del usuario de seafile, luego vaya al directorio conf y edite los archivos ccnet.conf y seahub_settings.py.

cd ~/
cd conf/

Edite el archivo ccnet.conf:

vim ccnet.conf

En la línea 5: 'SERVICE_URL':reemplace el dominio con su propio nombre de dominio con https.

SERVICE_URL = https://cloud.kuonseafile.co/

Guardar y salir.

Ahora edite seahub_settings.py

vim seahub_settings.py

Agregue la nueva línea a continuación para definir la raíz del servidor de archivos.

FILE_SERVER_ROOT = 'https://cloud.kuonseafile.co/seafhttp'

Guardar y salir.

Paso 6:iniciar Seafile y probar

Nginx está instalado:MariaDB/MySQL están instalados y el servidor seafile está instalado.

Haga que Nginx y MySQL se inicien en el arranque:

systemctl enable nginx
systemctl enable mysql

Reinicie los servicios:

systemctl restart nginx
systemctl restart mysql

A continuación, inicie seafile y seahub desde el usuario de seafile:

su - seafile
cd seafile-server/
./seafile start
./seahub start-fastcgi

Se inician todos los servicios.

Ahora puede acceder al servidor Seafile con la URL de su servidor. El mío es:

cloud.kuonseafile.co

Será redirigido a la página de inicio de sesión de la conexión https de seafile.

Ingrese los detalles del usuario administrador que creamos en el paso 4.

Ahora puede ver el administrador de archivos SeaFile y comenzar a cargar archivos en su servidor SeaFile.


OpenSuse
  1. Cómo instalar Mongodb 5 en Opensuse Leap 15.3

  2. Cómo instalar Mysql Server 8 en OpenSUSE Leap 15.3

  3. Cómo instalar y configurar Redis 6 en OpenSUSE Leap 15.3

  4. Cómo instalar Java 17 en OpenSUSE Leap 15.3

  5. Cómo instalar y configurar Nginx como proxy OpenSUSE Leap 15.3

Cómo instalar Skype en openSUSE Leap

Cómo instalar NGINX en openSUSE

Cómo instalar TeamViewer 12 en openSUSE Leap 42.2

Cómo instalar Dropbox en openSUSE Leap 42.2

Cómo instalar RabbitMQ en OpenSUSE Leap 15.3

Cómo instalar Google Chrome en openSUSE Leap 15