CentOS 上 LibreOffice 的网络共享实践
总体说明
- LibreOffice 是办公套件,不直接提供“网络共享”功能。常见需求有两类:一是把文档放在网络上供多人访问与协作(通过操作系统共享文件夹实现);二是把 LibreOffice 作为服务供远程调用(无头 UNO 服务)。下文分别给出可操作步骤。
方案一 文件共享与协作
- 思路:在 CentOS 上配置 Samba 或 NFS 共享目录,客户端(含 LibreOffice)将共享目录挂载为本地路径后直接打开/保存文件,实现多人协作编辑。
- SMB/CIFS 共享与挂载(适合与 Windows 互通)
- 安装组件:sudo yum install -y samba samba-client cifs-utils
- 创建共享目录:sudo mkdir -p /srv/share && sudo chmod 2770 /srv/share && sudo chown youruser:yourgroup /srv/share
- 配置 Samba(/etc/samba/smb.conf 片段):
[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
[share]
path = /srv/share
browseable = yes
read only = no
valid users = youruser
- 创建 Samba 用户:sudo smbpasswd -a youruser
- 启动服务:sudo systemctl enable --now smb
- 防火墙放行:sudo firewall-cmd --permanent --add-service=samba && sudo firewall-cmd --reload
- 客户端挂载(凭据文件法):
sudo mkdir -p /mnt/smb
sudo sh -c ‘echo -e “username=youruser\npassword=yourpass” > /etc/samba/creds && chmod 600 /etc/samba/creds’
sudo mount -t cifs //服务器IP/share /mnt/smb -o credentials=/etc/samba/creds,iocharset=utf8
- 在 LibreOffice 中:文件 → 打开 → 选择 /mnt/smb 下的文档进行编辑与保存。
- NFS 共享与挂载(Linux/Unix 场景)
- 服务器(共享方)编辑 /etc/exports:/srv/share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
- 启动服务:sudo systemctl enable --now nfs-server rpcbind
- 客户端安装与挂载:sudo yum install -y nfs-utils && sudo mkdir -p /mnt/nfs && sudo mount -t nfs 服务器IP:/srv/share /mnt/nfs
- 在 LibreOffice 中通过 /mnt/nfs 访问与保存文件。
- 协作建议:避免多人同时打开同一文件;如需多人实时协作,建议使用专用协同平台或将文件放入支持锁与版本控制的共享存储。
方案二 将 LibreOffice 作为网络服务供远程调用
- 适用场景:后端批量转换、文档生成、接口化调用等。
- 步骤
- 安装 LibreOffice(示例):sudo yum install -y libreoffice
- 启动无头 UNO 服务(监听 8100 端口):
/opt/libreoffice7.5/program/soffice --headless --accept=“socket,host=0.0.0.0,port=8100;urp;” --nofirststartwizard &
- 验证监听:ss -lntp | grep 8100(应看到 soffice.bin 监听 0.0.0.0:8100)
- 安全建议:仅在内网开放 8100,或在前端加反向代理/鉴权;必要时用防火墙限制来源 IP。
- 说明:该方式并非文件共享,而是把 LibreOffice 的功能以网络服务形式提供,供其他程序/服务调用。
网络与权限排障要点
- 基本连通:ping 网关/目标主机;ss -lntp 检查端口监听;ip route 检查路由;/etc/resolv.conf 检查 DNS。
- 防火墙与 SELinux:firewall-cmd --state 查看状态;必要时放行 samba/cups 等服务或临时停用 SELinux 做 A/B 验证;journalctl -xe 查看系统日志。
- Samba/NFS 权限:共享目录本地权限与共享配置需一致;Samba 用户需通过 smbpasswd 创建;NFS 导出需匹配客户端网段与权限选项。
- LibreOffice 使用网络打印机:安装并启用 CUPS(sudo yum install -y cups && sudo systemctl enable --now cups),在浏览器访问 http://localhost:631 添加网络打印机;随后在 LibreOffice 打印对话框中选择该打印机。