WordPress应用:

WordPress 是一种基于PHP 语言开发的博客平台,我们可以在支持PHP MySQL 数据库的服务器上部署属于自己的博客网站,在上面发布自己的博客文章。同时也可以把WordPress 当作一个内容管理系统(CMS)来使用。

LAMP的简介:

LAMP是在linux下基于ApacheMysql/MariadbPHP软件包下环境下搭建的运行动态网站或者服务器。

事前准备环境:

1、软件包准备:

我们可以在相关的软件包官网上下载稳定的版本。

apr-1.6.2.tar.gz                      

apr-util-1.6.0.tar.gz 

mariadb-10.2.8-linux-x86_64.tar.gz  

httpd-2.4.27.tar.bz2 

php-7.1.10.tar.xz

wordpress-4.8.1-zh_CN.tar.gz

2、准备一台centos7.3的干净系统

主机的ip地址为192.168.146.130

3、关闭防火墙和selinux

防火墙:开机关闭

[root@centos7 ~]# systemctl disablefirewalld

[root@centos7 ~]# systemctl stop  firewalld

关闭Selinux

#临时关闭

[root@centos7 ~]# setenforce 0  

#永久关闭

sed -i's/^SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

实验步骤:

1、源码编译安装Httpd2.4

1.1安装开发包组

因为我们这个实验是需要通过大量的编译来安装相关的软件,所以需要对实验环境提前安装开发包组

yum -ygroupinstall "development tools" 

安装额外需要所依赖的软件包

yum install openssl-devel expat-develpcre-devel

1.2解压源码文件包

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

1.3aprapr-util复制到httpd-2.4.27目录下

[root@centos7 src]# cp -r apr-1.6.2httpd-2.4.27/srclib/apr

[root@centos7 src]# cp -r apr-util-1.6.0httpd-2.4.27/srclib/apr-util

1.4编译httpd

#进到httpd-2.4.27目录下

[root@centos7 src]# cd httpd-2.4.27/

./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

#开始安装,用4线程进行安装,比较快,注意处理器要有4

make -j 4 && make install

#用命令查看一下发现没有报错,如果有报错,缺什么包就安装什么包

[root@centos7 httpd-2.4.27]# echo $?

0

#完成之后测试一下看生成httpd下的相关目录和主页网站有了没,以下可以看到没问题。

cd /app/httpd24

[root@centos7 httpd24]# ls

bin  cgi-bin  htdocs include  logs  manual

build error    icons   lib   man   modules

1.5把主页面的 it works字段改成LAMP;路径是在htdocs目录下

[root@centos7 htdocs]# vim index.html

<html><body><h1>LAMP</h1></body></html>

1.6将命令选项添加到环境变量里面

#/etc/profile.d/目录下添加添加lamp.sh脚本将安装好的httpd路径添加到这个环境变量里。

vim /etc/profile.d/lamp.sh

PATH=/app/httpd24/bin/:$PATH

执行下生效命令

. /etc/profile.d/lamp.sh

1.7启动httpd服务

apachectl start  #启动httpd服务

在网页上输入主机的地址就可以访问出现上面所填的LAMP字样了。

ss -tnl  #查看一下发现已经出现80端口了。

wKiom1nku7_BIQNCAAB00vsj3l8342.png

2、二进制安装mariadb

2.1解压mariadb-10.2.8二进制文件

#注意一定要解压到/usr/local/这目录下

tar xvfmariadb-10.2.8-linux-x86_64.tar.gz  -C/usr/local/

2.3创建一个软链接目录mysql

cd /usr/local

ln -s mariadb-10.2.8-linux-x86_64/ mysql

#查看一下本机没有发现mysql账户

getent passwd mysql

2.4创建mysql账户

useradd -r -m -d /app/mysqldb -s/sbin/nologin mysql

#注意:-m -d 是强制创建家目录的路径/app/mysqldb,它是用来存放数据库的不是程序,也就是数据库放的路径,-s指定只能是mysql 才能登陆。

#查看家目录已经存在了

[root@centos7 local]# ll /app/mysqldb/ -d

drwx------. 3 mysql mysql 78 Oct 16 14:43/app/mysqldb/

2.5创建数据库文件

进入到刚刚创建的mysql 路径,利用mysql自带的脚本文件,创建数据库,数据库的路径是/app/mysqldb,指定用mysql用户创建

cd mysql/   #也就是进入/usr/local/mysql

scripts/mysql_install_db--datadir=/app/mysqldb --user=mysql

2.6创建mysql的配置文件,并且修改其下的文件内容

创建mysql文件路径

二进制安装的本身没有带文件路径所以需要创建

[root@centos7 mysql]#mkdir /etc/mysql

[root@centos7 mysql]# cpsupport-files/my-huge.cnf /etc/mysql/my.cnf

配置文件成功后需要对文件进行修改,注意不能写错,否则mysql数据库启动不了。找到mysql数据这一行加上三行选项

[root@centos7 mysql]# vim /etc/mysql/my.cnf

datadir =/app/mysqldb   #这行添加数据库的路径是必须加的

innodb_file_per_table= ON  # 这项和下面这项加不加没事

skip_name_resolve= ON  #禁止主机名解释,这行可以不要

2.7创建mysqld的开启动脚本并添加到开机启动项里面

流程和配置文件一样可以根据安装文件提供的脚本复制过来

cp support-files/mysql.server/etc/init.d/mysqld  #启动脚本不需要改

chkconfig --add mysqld    #mysqld添加到开机启动项里面

chkconfig --list           #查看已经成功加入到开机启动项

service mysqld start   

注意:启动服务发现失败,原因是显示看到日记没有创建,它提示创建日志文件。

