debian10.3 安装nextcloud,解决安全与设置警告,升级新版本

标题 鉴于UNAS4.0中的NEXTCLOUD 版本过旧,升级也无法升级到最新版本,新手小白,不会了。想了想测试下DEBIAN10中安装nextcloud 。记录下安装内容。
硬件:虚拟机,CPU4核,内存2GB,硬盘40GB。
系统:debian-10.3.0-amd64-netinst.iso ,
增加SSH server服务,(后期增加竟然没有成功……。)
默认的,root是没有远程权限的,远程登录可以用普通用户登录后su切换到管理员模式。

安装好后,系统自带的XTerm, 中文是方框乱码,先解决它。

在root下
vi /etc/X11/app-defaults/XTerm
最后面增加:

*faceName:DejaVu sans Mono:pixelsize=18
*faceNameDoublesize:Microsoft YaHei:pixelsize=18

重启后生效。
--------------

没有ifconfig命令,安装它。

先用普通用户登录,然后:

切换到root
su
密码:
apt update
apt upgrade -y
apt install net-tools  #(注意:net-tool不对,需要是net-tools)
apt install sudo
apt install snapd *wqy* zhcon  #(安装需要的软件,参考了用户“挪不动
”中的信息。)

安装nextcloud 前先安装环境:

1、安装MariaDB。

apt 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数据库:

mysql -u root -p

注:不分大小写,最后加分号。

MariaDB> CREATE DATABASE nextclouddb;

创建NextCloud用户并授予本地访问权,密码自己设置复杂些

MariaDB> GRANT ALL ON nextclouddb.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'example-password';
MariaDB> FLUSH PRIVILEGES;
MariaDB> EXIT;

2、安装PHP
安装PHP和必要的扩展。

apt install php php-gd php-mbstring php-dom php-curl php-zip php-simplexml php-xml -y

3、安装Apache

安装Apache和PHP模块。

apt install apache2 libapache2-mod-php -y

启动Apache并启用它在引导时运行

systemctl start apache2

systemctl enable apache2

4、安装NextCloud

下载最新版本的NextCloud,这里以20.0.4版为例。

wget https://download.nextcloud.com/server/releases/nextcloud-20.0.4.tar.bz2

将发行版解压缩到/var/www/html目录中

tar -xjf nextcloud-20.0.4.tar.bz2 -C /var/www/html

发现它会在html中新建个文件夹nextcloud ,在访问该IP时会出现IP/nextcloud,不喜欢这样
把/var/www/html/nextcloud下面的文件移动到/var/www/html中。

cd  /var/www/html
mv /var/www/html/nextcloud/* /var/www/html

然后发现,mv 无法移动文件名前面带点的 比如:.user.ini .htaccess
哎。
用笨方法,先复制一下再删除旧的目录:

cp -a /var/www/html/nextcloud/. /var/www/html   #这里要带上  点   。
rm -rf /var/www/html/nextcloud/      #这里最后加不加 /  都会把nextcloud目录删除了,我记错了?

让Apache成为NextCloud文件的所有者。

chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/
安全与设置警告

接下来在浏览器中打开IP 。
出现在设置管理员和数据库用户及密码的地方。根据上面的设置好。
进到设置中先看看安全问题
好多的警告,开始修补吧。
提示:.htaccess文件不起作用。
在这里插入图片描述

解决.htaccess文件不起作用。

确认NextCloud用户数据文件存储位置,一般在/var/www/html/nextcloud/data下。
若要更换存储位置到/home/han/data,先复制(我的是)/var/www/html/data到/home/han/。
找到config.php,编辑文件

vi /var/www/html/config/config.php

这个目录应该是第一次登录网站时填写的数据保存目录。
‘datadirectory’ => ‘/var/www/html/data/’
改为 datadirectory’ => '/home/han/data 保存即可。
同样,用cp -a /var/www/html/data/. /home/han
rm -rf /var/www/html/data
再次进网站检测,没有这个提示了。
在查资料的时候发现有个selinux功能,不过debian 是默认不带的,就先不管了。

把nextcloud映射到外网,用官网工具扫描漏洞时发现,通过外网无法打开网站。

需要修改文件,把外网IP加上。

vi /var/www/html/config/config.php
找到以下位置增加上
array (
   0 => '192.168.0.11'
   1 => 'aa.bb.cc.dd'  # 新增加内容
)

安全及设置警告

解决PHP内存限制低于建议值512MB。

找到PHP.INI文件位置修改。

root@bogon:/etc/php/7.3/apache2# vi php.ini

把memory_limit = 128M 改成512M,保存退出
再重启apache2服务

systemctl restart  apache2

有个参数:

目录位置里面有参数:
/etc/apache2/apache2.conf
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>
注:后来我把这个配置文件中所有的AllowOverride None 改成了AllowOverride ALL 。
查找命令,/ 表示根目录,查找所有目录,可替换为指定目录。
sudo find / -name 'php.ini'
解决 PHP configuration option output_buffering must be disabled

修改位置:

vi /etc/php/7.3/cli/php.ini
vi /etc/php/7.3/apache2/php.ini
systemctl restart apache2 #重启服务

output_buffering=4096 前面加分号,注释掉。
我改的是2个文件,改第二个文件的时候报错才消失。

内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档。

修改了/var/www/html/config/config.php (最后增加一行)导致无法打开网站,估计是没有安装apcu拓展。

'memcache.local' => '\OC\Memcache\APCu',
Nextcloud 性能优化-后台任务

过了几天发现“后台任务”提示有东西。可看文档推荐用cron。
看不明白文档,查BAIDU。
ssh连接服务器,用root登录

su  #切换 root
crontab -e -u www-data  # 使用apache2的www-data用户建立定时任务
*/15 * * * * php -f /var/www/html/cron.php   #添加一条任务,每15分钟执行一次后台任务,目录要是自己的真实目录。保存后退出。我也不明白4个*的意思。
sudo -u www-data php -f /var/www/html/cron.php  #执行一下,看看有没有错误。
service cron restart # 重启cron服务,使其生效。
数据库丢失了一些索引。

