yum-yinstallphp70w-fpmphp70w-cliphp70w-gdphp70w-mcryptphp70w-mysqlphp70w-pearphp70w-xmlphp70w-mbstringphp70w-pdophp70w-jsonphp70w-pecl-apcuphp70w-pecl-apcu-devel
从服务器终端里查看php的版本号,以便验证php是否正确安装。
php-v
步骤2-配置php7-fpm
在这一个步骤中,我们将配置php-fpm与nginx协同运行。php7-fpm将使用用户来运行,并监听端口。
使用vim编辑默认的php7-fpm配置文件。
vim/etc/php-fpm.d/www.conf
在第8行和第10行,和赋值为。
group=nginx
在第22行,确保php-fpm运行在指定端口。
listen=127.0.0.1:9000
取消第366-370行的注释,启用php-fpm的系统环境变量。
env[path]=/usr/local/bin:/usr/bin:/bin
env[temp]=/tmp
保存文件并退出vim编辑器。
下一步,就是在目录下创建一个新的文件夹,并将其拥有者变更为用户。
mkdir-p/var/lib/php/session
chownnginx:nginx-r/var/lib/php/session/
然后启动php-fpm和nginx,并且将它们设置为随开机启动的服务。
sudosystemctlstartphp-fpm
sudosystemctlenablephp-fpm
sudosystemctlenablenginx
php7-fpm配置完成
步骤3-安装和配置mariadb
我这里使用mariadb作为nextcloud的数据库。可以直接使用命令从centos默认远程仓库中安装包。
yum-yinstallmariadbmariadb-server
启动mariadb,并将其添加到随系统启动的服务中去。
systemctlenablemariadb
现在开始配置mariadb的root用户密码。
mysql_secure_installation
键入,然后设置mariadb的root密码。
removeanonymoususers?[y/n]y
disallowrootloginremotely?[y/n]y
removetestdatabaseandaccesstoit?[y/n]y
reloadprivilegetablesnow?[y/n]y
这样就设置好了密码,现在登录到mysqlshell并为nextcloud创建一个新的数据库和用户。这里我创建名为的数据库以及名为的用户,用户密码为。当然了,要给你自己的系统选用一个更安全的密码。
mysql-uroot-p
输入mariadb的root密码,即可登录mysqlshell。
输入以下mysql查询语句来创建新的数据库和用户。
createdatabasenextcloud_db;
createusernextclouduser@localhostidentifiedby'nextclouduser@';
grantallprivilegesonnextcloud_db.*tonextclouduser@localhostidentifiedby'nextclouduser@';
flushprivileges;
为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。
chmod600/etc/nginx/cert/*
步骤5-下载和安装nextcloud
我直接使用命令下载nextcloud到服务器上,因此需要先行安装。此外,还需要安装来进行解压。使用命令来安装这两个程序。
yum-yinstallwgetunzip
先进入目录,然后使用从官网下载最新的nextcloud10。
wgethttps://download.nextcloud.com/server/releases/nextcloud-10.0.2.zip
解压nextcloud,并将其移动到目录。
unzipnextcloud-10.0.2.zip
mvnextcloud//usr/share/nginx/html/
下一步,转到nginx的web根目录为nextcloud创建一个文件夹。
mkdir-pnextcloud/data/
变更目录的拥有者为用户和组。
chownnginx:nginx-rnextcloud/
步骤6-在nginx中为nextcloud配置虚拟主机
在步骤5我们已经下载好了nextcloud源码,并配置好了让它运行于nginx服务器中,但我们还需要为它配置一个虚拟主机。在nginx的目录下创建一个新的虚拟主机配置文件。
vimnextcloud.conf
将以下内容粘贴到虚拟主机配置文件中:
#serverunix:/var/run/php5-fpm.sock;
server_namecloud.nextcloud.co;
return301https://$server_name$request_uri;
server_namecloud.nextcloud.co;
ssl_certificate/etc/nginx/cert/nextcloud.crt;
ssl_certificate_key/etc/nginx/cert/nextcloud.key;
#addheaderstoservesecurityrelatedheaders
#beforeenablingstrict-transport-securityheaderspleasereadintothis
add_headerstrict-transport-security"max-age=15768000;

add_headerx-content-type-optionsnosniff;
add_headerx-frame-options"sameorigin";
add_headerx-xss-protection"1;mode=block";
add_headerx-robots-tagnone;
add_headerx-download-optionsnoopen;
add_headerx-permitted-cross-domain-policiesnone;
#pathtotherootofyourinstallation
root/usr/share/nginx/html/nextcloud/;
#thefollowing2rulesareonlyneededfortheuser_webfingerapp.
#uncommentitifyou'replanningtousethisapp.
#rewrite^/.well-known/host-meta/public.php?service=host-metalast;
#rewrite^/.well-known/host-meta.json/public.php?service=host-meta-json
location=/.well-known/carddav{
return301$scheme://$host/remote.php/dav;
location=/.well-known/caldav{
return301$scheme://$host/remote.php/dav;
client_max_body_size512m;
#disablegziptoavoidtheremovaloftheetagheader
#uncommentifyourserverisbuildwiththengx_pagespeedmodule
#thismoduleiscurrentlynotsupported.
error_page403/core/templates/403.php;
error_page404/core/templates/404.php;
location~^/(?:build|tests|config|lib|3rdparty|templates|data)/{
location~^/(?:\.|autotest|occ|issue|indie|db_|console){
location~^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/){
fastcgi_split_path_info^(.+\.php)(/.*)$;
fastcgi_paramscript_filename$document_root$fastcgi_script_name;
fastcgi_parampath_info$fastcgi_path_info;
#avoidsendingthesecurityheaderstwice
fastcgi_parammodheadersavailabletrue;
fastcgi_paramfront_controller_activetrue;
fastcgi_intercept_errorson;
fastcgi_request_bufferingoff;
location~^/(?:updater|ocs-provider)(?:$|/){
#addingthecachecontrolheaderforjsandcssfiles
#makesureitisbelowthephpblock
try_files$uri/index.php$uri$is_args$args;
add_headercache-control"public,max-age=7200";
#addheaderstoservesecurityrelatedheaders(itisintendedto
#havethoseduplicatedtotheonesabove)
#beforeenablingstrict-transport-securityheaderspleasereadinto
add_headerstrict-transport-security"max-age=15768000;
includesubdomains;preload;";
add_headerx-content-type-optionsnosniff;
add_headerx-frame-options"sameorigin";
add_headerx-xss-protection"1;mode=block";
add_headerx-robots-tagnone;
add_headerx-download-optionsnoopen;
add_headerx-permitted-cross-domain-policiesnone;
#optional:don'tlogaccesstoassets
location~*\.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)${
try_files$uri/index.php$uri$is_args$args;
#optional:don'tlogaccesstootherassets
}
保存文件并退出vim。
下载测试以下该nginx配置文件是否有错误,没有的话就可以重启服务了。
systemctlrestartnginx
步骤7-为nextcloud配置selinux和firewalld规则
本教程中,我们将以强制模式运行selinux,因此需要一个selinux管理工具来为nextcloud配置selinux。
使用以下命令安装selinux管理工具。
yum-yinstallpolicycoreutils-python
然后以root用户来运行以下命令,以便让nextcloud运行于selinux环境之下。如果你是用的其他名称的目录,记得将替换掉。
semanagefcontext-a-thttpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/data(/.*)?'
semanagefcontext-a-thttpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/config(/.*)?'
semanagefcontext-a-thttpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/apps(/.*)?'
semanagefcontext-a-thttpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/assets(/.*)?'
semanagefcontext-a-thttpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/.htaccess'
semanagefcontext-a-thttpd_sys_rw_content_t'/usr/share/nginx/html/nextcloud/.user.ini'
restorecon-rv'/usr/share/nginx/html/nextcloud/'
启动firewalld并设置随系统启动。
systemctlenablefirewalld
firewall-cmd--permanent--add-service=http
firewall-cmd--permanent--add-service=https
firewall-cmd--reload
设置你的管理员用户名和密码,然后输入数据验证信息,点击'完成安装(finishsetup)'。
以上就是怎么在CentOS7中使用Nginx和PHP7-FPM安装Nextcloud的详细内容,更多请关注主机测评网其它相关文章!
本文来源:国外服务器--centos7安装phpmyadmin
本文地址:https://www.idcbaba.com/guowai/4995.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



