Ubuntu18.04 construye almacenamiento en la nube Seafile de código abierto

Ubuntu18.04 construye almacenamiento en la nube Seafile de código abierto

Seafile es una plataforma de almacenamiento de archivos en la nube de código abierto que resuelve los problemas de almacenamiento centralizado de archivos, sincronización y acceso multiplataforma. Se centra en la seguridad y el rendimiento y es compatible con las plataformas Windows, Mac, Linux, iOS y Android. Admite la sincronización de archivos o monta directamente en el acceso local.

Seafile incluye los siguientes componentes del sistema: Seahub: Interfaz del sitio web para que los usuarios administren sus propios datos e información de cuenta en el servidor.
El servidor Seafile
proporciona soporte para sitios web a través de "gunicorn" (un servidor HTTP ligero de Python ). Seahub se ejecuta como una aplicación de gunicorn. Seafile server
(seaf-server): proceso de servicio de datos, manejo de carga / descarga / sincronización de archivos originales. Servidor Ccnet (ccnet-server):
proceso interno de servicio RPC, que conecta varios componentes. Controlador: supervise los procesos ccnet y seafile y reinicie el proceso si es necesario.

Inserte la descripción de la imagen aquí
No sé si conocía Seafile. También lo construí bajo Ubuntu (por supuesto que también se puede usar Linux) y encontré que es realmente fácil de usar. Sin embargo, hay dos versiones, una versión gratuita. las funciones son limitadas, los problemas básicos de uso no son grandes, qué tipo de bicicleta desea; una es la versión profesional, que admite hasta tres usuarios, y las funciones siguen siendo muy completas. Si es una gran empresa y hay Muchos usuarios, Seafile todavía necesita ser compatible en China Se recomienda utilizar un servidor profesional. Hay dos métodos de implementación oficiales: uno en Linux, otro en Ubuntu, y también puede implementar en Docker, ¡dependiendo de su situación personal! Lo siguiente es lo que implementé en Ubuntu: ¡Durante el período, también expliqué la incomprensibilidad de las oficiales! !

Enlaces utilizados para implementar el
documento oficial de Seafile : https://cloud.seafile.com/published/seafile-manual-cn/overview/components.md
Versión en chino del manual del servidor: https://www.seafile.com/download/
Descargue el paquete de instalación del servidor: https://www.seafile.com/download/Descargue la
versión profesional del servidor pro: https://download.seafile.com/d/6e5297246c/?p=/pro
install onlyoffice edición en línea http: // www.zhuodown.com/a/luyouqi/2020/0424/35965.html
Si se siente demasiado problemático, también puede utilizar la instalación del script . Pero los scripts son todos nombres de usuario, contraseñas y configuraciones generadas por defecto.

1. Implementación del servidor Seafile (usando MySQL / MariaDB) Si instala y usa SQLite, consulte la documentación oficial para obtener más detalles (Nota para la estructura del directorio de implementación: no importa si crea un nombre de directorio aquí, simplemente cree un nuevo uno y ponerlo dentro. El propósito es la administración y las actualizaciones posteriores)

mkdir haiwen
mv seafile-server_* haiwen
cd haiwen
  #将 seafile-server_* 移动到 haiwen 目录下后
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed

El directorio es más o menos así:

#tree . -L 2
.
├── installed
│   └── seafile-server_1.4.0_x86-64.tar.gz
└── seafile-server-1.4.0
    ├── reset-admin.sh
    ├── runtime
    ├── seafile
    ├── seafile.sh
    ├── seahub
    ├── seahub.sh
    ├── setup-seafile.sh
    └── upgrade

2. Preparativos antes de la instalación (nota: la versión profesional 7.1.X o superior debe actualizar python a 3 o superior, ver la versión descargada claramente para evitar errores)
Seafile 7.0.x

#on Debian/Ubuntu 14.04 server
apt-get update
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 sqlite3
#on Ubuntu 16.04 server
#As the default python binary on Ubuntu 16.04 server is python 3, we need to install python (python 2) first.
apt-get update
apt-get install python
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 ffmpeg python-pip sqlite3
pip install pillow moviepy
#on CentOS 7
yum -y install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
pip install pillow moviepy

Seafile 7.1 o superior

