如何在_CentOS_7_中使用_Nginx_和_PHP7-FPM_安装_Nextcloud
2017-06-08 00:00
627 查看
摘要:Nextcloud是一款自由(开源)的类Dropbox软件,由ownCloud分支演化形成。它使用PHP和JavaScript编写,支持多种数据库系统,比如MySQL/MariaDB、PostgreSQL、Oracle数据库和SQLite。
Nextcloud是一款自由(开源)的类Dropbox软件,由ownCloud分支演化形成。它使用PHP和JavaScript编写,支持多种数据库系统,比如MySQL/MariaDB、PostgreSQL、Oracle数据库和SQLite。它可以使你的桌面系统和云服务器中的文件保持同步,Nextcloud为Windows、Linux、Mac、安卓以及苹果手机都提供了客户端支持。Nextcloud并非只是Dropbox的克隆,它还提供了很多附加特性,如日历、联系人、计划任务以及流媒体Ampache。
在这篇文章中,我将向你展示如何在CentOS7服务器中安装和配置最新版本的Nextcloud10。我会通过Nginx和PHP7-FPM来运行Nextcloud,同时使用MariaDB做为数据库系统。
先决条件
64位的CentOS7
服务器的Root权限
yum-yinstallepel-release
现在开始从EPEL仓库来安装Nginx:
yum-yinstallnginx
然后我们还需要为php7-fpm添加另外一个仓库。互联网中有很个远程仓库提供了PHP7系列包,我在这里使用的是webtatic。
添加PHP7-FPMwebtatic仓库:
rpm-Uvh'target='_blank'>https://mirror.webtatic.com/yum/el7/webtatic-release.rpm[/code]
然后就是安装PHP7-FPM以及Nextcloud需要的一些包。
yum-yinstallphp70w-fpmphp70w-cliphp70w-gdphp70w-mcryptphp70w-mysqlphp70w-pearphp70w-xmlphp70w-mbstringphp70w-pdophp70w-jsonphp70w-pecl-apcuphp70w-pecl-apcu-devel
最后,从服务器终端里查看PHP的版本号,以便验证PHP是否正确安装。
php-v
查看PHP版本号
nginx用户来运行,并监听9000端口。
使用vim编辑默认的php7-fpm配置文件。
vim/etc/php-fpm.d/www.conf
在第8行和第10行,user和group赋值为nginx。
user=nginx
group=nginx
在第22行,确保php-fpm运行在指定端口。
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
保存文件并退出vim编辑器。
下一步,就是在/var/lib/目录下创建一个新的文件夹session,并将其拥有者变更为nginx用户。
mkdir-p/var/lib/php/session
chownnginx:nginx-R/var/lib/php/session/
然后启动php-fpm和Nginx,并且将它们设置为随开机启动的服务。
sudosystemctlstartphp-fpm
sudosystemctlstartnginx
sudosystemctlenablephp-fpm
sudosystemctlenablenginx
启动php-fpm和Nginx
PHP7-FPM配置完成
yum命令从CentOS默认远程仓库中安装mariadb-server包。
yum-yinstallmariadbmariadb-server
启动MariaDB,并将其添加到随系统启动的服务中去。
systemctlstartmariadb
systemctlenablemariadb
现在开始配置MariaDB的root用户密码。
mysql_secure_installation
键入Y,然后设置MariaDB的root密码。
Setrootpassword?[Y/n]Y
Newpassword:
Re-enternewpassword:
Removeanonymoususers?[Y/n]Y
Disallowrootloginremotely?[Y/n]Y
Removetestdatabaseandaccesstoit?[Y/n]Y
Reloadprivilegetablesnow?[Y/n]Y
这样就设置好了密码,现在登录到mysqlshell并为Nextcloud创建一个新的数据库和用户。这里我创建名为nextcloud_db的数据库以及名为nextclouduser的用户,用户密码为nextclouduser@。当然了,要给你自己的系统选用一个更安全的密码。
mysql-uroot-p
输入MariaDB的root密码,即可登录mysqlshell。
输入以下mysql查询语句来创建新的数据库和用户。
createdatabasenextcloud_db;
createusernextclouduser@localhostidentifiedby'nextclouduser@';
grantallprivilegesonnextcloud_db.*to nextclouduser@localhostidentifiedby'nextclouduser@';
flushprivileges;
为Nextcloud创建一个新的数据库和用户
nextcloud_db数据库和nextclouduser数据库用户创建完成
为SSL文件创建新目录:
mkdir-p/etc/nginx/cert/
如下,使用openssl生成一个新的SSL证书。
opensslreq-new-x509-days365-nodes-out/etc/nginx/cert/nextcloud.crt-keyout/etc/nginx/cert/nextcloud.key
最后使用chmod命令将所有证书文件的权限设置为600。
chmod700/etc/nginx/cert
chmod600/etc/nginx/cert/*
为Nextcloud生成一个自签名SSL证书
wget命令下载Nextcloud到服务器上,因此需要先行安装wget。此外,还需要安装unzip来进行解压。使用yum命令来安装这两个程序。
yum-yinstallwgetunzip
先进入/tmp目录,然后使用wget从官网下载最新的Nextcloud10。
cd/tmp
wget'target='_blank'>https://download.nextcloud.com/server/releases/nextcloud-10.0.2.zip[/code]
解压Nextcloud,并将其移动到/usr/share/nginx/html/目录。
unzipnextcloud-10.0.2.zip
mvnextcloud//usr/share/nginx/html/
下一步,转到Nginx的web根目录为Nextcloud创建一个data文件夹。
cd/usr/share/nginx/html/
mkdir-pnextcloud/data/
变更nextcloud目录的拥有者为nginx用户和组。
chownnginx:nginx-Rnextcloud/
conf.d目录下创建一个新的虚拟主机配置文件nextcloud.conf。
Nextcloud是一款自由(开源)的类Dropbox软件,由ownCloud分支演化形成。它使用PHP和JavaScript编写,支持多种数据库系统,比如MySQL/MariaDB、PostgreSQL、Oracle数据库和SQLite。它可以使你的桌面系统和云服务器中的文件保持同步,Nextcloud为Windows、Linux、Mac、安卓以及苹果手机都提供了客户端支持。Nextcloud并非只是Dropbox的克隆,它还提供了很多附加特性,如日历、联系人、计划任务以及流媒体Ampache。
在这篇文章中,我将向你展示如何在CentOS7服务器中安装和配置最新版本的Nextcloud10。我会通过Nginx和PHP7-FPM来运行Nextcloud,同时使用MariaDB做为数据库系统。
先决条件
64位的CentOS7
服务器的Root权限
步骤1-在CentOS7中安装Nginx和PHP7-FPM
在开始安装Nginx和php7-fpm之前,我们还学要先添加EPEL包的仓库源。使用如下命令:现在开始从EPEL仓库来安装Nginx:
然后我们还需要为php7-fpm添加另外一个仓库。互联网中有很个远程仓库提供了PHP7系列包,我在这里使用的是webtatic。
添加PHP7-FPMwebtatic仓库:
然后就是安装PHP7-FPM以及Nextcloud需要的一些包。
最后,从服务器终端里查看PHP的版本号,以便验证PHP是否正确安装。
查看PHP版本号
步骤2-配置PHP7-FPM
在这一个步骤中,我们将配置php-fpm与Nginx协同运行。Php7-fpm将使用使用vim编辑默认的php7-fpm配置文件。
在第8行和第10行,
在第22行,确保php-fpm运行在指定端口。
取消第366-370行的注释,启用php-fpm的系统环境变量。
保存文件并退出vim编辑器。
下一步,就是在
然后启动php-fpm和Nginx,并且将它们设置为随开机启动的服务。
启动php-fpm和Nginx
PHP7-FPM配置完成
步骤3-安装和配置MariaDB
我这里使用MariaDB作为Nextcloud的数据库。可以直接使用启动MariaDB,并将其添加到随系统启动的服务中去。
现在开始配置MariaDB的root用户密码。
键入
这样就设置好了密码,现在登录到mysqlshell并为Nextcloud创建一个新的数据库和用户。这里我创建名为
输入MariaDB的root密码,即可登录mysqlshell。
输入以下mysql查询语句来创建新的数据库和用户。
为Nextcloud创建一个新的数据库和用户
步骤4-为Nextcloud生成一个自签名SSL证书
在教程中,我会让客户端以https连接来运行Nextcloud。你可以使用诸如let'sencrypt等免费SSL证书,或者是自己创建自签名(selfsigned)SSL证书。这里我使用OpenSSL来创建自己的自签名SSL证书。为SSL文件创建新目录:
如下,使用
最后使用
为Nextcloud生成一个自签名SSL证书
步骤5-下载和安装Nextcloud
我直接使用先进入
解压Nextcloud,并将其移动到
下一步,转到Nginx的web根目录为Nextcloud创建一个
变更
步骤6-在Nginx中为Nextcloud配置虚拟主机
在步骤5我们已经下载好了Nextcloud源码,并配置好了让它运行于Nginx服务器中,但我们还需要为它配置一个虚拟主机。在Nginx的相关文章推荐
- 如何在_CentOS_7_中使用_Nginx_和_PHP7-FPM_安装_Nextcloud
- 如何在_CentOS_7_中使用_Nginx_和_PHP7-FPM_安装_Nextcloud
- 如何在_CentOS_7_中使用_Nginx_和_PHP7-FPM_安装_Nextcloud
- 如何在_CentOS_7_中使用_Nginx_和_PHP7-FPM_安装_Nextcloud
- 如何在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud
- 如何在_CentOS_7_中使用_Nginx_和_PHP7-FPM_安装_Nextcloud
- 在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud
- 在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud
- 详解如何在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud
- 在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud
- 在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安装 Nextcloud
- 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM
- 如何在CentOS 6使用yum安装nginx
- CentOS使用YUM安装php运行环境,包含php,php-fpm,nginx,mysql
- Centos 7 手把手教你使用YUM方式安装并配置Nginx+php7-fpm+MySQL(古月)
- centos 使用yum安装nginx后如何添加模块
- 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM
- 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM
- 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM
- 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM