在centos6.9上编译安装LAMP并搭建个人博客

准备阶段:

1、两台安装了centos6.9的机器,A和B;

A:192.168.1.100

B:192.168.1.102

其中A机器上跑http和PHP,B机器是MysqL服务器

2、准备软件包

apr-1.6.2.tar.gz

apr-util-1.6.0.tar.gz

#Apache可移植运行库,为上层应用程序提供一个可以跨越多操作系统平台的底层支持接口库

httpd-2.4.27.tar.bz2 #6.9上默认http是2.2版本,本次编译2.4版本

PHP-5.6.31.tar.bz2

mariadb-5.5.57-linux-x86_64.tar.gz #即MysqL数据库

wordpress-4.8.1-zh_CN.zip #用PHP语言开发的博客平台

实验目标:

搭建个人博客,并能够正常访问


步骤1、

在B机器上以二进制方式安装mariadb

cd /usr/local/src

tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/

#二进制安装事前已经编译好规则,所以必须指定目录

cd /usr/local/

ln -vs mariadb-5.5.57-linux-x86_64/ MysqL

#根据编译规则必须命名为MysqL,本处使用符号连接,也可以直接重命名MysqL,一样效果

useradd -r -m -d /app/MysqLdb -s /sbin/nologin MysqL

#对数据库的操作,我们指定专门用户

cd MysqL/

scripts/MysqL_install_db --datadir=/app/MysqLdb --user=MysqL

#datadir指定数据库存放数据的位置

mkdir /etc/MysqL

cp support-files/my-large.cnf /etc/MysqL/my.cnf

#模板,修改作为MysqL配置文件修改内容如下

vim /etc/MysqL/my.cnf

[MysqLd]

datadir = /app/MysqLdb

#在配置文件中指定数据存放的目录

innodb_file_per_table = ON

#数据库中单独使用一份文件记录一个表

cp support-files/MysqL.server /etc/init.d/MysqLd

chkconfig --add MysqLd

chkconfig --list

#为了省事将之前安装的MysqL服务配置文件复制一份,并加入服务列表

service MysqLd start

#此时开启我们二进制安装的MysqL会失败,原因是缺少文件,如下

touch /var/log/MysqLd.log

chown MysqL /var/log/MysqLd.log

#由于缺少日志文件导致服务启动失败

#还得修改日志文件所有者,保证MysqL用户有权限访问此文件

#此时启动数据库就会会成功

vim /etc/profile.d/MysqL.sh

export PATH=/usr/local/MysqL/bin/:$PATH

. /etc/profile.d/MysqL.sh

#添加PATH环境变量,并使之生效

MysqL_secure_installation

#初始化数据库,设置root密码等信息

#MysqL的root与linux的root没有任何关系

MysqL -uroot -pcentos

#root的登陆信息

create datebase wpdb;

#创建数据库wpdb,其作用是为以后搭建的博客提供数据库存储

grant all on wpdb.* to wpuser@'192.168.1.%' identified by '123456';

#创建用户并授权,用户名与主机构成整个用户信息,%表示所有

步骤2、

在A机器上编译安装http

cd /usr/local/src

yum groupinstall "development tools"

yum install openssl-devel pcre-devel expat-devel

#为了编译安装顺利进行,提前把开发包安装好

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

#将apr整合到http中

cd /usr/local/src/httpd-2.4.27/

./configure --prefix=/app/httpd24 \ #http的安装目录

--enable-so \ #启动模块动态装卸载

--enable-ssl \ #启动ssl功能

--enable-rewrite \ #启动url重写功能

--with-zlib \ #支持数据包压缩

--with-pcre \ #支持正则表达式

--with-included-apr \

--enable-modules=most \ #启用的模块

--enable-mpms-shared=all \ #以共享方式编译的模块

--with-mpm=prefork #指定http的工作模式为prefork

#编译前制定一些配置规则

#以上选项可以使用./configure --help来获得更多帮助信息

make -j 4 && make install

#编译安装

vim /etc/profile.d/lamp.sh

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

. /etc/profile.d/lamp.sh

cp /etc/init.d/httpd /etc/init.d/httpd24

#复制http的配置文件,并在此基础上修改为我们需要的

vim /etc/init.d/httpd24

apachectl=/app/httpd24/bin/apachectl #apachectl生效的目录,配置的时候就已经指定好了,下同

httpd=${HTTPD-/app/httpd24/bin/httpd}

prog=httpd

pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid} #http的进程id存放目录

lockfile=${LOCKFILE-/var/lock/subsys/httpd24} #锁文件指定的目录


