阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP WordPress 环境:PHP 7.2 + WordPress

安装 PHP

先移除低版本的 PHP

查看 yum 安装的 PHP

[root@~]# yum list installed | grep "php"
php.x86_64                           5.4.16-45.el7                   @base      
php-cli.x86_64                       5.4.16-45.el7                   @base      
php-common.x86_64                    5.4.16-45.el7                   @base      
php-gd.x86_64                        5.4.16-45.el7                   @base      
php-imap.x86_64                      5.4.16-7.el7                    @epel      
php-ldap.x86_64                      5.4.16-45.el7                   @base      
php-odbc.x86_64                      5.4.16-45.el7                   @base      
php-pdo.x86_64                       5.4.16-45.el7                   @base      
php-pear.noarch                      1:1.9.4-21.el7                  @base      
php-process.x86_64                   5.4.16-45.el7                   @base      
php-xml.x86_64                       5.4.16-45.el7                   @base      
php-xmlrpc.x86_64                    5.4.16-45.el7                   @base 
[root@~]# rpm -qa | grep -i php
php-cli-5.4.16-45.el7.x86_64
php-odbc-5.4.16-45.el7.x86_64
php-5.4.16-45.el7.x86_64
php-process-5.4.16-45.el7.x86_64
php-imap-5.4.16-7.el7.x86_64
php-pdo-5.4.16-45.el7.x86_64
php-gd-5.4.16-45.el7.x86_64
php-xmlrpc-5.4.16-45.el7.x86_64
php-common-5.4.16-45.el7.x86_64
php-xml-5.4.16-45.el7.x86_64
php-pear-1.9.4-21.el7.noarch
php-ldap-5.4.16-45.el7.x86_64

用 yum 删除所有包,用 rpm 会出现依赖问题,用 yum 可以无序删除

[root@~]# sudo yum -y remove php.x86_64 php-cli.x86_64 php-common.x86_64 

直接删除它们三个应该就可以全部删除了, yum 会把依赖的都删掉的。

如果还有没删除的,就单个地删吧

[root@~]# sudo yum -y remove xxx

Step 01

先去 rpm:http://rpms.remirepo.net/enterprise/ 的库里面找到 remi-release

remi

[root@~]# sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

使能安装库

[root@~]# sudo subscription-manager repos --enable=rhel-7-server-optional-rpms
[root@~]# sudo yum-config-manager --enable remi-php72
[root@~]# sudo yum update

查看安装库

[root@~]# yum search | grep -i php72
......

[root@~]# sudo yum search php72 | egrep 'fpm|gd|mysql|memcache'
php72-php-fpm.x86_64 : PHP FastCGI Process Manager
php72-php-gd.x86_64 : A module for PHP applications for using the gd graphics
php72-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL
php72-php-pecl-memcache.x86_64 : Extension to work with the Memcached caching
php72-php-pecl-memcached.x86_64 : Extension to work with the Memcached caching
php72-php-pecl-mysql.x86_64 : MySQL database access functions
php72-php-pecl-mysql-xdevapi.x86_64 : MySQL database access functions

安装

[root@~]# sudo yum -y install php72
......
Installed:
  php72.x86_64 0:1.0-1.el7.remi                                                                               

Dependency Installed:
  environment-modules.x86_64 0:3.2.10-10.el7            libargon2.x86_64 0:20161029-2.el7                    
  php72-php-cli.x86_64 0:7.2.9-1.el7.remi               php72-php-common.x86_64 0:7.2.9-1.el7.remi           
  php72-php-json.x86_64 0:7.2.9-1.el7.remi              php72-runtime.x86_64 0:1.0-1.el7.remi                
  scl-utils.x86_64 0:20130529-18.el7_4                  tcl.x86_64 1:8.5.13-8.el7                            

Complete!

安装常用的依赖

[root@~]# sudo yum -y install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache

我通常是做什么事情提示出错了,少了那个库我再装的,目的就是为了减少安装无用的库。

查看版本

[root@~]# php -v
-bash: php: command not found

[root@~]# whereis php72
php72: /usr/bin/php72

[root@~]# ln /usr/bin/php72 /usr/bin/php

