如何在 Ubuntu 20.04 LTS 上安装 Seafile

Seafile 是一个开源的、自托管的文件同步,它共享具有高性能和可靠性的解决方案。Seafile 使您能够将文件放在自己的服务器上,并允许其他人和您的不同设备同步和访问它。Seafile 是用 C 和 Python 编程语言编写的,并提供类似的功能,如 Dropbox、mega.co.nz 等。Seafile-logo

在 Ubuntu 20.04 LTS Focal Fossa 上安装 Seafile

apt步骤 1. 首先,通过在终端中运行以下命令,确保所有系统包都是最新的。

sudo apt update
sudo apt upgrade

第 2 步。第 2 步。安装所需的依赖项。

apt现在使用以下命令安装 Seafile 服务器安装所需的所有依赖项:

sudo apt install python3 python3-{pip,pil,ldap,urllib3,setuptools,mysqldb,memcache,requests}
sudo apt install ffmpeg memcached libmemcached-dev
sudo pip3 install --upgrade pip
sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3
sudo pip3 install --timeout=3600 django-pylibmc django-simple-captcha python3-ldap mysqlclient

步骤 3. 安装 LEMP 堆栈。

需要 Ubuntu 20.04 LEMP 服务器。如果您没有安装 LEMP,您可以在此处按照我们的指南进行操作。

步骤 4. 配置 MariaDB。

默认情况下,MariaDB 未加固。mysql_secure_installation您可以使用脚本保护 MariaDB 。您应该仔细阅读下面的每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MariaDB:

mysql_secure_installation

像这样配置它:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

接下来,我们需要登录 MariaDB 控制台并为 Seafile 创建一个数据库。运行以下命令:

mysql -u root -p

这将提示您输入密码,因此请输入您的 MariaDB 根密码并按 Enter。我们将为这些服务器组件中的每一个创建一个数据库。

MariaDB [(none)]> CREATE DATABASE seafile_server;
MariaDB [(none)]> CREATE DATABASE ccnet_server;
MariaDB [(none)]> CREATE DATABASE seahub_server;

然后,创建一个数据库用户并为创建的数据库授予权限:

MariaDB [(none)]> CREATE USER 'seafile'@'localhost' IDENTIFIED BY 'Your-Strong-Password';
MariaDB [(none)]> GRANT ALL ON seafile_server.* TO 'seafile'@'localhost';
MariaDB [(none)]> GRANT ALL ON ccnet_server.* TO 'seafile'@'localhost';
MariaDB [(none)]> GRANT ALL ON seahub_server.* TO 'seafile'@'localhost';
MariaDB [(none)]> QUIT;

步骤 5. 在 Ubuntu 20.04 上安装 Seafile。

默认情况下,Seafile 在 Ubuntu 20.04 基础存储库中不可用。现在运行以下命令从官方页面下载最新版本的 Seafile:

wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_9.0.4_x86-64.tar.gz

接下来,解压下载的文件:

sudo tar -xvf seafile-server_9.0.4_x86-64.tar.gz -C /srv
sudo mv /srv/seafile-server_9.0.4_x86-64 /srv/seafile

之后,运行安装脚本:

cd /srv/seafile/
sudo ./setup-seafile-mysql.sh

在安装过程中,您将被要求回答一些关于您的服务器的问题(名称、地址、端口等)。您还将被询问有关初始化数据库的问题。

安装完成后,现在使用以下命令启动 Seafile 服务器:

cd /srv/seafile
sudo ./seafile.sh start

然后启动 Seahub ( Django ) web 前端服务:

sudo ./seahub.sh start

步骤 6. 创建 Seafile Systemd 服务。

现在我们将 seafile 和 seahub 设置为systemd服务:

sudo tee /etc/systemd/system/seafile.service<<EOF
[Unit]
Description=Seafile
After= mysql.service
After=network.target

[Service]
Type=forking
ExecStart=/srv/seafile-server-latest/seafile.sh start
ExecStop=/srv/seafile-server-latest/seafile.sh stop

[Install]
WantedBy=multi-user.target
EOF

此外,我们为 Seahub 创建了一个:

sudo tee /etc/systemd/system/seahub.service<<EOF
[Unit]
Description=Seafile
After= mysql.service
After=network.target

[Service]
Type=forking
ExecStart=/srv/seafile-server-latest/seahub.sh start
ExecStop=/srv/seafile-server-latest/seahub.sh stop

[Install]
WantedBy=multi-user.target
EOF

保存并关闭文件,然后重新加载systemd管理器以进行更改:

sudo systemctl daemon-reload
sudo systemctl start seafile && sudo systemctl enable seafile
sudo systemctl start seahub && sudo systemctl enable seahub

步骤 7. 将 Nginx 配置为反向代理。

现在我们使用以下命令创建一个新的配置文件:/etc/nginx/conf.d/seafile.conf

server {
    listen 80;
    listen [::]:80;
    server_name seafile.your-domain.com;
    autoindex off;
    client_max_body_size 100M;
    access_log /var/log/nginx/seafile.com.access.log;
    error_log /var/log/nginx/seafile.com.error.log;

     location / {
            proxy_pass         http://127.0.0.1:8000;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
            proxy_read_timeout  1200s;
        }

     location /seafhttp {
            rewrite ^/seafhttp(.*)$ $1 break;
            proxy_pass http://127.0.0.1:8082;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout  36000s;
            proxy_read_timeout  36000s;
            proxy_send_timeout  36000s;
            send_timeout  36000s;
        }

    location /media {
            root /srv/seafile-server-latest/seahub;
        }
}

保存并关闭文件,然后重新启动 Nginx Web 服务器以进行更改:

nginx -t
sudo systemctl restart nginx

步骤 8. 配置防火墙。

默认情况下,在 Ubuntu 上启用了 UFW 防火墙。根据您的 Nginx 虚拟主机配置文件,打开端口 80 和 443 以允许 HTTP 和 HTTPS 流量:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

步骤 9. 访问 Seafile Web 界面。

成功安装后,打开您的网络浏览器并使用 URL 访问 Seafile 网络界面。您应该看到以下页面:http://seafile.your-domain.com

seafile-web-interface-login

感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 Seafile 开源文件托管和云存储系统。如需更多帮助或有用信息,我们建议您查看Seafile 官方网站

未经允许不得转载:统信UOS之家 » 如何在 Ubuntu 20.04 LTS 上安装 Seafile

相关文章