本帖最后由 xiazi2436 于 2021-3-27 14:31 编辑
这几天正好在家闲来无事,把物理机直接安装了最新版的U-NAS 5.0.5镜像,然后把心心念念的nextcloud重新安装配置了一下,数据库这次直接用了MariaDB(mysql的另一个版本,其实还是把它当成mysql来使用就好),效率上感觉比sqlite要高一些,最主要的是用着心里舒坦
下面写下我的步骤吧,其实这个简单的优化教程同样适合4.0.6使用
新装U-NAS 5.0.5,这个不用再多说,大家都会,最新的iso镜像文件可以到群里下载,激活码问群主要,或者等正式版放出后再安装;
安装配置MariaDB
第一步记得先更新下系统和软件
- apt-get update
- apt-get upgrade
复制代码
然后安装MariaDB,同时顺便安装php的mysql扩展
- apt-get install mariadb-server php-mysql -y
复制代码
运行数据库安全向导。
- mysql_secure_installation
复制代码
回答以下问题,用强密码替换示例密码。
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: example-password
Re-enter new password: example-password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
为NextCloud创建一个数据库。
用你设置的密码登录到MySQL数据库:
注:不分大小写,最后加分号。
- MariaDB> CREATE DATABASE nextclouddb;
复制代码 创建NextCloud用户并授予本地访问权,密码自己设置复杂些
- MariaDB> GRANT ALL ON nextclouddb.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'example-password';
- MariaDB> FLUSH PRIVILEGES;
- MariaDB> EXIT;
复制代码
安装PHP的一些扩展
- apt-get php-intl php-bcmath php-gmp php-imagick php-apcu -y
复制代码
然后就可以在U-NAS控制面板的APP管理器内点击nextcloud的安装按钮了,然后静静的等待安装并出现启动配置界面

这是我自己的安装完后的截图,点击启动即可
由于我自己没有截屏安装时的配置界面,所以百度搜索了一张图,填写你想要使用的用户名密码,下面根据提示把数据库的用户名和密码以及数据库名填写进去即可,然后点击最下面的安装,就剩下静静的等待了,安装完会自动跳转到dashboard界面(nextcloud20版本,13版本我记得貌似是到文件这个界面)
安全及设置警告解决PHP内存限制低于建议值512MB。找到PHP.INI文件位置修改。 - nano /etc/php/7.3/apache2/php.ini
复制代码把memory_limit = 128M 改成512M,保存退出
再重启apache2服务 - systemctl restart apache2
复制代码 PHP configuration option output_buffering must be disabled这条报错信息暂时没有找到方法来修改,不去理会也无妨,我之前按照一个教程去修改,结果导致U-NAS控制面板变白,无法进入使用,所以不建议按照其他教程去修复
内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档。
修改nextcloud的config.php文件
- nano /unas/apps/nextcloud/web/config/config.php
复制代码
插入下面的配置
- 'memcache.local' => '\OC\Memcache\APCu',
复制代码
该实例缺失了一些推荐的 PHP 模块。为提高性能和兼容性,我们强烈建议安装它们。
如果你登录nextcloud后台设置界面还提示你缺失了一些php模块,那就缺哪个装哪个
下面是一个安装范例,大家自行参考
- apt-get php-intl php-bcmath php-gmp php-imagick php-apcu -y
复制代码 安装完可以重启下Apache2
- systemctl restart apache2
复制代码 你的网页服务器未正确设置以解析“/.well-known/caldav”先修改:AllowOverride ALL 参数,前面说过我已经修改了。
文件位置: /etc/apache2/apache2.conf
开启rewrite,并重启apache2服务。 这个我按照别人的方法测试修改过,没什么卵用,依然还是会提示,所以我也没有去管,有人搞定的话可以在下面跟帖留言
最后再把mysql允许远程连接的教程粘贴一份,有需求的可以自行开启,但是本人不对以下教程所产生的风险负任何责任
配置mysql 配置外网访问 在新版本的linux里 mysql已经改名为 MariaDB cd 进入/etc/mysql/mariadb.conf.d/ 目录 vim 50-server.cnf 开始编辑配置文件 bind-address字段默认是127.0.0.1 这样的话只允许本机访问 修改 bind-address =0.0.0.0 保存退出 执行 service mysql stop 和 service mysql start:重启服务
配置root登录限制 输入 mysql -u root -p 回车 输入root密码 MariaDB [(none)]> 输入 use mysql 会进入 MariaDB [mysql]> 继续输入 select user,host from user; 查询所有账号和账号的允许登录IP
Host字段为允许登录的IP 其中"%"为匹配模式 单个"%"为任意IP可登录,如果是192.168.1.% 则为 192.168.1 IP段都可以登录
设置root账号禁止远程登录(默认) GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'mysql root密码' WITH GRANT OPTION; 设置root账号允许任意IP登录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql root密码' WITH GRANT OPTION; 创建新的账号 create user 账号@localhost identified by '账号密码'; 新建的账号允许任意IP登录 GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '账号密码' WITH GRANT OPTION; 最后必须执行 flush privileges; update user set host='%' where user='root';' 'update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost'; flush privileges; ————————————————
|