docker部署nextcloud+onlyoffice++registration

时间:2025-05-13 08:52:27

1.防火墙&selinux

systemctlc stop firewalld && systemctl disabled firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
init 6

yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack ntpdate telnet ipvsadm
yum-config-manager \
    --add-repo \
    /linux/centos/
yum install docker-ce docker-ce-cli  -y    
systemctl enable docker --now && systemctl status docker
vim /etc/docker/
{
 "registry-mirrors":["","","","https://dockerhub.",".","", ""]
}
systemctl daemon-reload && systemctl restart docker && systemctl status docker

docker run -d -p 3306:3306 --restart=always -v /data/mysql/data:/var/lib/mysql -v /data/mysql/logs:/logs -v /data/mysql/conf:/etc/mysql/ -e MYSQL_ROOT_PASSWORD=997998 --name mysql mysql 
docker exec -it mysql /bin/bash
mysql -uroot -p997998
create user 'nextcloud'@'%' identified by 'nextcloud';
grant all PRIVILEGES on *.* to nextcloud@'%' WITH GRANT OPTION;
ALTER USER 'nextcloud'@'%' IDENTIFIED BY 'nextcloud' PASSWORD EXPIRE NEVER;
ALTER USER 'nextcloud'@'%' IDENTIFIED WITH mysql_native_password BY 'nextcloud';
FLUSH PRIVILEGES;
exit
exit

docker run -d --restart=always --name nextcloud -p 80:80 -v /data/nextcloud:/var/www/html -v /etc/localtime:/etc/localtime --hostname NextCloud nextcloud:23.0.2

浏览器访问ip地址,设置账号密码,数据库账号nextcloud密码nextcloud库nextcloud,端口ip:3306

web界面–应用商店,下载onlyoffice

docker run -i -t -d -p8860:80 --restart=always -v /data/onlyoffice/logs:/var/log/onlyoffice -v /data/onlyoffice/data:/var/www/onlyoffice/Data -v /data/onlyoffice/lib:/var/lib/onlyoffice -v /data/onlyoffice/db:/var/lib/postgresql  -v /etc/localtime:/etc/localtime onlyoffice/documentserver

6.连接onoffiec

浏览器访问$ip:8860

#按照网页提示输入命令
docker exec fc30a1f2266d sudo supervisorctl start ds:example
docker exec fc30a1f2266d sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor//
#转到测试案例
#修改配置文件,添加'allow_local_remote_servers' => true,
vim /data/nextcloud/config/

在nextcloud设置–officeonly设置–修改onlyofficeDocs地址

邮箱功能

wget /nextcloud-releases/registration/releases/download/v1.4.0/registration-v1.4.
tar  xvf registration-v1.4. -C /data/nextcloud/apps
#打开web界面,从已禁用的应用中启用Registration,设置--基本设置--电子邮件服务器

wget /pawelrojek/nextcloud-drawio/releases/download/v.1.0.2/drawio-v1.0.
tar  xvf drawio-v1.0. -C /data/nextcloud/apps
#打开web界面,从已禁用的应用中启用,设置--其他设置,语言zh,保存

9.后台任务Cron

#设置--基本设置--后台任务,选择Cron
crontab -e
*/5 * * * * /usr/bin/docker exec --user www-data nextcloud  php /var/www/html/

10.删除用户默认文件

cd /data/nextcloud/core/skeleton
rm -rf *