LAMP是Linux Apache MySQL PHP的缩写,即把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言。Apache是最常用的Web服务软件,而MySQL是比较小型的数据库软件。三个角色可以安装在一台机器上,也可以分开。这里都在一台主机上实现,并部署phpMyadmin及WordPress。
php可以以模块的方式加载在http的模块中,也可以用fastcgi方式来实现,这得安装php-fpm包。(不过centos6默认不支持fastcgi模式,要想使用得编译安装HTTP2.4及以上版本的相关软件包),这里主要介绍模块方式,这也是默认的方式。
实验环境:
centos 7.4
httpd 2.4
php 5.4.16
php-mysql 5.4.16
mariadb-server 5.5.56
phpMyAdmin 4.0.10.20
wordpress-4.9.1
一、安装相关软件包并修改相关配置文件
[root@centos7 ~]# yum install -y httpd php php-mysql mariadb-server
查看php的相关文件,可以看到它是以动态模块的方式加载的,同时会在/etc/httpd/conf.d/目录下生成php.conf的子配置文件
[root@centos7 ~]# rpm -ql php
/etc/httpd/conf.d/php.conf
/etc/httpd/conf.modules.d/10-php.conf
/usr/lib64/httpd/modules/libphp5.so
/usr/share/httpd/icons/php.gif
/var/lib/php/session
[root@centos7 ~]# httpd -M | grep php
php5_module (shared)
php的配置文件是/etc/php.ini,及子目录下/etc/php.d/*.ini文件,我们可以根据生产需求来编辑它。这里主要修改它的时间,因为默认是格林尼治时间。
[root@centos7 html]# vim /etc/php.ini
date.timezone = Asia/Shanghai
在确保HTTP服务和maraidb服务都启动的情况下,我们可以测试数据库的连接情况,这里使用的是mysqli扩展连接数据库的测试代码,代码如下:
[root@centos7 html]# vim connect_db_test.php
<?php
$mysqli=new mysqli("localhost","root","");
if(mysqli_connect_errno()){
echo "Failure";
$mysqli=null;
exit;
}
echo “OK";
$mysqli->close();
?>
[root@centos7 html]# vim connect_db_test.php
[root@centos7 html]# ^C
[root@centos7 html]# cat connect_db_test.php
<?php
$mysqli=new mysqli("localhost","root","123456");
if(mysqli_connect_errno()){
echo "Failure";
$mysqli=null;
exit;
}
echo "OK";
$mysqli->close();
?>
数据库连接正常
二、部署phpMyadmin
PhpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。我们先去官网上下载源码包。地址为https://www.phpmyadmin.net/downloads/
[root@centos7 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg passwd.md5 phpMyAdmin-4.0.10.20-all-languages.zip
把源码包解压缩
[root@centos7 ~]# unzip phpMyAdmin-4.0.10.20-all-languages.zip
在/var/www/html目录下创建文件夹,把解压后的文件拷贝该目录下,直接移过去并重命名也行。
[root@centos7 html]# mv /root/phpMyAdmin-4.0.10.20-all-languages /var/www/html/phpmyadmin
[root@centos7 phpmyadmin]# cd /var/www/html/phpmyadmin/
[root@centos7 phpmyadmin]# cp config.sample.inc.php config.inc.php //配置文件重命名
[root@centos7 phpmyadmin]# vim config.inc.php
$cfg['blowfish_secret'] = 'a8ch66d'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ //更改cookie的身份验证,生成随机的字符串,也可以手工随便输入
打开浏览器输入URL路径。这时候会提示有错误,根据错误提示我们会发现是缺少 php-mbstring这个软件包。因此我们只需安装即可。
[root@centos7 phpmyadmin]# yum -y install php-mbstring
安装完后,重启http服务即可。
[root@centos7 phpmyadmin]# systemctl restart httpd
重新刷新一下页面。
在mariadb数据库中给root账号设置密码,默认是不允许空密码登录的,刚安装好的数据库是没有口令的,我们也可以跑一下安全脚本mysql_secure_installation。
MariaDB [(none)]> grant all on *.* to 'root'@'localhost' identified by '123456';
输入用户名密码后即可以进入管理界面
三、部署wordpress
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可把WordPress当作一个内容管理系统(CMS)来使用。从官网上下载源码包https://cn.wordpress.org/。
[root@centos7 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg passwd.md5 phpMyAdmin-4.0.10.20-all-languages.zip wordpress-4.9.1-zh_CN.tar.gz
把源码包解压到网页站点的指定目录下,/var/www/html
[root@centos7 ~]# tar -xvf wordpress-4.9.1-zh_CN.tar.gz -C /var/www/html/
创建wordpress的数据库及管理用户
MariaDB [(none)]> create database wpdb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wpdb |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]> grant all privileges on wpdb.* to wpuser@'192.168.239.%' identified by "123456";
Query OK, 0 rows affected (0.00 sec)
在浏览器上输入URL会出现如下页面,我们只需根据页面的提示信息操作即可。
根据提示信息,要有一个wp-config.php文件,我们用wp-config-sample.php文件作为模板。
[root@centos7 wordpress]# cd /var/www/html/wordpress/
[root@centos7 wordpress]# ls
index.php readme.html wp-admin wp-comments-post.php wp-config-sample.php wp-cron.php wp-links-opml.php wp-login.php wp-settings.php wp-trackback.php
license.txt wp-activate.php wp-blog-header.php wp-config.php wp-content wp-includes wp-load.php wp-mail.php wp-signup.php xmlrpc.php
[root@centos7 wordpress]# cp wp-config-sample.php wp-config.php
[root@centos7 wordpress]# vim wp-config.php
<?php
/**
* WordPress基础配置文件。
*
* 这个文件被安装程序用于自动生成wp-config.php配置文件,
* 您可以不使用网站,您需要手动复制这个文件,
* 并重命名为“wp-config.php”,然后填入相关信息。
*
* 本文件包含以下配置选项:
*
* * MySQL设置
* * 密钥
* * 数据库表名前缀
* * ABSPATH
*
* @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
*
* @package WordPress
*/
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb'); //数据库名改为wpdb
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser'); //用户名改为wpuser
/** MySQL数据库密码 */
define('DB_PASSWORD', '123456'); //输入密码
/** MySQL主机 */
define('DB_HOST', '192.168.239.128'); //mariadb主机的地址
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');
/**#@+
* 身份认证密钥与盐。
这时刷新一下页面即可进入安装界面,我们只需按照步骤操作即可。