Instalación Seafile · 4 min read · Nov 10, 2025

Instalando Seafile 6.3.2 dentro de ISPConfig 3.1

Seafile es un sistema de almacenamiento de archivos basado en la nube de código abierto similar a Dropbox y Box. La diferencia es que Seafile se puede implementar en el propio sistema del cliente. Esto proporciona un mayor factor de seguridad, ya que las contraseñas solo se intercambian entre el cliente que configuró el sistema y sus propios usuarios, en lugar de una empresa de alojamiento en la nube corporativa.

Hay algunos tutoriales de configuración del servidor Seafile para ISPConfig, pero ninguno que no requiera una buena mayoría de editar los archivos que realmente deberían dejarse solos según las recomendaciones de los desarrolladores de ISPConfig. Aunque esta configuración está escrita para Ubuntu 18.04 LTS e ISPConfig 3, se puede seguir para otras distribuciones. Esta solución funciona para mí, pero no se expresa ni implica ninguna garantía.

Se asume que el lector desea implementar Seafile utilizando MySQL y Apache (también https). También se asume que puede usar funcionalmente ISPConfig, ya que este no es un tutorial de ISPConfig.

1 Configurar el sitio web

Abre tu panel de control de alojamiento ISPConfig, haz clic en la pestaña Sitios y crea un nuevo sitio web. Querrás asegurarte de seleccionar Ninguno para Subdominio automático, SSL, SSL de Let’s Encrypt y Fast-CGI para PHP. Aunque técnicamente puedes usar un sitio web existente, crear uno nuevo funciona mejor ya que nos permite mantener todos los archivos de la nube separados de otros sitios. Esto también es necesario para usar el panel de ISPConfig para cambios de configuración.

En el panel de configuración del sitio web, haz clic en la pestaña Opciones e inserta lo siguiente en la sección Directivas de Apache:

Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media  
  
RewriteEngine On  
  
  
Require all granted  
  
  
# seafile httpserver  
#  
ProxyPass /seafhttp http://127.0.0.1:8082  
ProxyPassReverse /seafhttp http://127.0.0.1:8082  
RewriteRule ^/seafhttp - [QSA,L]  
#  
# seahub
#
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/

Directivas de Nginx
También deberías crear un usuario de shell para este sitio, ya que será necesario en breve.

Usuario SSH

2 Crear bases de datos

Desde el panel de Sitios en ISPConfig, selecciona Usuario de base de datos y Agregar nuevo usuario. Crea un solo usuario por cliente que gestionará las bases de datos de seafile de ese cliente.

Usuario de base de datos

Después de que se cree el usuario de la base de datos, haz clic en Bases de datos y Agregar nueva base de datos. Necesitarás agregar tres bases de datos separadas: ccnetdb, seafiledb, seahubdb

Primera base de datos

Base de datos

tercera base de datos

3 Descargar e instalar el software Seafile

Hay algunos paquetes requeridos que necesitamos instalar. Conéctate a tu servidor a través de SSH con un usuario que tenga permisos suficientes para instalar software.

apt-get install python2.7 python-setuptools python-simplejson python-pil python-mysqldb python-flup

Prefiero tener todos mis servidores funcionando dentro del directorio privado en lugar del directorio web, así que configuraremos de esa manera. Conéctate a SSH en el servidor con el nombre de usuario que creamos anteriormente.

cd private  
mkdir seafile  
cd seafile  
   
wget https://download.seadrive.org/seafile-server_6.3.2_x86-64.tar.gz  
    o para 32 bits  
wget https://download.seadrive.org/seafile-server_6.2.5_i386.tar.gz  
   
tar zxvf seafile-server_6.3.2_x86-64.tar.gz  
mkdir installed  
mv seafile-server_* installed  
   
cd seafile-server-*  
./setup-seafile-mysql.sh

En este punto, necesitarás responder a las preguntas que se te presenten en relación con tu sistema e instalación. Cuando llegues a la sección titulada Por favor elige una forma de inicializar las bases de datos de seafile, necesitarás seleccionar 2 e ingresar la información de la base de datos de tu configuración de ISPConfig.

4 Ejecución inicial

Es hora de iniciar seafile y asegurarte de que la configuración inicial esté funcionando.

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

Después de iniciar los servicios, abre tu navegador web y navega a la dirección del sitio web que creaste anteriormente con el puerto 8000.

http://192.168.1.111:8000/

5 Configuración de Apache

Ahora modifica el SERVICE_URL en /path/to/seafile-server/ccnet/ccnet.conf

SERVICE_URL = https://www.myseafile.com

También necesitaremos modificar el FILE_SERVER_ROOT en /path/to/seafile-server/seahub_settings.py

FILE_SERVER_ROOT = 'https://www.myseafile.com/seafhttp'

Reinicia Apache.

sudo service apache2 restart

Reinicia los servicios de Seafile.

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

6 Iniciar servicios automáticamente

Dado que el objetivo aquí es mantener todo contenido dentro de ISPConfig, en lugar de crear un servicio de inicio, vamos a agregar el script de seafile a los trabajos cron del usuario. Naturalmente, necesitarás asegurarte de que el cliente tenga la capacidad de agregar trabajos cron completos.

Crea un archivo de inicio:

cd ~/private/seafile  
touch startSeafile.sh  
chmod +x startSeafile.sh

Pega el siguiente código en el script startSeafile.sh:

#!/bin/bash  
   
# Cambia el valor de "seafile_dir" a tu ruta de instalación de seafile  
seafile_dir=/var/www/clients/client1/web2/private/seafile  
script_path=${seafile_dir}/seafile-server-latest  
seafile_init_log=${seafile_dir}/logs/seafile.init.log  
seahub_init_log=${seafile_dir}/logs/seahub.init.log  
   
## El comando Sleep es necesario para prevenir errores de MYSQL si  
## este script se ejecuta antes de que MYSQL esté completamente operativo  
sleep 60 &   
wait %1  
   
case "$1" in  
start)  
${script_path}/seafile.sh start >> ${seafile_init_log} &   
wait %1   
${script_path}/seahub.sh start >> ${seahub_init_log} &   
wait %1   
;;  
restart)  
${script_path}/seafile.sh restart >> ${seafile_init_log} &   
wait %1   
${script_path}/seahub.sh restart >> ${seahub_init_log} &   
wait %1   
;;  
stop)  
${script_path}/seafile.sh $1 >> ${seafile_init_log} &   
${script_path}/seahub.sh $1 >> ${seahub_init_log}   
;;  
*)  
echo "Uso: /etc/init.d/seafile {start|stop|restart}"  
exit 1  
;;  
esac

Para asegurarte de que los archivos cron se escriban correctamente, hay algunas cosas que deben verificarse. Haz clic en Cliente -> [tu cliente] -> Límites. Asegúrate de que los Límites de trabajos cron estén configurados en Cron completo con 0 de retraso entre ejecuciones. Después de eso, solo necesitarás agregar el único trabajo cron startServer.sh en la sección Comandos a ejecutar de ISPConfig.

/var/www/clients/client1/web42/private/seafile/startSeafile.sh start

Trabajo cron

¡Eso es todo!

Enlaces

  • ISPConfig
  • Seafile
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.