centos7实现基于源码编译安装LAMP的wordpress应用
计划:host1 安装 httpd , php
host2 安装 mariadb
准备软件:
1
2
3
4
5
6
apr-1.6.2.tar.gz
httpd-2.4.27.tar.bz2
php-7.1.10.tar.xz
apr-util-1.6.0.tar.gz
mariadb-10.2.8-linux-x86_64.tar.gz
wordpress-4.8.1-zh_CN.tar.gz
一.源码编译安装 httpd2.4
1.准备编译环境安装
1
2
yum groupinstall "development tools" -y
yum install openssl-devel expat-devel pcre-devel-y
2.准备安装包及文件
1
2
3
4
5
6
tar xvf apr-1.6.2.tar.gz
tar xvf apr-util-1.6.0.tar.gz
tar xvf httpd-2.4.27.tar.bz2
cp -r apr-1.6.2 httpd-2.4.27/srclib/apr
cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
cd httpd-2.4.27/
3.开始编译安装
1
2
3
4
5
6
7
8
9
10
11
12
13
./configure --prefix=/app/httpd24 \
--sysconfdir=/etc/httpd24 \
--enable-so \
--enable-ssl \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-included-apr \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
make -j 4 && make install
4.配置httpd管理命令路径并启动
1
2
3
4
5
vim /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:$PATH
. /etc/profile.d/lamp.sh
apachectl #启动httpd等同于apchectl start
ss -tnl #确定80端口是否打开
二.二进制安装及配置 mariadb (host2)
1.二进制安装mariadb
1
2
3
4
5
6
7
useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql #创建mysql用户并指定家目录(用来做存储数据库目录)
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz-C /usr/local/
cd /usr/local
ln -s mariadb-10.2.8-linux-x86_64/ mysql
chown -R root:mysql mysql/
cd mysql/
scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql #创建数据库文件
2.配置 mariadb 配置文件
1
2
3
4
5
vim /etc/mysql/my.cnf #在下添加如下三条配置
datadir = /app/mysqldb
innodb_file_per_table = ON
skip_name_resolve = ON
3.配置服务脚本并启动
1
2
3
4
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
service mysqld start
4.配置日志文件
1
2
3
mkdir /var/log/mariadb
chown mysql /var/log/mariadb/
service mysqld start
5.配置命令路径
1
2
3
vi /etc/profile.d/lamp.sh
PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH
. /etc/profile.d/lamp.sh
6.安全初始化及创建用户、数据库文件
1
2
3
4
5
mysql_secure_installation
mysql -uroot -pcentos
create datebase wpdb;
grant all on wpdb.* to wpuser@'%' identified by 'centos';
三.编译安装 PHP 及配置
1.编译前准备
1
2
3
yum install libxml2-devel bzip2-devel libmcrypt-devel
tar xvf php-7.1.10.tar.xz
cd php-7.1.10/
2.编译安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
./configure \
--prefix=/app/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--with-apxs2=/app/httpd24/bin/apxs \
--with-mcrypt \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-maintainer-zts \
--disable-fileinfo
make -j 4 && make install
3.创建配置文件,编辑 httpd 配置文件
1
2
3
4
5
6
7
8
9
10
11
12
cp php.ini-production /etc/php.ini
vim /etc/httpd24/httpd.conf
#在文件尾部加两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#修改默认页面添加 index.php
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
apachectl stop
apachectl
四. 测试 php 和 mariadb 连接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
vim /app/httpd24/htdocs/index.php
<html><body><h1> LAMP</h1></body></html>
<?php
$mysqli=new mysqli("host2IP","wpuser","centos");
if(mysqli_connect_errno()){
echo "连接数据库失败!";
$mysqli=null;
exit;
}
echo "连接数据库成功!";
$mysqli->close();
phpinfo();
?>
浏览器访问查看是否连接数据库成功(两台主机要关闭防火墙或制度策略)
五. 配置 wordpress
1.准备工作
1
2
3
4
tar xvf wordpress-4.8.1-zh_CN.tar.gz-C /app/httpd24/htdocs
cd /app/httpd24/htdocs
mv wordpress/ blog/
cd /app/httpd24/htdocs/blog/
2.配置 WordPress 连接数据库信息
1
2
3
4
5
6
7
8
9
10
11
12
cp wp-config-sample.phpwp-config.php
vim wp-config.php
define('DB_NAME', 'wpdb');
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'centos');
/** MySQL主机 */
define('DB_HOST', 'host2IP');
六. 网页配置 wordpress 用户信息及测试
[*]登录 http://host2IP/blog 填写用户信息
[*]测试性能
1
ab -c 10 -n 100 http://websrv/blog/
页:
[1]