最近把WordPress博客转到hexo来,并且用的是nginx和centos,而之前的nextcloud搭建在Apache上,所以在把nextcloud搬过来的时候还是遇到了一些麻烦,这里特意记录一下。
该文章与我个人博客网站同步更新

环境和需要安装的

centos7
nginx
PHP7.2
nextcloud
mariadb
以及PHP的一些模块

安装nginx和php-fpm

添加EPEL源然后安装nginx:

yum install epel-release
yum install nginx

安装php-fpm和nextcloud的一些依赖:

$ rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
$ yum install -y epel-release yum-utils unzip curl wget bash-completion policycoreutils-python mlocate bzip2
$ yum install php72w-fpm php72w-pecl-apcu-devel php72w-json php72w-pecl-apcu php72w-gd php72w-mcrypt php72w-cli    php72w-pear php72w-xml php72w-mbstring php72w-pdo php72w php72w-cli php72w-common php72w-curl php72w-gd \
php72w-mbstring php72w-mysqlnd php72w-process php72w-xml php72w-zip \
php72w-opcache php72w-pecl-apcu php72w-intl php72w-pecl-redis php72w-pecl-imagick

检查一下php是否安装成功和查看版本:

php -v

配置php-fpm

编辑

/etc/php-fpm.d/www.conf

找到user和group这两行,修改为如下:

user = nginx
group = nginx

再找到下面这行,并确认为如下:

listen = 127.0.0.1:9000

然后再取消下面几行的注释,去掉前面的;即可:

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

保存并推出
创建一个新的目录并将权限给nginx:

# mkdir -p /var/lib/php/session
# chown nginx:nginx -R /var/lib/php/session/

开启nginx服务和php-fpm

# systemctl start php-fpm
# systemctl start nginx
# systemctl enable php-fpm
# systemctl enable nginx

安装和配置mariadb

安装mariadb:

# yum -y install mariadb-server mariadb
# systemctl start mariadb
# systemctl enable mariadb

然后运行

# mysql_secure_installation

默认密码为空,所以先直接回车会有如下结果:

Set root password? [Y/n]                //是否设root密码
New password:               //新密码
Re-enter new password:      //确认密码
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]     //是否禁止root远程登录
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]

以上几个选择根据自己需要选择。配置完密码后,执行下面的进入mariadb:

# mysql -u root -p

依次执行下面的:

mysql> CREATE DATABASE my_nextclouddb;
mysql> CREATE USER ncuser@localhost IDENTIFIED BY 'ncuser@';
mysql> GRANT ALL PRIVILEGES ON my_nextclouddb.* TO ncuser@localhost IDENTIFIED BY 'ncuser@';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

其中my_nextclouddb为新建的数据库名,ncuser为新建的数据库名,ncuser@为新建用户名密码,根据自己的需要更改。

ssl证书

由于nextcloud访问默认使用https,所以未配置ssl证书时,使用chrome等浏览器会出现无法打开的情况,配置ssl证书可以在安装完nextcloud后在用Let’s encript 来安装,具体配置可以参考我的另一篇在centos上用Let’s enctipt 加密nginx环境

安装nextcloud

到nextcloud官网下载好压缩包,解压得到nextcloud文件夹,将文件夹放到/usr/share/nginx/html/下
执行:

# mkdir -p /usr/share/nginx/html/nextcloud/data/
# chown nginx:nginx -R /usr/share/nginx/html/nextcloud

新建一个nginx的配置文件,用来指向nextcloud:

vim /etc/nginx/conf.d/nextcloud.conf

添加以下内容:

upstream php-handler {server 127.0.0.1:9000;#server unix:/var/run/php5-fpm.sock;
}server {listen 80;server_name storage.mydomain.com;# enforce httpsreturn 301 https://$server_name$request_uri;
}server {listen 443 ssl;server_name storage.mydomain.com;#ssl_certificate /etc/nginx/cert/nextcloud.crt;#ssl_certificate_key /etc/nginx/cert/nextcloud.key;# Add headers to serve security related headers# Before enabling Strict-Transport-Security headers please read into this# topic first.add_header Strict-Transport-Security "max-age=15768000;includeSubDomains; preload;";add_header X-Content-Type-Options nosniff;add_header X-Frame-Options "SAMEORIGIN";add_header X-XSS-Protection "1; mode=block";add_header X-Robots-Tag none;add_header X-Download-Options noopen;add_header X-Permitted-Cross-Domain-Policies none;# Path to the root of your installationroot /usr/share/nginx/html/nextcloud/;location = /robots.txt {allow all;log_not_found off;access_log off;}# The following 2 rules are only needed for the user_webfinger app.# Uncomment it if you're planning to use this app.#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json# last;location = /.well-known/carddav {return 301 $scheme://$host/remote.php/dav;}location = /.well-known/caldav {return 301 $scheme://$host/remote.php/dav;}# set max upload sizeclient_max_body_size 512M;fastcgi_buffers 64 4K;# Disable gzip to avoid the removal of the ETag headergzip off;# Uncomment if your server is build with the ngx_pagespeed module# This module is currently not supported.#pagespeed off;error_page 403 /core/templates/403.php;error_page 404 /core/templates/404.php;location / {rewrite ^ /index.php$uri;}location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {deny all;}location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {deny all;}location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {include fastcgi_params;fastcgi_split_path_info ^(.+\.php)(/.*)$;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param HTTPS on;#Avoid sending the security headers twicefastcgi_param modHeadersAvailable true;fastcgi_param front_controller_active true;fastcgi_pass php-handler;fastcgi_intercept_errors on;fastcgi_request_buffering off;}location ~ ^/(?:updater|ocs-provider)(?:$|/) {try_files $uri/ =404;index index.php;}# Adding the cache control header for js and css files# Make sure it is BELOW the PHP blocklocation ~* \.(?:css|js)$ {try_files $uri /index.php$uri$is_args$args;add_header Cache-Control "public, max-age=7200";# Add headers to serve security related headers (It is intended to# have those duplicated to the ones above)# Before enabling Strict-Transport-Security headers please read into# this topic first.add_header Strict-Transport-Security "max-age=15768000;includeSubDomains; preload;";add_header X-Content-Type-Options nosniff;add_header X-Frame-Options "SAMEORIGIN";add_header X-XSS-Protection "1; mode=block";add_header X-Robots-Tag none;add_header X-Download-Options noopen;add_header X-Permitted-Cross-Domain-Policies none;# Optional: Don't log access to assetsaccess_log off;}location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {try_files $uri /index.php$uri$is_args$args;# Optional: Don't log access to other assetsaccess_log off;}
}