2.8创建日志文件

mkdir /var/log/mariadb  #创建日志文件

修改日志文件,方便数据库mysqld能够创建日志文件

chown mysql /var/log/mariadb/  #把所有者改成mysql

service mysqld start  #启动服务发现启动成功了。

2.9添加mysqld的环境变量

vim /etc/profile.d/lamp.sh

PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH

#执行生效命令

. /etc/profile.d/lamp.sh

2.10安全数据库初始化,删除测试库和匿名用户

初始化设置root密码是centos7

[root@centos7 mysql]#mysql_secure_installation

2.11登录数据库,创建数据库账号,授予权限等信息

[root@centos7 mysql]# mysql -uroot-pcentos7

create database wpdb;  #创建数据库为wpdb

grant all on wpdb.* to wpuser@'192.168.146.%'identified by 'centos7';

#授权所有权限给wpuser用户,密码是centos7

grant all on wpdb.* to wpuser@'127.%'identified by 'centos7';

#授权给127主机的用户允许连接

grant all on wpdb.* to wpuser@'localhost'identified by 'centos7'

#授权给本地主机允许连接

3 源码编译安装PHP

3.1解压PHP源文件,安装依赖的软件包

cd /src #回到源文件目录下

[root@centos7 src]# tar xvfphp-7.1.7.tar.bz2  #解压

#安装php源码所需要的包

yum -y install libxml2-devel bzip2-devellibmcrypt-devel

3.2配置PHP的编译选项并进行安装

cd php-7.1.10/   #进入php-7.1.10/目录

编译PHP选项

[root@centos7 php-7.1.7]# ./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

 

#注意这里需要一定要注意PHP5.x的版本是不存在—enable-mysql

#这个版本的选项相反,使用了mysql路径来指定

开始安装

make -j 2 && make install

3.3编写PHP的配置文件

#在解压的目录下就有php配置文件的模板,直接复制过来

wKiom1nkvMGh6OJIAABei1-8F6s170.png

#直接复制PHP的文件

[root@centos7php-7.1.7]# cpphp.ini-production /etc/php.ini

3.4配置Httpd文件添加支持PHPMIME类型

#因为是自己编译的所以路径是在/etc/httpd24/httpd.conf主配置文件,让httpd知道php

vim /etc/httpd24/httpd.conf

#搜索/AddType在文件尾部加两行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source.phps

wKiom1nkvQ2BoAgbAAC5yvbevB4688.png

#搜索DirectorIDirectoryIndex这行里添加index.php 让我们访问本机的主页面默认是php的。

<IfModule dir_module>

   DirectoryIndex index.php index.html

</IfModule>

wKiom1nkvU3TIsPpAACfDQQrUf0115.png

apachectl stop  #关闭httpd服务

apachectl start  #启动httpd服务

4 测试phpmariadb连接

4.1 配置结束后重新启动httpd服务,同时在主页面所在的目录下添加一个index.php文件。

#由于我们是自己编译安装的所以httpd主页目录下在我们指定的httpd安装路径下。

[root@centos7 htdocs]# pwd

/app/httpd24/htdocs

#下面代码是用来测试PHP是否能够成功连接数据库的。

[root@centos7 htdocs]# vim index.php  

wKioL1nkuuyimj_pAAC7entOBYg092.png

连接成功的界面图所下面所示

wKiom1nkveDBBp0nAAFPrCusvJc339.png

5.1解压wordpress/app/httpd24/htdocs/目录下

tar xvf wordpress-4.8-zh_CN.tar.gz -C/app/httpd24/htdocs/

#进入到主页面下

cd /app/httpd24/htdocs

#wordpress/改成blog/

mv wordpress/ blog/

5.2blog/目录下修改配置文件中的mysql相关设置信息

cd /app/httpd24/htdocs/blog/

#参考WordPress官方提供的配置文件,创建一个配置文件,并修其中对mysql数据库的相关配置。

#直接复制参考脚本,然后在文件修改相关的数据参数就可以了。

cd /app/httpd24/htdocs/blog/

cp wp-config-sample.php  wp-config.php

vim wp-config.php

define('DB_NAME', 'wpdb');  #用户名

/** MySQL数据库用户名 */

define('DB_USER', 'wpuser');

/** MySQL数据库密码 */

define('DB_PASSWORD', 'centos7');

/** MySQL主机 */

define('DB_HOST', 'localhost');

6、初始化和登录测试

6.1通过浏览器访问http://websrv/blogwebsrv就是安装httpd服务点的主机ip,我是用192.168.146.100主机安装的,所以就是http://192.168.146.100/blog

#下面就是WordPress的初始化配置

wKioL1nku5Lwu6yGAAFJE4ET0sc896.png

6.2初始化成功之后,再回去访问http://192.168.146.130/blog/就看到博客的注意了。

wKioL1nku83j7-M_AAJvYz3WkQo736.png

经过以上的步奏我们实现了从无到有安装了LAMP+ wordpress应用,

我们也可以根据生产中的实际需求吧wordpress应用换成其他应用;LAMP也有可能是Linux+Nginx+MariaDB+Python这形式,根据需求不同进行调用做出自己的选择,做到灵活的使用。

注意事项

1、注意编译安装的时候,PHP是最后编译的,因为要调用到mariadb和访问httpd的相关内容。

2、在开始编译安装PHP的时候,PHP-5.X PHP-7.X 版本不一样,编译选项也有一些不一致。

3、在做实验的时候最好是使用干净的centos7.3系统;这里最好准备两台centos7主机,一台实现LAP(linuxapachephp) ,一台实现M(mariadb)数据库。