chkconfig --add httpd24

chkconfig --list httpd24

#将我们编译的httpd24添加到服务集中,以后就可以使用service开启或者关闭

service httpd24 start


步骤3、

在A机器上编译安装PHP

yum install libxml2-devel bzip2-devel libmcrypt-devel

tar xvf PHP-5.6.31.tar.xz



cd /usr/local/PHP-5.6.31

./configure --prefix=/app/PHP \ #PHP安装目录

--with-MysqL=/usr/local/MysqL \ #PHP安装目录,对MysqL支持

--with-MysqLi=/usr/local/MysqL/bin/MysqL_config \

#MysqLi扩展技术不仅可以调用MysqL的存储过程、处理MysqL事务,而且还可以使访问数据库工作变得更加稳定

--with-openssl \ #支持ssl

--enable-mbstring \ #支持多字节、字符串

--with-png-dir \ #支持png格式的图片

--with-jpeg-dir \ #支持jpeg格式的图片

--with-freetype-dir \ #支持freetype字体库

--with-zlib \ #支持压缩

--with-libxml-dir=/usr \ #支持libxml

--enable-xml \ #支持xml

--enable-sockets \ #支持套接

--with-apxs2=/app/httpd24/bin/apxs \

#整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块

--with-mcrypt \ #mcrypt算法扩展

--with-config-file-path=/etc \ #配置文件路径,即PHP.ini路径

--with-config-file-scan-dir=/etc/PHP.d \ #

--with-bz2 #支持压缩


#此过程与http编译安装类似,具体参数可以用 ./configure --help来获得帮助信息

vi /etc/profile.d/lamp.sh

PATH=/app/PHP/bin:/app/httpd24/bin/:/usr/local/MysqL/bin/:$PATH

. /etc/profile.d/lamp.sh

cp PHP.ini-production /etc/PHP.ini

#复制模板,PHP.ini即PHP的主配置文件,不用修改

vim /app/httpd24/conf/httpd.conf

#在文件尾部加两行

AddType application/x-httpd-PHP .PHP

AddType application/x-httpd-PHP-source .PHPs

#凡是以PHPPHPs结尾的文件就会调用PHP程序

#修改下面行

<IfModule dir_module>

DirectoryIndex index.PHP index.html

</IfModule>

#http的主页面是index.PHP,谁在前谁优先

service httpd24 restart


步骤4、

测试数据库连接

vim /app/httpd24/htdocs/index.PHP

<html><body><h1>It works!</h1></body></html>

<?PHP

$MysqLi=new MysqLi("192.168.1.102","wpuser","123456");

if(MysqLi_connect_errno()){

echo "连接数据库失败!";

$MysqLi=null;

exit;

}

echo "连接数据库成功!";

$MysqLi->close();

PHPinfo();


?>

#以上PHP程序仅作为测试连接数据库用,没别的含义


步骤5、

配置wordpress

tar xvf /usr/local/src/wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs

#wordpress目录必须放在http的主目录下

cd /app/httpd24/htdocs

mv wordpress/ blog/

#为了方便记忆,将wordpress重命名为blog,以后在浏览器访问的话直接使用blog即可

cd /app/httpd24/htdocs/blog/

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

vim wp-config.php

#编辑wordpress配置文件,主要修改数据库连接信息

define('DB_NAME','wpdb');


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

define('DB_USER','wpuser');

#为wordpress设置的数据库账户

/** MysqL数据库密码 */

define('DB_PASSWORD','123456');

#为wordpress账户设置的密码

/** MysqL主机 */

define('DB_HOST','192.168.1.102');

#数据库主机地址


步骤6、

测试


wKiom1ngapWRmigCAAIccbLjYlA182.png

在浏览器输入 http://192.168.1.100/blog/

完成上述注册信息后就可以使用和管理个人博客


wKiom1ngauKhIWiVAAeFTkJ9UV8158.png


个人博客http://192.168.1.100/blog/


wKiom1ngauPhqX4rAAM7TthimzQ373.png

博客管理界面http://192.168.1.100/blog/wp-admin/

相关文章

有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安...
首先参照https://www.cnblogs.com/wdw984/p/13330074.html,来进行如何安装Centos和离线下载rpm包。 离...
有两个.NET CORE3.1网站部署在CentOS7上(内网IP是192.168.2.32),现在想实现访问http://192.168.2.32...
1、yum -y install vsftpd 安装vsftpd 2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以...
首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) Mysql...
第一步下载erlang环境并安装: wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_...