部署mysql
1
sudo docker pull mysql:8.0.30
1
2
3
4
5
6
sudo docker run -p 3306:3306 \
--name byls-mysql \
--restart=always \
-v /home/byls/dockers/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=bylsmysqladmin \
-d mysql:8.0.30
启动容器名为 byls-mysql 的 mysql 镜像
挂载数据文件到
/home/byls/dockers/mysql/data
目录下服务端口为 3306,映射到 3306
连接
1
mysql -h 127.0.0.1 -u root -pbylsmysqladmin
1
create database nextcloud;
部署Redis
1
sudo docker pull redis:7.0.5
1
2
3
4
5
6
sudo docker run -p 6379:6379 \
--name byls-redis \
--restart=always \
-v /home/byls/dockers/redis/data:/data \
-v /home/byls/dockers/redis/redis.conf:/etc/redis/redis.conf \
-d redis:7.0.5 redis-server /etc/redis/redis.conf
启动容器名为 byls-redis 的 redis 镜像
挂载数据文件到
/home/byls/dockers/redis/data
目录下挂在配置文件到
/home/byls/dockers/redis/redis.conf
,并使用配置文件启动服务端口为 6379,映射到 6379
部署 Nextcloud
1
sudo docker pull nextcloud:24.0.5
1
2
3
4
5
6
7
sudo docker run -p 9001:80 \
--name byls-nextcloud \
--restart=always \
-v /home/byls/dockers/nextcloud/html:/var/www/html \
--link byls-mysql:mysql \
--link byls-redis:redis \
-d nextcloud:24.0.5
这里记得绑定一下自己的mysql,不然nextcloud直接用ip连接的时候会报错:
报 SQLSTATE[HY000] [2002] No such file or directory
或者 SQLSTATE[HY000] [2002] Connection refused
frp内网穿透
https://github.com/fatedier/frp/releases
服务端(服务器)
下载服务端并解压
1
2
3
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
进入解压目录
1
2
3
cd frp_0.44.0_linux_amd64
vim frps.ini
修改为
1
2
3
4
5
6
7
8
9
10
11
12
13
[common]
bind_port = 9000 # frp监听的端口,默认是7000,可以改成其他的
token = 123456 # 授权码,请改成更复杂的
dashboard_port = 7000 # frp管理后台端口,请按自己需求更改
dashboard_user = admin # frp管理后台用户名和密码,请改成自己的
dashboard_pwd = admin
enable_prometheus = true
# frp日志配置
log_file = /var/log/frp.log
log_level = info
log_max_days = 3
启动,报错没日至权限可使用sudo启动
1
./frps -c ./frps.ini &
客户端(本地)
下载客户端并解压(和服务端是同一个压缩包)
1
2
3
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
进入解压目录修改 frpc.ini
1
2
3
cd frp_0.44.0_linux_amd64
vim frpc.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[common]
server_addr = xx.xx.xx.xx # 服务器地址
server_port = 9000 # 服务端设置的bind_port
token = 123456 # 服务端设置的token
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 9999
[nextcloud]
type = tcp
local_ip = 127.0.0.1
local_port = 9001
remote_port = 9001
启动
1
./frpc -c ./frpc.ini &
用ssh或者访问nextcloud管理页面试试能不能访问
后续
nextcloud会有访问域名的校验,所以需要在nextcloud的 config/config.php 中设置你的服务器地址。 找到 trusted_domains 列表,加上你的服务器地址
1
2
3
4
'trusted_domains' =>
[
'xx.xx.xx.xx'
],
参考
https://www.cnblogs.com/xwgli/p/16512462.html
https://www.cnblogs.com/maowenqiang/p/16010447.html
https://blog.csdn.net/weixin_43922901/article/details/109261700