CC00045.LinuxNetwork——|Linux&Centos7.x&LAMP&Typecho.V02|——|编译LAMP|

一、编译安装:安装libxml2
### --- 注意:每个源码包配置编译安装完成后,确认安装目录下是否生成安装文件(并确定目录是否正确)
~~~		建议将安装路径指定为[--prefix/usr/lcoal/软件名]格式
### --- 安装libxml2
~~~		libxml2是一个xml c语言版的解析器,本来是为了Gnome项目开发的工具,
~~~		是一个基于MIT License的免费开源软件,它除了支持c语言版以外,
~~~		还支持c++、PHP、Pascal、Tcl等语言的绑定,
~~~		能在Windows、Linux、Solaris、MacOsx等平台运行,功能还是相当强大的,
~~~		相信满足一般用户需求没有任何问题。

[root@server11 ~]# cd /lamp/
[root@server11 lamp]# yum install -y libxml2-devel python-devel
[root@server11 lamp]# cd libxml2-2.9.1
[root@server11 libxml2-2.9.1]#  ./configure --prefix=/usr/local/libxml2/ && make && make install 
[root@server11 libxml2-2.9.1]# echo $?
0
二、安装libmcrypt
### --- 安装libmcrypt
~~~		libmcrypt是加密算法扩展库,
~~~		支持DES、3DES、RIJNDAEL、Twofish、IDEA、GOSTCAST-256.ARCFOUR,SERPENT,SAFER+等算法

