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/
También deberías crear un usuario de shell para este sitio, ya que será necesario en breve.

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.
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


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-flupPrefiero 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.shEn 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 startDespué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.
5 Configuración de Apache
Ahora modifica el SERVICE_URL en /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL = https://www.myseafile.comTambié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 restartReinicia los servicios de Seafile.
./seafile.sh start
./seahub.sh start6 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.shPega 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
;;
esacPara 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
¡Eso es todo!
Enlaces
- ISPConfig
- Seafile
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.