[教程]宝塔+命令行方式安装nextcloud

写在前面

为什么会有这个教程,因为之前买了个IKOULA月付€4.5的便宜杜甫

博主一上来就给安装了宝塔,然后一套流程操作下来,web方式安装nextcloud,总是失败

后来记得nextcloud提供了命令行方式安装的办法,姑且一试,成功了

记录下来,以备将来可能需要用到

博主喜好用debian9

很简单,合计四步,完成。

第一步:安装宝塔7.1.1

Centos安装命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

试验性Centos/Ubuntu/Debian安装命令支持ipv6,注意使用root权限执行此命令 (支持Centos8)

curl -sSO http://download.bt.cn/install/new_install.sh && bash new_install.sh


Ubuntu/Deepin安装命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian安装命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

Fedora安装命令:

wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

Linux面板7.1.0升级命令:
curl http://download.bt.cn/install/update6.sh|bash

博主使用debian的,用debian的代码,如上debian安装命令

首次登录宝塔管理面板,会提示让你安装lnmp或者lamp,博主喜好lnmp,注意php选择7.2及以上,nextcloud 18.0.2必须7.2以上版本。

第二步:新建站点,数据库,都是用默认的配置即可,然后获取一下ssl

在如上图,3的位置,写上你自己的域名

ssl中签个https,就这么完事了。

第三步:从nextcloud官网远程下载代码包到机器上

https://download.nextcloud.com/server/releases/nextcloud-18.0.2.zip

解压到新建站点的文件夹下即可

注:权限都是默认的就行

第四步:使用命令行方式安装nextcloud

ssh命令行软件xshell或其他的软件中,运行如下:

apt install sudo  #安装sudo,默认debian不带这个命令
cd /www/wwwroot/你的域名文件夹
sudo -u www php occ  maintenance:install --database "mysql" --database-name "宝塔新建的数据库名字"  --database-user "宝塔中新建数据库的用户名" --database-pass "宝塔中新建数据库的密码" --admin-user "你想要的用户名" --admin-pass "你想要的密码"

修改上面代码中你对于的内容,然后,贴入ssh中运行就好。需要耐心等一小会儿。

跑完,应该就好了,但是需要到下图文件中(/www/wwwroot/你的域名/config),进行设置域名

保存即可通过web访问啦

nextcloud后台上做一些设置,不在提示有问题

fileinfo,安装解决fileinfo的提示

消除nextcloud“内存缓存未配置”的警告,用apcu来解决

 'memcache.local' => '\OC\Memcache\APCu', 

opcache,解决

 opcache.enable = 1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.fast_shutdown=1
opcache.enable_cli=1

所使用的数据库为MySQL但没有对4字节字符的支持。为正确处理文件名或评论中使用的4字节字符(比如emoji表情),建议开启MySQL的4字节字符支持。

1.修改MySQL配置文件,这里以MySQL 5.6 为例

在 [mysqld] 配置段里加入

innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1

2.修改nextcloud的数据库的字符集和排序规则

ALTER DATABASE nextcloud所在的数据库名称 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

可以用phpmyadmin执行

保存后重启MySQL

3.修改nextcloud配置文件config.php

4.修复数据库

同样是occ命令,需要在nextcloud的安装根目录下执行

sudo-u www php occ maintenance:repair 

重启nginx,php