背景
最近上新版官网,采用了wordpress,安装了WPJAM 插件,并且修改了很多页面,在本地所有的玩意儿都调整好之后,准备上线到服务器,结果被坑了一下午。
各种问题各种坑
首先版本问题,这个是最坑的,强调一下,因为WPJAM插件越来越多的人使用,所以限定了php环境的版本要求。
php : >=7.2 (重中之重,看其他文章讲解都是直接一上来就 yum install php ,装了5.x,后来导致了一系列问题)
php-mysql : 跟着php版本走, 很多都是因为直接默认装了5.x , 后边发现版本不对,要升级7.2,各种冲突,头都大了。
大家还遇到什么坑,可以评论中提给我,我统一汇总一下,免得坑后来人啊,哈哈
正确姿势
0、安装apache
这里一般都是没有什么问题的,照着大家的教程就行了
#yum install httpd
安装完也可以先别启动,等配置都完成后 最后启动apache
1、更新yum源
#yum -y update
2、安装epel
#yum -y install epel-release
3、更新rpm源
Centos 5.X版本用这个
#rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpmCentOs
CentOs 6.x版本用这个
#rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOs 7.X版本用这个:
#rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
4、安装php
#yum install php
5、安装php-mysql
#yum install php-mysql
如果遇到 php72w-common conflicts with php-common-5.x.x 这类错误,
都是因为有旧版本的php卸载不干净,这里可以直接用下面这个命令
#yum install php72w-mysql
删除旧版php的方法 (别用 yum remove php ,删了之后执行php -v 还是显示之前的版本号)
rpm -qa|grep php
然后按照结果挨个执行 rpm -e 搜到的结果,如果遇到依赖冲突就换一个删,直到全部删完
6、安装mysql
centos7已经不支持装mysql,默认换成了MariaDB,所以如果是用的MariaDB,需要安装 php-mysqlnd
#yum install php-mysql
(我之前是用的rpm的方式装的mysql,所以没有经历这个步骤)
mysql的安装方式可以参考这个,我很多次配mysql都是照着这个来的
https://blog.csdn.net/shehun1/article/details/38827631
7、上传Wordpress到服务器
上传好之后修改apache的配置,默认是在 /etc/httpd/conf/httpd.conf
搜索 DocumentRoot
修改为你的Wordpress所在路径
DocumentRoot "/usr/sites/homepage_wp"
<Directory />
AllowOverride All
Order allow,deny
Allow from all
</Directory>
并且对应的这个<Directory />也调整一下,避免访问Wordpress的虚拟路径404错误以及以下类似错误
apache Directory index forbidden by Options directive
You don't have permission to access apache
等等之类的,吐血
8、启动apache,开始安装wordpress
启动前检查下mysql的数据库没有建好
另外wordpress根目录下的这个wp-config.php这个文件,要将里面的数据库链接修改为你刚建的数据库信息
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'gin');
/** MySQL数据库用户名 */
define('DB_USER', 'gin');
/** MySQL数据库密码 */
define('DB_PASSWORD', '123123');
/** MySQL主机 */
define('DB_HOST', 'localhost');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8mb4');
接着启动apache
service httpd start
访问apache地址 http://服务器地址:端口
按照地址去安装wordpress即可!
9、让wordpress支持https
如果你的apache直接配证书,是可以自动识别的。
我这里用了nginx反向代理,所以页面里面的静态图片,css全部还在以http去加载,所以页面的样式全无。
解决方法:wp-config.php中加上:
/** 强制ssl */
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);