En este tutorial, aprenderemos cómo instalar Seafile para sincronizar y compartir archivos en CentOS 8. Seafile es una solución de sincronización y uso compartido de archivos de código abierto, de alto rendimiento, segura y lista para empresas creada con Python. Cuenta con una organización de datos simple usando bibliotecas, sincronización rápida, confiable y eficiente entre dispositivos.
Seafile le permite colocar archivos en su propio servidor y permitir que sus diferentes dispositivos se sincronicen y accedan a él. También puede acceder a todos los archivos como un disco virtual. El cliente Seafile Drive le permite ampliar el espacio del disco local con la enorme capacidad de almacenamiento en el servidor Seafile simplemente asignando el espacio de almacenamiento en el servidor Seafile como una unidad virtual en la máquina local.
Primero pondremos SELinux en modo Permisivo para asegurarnos de que no impida ninguna instalación que vayamos a realizar.
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
reboot
cat /etc/selinux/config | grep SELINUX=

Ahora que SELinux está en modo permisivo, actualice CentOS 8 usando el siguiente comando:
dnf -y update

Ahora configure el archivo de hosts y establezca el nombre de host del servidor usando el siguiente comando:
hostnamectl set-hostname seafile.vultr.com
Actualice la IP y el nombre de host establecidos en el archivo /etc/hosts de la siguiente manera:
nano /etc/hosts
Agregue la siguiente línea:
10.0.2.15 seafile.vultr.com #example

Ahora reinicie para aplicar las configuraciones.
Añadir repositorio EPEL e instalar dependencias:
Primero, instalaremos las dependencias de Seafile y los paquetes requeridos usando los comandos mencionados a continuación;
dnf -y install vim epel-release
dnf -y install python3 python3-devel python3-imaging MySQL-python3 python3-simplejson python3-setuptools mariadb mariadb-server nginx gcc mysql-devel


Ahora, instalaremos los módulos PIP3;
pip3 install --upgrade pip
python3 -m pip install --upgrade Pillow
pip3 install pylibmc captcha jinja2 django-pylibmc django-simple-captcha python3-ldap mysqlclient
pip3 install future sqlalchemy==1.4.3


Configurar servidor de base de datos MariaDB:
Inicie MariaDB y habilítelo para que se inicie en el arranque del sistema.
systemctl start mariadb
systemctl enable mariadb
Asegure la instalación de mariadb y configure la contraseña de root usando el siguiente comando:
mysql_secure_installation

Crear bases de datos Seafile:
Cree bases de datos y usuarios de Seafile. Conéctese a MySQL usando el siguiente comando y escriba la contraseña que estableció arriba.
mysql -u root -p
Una vez que se conecte a MySQL, ejecute los siguientes comandos para crear las bases de datos requeridas:
create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';
create user seacloud@localhost identified by 'w';
grant all privileges on ccnet_db.* to seacloud@localhost identified by 'w';
grant all privileges on seafile_db.* to seacloud@localhost identified by 'w';
grant all privileges on seahub_db.* to seacloud@localhost identified by 'w';
flush privileges;
exit

Instalar Seafile:
Instalaremos Seafile en la ruta /var/www.
mkdir -p /var/www/seafile
cd /var/www/seafile
Descargue Seafile con el comando wget y extraiga el archivo con el siguiente comando:
dnf install -y wget
wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_8.0.7_x86-64.tar.gz
tar xvf seafile-server_8.0.7_x86-64.tar.gz

Cambie el nombre del directorio a 'seafile-server' y cambie a ese directorio.
mv seafile-server-8.0.7/ seafile-server
rm -f seafile-server_8.0.7_x86-64.tar.gz
Configurar Seafile:
Ejecute el archivo 'setup-seafile-mysql.sh' para configurar la base de datos.
cd seafile-server
./setup-seafile-mysql.sh
Ahora, vea las siguientes imágenes para configurar.





Ahora podemos iniciar los servicios seafile y seahub. Inicie seafile con el siguiente comando:
./seafile.sh start

Inicie el servicio seahub usando el siguiente comando:
./seahub.sh start

Configurar cortafuegos:
Si su muro de archivos está activo, asegúrese de abrir puertos de archivos marinos a través del firewall:
firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --permanent --add-port=8082/tcp
firewall-cmd --reload

Acceso a Seafile en el navegador:
Acceda a seafile desde su navegador usando su nombre de host/dirección IP en el puerto 8000:http://
nano /var/www/seafile/conf/gunicorn.conf.py

Luego reinicie el servicio seahub
./seahub.sh restart

Ahora podrá iniciar sesión en Seafile. Ingrese el nombre de usuario y la contraseña que configuró al iniciar el servicio seahub.


Para comenzar a agregar nuevas carpetas/archivos, haga clic en 'Nueva biblioteca' y proporcione un nombre a su nueva carpeta, luego haga clic en 'enviar'.


Debería poder seleccionar su nueva biblioteca y crear o cargar una carpeta/archivo.

Seafile ahora está instalado en su sistema CentOS 8. ahora puedes usarlo según tus necesidades.