Bootstrap

OpenEuler学习笔记(十九):搭建云表格服务

在 OpenEuler 上搭建云表格服务可以借助一些开源软件来实现,下面以 Seafile 和 OnlyOffice 结合的方案为例,Seafile 用于文件存储和管理,OnlyOffice 提供在线文档编辑功能,其中就包含云表格编辑。
在这里插入图片描述

1. 环境准备

首先确保 OpenEuler 系统是最新的,执行以下命令更新系统:

sudo dnf update -y

2. 安装和配置 Seafile

2.1 安装依赖软件
sudo dnf install python3 python3-setuptools python3-ldap python3-mysqldb python3-urllib3 python3-pillow mariadb-server mariadb-devel nginx -y
2.2 启动并设置数据库开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb
2.3 数据库安全初始化
sudo mysql_secure_installation

按照提示设置数据库 root 密码等信息。

2.4 创建 Seafile 数据库和用户
sudo mysql -u root -p

登录数据库后执行以下 SQL 语句:

CREATE DATABASE seafile CHARACTER SET = 'utf8';
CREATE USER 'seafileuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON seafile.* TO 'seafileuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

your_password 替换为你设定的强密码。

2.5 下载和安装 Seafile

从 Seafile 官方网站下载最新的社区版:

wget https://download.seafile.com/d/6c8c8d3339/files/?p=/seafile-server_9.0.5_x86-64.tar.gz -O seafile-server_9.0.5_x86-64.tar.gz

根据实际情况调整版本号。
解压文件:

tar -xzf seafile-server_9.0.5_x86-64.tar.gz
cd seafile-server-9.0.5
2.6 配置 Seafile

运行配置脚本:

./setup-seafile-mysql.sh

按照提示输入数据库信息、Seafile 服务的相关配置信息。

2.7 启动 Seafile 服务
./seafile.sh start
./seahub.sh start
2.8 配置 Nginx

创建 Nginx 配置文件:

sudo vi /etc/nginx/conf.d/seafile.conf

添加以下内容:

server {
    listen 80;
    server_name your_domain_or_ip;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
        fastcgi_pass    127.0.0.1:8000;
        fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;
        fastcgi_param   PATH_INFO           $fastcgi_script_name;

        fastcgi_param   SERVER_PROTOCOL     $server_protocol;
        fastcgi_param   QUERY_STRING        $query_string;
        fastcgi_param   REQUEST_METHOD      $request_method;
        fastcgi_param   CONTENT_TYPE        $content_type;
        fastcgi_param   CONTENT_LENGTH      $content_length;
        fastcgi_param   SERVER_ADDR         $server_addr;
        fastcgi_param   SERVER_PORT         $server_port;
        fastcgi_param   SERVER_NAME         $server_name;
        fastcgi_param   HTTPS               on;
        fastcgi_param   HTTP_SCHEME         https;

        access_log      /var/log/nginx/seahub.access.log;
        error_log       /var/log/nginx/seahub.error.log;
    }

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
        proxy_send_timeout  36000s;
        send_timeout  36000s;
    }

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

your_domain_or_ip 替换为你的域名或服务器 IP,/path/to/seafile-server-latest 替换为 Seafile 服务器实际路径。

2.9 启动 Nginx
sudo systemctl start nginx
sudo systemctl enable nginx

在这里插入图片描述

3. 安装和配置 OnlyOffice

3.1 安装 Docker
sudo dnf install docker -y
sudo systemctl start docker
sudo systemctl enable docker
3.2 拉取 OnlyOffice 镜像
sudo docker pull onlyoffice/documentserver
3.3 运行 OnlyOffice 容器
sudo docker run -i -t -d -p 8080:80 --restart=always onlyoffice/documentserver

4. 集成 Seafile 和 OnlyOffice

4.1 登录 Seafile 管理界面

在浏览器中访问 http://your_domain_or_ip,使用管理员账户登录 Seafile。

4.2 配置 OnlyOffice 集成

在 Seafile 管理界面中,找到“系统管理” - “第三方应用集成” - “在线文档”,输入 OnlyOffice 服务器地址(如 http://your_server_ip:8080)。

5. 配置防火墙

开放 Seafile 和 OnlyOffice 使用的端口:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

6. 测试云表格服务

登录 Seafile,创建或上传一个表格文件,点击文件即可使用 OnlyOffice 在线编辑该表格。
在这里插入图片描述

;