安装 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 文件。
修复问题
[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
进入获取页面,找到 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 或者 域名 直接打开网页
welcome开始进行 WordPress 的配置,wp-config.php ,点击下面的 Let`s go 就可以了
WordPress › Setup Configuration File MySQLDatabase 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完成了!
网友评论