CC00040.LinuxNetwork——|Linux&Centos6.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@server21 ~]# cd /lamp/
[root@server21 lamp]# yum install -y libxml2-devel python-devel
[root@server21 lamp]# cd libxml2-2.9.1
[root@server21 libxml2-2.9.1]# ./configure --prefix=/usr/local/libxml2
Done configuring
[root@server21 libxml2-2.9.1]# echo $?
0
[root@server21 libxml2-2.9.1]# make
[root@server21 libxml2-2.9.1]# echo $?
0
[root@server21 libxml2-2.9.1]# make install
[root@server21 libxml2-2.9.1]# echo $?
0
[root@server21 libxml2-2.9.1]# ls /usr/local/libxml2/
bin  include  lib  share
二、安装libmcrypt
### --- 安装libmcrypt
~~~		libmcrypt是加密算法扩展库,
~~~		支持DES、3DES、RIJNDAEL、Twofish、IDEA、GOSTCAST-256.ARCFOUR,SERPENT,SAFER+等算法

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

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

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

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

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

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

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

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

[root@server21 libpng-1.2.31]# cd /lamp/jpeg-6b/                        // 该程序安装是不会自己去创建目录,需要手动创建
[root@server21 jpeg-6b]# mkdir -p  /usr/local/jpeg6/bin
[root@server21 jpeg-6b]# mkdir -p  /usr/local/jpeg6/lib
[root@server21 jpeg-6b]# mkdir -p  /usr/local/jpeg6/include
[root@server21 jpeg-6b]# mkdir -p  /usr/local/jpeg6/man/man1
~~~		注意:此软件默认不会自动创建所需目录,所以目录必须手工建立

[root@server21 jpeg-6b]# yum install -y libtool*                        // 还是64位的问题,默认config.sub,config.guess不好用,所以安装覆盖
[root@server21 jpeg-6b]# cp -a /usr/share/libtool/config/config.sub ./  // 这两个文件默认是有的,覆盖掉,./表示:在/lamp/jpeg-6b这个目录下
[root@server21 jpeg-6b]# cp -a /usr/share/libtool/config/config.guess  ./
~~~		复制libtool中的文件,覆盖jpeg-6b中的文件(64位中的问题)
~~~		-enable-shared 与--enable-static参数分别为建立共享库和静态库使用的libtool

[root@server21 jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/  --enable-shared --enable-static && make && make install
[root@server21 jpeg-6b]# echo $?
0
八、安装freetype
### --- 安装freetype
~~~		FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,
~~~		它提供统一的接口来访问多种字体格式文件,支持单色位图,反走样位图的渲染

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

[root@server21 freetype-2.3.5]# cd /lamp/httpd-2.4.7
[root@server21 httpd-2.4.7]# cp -a /lamp/apr-1.4.6  /lamp/httpd-2.4.7/srclib/apr
[root@server21 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@server21 httpd-2.4.7]# cd /lamp/pcre-8.34
[root@server21 pcre-8.34]# ./configure && make && make install
[root@server21 pcre-8.34]# echo $?
0
### --- Apache的加密传输模块mod_ssl,需要安装此软件产生。

[root@server21 pcre-8.34]# yum install -y openssl-devel
### --- httpd软件安装
~~~		若前面配置zlib时没有指定安装目录,
~~~		Apache配置时不要添加--with-z=/usr/local/zlib/参数,  
~~~		--enable-ssl选项是为了后期实现https提前设置的参数。

[root@server21 pcre-8.34]# cd /lamp/httpd-2.4.7
[root@server21 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
[root@server21 httpd-2.4.7]# echo $?
0
[root@server21 httpd-2.4.7]# make && make install
[root@server21 httpd-2.4.7]# echo $?
0
### --- 启动Apache测试
~~~		使用进程查看命令确认Apache是否启动,是否产生进程

[root@server21 httpd-2.4.7]# cd /usr/local/apache2/bin/
[root@server21 bin]# ./apachectl start
[root@server21 bin]# /usr/local/apache2/bin/apachectl restart
[root@server21 bin]# ps aux | grep httpd
root      87423  0.0  0.0 103312   876 pts/1    S+   12:34   0:00 grep httpd
~~~		使用网络进程查看命令确认Apache是否启动,是否开启了80监听端口

[root@server21 bin]# netstat -antp
tcp        0      0 :::80                       :::*                        LISTEN      87249/httpd
### --- 报错提示:
~~~		若启动时提示/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@server21 bin]# /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@server21 bin]# vim /usr/local/apache2/etc/httpd.conf
#ServerName www.example.com:80                                  // 默认
ServerName localhost:80                                         // 改成localhost
[root@server21 bin]# /usr/local/apache2/bin/apachectl -t        // 检查配置文件语法错误,没有就是ok
Syntax OK
[root@server21 bin]# /usr/local/apache2/bin/apachectl restart   // 改后重新启动不会有提示信息出现
~~~		--enable-ssl选项是为了后期实现https提前设置的参数。
### --- 启动Apache测试

[root@server21 httpd-2.4.7]# cd /usr/local/apache2/bin/
[root@server21 bin]# ./apachectl start
[root@server21 bin]# /usr/local/apache2/bin/apachectl restart
[root@server21 bin]# ps aux | grep httpd
root      87423  0.0  0.0 103312   876 pts/1    S+   12:34   0:00 grep httpd
~~~		使用进程查看命令确认Apache是否启动,是否产生进程
[root@server21 bin]# netstat -antp
tcp        0      0 :::80                       :::*                        LISTEN      87249/httpd
~~~		使用网络进程查看命令确认Apache是否启动,是否开启了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@server21 bin]# /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@server21 bin]# vim /usr/local/apache2/etc/httpd.conf
#ServerName www.example.com:80                                  // 默认
ServerName localhost:80                                         // 改成localhost
[root@server21 bin]# /usr/local/apache2/bin/apachectl -t        // 检查配置文件语法错误,没有就是ok
Syntax OK
[root@server21 bin]# /usr/local/apache2/bin/apachectl restart   // 改后重新启动不会有提示信息出现

### --- 验证:
~~~		通过浏览器输入地址访问:http://服务器IP,若显示“It works”即表明Apache正常工作
~~~		Chrome浏览器访问:http://20.20.20.21/
~~~		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、付费专栏及课程。

余额充值