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 在线编辑该表格。