WordPress应用:
WordPress 是一种基于PHP 语言开发的博客平台,我们可以在支持PHP 和MySQL 数据库的服务器上部署属于自己的博客网站,在上面发布自己的博客文章。同时也可以把WordPress 当作一个内容管理系统(CMS)来使用。
LAMP的简介:
LAMP是在linux下基于Apache、Mysql/Mariadb、PHP软件包下环境下搭建的运行动态网站或者服务器。
事前准备环境:
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.3将apr和apr-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端口了。
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配置文件的模板,直接复制过来
#直接复制PHP的文件
[root@centos7php-7.1.7]# cpphp.ini-production /etc/php.ini
3.4配置Httpd文件添加支持PHP的MIME类型
#因为是自己编译的所以路径是在/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
#搜索DirectorI在DirectoryIndex这行里添加index.php 让我们访问本机的主页面默认是php的。
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
apachectl stop #关闭httpd服务
apachectl start #启动httpd服务
4 测试php和mariadb连接
4.1 配置结束后重新启动httpd服务,同时在主页面所在的目录下添加一个index.php文件。
#由于我们是自己编译安装的所以httpd主页目录下在我们指定的httpd安装路径下。
[root@centos7 htdocs]# pwd
/app/httpd24/htdocs
#下面代码是用来测试PHP是否能够成功连接数据库的。
[root@centos7 htdocs]# vim index.php
连接成功的界面图所下面所示
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.2在blog/目录下修改配置文件中的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/blog;websrv就是安装httpd服务点的主机ip,我是用192.168.146.100主机安装的,所以就是http://192.168.146.100/blog。
#下面就是WordPress的初始化配置
6.2初始化成功之后,再回去访问http://192.168.146.130/blog/就看到博客的注意了。
经过以上的步奏我们实现了从无到有安装了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(linux、apache、php) ,一台实现M(mariadb)数据库。
转载于:https://blog.51cto.com/12190356/1973043