#on Debian 10/Ubuntu 18.04

apt-get update
apt-get install python3 python3-setuptools python3-pip python3-ldap -y

pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools django-pylibmc django-simple-captcha
#on CentOS 8
yum install python3 python3-setuptools python3-pip python3-ldap -y

pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools django-pylibmc django-simple-captcha

Tres, instalación

cd seafile-server-*
./setup-seafile.sh           #运行安装脚本并回答预设问题

Si uno de los programas anteriores no está instalado en su sistema, el script de inicialización de Seafile le recordará que instale el paquete de software correspondiente. (Nota: si no hay una biblioteca MySQL, aún necesita instalar la biblioteca. La contraseña raíz de MySQL se usará para crear el usuario seafile más adelante). El script le hará algunas preguntas a su vez, para guiarlo paso a paso. Paso para configurar los parámetros de Seafile:
aquí, se le pedirá que elija una forma de crear la base de datos de Seafile:

Please choose a way to initialize seafile databases:


[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
............................................

Si elige 1, debe proporcionar la contraseña de root. El programa de secuencia de comandos creará la base de datos y el usuario.
Si elige 2, la base de datos ccnet / seafile / seahub debería haber sido creada por usted (u otra persona) de antemano.
Si la instalación se completa correctamente, verá el siguiente resultado (la nueva versión puede ser diferente)

4. Obtenga el certificado de licencia (nota: la versión profesional solo puede admitir el uso de más de 3 personas cuando se
obtiene el certificado) Coloque el certificado de licencia que obtuvo en el directorio superior. Por ejemplo, en esta página de documento, usamos / data / haiwen / como directorio de nivel superior.

5. Inicie el servidor Seafile y el sitio web de Seahub.
En el directorio seafile-server-latest, ejecute el siguiente comando

启动 Seafile:
./seafile.sh start # 启动 Seafile 服务
启动 Seahub
./seahub.sh start  # 启动 Seahub 网站 (默认运行在127.0.0.1:8000端口上)

Nota: Después de la versión 7.0.x, el puerto 8000 está escuchando en la dirección 127.0.0.1 de forma predeterminada, lo que significa que no puede acceder directamente al servicio Seafile a través del puerto 8000. Se recomienda que configure el proxy inverso de Apache.

Habilitar el módulo de proxy inverso de Apache

sudo a2enmod rewrite proxy_http

Habilitar la función de proxy

sudo a2enmod rewrite proxy_http

Agregar reglas de firewall

sudo ufw allow 8000
sudo ufw allow 8082

Modificar la configuración del proxy

cd /etc/apache2/sites-enabled
sudo cp 000-default.conf 000-default.conf.bak
sudo vim 000-default.conf

Modifique de la siguiente manera:

<VirtualHost *:80>
  # ServerName www.myseafile.com 
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  Alias /media  /home/demo/haiwen/seafile-server-latest/seahub/media
  RewriteEngine On

  <Location /media>
   Require all granted
  </Location>

  #
  # seafile fileserver
  #
  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/
  
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Reinicie el servicio apache después de la modificación

sudo /etc/init.d/apache2 restart

En este punto, puede iniciar sesión en Seafile en la web.
¡Felicitaciones! Ahora ha instalado correctamente el servidor Seafile.
Si no desea ejecutar Seahub en el puerto predeterminado 8000, pero desea ejecutarlo en un puerto personalizado (como 8001), siga los pasos a continuación:
6.3.0 y posterior En esta versión, abandonamos el método de inicio ./seahub.sh para hacer que el proceso seahub escuche en otros puertos. Sin embargo, puede especificar el puerto de inicio de seahub modificando la configuración del puerto en conf / gunicorn.conf.
Modificar conf / gunicorn.conf

#default localhost:8000
bind = "0.0.0.0:8001"

Reinicie el servidor Seafile

./seafile.sh start # 启动 Seafile 服务
./seahub.sh start # 启动 Seahub 网站

Si encuentra problemas que no se pueden resolver durante el proceso de implementación, como documentos en línea, búsqueda de texto completo, agrupamiento, etc., ¡puede comunicarse en mensajes privados! !

Supongo que te gusta

Origin blog.csdn.net/wlc_1111/article/details/107086627
Recomendado
Clasificación