步骤 1 - 在 CentOS 7 中安装 Nginx 和 PHP7-FPM
在开始安装 Nginx 和 php7-fpm 之前,我们还学要先添加 EPEL 包的仓库源。使用如下命令:
yum-y install Nginx然后我们还需要为 php7-fpm 添加另外一个仓库。互联网中有很个远程仓库提供了 PHP 7 系列包,我在这里使用的是 webtatic。
rpm-Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm然后就是安装 PHP7-FPM 以及 Nextcloud 需要的一些包。
yum-y install PHP70w-fpm PHP70w-cli PHP70w-gd PHP70w-mcrypt PHP70w-MysqL PHP70w-pear PHP70w-xml PHP70w-mbstring PHP70w-pdo PHP70w-json PHP70w-pecl-apcu PHP70w-pecl-apcu-devel最后,从服务器终端里查看 PHP 的版本号,以便验证 PHP 是否正确安装。
php-v步骤 2 - 配置 PHP7-FPM
在这一个步骤中,我们将配置 php-fpm 与 Nginx 协同运行。Php7-fpm 将使用
nginx
用户来运行,并监听9000
端口。vim/etc/PHP-fpm.d/www.conf在第 8 行和第 10行,
user
和group
赋值为nginx
。user=nginx
group=nginx
listen=127.0.0.1:9000取消第 366-370 行的注释,启用 php-fpm 的系统环境变量。
env[HOSTNAME]=$HOSTNAME
env[PATH]=/usr/local/bin:/usr/bin:/bin
env[TMP]=/tmp
env[TMPDIR]=/tmp
env[TEMP]=/tmp
下一步,就是在/var/lib/
目录下创建一个新的文件夹session
,并将其拥有者变更为nginx
用户。
mkdir-p/var/lib/PHP/session
chownNginx:Nginx-R/var/lib/PHP/session/
然后启动 php-fpm 和 Nginx,并且将它们设置为随开机启动的服务。
sudosystemctlstart PHP-fpm
systemctlstart Nginx
systemctlenable PHP-fpm
systemctlenable Nginx
步骤 3 - 安装和配置 MariaDB
我这里使用 MariaDB 作为 Nextcloud 的数据库。可以直接使用yum
命令从 CentOS 默认远程仓库中安装mariadb-server
包。
yum-y install mariadb mariadb-server
systemctlstart mariadb
systemctlenable mariadb
mysql_secure_installationSetroot password?[Y/n]Y
Newpassword:
Re-enternewpassword:
Removeanonymoususers?[Y/n]Y
Disallowrootloginremotely?[Y/n]Y
Removetestdatabaseandaccess to it?[Y/n]Y
Reloadprivilege tables now?[Y/n]Y
mysql-u root-p输入 MariaDB 的 root 密码,即可登录 mysql shell。
create database nextcloud_db;
create user nextclouduser@localhost identified by'nextclouduser@';
grant all privileges on nextcloud_db.*to nextclouduser@localhost identified by'nextclouduser@';
flush privileges;
nextcloud_db
数据库和nextclouduser
数据库用户创建完成
步骤 4 - 为 Nextcloud 生成一个自签名 SSL 证书
mkdir-p/etc/Nginx/cert/openssl req-new-x509-days365-nodes-out/etc/nginx/cert/nextcloud.crt-keyout/etc/nginx/cert/nextcloud.keychmod700/etc/Nginx/cert
600/etc/Nginx/cert/*
步骤 5 - 下载和安装 Nextcloud
我直接使用wget
命令下载 Nextcloud 到服务器上,因此需要先行安装wget
。此外,还需要安装unzip
来进行解压。使用yum
命令来安装这两个程序。
yum-y installwgetunzip先进入
/tmp
目录,然后使用wget
从官网下载最新的 Nextcloud 10。cd/tmp
wgethttps://download.nextcloud.com/server/releases/nextcloud-10.0.2.zip
解压 Nextcloud,并将其移动到/usr/share/nginx/html/
目录。
unzip nextcloud-10.0.2.zip
mvnextcloud/ /usr/share/Nginx/html/
下一步,转到 Nginx 的 web 根目录为 Nextcloud 创建一个data
文件夹。
cd/usr/share/Nginx/html/
mkdir-p nextcloud/data/
chownNginx:Nginx-R nextcloud/步骤 6 - 在 Nginx 中为 Nextcloud 配置虚拟主机