安装 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
[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 文件。
修复问题
[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
成功访问后的截图
安装 WordPress
先去官网 WordPress,按照截图复制安装包的链接地址。
滚动到网页的下面 Get WordPress
进入获取页面,找到 releases,进入 releases 页面
右键复制链接
回到 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 或者 域名 直接打开网页
开始进行 WordPress 的配置,wp-config.php ,点击下面的 Let`s go 就可以了
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 提交内容
如果你像我一样,那么就手动创建就可以了
直接复制里面的内容,手动创建 wp-config.php 文件
[root@~]# vim /var/www/deepppixel.com/wp-config.php
[root@~]# systemctl restart httpd.service
点击 Run the installation 填写基本信息,密码要保存好哦!点击 Install WordPress 正式安装 WordPress
我的密码非常复杂,但是它无法识别强度,所以我勾选了 Confirm use of weak password 就可以直接 Install 了。Search Engine Visibility 是指是否可以被搜索引擎搜索到。
登录吧!
安装完成后,直接打开网页 公网 IP 或者 域名
完成了!