在数据表 “oc_cards” 中无法找到索引 “cards_abiduri”。

sudo -u www-data php occ db:add-missing-indices
内存缓存未配置

查了好多资料还是按NEXTCLOUD的20版本说明操作才成功了。
在 Red Hat/CentOS/Fedora 上安装:php-pecl-apcu.
在 Debian/Ubuntu/Mint 上安装 php-apcu.

apt install php-apcu

然后修改nextcloud目录下的config.php文件
把注释的内容去掉,使其生效

'memcache.local' => '\OC\Memcache\APCu',
你的网页服务器未正确设置以解析“/.well-known/caldav”

先修改:AllowOverride ALL 参数,前面说过我已经修改了。
文件位置: /etc/apache2/apache2.conf
开启rewrite,并重启apache2服务。

sudo a2enmod rewrite
systemctl restart apache2  # 我的debian10会提示执行该命令重启
该实例缺失了一些推荐的 PHP 模块。为提高性能和兼容性,我们强烈建议安装它们。****
apt update  # 这个文章断断续续写了好久,先更新下。
apt upgrade -y
apt install php-intl php-imagick php-bcmath php-gmp  
systemctl restart apache2

安装完后重启,看网上的 php72.-fpm restart 这儿不管用,没有fpm啊。通过度娘才知道:
没有php进程说明是通过动态链接库解析的php,就是libphp.so,在apache配置文件里能找到相关的配置,
修改php配置后重启apache就能使php配置生效,使用php-fpm的话需要重新编译php,
在configure的时候加上–enable-fpm参数,并且需要重新配置apache,参考从apache mod_php到php-fpm

最到这一步,就只剩下:https的问题了。因为是同网固定IP访问,还没有想好怎么弄它。
再另记一篇吧。这个文章太长了。

升级nextcloud

建议通过命令行进行升级
1、进入nextcloud的目录,执行如下命令

cd /var/www/html   # 我的目录是这个位置
sudo -u www-data php updater/updater.phar  #我的用户名 
sudo -u www-data php occ maintenance:mode --off  #关闭维护模式

参考:
https://blog.csdn.net/qq_38461724/article/details/107178564
https://blog.csdn.net/unmobile/article/details/100148070
https://zhidao.baidu.com/question/369927030189308004.html
http://www.youceba.com/136/
https://www.cnblogs.com/liujizhou/p/13179821.html
https://blog.csdn.net/qq_36735409/article/details/78032144
https://blog.csdn.net/g313105910/article/details/106381380
https://blog.csdn.net/xinew4712/article/details/106138941/ (改成HTTPS访问)
https://blog.csdn.net/gui66497/article/details/79289047?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-2&spm=1001.2101.3001.4242 (IP地址开启https)
https://www.himstudy.net/nextcloud%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96-%E5%90%8E%E5%8F%B0%E4%BB%BB%E5%8A%A1cron/ (后台任务cron)
https://zimohan.com/it/ncwarning.html (消除NextCloud后台的警告信息)
https://www.orgleaf.com/2203.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值