1panel 面板怎么部署 Nextcloud
照着这篇做完,你能在一台干净的 Linux 服务器上用 1Panel 面板部署出一套可外网访问、带 HTTPS 的 Nextcloud 私有网盘。
第一步:装好 1Panel 并放行端口
这一步要拿到 1Panel 的登录地址和账号密码,后面所有操作都在面板里点。用 SSH 登录服务器(Ubuntu 22.04 / Debian 12 都行,配置至少 2 核 4G、40G 磁盘),执行官方一键安装脚本:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
脚本会让你设置面板端口和安全入口,装完会在终端打印「面板地址 / 用户名 / 密码」,位置在 /opt/1panel。然后在服务器(或云厂商控制台)的安全组里放行:面板端口、80、443,还有后面给 Nextcloud 用的端口(比如 8080)。
注意:面板地址里的「安全入口」那一段路径不能丢,丢了会提示 404。密码只显示一次,先复制到记事本。
第二步:先建好数据库(可选但推荐)
这一步要有一个独立的 MySQL 库给 Nextcloud 用。进入面板左侧「数据库」→「MySQL」→「创建数据库」,填库名 nextcloud、用户名 nextcloud、密码自己设一个强密码,访问权限选「所有人(%)」或「本地服务器」,点「确认」。
注意:如果「数据库」页面提示没有可用的 MySQL 服务,先去「应用商店」搜索 MySQL 安装一个(选 8.0 版本),装完再回来建库。
第三步:应用商店一键安装 Nextcloud
这一步装出 Nextcloud 本体和它的 Web 容器。左侧「应用商店」→ 搜索框输入 Nextcloud → 点进应用卡片 → 点「安装」。在安装表单里填:
- 名称:
nextcloud - 版本:选最新的 apache 版(如 29-apache)
- Web 端口:
8080 - 数据库服务:选第二步建好的 MySQL 服务,填入库名
nextcloud、用户名、密码 - 管理员账号 / 密码:这就是你以后登录网盘的账号
- 时区:
Asia/Shanghai
点「确认」,等状态变成「已启动」。此时浏览器访问 http://服务器IP:8080 应该能看到 Nextcloud 登录页。
注意:如果应用商店里搜不到 Nextcloud,说明你的 1Panel 版本较旧(本文以 v1.10 及以上为例),先到「设置」→「面板设置」里检查更新,或改用「容器」→「编排」自己写 docker-compose 部署。
第四步:绑定域名并开启 HTTPS
这一步把 IP:8080 换成正经域名,并且是 https 访问。左侧「网站」→「网站」→「创建网站」,类型选「反向代理」,主域名填 nc.你的域名.com,代理地址填 http://127.0.0.1:8080,点「确认」。然后点这个网站的「配置」→「HTTPS」,勾选「Acme 账户」里已有的账号,点「申请证书」,申请成功后打开「HTTPS」开关并勾选「强制 HTTPS」。
注意:申请 Let's Encrypt 证书要求域名已经解析到这台服务器,且 80 端口能从公网访问,否则会报验证失败。
第五步:配置 trusted_domains 和反代参数
这一步解决「通过域名访问报不可信域名」的问题。进入「容器」→「容器」列表,找到 nextcloud 容器,点「终端」,连接后编辑配置文件:
vi /var/www/html/config/config.php
在 trusted_domains 数组里加上你的域名,例如:
'trusted_domains' => array (
0 => '127.0.0.1:8080',
1 => 'nc.你的域名.com',
),
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'https://nc.你的域名.com',
保存后用域名登录 Nextcloud 后台即可。
注意:改完
config.php不用重启容器,刷新页面就生效。如果没生效,去「容器」里点该容器的「重启」。
第六步:调大上传限制和加定时任务
这一步解决大文件传不上去、后台提示「上次后台任务运行于 X 天前」的问题。回到「应用商店」→「已安装」→ 找到 Nextcloud → 点「参数」,在编排文件里给 nextcloud 服务加两行环境变量:
environment:
- PHP_UPLOAD_LIMIT=10G
- PHP_MEMORY_LIMIT=1G
保存后点「重建」。再进「计划任务」→「创建计划任务」,类型选「Shell 脚本」,周期选「每分钟」,脚本内容:
docker exec -u www-data nextcloud php -f /var/www/html/cron.php
注意:容器名不一定是
nextcloud,先在「容器」列表里确认实际名称再填。计划任务创建后手动点一次「执行」看有没有报错。
小结
- 先装 1Panel、放行端口,拿到面板账号密码。
- 在「数据库」里提前建好 Nextcloud 专用库,避免安装时卡在数据库连接。
- 「应用商店」搜 Nextcloud 一键安装,端口建议 8080。
- 用「网站 → 反向代理」绑域名,再申请 Let's Encrypt 证书并强制 HTTPS。
- 必须改
config.php里的trusted_domains和overwriteprotocol,否则域名访问会报错。 - 用环境变量调大 PHP 上传限制,用计划任务跑 cron.php,否则大文件和后台任务都会出问题。
原文链接:https://www.gj0.com/thread-244.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。