[root@~]# php -v
PHP 7.2.9 (cli) (built: Aug 15 2018 08:05:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

测试是否安装成功

[root@~]# echo "<?php phpinfo(); ?>" > /home/www/info.php

在浏览器上输入 公网 IP/info.php ,成功的话会看到 PHP 的信息;

我之前 PHP 5.4 那个版本的时候,直接没问题,现在这个 7.2 版本没成功,就是 Apache 没有解析 PHP 文件。

phpinfo.error

修复问题

[root@~]# ls /etc/httpd/modules/ | grep "mod_php"

[root@~]# ls /etc/httpd/conf.d/ | grep "php"

什么都没有,也就是说 Apache 的 mod_php 模块没有添加,所以要安装 这个模块

[root@~]# yum search mod | grep "mod_php"

搜索 yum 的库也没有可以安装的 mod_php,所以又要添加新的安装源

[root@~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Retrieving https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
warning: /var/tmp/rpm-tmp.DnxfHf: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:webtatic-release-7-3             ################################# [100%]

[root@izwz9dnfbgdn5tleje5eitz ~]# yum search mod | grep "mod_php"
mod_php71w.x86_64 : PHP module for the Apache HTTP Server
mod_php72w.x86_64 : PHP module for the Apache HTTP Server

现在就有了,我们安装最新的 72w

[root@~]# sudo yum -y install mod_php72w.x86_64

再查看

[root@~]#ls /etc/httpd/conf.d/ | grep "php"
php.conf

重启 Apache

[root@~]# systemctl restart httpd.service

重新在浏览器输入 公网 IP/info.php

成功访问后的截图

phpinfo7.2

安装 WordPress

先去官网 WordPress,按照截图复制安装包的链接地址。

滚动到网页的下面 Get WordPress

Blog Tool, Publishing Platform, and CMS — WordPress

进入获取页面,找到 releases,进入 releases 页面

Screenshot of Download _ WordPress.org

右键复制链接

Screenshot of Releases _ WordPress.org

回到 Xshell 6 使用 wget 命令下载安装包

[root@~]# wget https://wordpress.org/wordpress-4.9.8.tar.gz

[root@~]# ls | grep "wordpress"
wordpress-4.9.8.tar.gz

解压 tar.gz 文件

[root@~]# tar -zxvf wordpress-4.9.8.tar.gz

[root@~]# ls | grep "wordpress"
wordpress

[root@~]# ls -la wordpress/

复制 wordpress 的内容到 /var/www/deepppixel.com 中,反正就是 home 目录下

[root@~]#  ls -la wordpress/
total 200
drwxr-xr-x   5 nobody 65534  4096 Aug  3 04:39 .
dr-xr-x---.  9 root   root   4096 Sep 16 23:01 ..
-rw-r--r--   1 nobody 65534   418 Sep 25  2013 index.php
-rw-r--r--   1 nobody 65534 19935 Jan  7  2018 license.txt
-rw-r--r--   1 nobody 65534  7415 Mar 19  2018 readme.html
-rw-r--r--   1 nobody 65534  5458 May  2 06:10 wp-activate.php
drwxr-xr-x   9 nobody 65534  4096 Aug  3 04:39 wp-admin
-rw-r--r--   1 nobody 65534   364 Dec 19  2015 wp-blog-header.php
-rw-r--r--   1 nobody 65534  1889 May  3 06:11 wp-comments-post.php
-rw-r--r--   1 nobody 65534  2853 Dec 16  2015 wp-config-sample.php
drwxr-xr-x   4 nobody 65534  4096 Aug  3 04:39 wp-content
-rw-r--r--   1 nobody 65534  3669 Aug 20  2017 wp-cron.php
drwxr-xr-x  18 nobody 65534 12288 Aug  3 04:39 wp-includes
-rw-r--r--   1 nobody 65534  2422 Nov 21  2016 wp-links-opml.php
-rw-r--r--   1 nobody 65534  3306 Aug 22  2017 wp-load.php
-rw-r--r--   1 nobody 65534 37794 Jul 16 22:14 wp-login.php
-rw-r--r--   1 nobody 65534  8048 Jan 11  2017 wp-mail.php
-rw-r--r--   1 nobody 65534 16246 Oct  4  2017 wp-settings.php
-rw-r--r--   1 nobody 65534 30091 Apr 30 07:10 wp-signup.php
-rw-r--r--   1 nobody 65534  4620 Oct 24  2017 wp-trackback.php
-rw-r--r--   1 nobody 65534  3065 Sep  1  2016 xmlrpc.php
[root@~]# cp -rf wordpress/* /var/www/deeppppixel.com/

如果目录文件夹下有 index.html 和 index.php ,Apache 会直接读取 index.html 的文件内容;不管 Apache 的 httpd.service 配置文件中没有配置 index.php ,也是只读取 index.html 文件的内容,当然如果你删除了 index.html 文件, Apahe 中不用配置也能直接读取 index.php 。

添加 index.php 配置,打开后用 :/DirectoryIndex 快速找到配置项

[root@~]# vim /etc/httpd/conf/httpd.conf
......
161 # DirectoryIndex: sets the file that Apache will serve if a directory
162 # is requested.
163 #
164 <IfModule dir_module>
165     DirectoryIndex index.html index.php // 在这呢
166 </IfModule>

公网 IP 或者 域名 直接打开网页

welcome

开始进行 WordPress 的配置,wp-config.php ,点击下面的 Let`s go 就可以了

WordPress › Setup Configuration File MySQL

Database Name (数据库名称):你希望这个 wordpress 使用的数据库名称。

Username(数据库的用户名)、Password(数据库的登录密码)。

Database Host(数据库所有的网址,就是私网 IP),可以使用 ifconfig 可以快速查看 IP 地址

[root@~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 私网  IP  netmask 255.255.240.0  broadcast 私网 IP 子网掩码
        ether 00:16:3e:0a:2a:14  txqueuelen 1000  (Ethernet)
        RX packets 151192  bytes 74982756 (71.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 110888  bytes 22429451 (21.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Table Prefix(表前缀):如果要多个 wordpress 使用同一个 databases 就需要改变它,反正要保证不同的 wordpress 的表前缀不一样,防止数据冲突。

如果没有 Databases 就用 MySQL 创建一个吧!

[root@~]# mysql -u root -p
Enter password: 
......

mysql> create database deepppixel_com;  // 要用小写哦
Query OK, 1 row affected (0.31 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| deepppixel_com     | // 在这呢
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

// 使能 database
mysql> use deepppixel_com;
Database changed
mysql>

直接登录进入 deepppixel_com 数据库

[root@~]# mysql -h localhost -u root -p deepppixel_com
Enter password: 
......

mysql> show tables;
Empty set (0.00 sec)

mysql> select database();
+----------------+
| database()     |
+----------------+
| deepppixel_com |
+----------------+
1 row in set (0.00 sec)

mysql> 

回到 wordpress 的配置,填好后,直接 submit 提交内容

WordPress › Setup Configuration File 登录数据库

如果你像我一样,那么就手动创建就可以了

WordPress › Setup Configuration File wp-config.php

直接复制里面的内容,手动创建 wp-config.php 文件

[root@~]# vim /var/www/deepppixel.com/wp-config.php

[root@~]# systemctl restart httpd.service

点击 Run the installation 填写基本信息,密码要保存好哦!点击 Install WordPress 正式安装 WordPress

WordPress › Installation

我的密码非常复杂,但是它无法识别强度,所以我勾选了 Confirm use of weak password 就可以直接 Install 了。Search Engine Visibility 是指是否可以被搜索引擎搜索到。

WordPress › Installation Success

登录吧!

Log In ‹ Deepppixel — WordPress.jpg

Dashboard ‹ Deepppixel — WordPress

安装完成后,直接打开网页 公网 IP 或者 域名

Screenshot of Deepppixel – Just another WordPress site

完成了!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,406评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,976评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,302评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,366评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,372评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,457评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,872评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,521评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,717评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,523评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,590评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,299评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,859评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,883评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,127评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,760评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,290评论 2 342

推荐阅读更多精彩内容