Hay algunos tutoriales de configuración del servidor Seafile para ISPConfig, pero ninguno que no requiriera una gran mayoría de la edición de los archivos que realmente deberían dejarse solos según las recomendaciones del desarrollador de ISPConfig. Si bien esta configuración está escrita para Ubuntu 14.04 LTS e ISPConfig 3, puede seguirse para otras distribuciones. Esta solución funciona para mí, pero no hay ninguna garantía expresa o implícita.
Se supone que el lector desea implementar Seafile usando MySQL y Apache (también https). También se supone que puede usar funcionalmente ISPConfig, ya que este no es un tutorial de ISPConfig.
1 sitio web de configuración
Abra su panel de control de alojamiento de ISPConfig, haga clic en la pestaña Sitios y cree un nuevo sitio web. Aunque técnicamente puede usar un sitio web existente, crear uno nuevo funciona mejor, ya que nos permite mantener todos los archivos en la nube separados de otros sitios. Esto también es necesario para usar el panel ISPConfig para cambios de configuración.En el panel de configuración del sitio web, haga clic en la pestaña Opciones e inserte 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
<Location /media>
Require all granted
</Location>
# seafile httpserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
También debe crear un usuario shell para este sitio, ya que será necesario en breve.
2 Crear bases de datos
En el panel Sitios de ISPConfig, seleccione Usuario de base de datos y Agregar nuevo usuario. Cree un solo usuario por cliente que administrará las bases de datos de archivos marinos de ese cliente.Después de crear el usuario de la base de datos, haga clic en Bases de datos y Agregar nueva base de datos. Deberá agregar tres bases de datos separadas: ccnetdb, seafiledb, seahubdb
3 Descargar e instalar el software Seafile
Hay algunos paquetes requeridos que necesitamos instalar. SSH en su sitio web y ejecute los siguientes comandos:apt-get install python2.7 python-setuptoolspython-simplejson python-imaging python-mysqldb python-flup
Prefiero que todos mis servidores se ejecuten dentro del directorio privado en lugar del directorio web, por lo que lo configuraremos como tal.
cd privado
mkdir seafile
cd seafile
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_x86-64.tar.gz
o para 32 bits
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_i386.tar.gz
tar zxvf seafile-server_3.1.6_x86- 64.tar.gz
mkdir instalado
mv seafile-server_* instalado
cd seafile-server-*
./setup_seafile_mysql.sh
4 Ejecución inicial
Es hora de iniciar seafile y asegurarse de que la configuración inicial funcione.
./seafile.sh inicio
./seahub.sh inicio
http://192.168.1.111:8000/
5 Configuración de Apache
La mayor parte de nuestra configuración para Apache se realiza dentro de la configuración del sitio web anterior. Sin embargo, necesitamos agregar una línea a apache.conf para que todo funcione sin problemas. Desafortunadamente, no he encontrado una manera de agregar esto sin editar este único archivo.
sudo echo "## Servidor externo Seafile">>/etc/apache2/apache.conf
sudo echo "FastCGIExternalServer/var/www/seafile.myDomainHere.com/web/seahub.fcgi -host127.0.0.1:8000">> /etc/apache2/apache.conf
SERVICE_URL = http://www.myseafile.comTambién necesitaremos modificar FILE_SERVER_ROOT en /path/to/seafile-server/seahub_settings.py
FILE_SERVER_ROOT ='http://www.myseafile.com/seafhttp'
Reinicie Apache.sudo service apache2 restartReinicie los servicios de Seafile.
./seafile.sh inicio
./seahub.sh inicio-fastcgi
6 Habilitar HTTPS
Lo único que debe hacerse es generar una clave SSL desde la pestaña Sitios de ISPConfig. Debido a la forma en que ISPConfig está instalado y funciona, todo lo demás ya debería estar configurado. Sin embargo, es posible que deba asegurarse de que Apache se reinicie.7 Iniciar servicios automáticamente
Dado que el objetivo aquí es mantener todo contenido con ISPConfig, en lugar de crear un servicio de inicio, vamos a agregar el seafilescript a los trabajos cron de los usuarios. Naturalmente, deberá asegurarse de que el cliente tenga la capacidad de agregar trabajos cron completos. /var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seahub. shstart-fastcgi
y
/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seafile_start
ACTUALIZACIÓN (23 de noviembre de 2014):debido a que los servidores seafile y seahub tardan un tiempo en iniciarse, hubo ocasiones en las que la segunda secuencia de comandos se ejecutaba antes de que finalizara la secuencia de comandos anterior. Por lo tanto, el servidor no se iniciaría. Actualicé el script de inicio originalseafile para que funcione correctamente con ISPConfig. Probablemente me excedí con los comandos de espera, pero el script funciona bien usándolos. Asegúrese de haber iniciado sesión como usuario de este archivo antes de ejecutar los siguientes comandos.
Cree un archivo de inicio:
cd ~/private/seafile
toque startSeafile.sh
chmod +x startSeafile.sh
#!/bin/bash
# Cambie el valor de "seafile_dir" a su ruta de instalación de seafile
seafile_dir=/var/www/clients/client1/web42/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
# Cambie el valor de fastcgi a verdadero si se va a usar fastcgi
fastcgi=true
# Establezca el puerto de fastcgi, el predeterminado es 8000. Cámbielo si necesita algo diferente.
fastcgi_port=8000
## El comando de suspensión es necesario para evitar errores de MYSQL si
## este script se ejecuta antes de que MYSQL esté completamente operativo
sleep 60 &
esperar %1
caso "$1" en
inicio)
${script_path}/seafile.sh iniciar>> ${seafile_init_log} &
esperar %1
si [ $fastcgi =true ];
entonces
${script_path}/seahub.sh start-fastcgi ${fastcgi_port}>>${seahub_init_ log} &
espera %1
else
$ {script_path} /seahub.sh inicio>> $ {seahub_init_log} &
espera %1
fi
;;
reiniciar)
${script_path}/seafile.sh restart>> ${seafile_init_log} &
esperar %1
if [ $fastcgi =true ];
Entonces
$ {script_path} /seahub.sh reinsart-Fastcgi $ {fastcgi_port}>> $ {seahub_init_log} &
Wait %1
else
$ {script_path} / seahub.sh reiniciar>> ${seahub_init_log} &
esperar $1
fi
;;
detener)
${script_path}/$seafile.sh $1 {seafile_init_log}
${script_path}/seahub.sh $1>> ${seahub_init_log}
;;
*)
echo "Uso:/etc/init.d/seafile{iniciar|detener|reiniciar}"
salir 1
;;
esac
Ahora solo tendrá que agregar el único trabajo startServer.shcron en la sección Comandos para ejecutar de ISPConfig:
/var/www/clients/client1/web42/private/seafile/startSeafile. inicio
¡Eso es!