[root@server11 libxml2-2.9.1]# cd /lamp/libmcrypt-2.5.8
[root@server11 libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt/ && make && make install
[root@server11 libmcrypt-2.5.8]# echo $?
0
### --- 安装libltdl,也在libmcrypt源码目录中,非新软件

[root@server11 libmcrypt-2.5.8]# cd /lamp/libmcrypt-2.5.8/libltdl
[root@server11 libltdl]# ./configure --enable-ltdl-install && make && make install
[root@server11 libltdl]# echo $?
0
三、安装mhash
### --- 安装mhash
~~~		mhash是基于离散数学原理的不可逆向的PHP加密方式扩展库,其在默认情况下不开启,
~~~		mhash的可以用于创建效验数值,消息摘要,消息认证码,
~~~		以及无需原文的关键信息保存(如密码)等。

[root@server11 libltdl]# cd /lamp/mhash-0.9.9.9
[root@server11 mhash-0.9.9.9]# ./configure && make && make install
[root@server11 mhash-0.9.9.9]# echo $?
0
四、安装mcrypt
### --- 安装mcrypt
~~~		mcrypt是PHP里面重要的加密支持扩展库,mcrypt库支持20多种加密算法和8种加密模式

[root@server11 mhash-0.9.9.9]# cd /lamp/mcrypt-2.6.8
[root@server11 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib     //声明环境变量
~~~		变量:LLD_LIBRARY_PATH用于指定libmcrypt和mhash的库的位置

[root@server11 mcrypt-2.6.8]# ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt && make && make install
[root@server11 mcrypt-2.6.8]# echo $?
0
五、安装zlib
### --- 安装zlib
~~~		zlib是提供数据压缩的函数库,由Jean-loup Gailly与Mark Adler所开发,
~~~		初版0.9版在我995年5月1日发表,
~~~		zlib使用DEFLATE算法,最初是为libpng函数库所写,后来普遍为许多软件所使用,
~~~		此函数库为自由软件,使用zlib授权。

[root@server11 mcrypt-2.6.8]# cd /lamp/zlib-1.2.3
[root@server11 zlib-1.2.3]# ./configure
### --- 然后修改配置文件,否则无法正常安装此软件

[root@server11 zlib-1.2.3]#  vim Makefile
CC=gcc
CFLAGS=-O3 -DUSE_MMAP -fPIC                                 // 找到CFLAGS=-03 -DUSE_MMAP,在后面加入 -fPIC 变成(注意:小f大PIC,空格)版本问题:64位需要加该参数,32位不需要
[root@server11 zlib-1.2.3]# make && make install
[root@server11 zlib-1.2.3]# echo $?
0
六、安装libpeng
### --- 安装libpeng
~~~		libpeng软件包包含libpeng库,这些库被其它程式用于解码PNG图片

[root@server11 zlib-1.2.3]# cd /lamp/libpng-1.2.31
[root@server11 libpng-1.2.31]# ./configure --prefix=/usr/local/libpng && make && make install
[root@server11 libpng-1.2.31]# echo $?
0
七、安装jpeg6
### --- 安装jpeg6
~~~		jpeg6提供用于解码.jpg和.jpeg图片的库文件

[root@server11 libpng-1.2.31]# cd /lamp/jpeg-6b/          // 该程序安装是不会自己去创建目录,需要手动创建
[root@server11 jpeg-6b]# mkdir -p  /usr/local/jpeg6/bin
[root@server11 jpeg-6b]# mkdir -p  /usr/local/jpeg6/lib
[root@server11 jpeg-6b]# mkdir -p  /usr/local/jpeg6/include
[root@server11 jpeg-6b]# mkdir -p  /usr/local/jpeg6/man/man1
~~~		注意:此软件默认不会自动创建所需目录,所以目录必须手工建立
[root@server11 jpeg-6b]# yum install -y libtool*           // 还是64位的问题,默认config.sub,config.guess不好用,所以安装覆盖
[root@server11 jpeg-6b]# cp -a /usr/share/libtool/config/config.sub  ./
[root@server11 jpeg-6b]# cp -a /usr/share/libtool/config/config.guess  ./

~~~		复制libtool中的文件,覆盖jpeg-6b中的文件(64位中的问题)
~~~		-enable-shared 与--enable-static参数分别为建立共享库和静态库使用的libtool
[root@server11 jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/  --enable-shared --enable-static && make && make install
[root@server11 jpeg-6b]# echo $?
0
八、安装freetype
### --- 安装freetype
~~~		FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,
~~~		它提供统一的接口来访问多种字体格式文件,支持单色位图,反走样位图的渲染

[root@server11 jpeg-6b]# cd /lamp/freetype-2.3.5
[root@server11 freetype-2.3.5]# ./configure --prefix=/usr/local/freetype/ && make && make install
[root@server11 freetype-2.3.5]# echo $?
0
九、安装Apache
### --- 安装Apache
~~~		源码包2.4.*版本中默认没有集成apr的依赖包,所以需要提前解决依赖问题
~~~		解压APR和apr-util,复制整个目录并取消目录上的版本号到指定位置,./cinfigure时会检测

[root@server11 freetype-2.3.5]# cd /lamp/httpd-2.4.7
[root@server11 httpd-2.4.7]# cp -a /lamp/apr-1.4.6  /lamp/httpd-2.4.7/srclib/apr
[root@server11 httpd-2.4.7]# cp -a /lamp/apr-util-1.4.1  /lamp/httpd-2.4.7/srclib/apr-util
### --- Apache默认需要依赖PCRE软件,但由于Apache软件版本较高,则系统预安装的PCRE无法使用,所以需要人为手动安装适合版本

[root@server11 httpd-2.4.7]# cd /lamp/pcre-8.34
[root@server11 pcre-8.34]# ./configure && make && make install
[root@server11 pcre-8.34]# echo $?
0
### --- Apache的加密传输模块mod_ssl,需要安装此软件产生。
[root@server11 pcre-8.34]#  yum install -y openssl-devel

### --- httpd软件安装
[root@server11 pcre-8.34]# cd /lamp/httpd-2.4.7
[root@server11 httpd-2.4.7]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/usr/local/apache2/etc/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-ssl && make && make install
[root@server11 httpd-2.4.7]# echo $?
0
~~~		若前面配置zlib时没有指定安装目录,Apache配置时不要添加--with-z=/usr/local/zlib/参数,  --enable-ssl选项是为了后期实现https提前设置的参数。
~~~		修改默认监听端口为IPV4的80 端口

[root@server11 httpd-2.4.7]# vim /usr/local/apache2/etc/httpd.conf 
ServerName localhost:80
Listen 80                                                     // 默认监听IPV的80端口
Listen 0.0.0.0:80                                             // 添加IPV的任意地址的80端口监听
### --- 启动Apache测试
~~~		使用网络进程查看命令确认Apache是否启动,是否开启了80监听端口

[root@server11 httpd-2.4.7]# /usr/local/apache2/bin/apachectl start
[root@server11 httpd-2.4.7]# ps -aux |grep httpd
root      94866  0.0  0.1  71296  2616 ?        Ss   18:37   0:00 /usr/local/apache2/bin/httpd -k start//使用进程查看命令确认Apache是否启动,是否产生进程
[root@server11 httpd-2.4.7]#  netstat -antp
tcp6       0      0 :::80                   :::*                    LISTEN      94866/httpd
### --- 注意事项:
~~~		在centos7.x操作系统上Apache默认监听了IPV6地址的80端口,没有监听IPV4的地址,
~~~		所以需要修改下配置文件并使其监听
~~~		Listen 0.0.0.0:80   // 0.0.0.0:表示IPV的任意地址;centos6.x中默认监听IPV4的80 地址。

### --- 报错提示:
~~~		若启动时提示/usr/local/apache2/modules/mod_deflate.so无权限,
~~~		可关闭SELinux解决,类似此类.so文件不能载载入或没有权限问题,
~~~		都是SELinux问题,MySQL和Apache都可以有类似问题。

### --- 警告提示:
~~~		发现启动服务提示:AH00558:httpd:Could not reliably determine the server’s fullyqualified domain name,using localhost,localdomain.Set the'ServerName'directive globally to suppress this message 

### --- 解决方案:
~~~		打开配置文件httpd.conf
~~~		搜索ServerName (约在200行左右)
~~~		改成ServerName localhost:80(并且去掉前面的#注释)

[root@server11 httpd-2.4.7]# /usr/local/apache2/bin/apachectl restart  // 提示信息
AH00557: httpd: apr_sockaddr_info_get() failed for server21
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[root@server11 httpd-2.4.7]# /usr/local/apache2/bin/apachectl -t       // 检查配置文件语法错误,没有就是ok
Syntax OK
[root@server11 httpd-2.4.7]# /usr/local/apache2/bin/apachectl restart  // 改后重新启动不会有提示信息出现
### --- 验证:

~~~		通过浏览器输入地址访问:http://服务器IP,若显示“It works”即表明Apache正常工作
~~~		Chrome浏览器访问:http://10.10.10.11/
~~~		It works!                                             	// 说明部署成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值