在防火墙页面点击“添加规则”按钮,添加如下规则:
8888端口用于宝塔面板登录,3306端口为MySQL数据库的访问端口。
若不添加会造成无法登录宝塔面板或无法连接到服务器安装的MySQL数据库。

登录宝塔面板
在浏览器地址栏输入外网面板地址,进入宝塔面板登录页,输入用户名和密码进行登录。
如果您已经忘记面板地址/用户名/密码,请查看步骤二最后的输出内容,或在命令行执行bt命令重置用户名和密码。
登录成功后,您需要注册一个宝塔面板账号,才能正常使用宝塔面板。

安装LNMP环境
您绑定宝塔面板账号后,会自动弹出窗口,推荐您安装LNMP环境。
根据NextCloud官方文档,建议安装Nginx 1.18+、MySQL 5.7+、PHP 7.3+的运行环境,不建议低于此版本。
此处我选择Nginx 1.20、MySQL 5.7和PHP 7.4。
默认并不是这几个版本,请手动修改,并在安装前确认版本是否正确,安装方式选择极速安装或编译安装均可。

若没有弹出以上窗口,请在“软件商店”-“运行环境”中手动安装Nginx、MySQL和PHP。

安装过程大约需要20-80分钟左右,具体时长取决于您服务器硬件配置。
服务器系统会自动在后台安装,您可以关闭页面去做别的事情,安装进度可以在面板左上角的消息盒子查看。

安装完成后,您在“软件商店”-“已安装”可以看到如下内容。

步骤四:准备开始安装NextCloud
说明NextCloud官网:https://nextcloud.com NextCloud服务端下载:https://nextcloud.com/install/#instructions-server NextCloud官方文档:https://docs.nextcloud.com
新建站点
在“网站”-“PHP项目”中点击“添加站点”,该站点作为NextCloud的运行站点。

做好三件事:
域名:输入你的网站域名,并将该域名的DNS解析指向您的服务器公网IP地址。如果您没有域名,则直接输入服务器公网IP地址。
选择一个文件夹作为网站根目录,宝塔面板推荐将网站目录放在/www/wwwroot下,因此我选择将/www/wwwroot/nextcloud作为NextCloud网站根目录,稍后需要将官方的NextCloud安装文件解压到网站根目录中。
创建MySQL数据库账号,并记下数据库的账号和密码。
以上三个内容都会在后面用到,请记下来。

点击网站根目录,进入网站根目录

点击“终端”按钮,输入root用户的密码登录到SSH命令行,如果您已忘记密码,请参考步骤一最后的内容进行修改。

进入终端后会自动执行cd命令将当前工作目录切换为网站根目录。

您也可以选择在之前的阿里云ecs-workbench操作,但请先通过cd命令将当前工作目录切换到网站根目录。
cd /www/wwwroot/nextcloud
执行以下命令下载NextCloud源文件到网站根目录中。
wget https://download.nextcloud.com/server/releases/latest.zip
执行完毕后刷新文件列表,可以看到latest.zip已被下载,如果没有,请检查命令行的当前工作目录是不是网站根目录。

解压latest.zip到当前目录。

解压后得到一个名为nextcloud的文件夹。

网站根目录下的.user.ini文件是具有修改锁的,其无法被删除或覆盖,需要将锁去除。
打开终端,确保命令行工作目录为网站根目录,然后执行以下命令修改.user.ini的权限,否则该文件将无法被nextcloud的安装文件覆盖。
chattr -i .user.ini chown -R www:www /www/wwwroot/
由于宝塔面板是直接运行网站根目录下的文件,所以需要将解压出的nextcloud文件夹中的全部文件,移动(剪切)到网站根目录下。
最终效果如图所示,请注意检查.user.ini文件的修改时间与其他文件修改时间是否为同一天,若不是同一天说明该文件没有覆盖成功,继续后面的步骤将出现HTTP 502的错误。

回到宝塔面板“网站”菜单,点击网站名,然后配置伪静态。

伪静态配置如下,若不进行配置,继续后面的步骤将出现HTTP 502的错误。
location ~ ^/(data|config|.ht|db_structure.xml|README) { deny all; }

步骤五:安装NextCloud
在浏览器地址栏输入上一步骤新建站点时所输入的域名,进入NextCloud安装向导。创建管理员账号,配置数据目录和数据库。
数据库请选择MySQL数据库,并输入创建站点时输入的数据库账号和密码。
点击安装,大约需要1分钟。

安装推荐的应用(可选)。

完成安装。

单击左上角的文件图标,即可开始使用NextCloud。

五、方案验证
按照以上步骤,您已经完成了NextCloud的安装,经过测试,上传文件、删除文件、重命名文件等基本功能没有任何问题。
您还可以下载桌面端或移动端App,实现三端同步。

同时,在应用市场也有很多应用可以下载,这些应用都是免费的。
