GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar ISPConfig y Seafile sin modificaciones manuales de archivos

Tutorial de Seafile ISPConfig Seafile es un sistema de almacenamiento de archivos basado en la nube de código abierto similar a Dropbox &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 configura 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 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

En este punto, deberá responder las preguntas solicitadas en relación con su sistema e instalación. Cuando llegue a la sección titulada Por favor, elija una forma de inicializar las bases de datos de archivos, deberá seleccionar 2 e ingresar la información de la base de datos desde su configuración de ISPConfig.

4 Ejecución inicial

Es hora de iniciar seafile y asegurarse de que la configuración inicial funcione.

./seafile.sh inicio
./seahub.sh inicio

Después de iniciar los servicios, abra su navegador web y navegue hasta la dirección del sitio web que creó anteriormente con el puerto 8000.

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

Ahora modifique SERVICE_URL en /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL = http://www.myseafile.com
Tambié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 restart
Reinicie 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. Asegúrate de agregar dos trabajos cron diferentes; uno para seafile y otro para seahub.Inserte lo siguiente en la sección Comando para ejecutar:

/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

Pegue el siguiente código en el script 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!


Linux
  1. Cómo usar expresiones Awk y regulares para filtrar texto o cadenas en archivos

  2. Cómo ocultar archivos y carpetas en el Administrador de archivos sin cambiar el nombre

  3. ¿Cómo instalar y usar Pycharm sin tener que usar una terminal?

  4. UNIX/Linux:Cómo usar Sticky Bit en directorios y archivos

  5. ¿Cómo eliminar un archivo sin usar rm?

Qué es EFS (Elastic File System) en AWS y cómo usarlo

Archivo host de Linux:¿Cómo editarlo y usarlo?

Cómo instalar y usar BleachBit 1.12 en Ubuntu 16.04

Cómo crear y usar un archivo de intercambio en Linux

¿Cómo usar gzip en Linux?

Cómo usar Sed para buscar y reemplazar una cadena en un archivo