再重启nginx:

systemctl restart nginx

然后再去配置ssl证书即可完成nextcloud的安装。

centos7上用nginx安装nextcloud(PHP72)相关推荐

  1. centos7php自启动,centos7系统下nginx安装并配置开机自启动操作

    这篇文章主要介绍了centos7系统下nginx安装并配置开机自启动操作方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 这篇文章主要介绍了centos7系统下nginx安装并配置开机自启动操作 ...

  2. 在Ubuntu 18.04上使用Nginx安装WordPress

    WordPress is one of the most popular and open source content management system (CMS) with a whopping ...

  3. 在CentOS7上源码安装MongoDB 3.2.7

    转载http://www.jianshu.com/p/132c9b2766e0 在CentOS7上源码安装MongoDB 3.2.7 字数1780 阅读100 评论0 喜欢0 环境准备 [root@s ...

  4. 实战:centos7上containerd的安装-20211023

    目录 文章目录 目录 实验环境 实验软件 1.安装libseccomp依赖包 2.下载containerd软件包并解压 3.生成containerd 的默认配置文件config.toml 4.启动co ...

  5. 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin安装过程全记录

    在CentOS7上通过RPM安装实现LAMP+phpMyAdmin安装过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.s ...

  6. 全新CentOS7上GateOne的安装

    全新CentOS7上GateOne的安装 最近在研究WebSSH2这类工具,目前的需求是在web应用中嵌入ssh终端,找到了GateOne,GateOne 是一款使用 HTML5 技术编写的网页版 S ...

  7. linux docker nginx,CentOS7上Docker简单安装及nginx部署

    安装 如果原来安装过docker,先把原来的删掉,再安装(如果是首次安装docker忽略第一步,直接在第二步看起) 1.1先查看下已经安装了那些docker yum list installed | ...

  8. Centos7.x下Nginx安装及SSL配置与常用命令

    一.安装 采用yum方式安装 ##自动安装 yum nginx ##启动 nginx 二.SSL及默认端口配置 泛解析配置 server {listen 443;server_name *.banac ...

  9. Centos7上卸载openJdk安装,安装自己的JDK1.8

    1.下载jdk-1.8,官网下载1.8 注意:不要使用wget命令去下载jdk,若能够下载下来,解压的时候也会报错的: 2.卸载openjdk (1)使用  rpm -qa | grep java  ...

最新文章

  1. ny520 最大素因子 筛选法求素数
  2. 应用矩阵分析1 子空间分析1 线性子空间基础
  3. Linux学习之系统编程篇:信号量(sem_init / wait / trywait / post / destroy)
  4. Linux基础命令---ab测试apache性能
  5. log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL)
  6. 如果你想靠写作变现,一定要看看下面这3点
  7. Keras深度学习实战(3)——神经网络性能优化技术详解
  8. YOLOv5永不缺席 | YOLO-Pose带来实时性高且易部署的姿态估计模型!!!
  9. c语言get获取数组参数,C语言访问数组元素
  10. CJT长江连接器A2005系列线对板连接器排针排母PCB封装库
  11. 条件概率公式、全概率公式以及贝叶斯公式
  12. 歌尔首次闪耀CES Asia,展示全面创新力量
  13. C++一周学习总结(2021/05/03)
  14. excel 棒球数据游戏_使用librosa的棒球应用的音频发作检测数据准备
  15. 如何在虚拟一个USB设备
  16. form的onsubmit验证
  17. 3.8 使用切片工具制作网页 [Ps教程]
  18. 3.7 使用极坐标网格工具制作雷达扫描效果 [Illustrator CC教程]
  19. 使用XMAPP搭建一个简单的服务器
  20. Wrong namespace. Expected ‘com.baizhi.mapper.UserMapper‘ but found ‘com.com.baizhi.mapper.UserMappe

热门文章

  1. 新福华无纺布周利民之江南雨
  2. MTK面试应该知道的N个问题 .
  3. 每天写代码每天调试的他坚持了二十年,出版了软件调试大全
  4. 智觉模具监视器,好用的模具监视器
  5. 苹果iPhone11回收什么时候最保值
  6. 文件操作(C语言) -- 判断一个文件是否存在
  7. 双十一京东图书购物清单,动动脑子节省300元
  8. 广州楼市:2021下半年,到底要不要尽快买房?
  9. FANUC机器人DCS相关报警及处理对策
  10. 在 Anki 中直接进行网页搜索