简介:本文详细介绍OnlyOffice在非Docker环境下的私有化部署方案,涵盖环境准备、依赖安装、配置调整及安全加固等关键步骤,助力企业实现文档协作的自主可控。
在数字化转型浪潮中,企业对文档协作工具的需求日益增长。OnlyOffice作为一款开源的在线办公套件,因其强大的功能(如文档编辑、表格处理、演示文稿等)和灵活的部署方式,成为众多企业的首选。然而,对于部分企业而言,Docker容器化部署可能带来额外的运维复杂度,或因安全策略限制无法使用Docker。因此,非Docker环境下的OnlyOffice私有化部署显得尤为重要。本文将详细阐述如何在非Docker环境中完成OnlyOffice的私有化部署,确保企业数据的安全与可控。
OnlyOffice支持多种Linux发行版,如Ubuntu、CentOS等。建议选择长期支持(LTS)版本,以确保系统稳定性。硬件方面,根据并发用户数合理配置CPU、内存和存储空间。例如,对于中小型企业,4核CPU、8GB内存和100GB存储空间通常足够。
OnlyOffice的部署依赖于多个组件,包括但不限于:
以Ubuntu为例,安装命令如下:
# 更新系统包列表sudo apt update# 安装Nginxsudo apt install nginx# 安装PostgreSQLsudo apt install postgresql postgresql-contrib# 安装Redissudo apt install redis-server# 安装Node.js(建议使用nvm管理版本)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashnvm install --lts# 安装Mono(仅限需要.NET服务的场景)sudo apt install gnupg ca-certificatessudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EFecho "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.listsudo apt updatesudo apt install mono-complete
从OnlyOffice官方GitHub仓库下载最新版本的社区版或企业版(根据需求选择)。以社区版为例:
wget https://github.com/ONLYOFFICE/CommunityServer/archive/refs/tags/vX.X.X.tar.gztar -xzvf vX.X.X.tar.gzcd CommunityServer-X.X.X
修改config/default.json文件中的数据库连接信息:
{"db": {"server": "localhost","port": 5432,"user": "onlyoffice","password": "your_password","db": "onlyoffice_db"}}
创建数据库和用户:
sudo -u postgres psqlCREATE DATABASE onlyoffice_db;CREATE USER onlyoffice WITH PASSWORD 'your_password';GRANT ALL PRIVILEGES ON DATABASE onlyoffice_db TO onlyoffice;
以Nginx为例,编辑/etc/nginx/sites-available/onlyoffice:
server {listen 80;server_name your_domain.com;location / {proxy_pass http://localhost: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;}location /documentserver/ {proxy_pass http://localhost:8080/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-available/onlyoffice /etc/nginx/sites-enabled/sudo systemctl restart nginx
OnlyOffice包含多个服务,如API服务、文档服务等。通常,社区版提供了启动脚本(如run_community_server.sh),直接运行即可:
./run_community_server.sh
或通过systemd管理服务:
# 创建/etc/systemd/system/onlyoffice.service[Unit]Description=OnlyOffice Community ServerAfter=network.target[Service]Type=simpleUser=onlyofficeWorkingDirectory=/path/to/CommunityServer-X.X.XExecStart=/usr/bin/node server.jsRestart=on-failure[Install]WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reloadsudo systemctl enable onlyofficesudo systemctl start onlyoffice
使用Let’s Encrypt免费证书启用HTTPS:
sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d your_domain.com
自动续期配置:
sudo certbot renew --dry-run
限制不必要的端口访问:
sudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw enable
maxmemory和maxmemory-policy以避免内存溢出。postgresql.conf中的shared_buffers和work_mem等参数。非Docker环境下的OnlyOffice私有化部署,虽然步骤相对复杂,但为企业提供了更高的灵活性和可控性。通过合理的环境准备、依赖安装、配置调整和安全加固,企业可以构建一个稳定、高效的文档协作平台。未来,随着OnlyOffice功能的不断迭代,非Docker部署方案也将持续优化,满足更多场景下的需求。