赞
踩
输入以下命令安装Apache2
sudo apt install apache2 -y
输入以下命令安装PHP7.4
sudo apt install php7.4 -y
输入以下命令安装
sudo apt install mysql-server -y
sudo apt install libapache2-mod-php7.4 php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl -y
sudo apt install php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip -y
2.1、下载nextcloud安装包
2.2、将下载下来的压缩包传到服务器
2.3、安装并配置nextcloud
//安装zip软件 sudo apt install zip //解压安装包 unzip nextcloud-21.0.2.zip // 移动到服务器目录下 sudo mv nextcloud /var/www // 修改权限 sudo chown -R www-data:www-data /var/www/nextcloud //加载 vhost_alias模块 sudo a2enmod vhost_alias //复制配置文件 sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nextcloud.conf //修改配置 <VirtualHost *:80> ServerName www.hibai.com #配置站点的域名 ServerAdmin mrdong916@163.com #邮箱 DocumentRoot /var/www/html/www #站点文件存放路径 ErrorLog ${APACHE_LOG_DIR}/error.log #log日志 CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews <IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost> //启用配置 sudo ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf // 重启apache sudo service apache2 restart
输入服务器ip就可以打开以下界面
这时候,还没有完成安装,还需要给它创建数据库,我们使用phpMyAdmin来管理数据库
2.4、安装并配置phpMyAdmin
1、首先要获取PHPmyadmin的资源包
2、将下载好的压缩包传到服务器
// 解压
unzip phpMyAdmin-*-all-languages.zip
// 重命名
mv phpMyAdmin-*-languages phpMyAdmin
// 移动到服务器目录下
sudo mv phpMyAdmin /var/www
// 修改权限
sudo chown -R www-data:www-data /var/www/phpMyAdmin
// 设置虚拟主机配置文件参考上面
// 重启apache
sudo service apache2 restart
使用下列命令查看数据库默认账号和密码
sudo nano /etc/mysql/debian.cnf
将在上面看到的账号和密码输入下面
创建一个名为nextcloud的账号和数据库并赋予此数据库的所有权限,再创建一个名为admin的管理员账号赋予所有权限
创建账号nextcloud域数据库,由于我已经创建过了所以有这个警告
然后按执行
然后创建admin账号
出来权限不一样其他基本一样
创建的时候在此处打钩
输入数据进行安装
打开概览,查看报错情况
以上报错一条一条解决
修改/etc/php/7.4/apache2/php.ini文件(ubuntu 20.04),其中7.2目录的命令是与当前php版本相符的,例如,php7.4,此目录名应为7.4。
找到memory_limit = 128M,将128M修改是512M,数值按内存情况及需要而定,保存退出。
sudo nano /etc/php/7.4/apache2/php.ini
Ctrl+w找到memory_limit = 128M,将128改为512
编辑 Nextcloud config 目录中的 config.php 文件,在文件最下方, ); 前添加如下代码。
'default_phone_region' => 'CN',
连接Ubuntu Server终端,输入“sudo apt install libmagickcore-”,然后双击tab键,会显示以“libmagickcore-”开头的组件列表。
然后继续敲入完整的安装命令,安装“libmagickcore-6.q16-6-extra”组件。
sudo apt install libmagickcore-6.q16-6-extra
安装完毕重启apache2,如果有安装php-fpm,需一并重启,笔者是php7.4-fpm,如下:
service apache2 restart
service php7.4-fpm restart
再次刷新管理后台【概览】页,问题解决。
这是由于Apache2未开启rewrite功能,或者虚拟机目录配置文件中未添加“AllowOverride All”参数,使得Nextcloud无法使用网站根目录下.htaccess文件参数所致。
输入如下命令开启rewrite功能,并重启Apache2服务。
sudo a2enmod rewrite
sudo systemctl restart apache2
打开/etc/apache2/sites-available下对应的虚拟目录配置文件,本例为000-default.conf,查看是否存在 “AllowOverride All” 参数,如下图所示。
开启了https之后,https虚拟主机也需要设置
如果是安装上面教程所写的虚拟主机配置就不需要做以上更改,只需要开启 a2enmod rewrite
退出保存,重启Apache2,刷新概览
使用Apcu和Redis解决
先安装apcu
sudo apt install php7.4-apcu
然后在/var/www/nextcloud/config/config.php添加
'memcache.local' => '\OC\Memcache\APCu',
安装redis
sudo apt install php-redis
sudo apt install redis-server
然后在/var/www/nextcloud/config/config.php添加
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
退出保存,重启Apache2,刷新概览
可以看到报错基本消失
慢慢解决吧
其实这个很好解决,PHP默认是有4096字节缓冲的。但是Nextcloud希望你关闭。如果你是自己安装的PHP,在你安装PHP的路径下,打开PHP配置文件(php.ini),将要
sudo nano /etc/php/7.4/apache2/php.ini
//ctrl+w找到
output_buffering = 4096
//在前面加;,;为PHP的注释符号,如
; output_buffering = 4096
重启一下Apache和PHP
这个很简单,在nextcloud的虚拟主机的ssl配置文件最后添加以下代码
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
如下图
再修改nextcloud的虚拟主机的l配置文件,添加以下代码
Redirect permanent / https://cloud.nextcloud.com/
//https://你的域名/
Apache启用headers
sudo a2enmod headers
输入
sudo service apache2 restart
重启Apache
sudo cp -r /var/www/nextclou/data /你想移到的路径
然后修改/var/www/nextcloud/config.php文件
改成你的路径,然后重启Apache服务
修改为cron,直接编辑,/etc/crontab
在最后输入以下
*/5 * * * * www-data php -f /nextcloud/cron.php
/nextcloud改为你nextcloud的路径
不过这还不算好,因为 www-data 默认是不能执行 bash 相关操作的。
将/etc/passwd里面 www-data 对应的那一行改下就可以了
//先备份以下passwd文件
sudo cp /etc/passwd /etc/passwd.bak
//然后修改passwd文件
sudo nano /etc/passwd
//将原来的
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
//改为
www-data:x:33:33:www-data:/var/www:/bin/bash
保存退出
重启cron服务
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。