准备阶段:
1、两台安装了centos6.9的机器,A和B;
A:192.168.1.100
B:192.168.1.102
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 |
实验目标:
搭建个人博客,并能够正常访问
步骤1、
在B机器上以二进制方式安装mariadb
@H_403_85@cd /usr/local/src @H_403_85@tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/ @H_403_85@#二进制安装事前已经编译好规则,所以必须指定目录 @H_403_85@cd /usr/local/ |
useradd -r -m -d /app/MysqLdb -s /sbin/nologin MysqL @H_403_85@scripts/MysqL_install_db --datadir=/app/MysqLdb --user=MysqL @H_403_85@#datadir指定数据库存放数据的位置 @H_403_85@cp support-files/my-large.cnf /etc/MysqL/my.cnf @H_403_85@#模板,修改作为MysqL的配置文件,修改内容如下 @H_403_85@vim /etc/MysqL/my.cnf @H_403_85@datadir = /app/MysqLdb @H_403_85@@H_403_85@#在配置文件中指定数据存放的目录 @H_403_85@ @H_403_85@innodb_file_per_table = ON |
cp support-files/MysqL.server /etc/init.d/MysqLd @H_403_85@chkconfig --add MysqLd @H_403_85@chkconfig --list @H_403_85@#为了省事将之前安装的MysqL服务配置文件复制一份,并加入服务列表 @H_403_85@service MysqLd start @H_403_85@#此时开启我们二进制安装的MysqL会失败,原因是缺少文件,如下 @H_403_85@touch /var/log/MysqLd.log @H_403_85@chown MysqL /var/log/MysqLd.log |
vim /etc/profile.d/MysqL.sh @H_403_85@export PATH=/usr/local/MysqL/bin/:$PATH @H_403_85@. /etc/profile.d/MysqL.sh #添加PATH环境变量,并使之生效 |
MysqL -uroot -pcentos @H_403_85@#root的登陆信息 @H_403_85@create datebase wpdb; @H_403_85@#创建数据库wpdb,其作用是为以后搭建的博客提供数据库存储 @H_403_85@grant all on wpdb.* to wpuser@'192.168.1.%' identified by '123456'; |
步骤2、
在A机器上编译安装http
@H_403_85@cd /usr/local/src yum groupinstall "development tools" @H_403_85@yum install openssl-devel pcre-devel expat-devel @H_403_85@#为了编译安装顺利进行,提前把开发包安装好 @H_403_85@tar xvf apr-1.6.2.tar.gz @H_403_85@tar xvf apr-util-1.6.0.tar.gz @H_403_85@tar xvf httpd-2.4.27.tar.bz2 @H_403_85@cp -r apr-1.6.2 httpd-2.4.27/srclib/apr @H_403_85@cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util @H_403_85@#将apr整合到http中 |
cd @H_403_85@/usr/local/src/httpd-2.4.27/
@H_403_85@./configure --prefix=/app/httpd24 \ #http的安装目录
@H_403_85@ --enable-so \ #启动模块动态装卸载
@H_403_85@--enable-ssl \ #启动ssl功能
@H_403_85@--enable-rewrite \ #启动url重写功能
@H_403_85@--with-zlib \ #支持数据包压缩
@H_403_85@--with-pcre \ #支持正则表达式
@H_403_85@ --with-included-apr \
@H_403_85@ --enable-modules=most \ #启用的模块
@H_403_85@--enable-mpms-shared=all \ #以共享方式编译的模块
@H_403_85@--with-mpm=prefork #指定http的工作模式为prefork
@H_403_85@#编译前制定一些配置规则
@H_403_85@#以上选项可以使用./configure --help来获得更多帮助信息
@H_403_85@make -j 4 && make install
@H_403_85@#编译安装
vim /etc/profile.d/lamp.sh @H_403_85@PATH=/app/httpd24/bin/:$PATH @H_403_85@. /etc/profile.d/lamp.sh |
cp /etc/init.d/httpd /etc/init.d/httpd24 @H_403_85@#复制http的配置文件,并在此基础上修改为我们需要的 @H_403_85@vim /etc/init.d/httpd24 @H_403_85@apachectl=/app/httpd24/bin/apachectl #apachectl生效的目录,配置的时候就已经指定好了,下同 @H_403_85@httpd=${HTTPD-/app/httpd24/bin/httpd} @H_403_85@prog=httpd @H_403_85@pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid} #http的进程id存放目录 @H_403_85@lockfile=${LOCKFILE-/var/lock/subsys/httpd24} #锁文件指定的目录 @H_403_85@chkconfig --add httpd24 @H_403_85@chkconfig --list httpd24 @H_403_85@#将我们编译的httpd24添加到服务集中,以后就可以使用service开启或者关闭 @H_403_85@service httpd24 start |
步骤3、
在A机器上编译安装PHP
yum install libxml2-devel bzip2-devel libmcrypt-devel |
@H_403_85@cd /usr/local/PHP-5.6.31 @H_403_85@./configure --prefix=/app/PHP \ #PHP安装目录 @H_403_85@--with-MysqL=/usr/local/MysqL \ #PHP安装目录,对MysqL的支持 @H_403_85@--with-MysqLi=/usr/local/MysqL/bin/MysqL_config \ @H_403_85@#MysqLi扩展技术不仅可以调用MysqL的存储过程、处理MysqL事务,而且还可以使访问数据库工作变得更加稳定 @H_403_85@--with-openssl \ #支持ssl @H_403_85@--enable-mbstring \ #支持多字节、字符串 @H_403_85@--with-png-dir \ #支持png格式的图片 @H_403_85@--with-jpeg-dir \ #支持jpeg格式的图片 @H_403_85@--with-freetype-dir \ #支持freetype字体库 @H_403_85@--with-libxml-dir=/usr \ #支持libxml @H_403_85@--enable-xml \ #支持xml @H_403_85@--enable-sockets \ #支持套接字 @H_403_85@--with-apxs2=/app/httpd24/bin/apxs \ @H_403_85@#整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块 @H_403_85@--with-mcrypt \ #mcrypt算法扩展 @H_403_85@--with-config-file-path=/etc \ #配置文件路径,即PHP.ini路径 @H_403_85@--with-config-file-scan-dir=/etc/PHP.d \ # @H_403_85@ @H_403_85@#此过程与http编译安装类似,具体参数可以用 @H_403_85@./configure --help来获得帮助信息 |
vi /etc/profile.d/lamp.sh @H_403_85@PATH=/app/PHP/bin:/app/httpd24/bin/:/usr/local/MysqL/bin/:$PATH @H_403_85@. /etc/profile.d/lamp.sh |
@H_403_85@cp PHP.ini-production /etc/PHP.ini @H_403_85@vim /app/httpd24/conf/httpd.conf @H_403_85@AddType application/x-httpd-PHP .PHP @H_403_85@AddType application/x-httpd-PHP-source .PHPs @H_403_85@#凡是以PHP、PHPs结尾的文件就会调用PHP程序 @H_403_85@<IfModule dir_module> @H_403_85@ DirectoryIndex index.PHP index.html @H_403_85@</IfModule> @H_403_85@service httpd24 restart |
步骤4、
测试数据库连接
vim /app/httpd24/htdocs/index.PHP @H_403_85@<html><body><h1>It works!</h1></body></html> @H_403_85@$MysqLi=new MysqLi("192.168.1.102","wpuser","123456"); @H_403_85@if(MysqLi_connect_errno()){ @H_403_85@exit; @H_403_85@} @H_403_85@?> |
步骤5、
tar xvf /usr/local/src/wordpress-4.8.1-zh_CN.tar.gz -C /app/httpd24/htdocs @H_403_85@#wordpress目录必须放在http的主目录下 @H_403_85@cd /app/httpd24/htdocs |
cd /app/httpd24/htdocs/blog/ @H_403_85@cp wp-config-sample.PHP wp-config.php @H_403_85@vim wp-config.php @H_403_85@#编辑wordpress的配置文件,主要修改与数据库连接信息 @H_403_85@define('DB_NAME','wpdb'); @H_403_85@define('DB_USER','wpuser'); @H_403_85@define('DB_PASSWORD','123456'); #为wordpress账户设置的密码 @H_403_85@define('DB_HOST','192.168.1.102'); |
步骤6、
测试
在浏览器输入 http://192.168.1.100/blog/
个人博客http://192.168.1.100/blog/
博客管理界面http://192.168.1.100/blog/wp-admin/