centos 安装wordpress全配置

升级系统



这里有两种方式

# 升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum -y upgrade


# 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
yum -y update




安装EPEL



# 这是centos 7的最新源,如果是其它版本换成对应版本即可
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# 检查是否已添加至源列表
yum repolist


安装Apache



利用yum命令安装Apache

yum -y install httpd


启动httpd并且设置为开机启动

systemctl start httpd.service
systemctl enable httpd.service


安装成功后,可以看到熟悉的测试界面

apache

另外,还需要配置一下防火墙,打开80和443端口
首先安装firewall

yum -y install firewalld firewall-config
systemctl start firewalld.service
systemctl enable firewalld.service


配置防火墙

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload


另外,如果对新的firewall配置不熟悉,或者想要使用原来的iptables也是可以的,利用一下命令便可以继续使用iptables service

systemctl stop firewalld
systemctl disable firewalld

iptables-service

touch /etc/sysconfig/iptables
systemctl start iptables
systemctl enable iptables

touch /etc/sysconfig/ip6tables
systemctl start ip6tables
systemctl enable ip6table


安装PHP



首先安装PHP及常用组件

yum -y install php


查看所有组件

yum search php


选择所需组件进行安装

yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel


完成后我们可以新建一个PHP页面查看安装的组件

vi /var/www/html/info.php


编辑为以下内容

<?php
phpinfo();
?>


重启httpd服务

systemctl restart httpd.service


打开网址 http://x.x.x.x/info.php 进行查看(x.x.x.x为vps的ip地址)

cloudflare SSL证书设置



上传证书文件Origin CertificatePrivate key到vps

# 安装ssl模块
yum -y install mod_ssl
# 备份,记得备份文件
cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak

vi /etc/httpd/conf.d/ssl.conf


在< VirtualHost >这里设置证书路径

<VirtualHost _default_:443>
DocumentRoot /var/www/html2
ServerName www.yourdomain.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
</VirtualHost>


注意:所有属性都存在文件中,只需要删掉注释或者更改值即可


  • SLCertificateFileOriginCA certificate.


  • SSLCertificateKeyFileOriginCA private key.




测试文件是否有问题,这里只能测试语法格式问题,但内容问题不能测试出来

apachectl configtest


重启服务器

systemctl restart httpd.service


注意事项:


如果使用CDN加速,先关掉CDN之后再测试通过之后再开启CDN加速。
而CDN加速默认是没有SSL的,记得开启SSL。


cloudflare Crypto设置



SSL




  • Off: 禁用SSL,全部为http。说明:这里是指Cloudflare不在中间加证书,导致浏览器显示cloudflare证书,但如果你的服务器本身就有证书,这里是可以显示证书的,前提是你不用cloudflare的CDN(即使是ipv6用CDN,ipv4不用CDN,而使用ipv4方式访问网站,会导致网站直接从https直接跳转到http,这个跳转会导致在设置http 301 重定向的时候出现循环跳转,最终无法打开网页)

  • Flexible: 服务器上不需要配置证书,甚至是一个无效证书。有可能导致重定向过多的问题(原因在于访问服务器的时候是通过http方式访问的,如果服务器设置重定向,就会导致问题,显示为"The page isn’t redirecting properly" or "ERR_TOO_MANY_REDIRECTS".解决办法)服务器需要同时支持http和https访问。

  • Full: 服务器上需要有证书,但不会验证证书的有效性。直接通过https方式访问服务器。理论上应该heroku.com和github.com上的网站应该是没有问题的,但不知道是为什么,heroku.com上的网站失败,github.com上的网站成功。

  • Full(Strict): 服务器上要有证书,而且会验证证书的有效性。直接通过https方式访问服务器。




综上,有三种网站配置方案

Flexible



wordpress支持http和https同时访问,网站的配置采用默认的http配置,而不是https,heroku.com和github.com网站全部正常。

Full



wordpress只需要支持https,证书可以自签或者过期等,可以不支持http,heroku.com网站打不开,github.com网站可以打开

Full(Strict)



wordpress只需要支持https,证书需要验证正确。

安装WordPress



下载WordPress

yum -y install wget unzip net-tools
wget http://wordpress.org/latest.zip


解压文件,并且将其复制到/var/www/html目录下

unzip -q latest.zip
cp -rf wordpress/* /var/www/html/


修改文件夹权限

chown -R apache:apache /var/www/html/
chmod -R 755 /var/www/html/
mkdir -p /var/www/html/wp-content/uploads
chown -R apache:apache /var/www/html/wp-content/uploads


编辑配置文件

cd /var/www/html
cp wp-config-sample.php wp-config.php
vi wp-config.php


将其修改为以下格式

[…]

// * MySQL settings - You can get this info from your web host * //
/* The name of the database for WordPress /
define(‘DB_NAME’, ‘wordpressdb’);

/* MySQL database username /
define(‘DB_USER’, ‘wordpressuser’);

/* MySQL database password /
define(‘DB_PASSWORD’, ‘123456’);

[…]


保存后退出,重启相关服务

systemctl restart httpd.service


WordPress的个人设置



完成以上配置后,便可以登陆http://yourserverip/来访问你的博客了。
登陆界面如下

wordpress first login

wordpress 详细配置

provisional headers are shown



这个错误提示是在网页调试窗口看到的错误提醒

主要是CSS中的跨站脚本导致浏览器提醒,在浏览器地址栏关闭拦截即可。这是安全性问题。

想要彻底避免浏览器提示,chrome可以安装插件

评论

此博客中的热门博文

certbot cloudflare申请通用域名证书

Centos7 安装 PHP7

在centos 7上用postfix,dovecot,mariaDB配置邮箱