在LAMP环境的搭建(rpm包安装)中,我们知道了怎样利用系统所提供的软件包搭建环境,但是有时候源码安装能够更好地满足我们对环境的搭建要求,能够更好地增减一些功能模块,现在让我们用源码来实现LAMP环境的搭建吧!
实验准备:
操作平台为硬件i686,内核版本2.6.18-164.el5的linux操作系统
源码为分别为:apr-1.4.6.tar.gz apr-util-1.5.1.tar.gz httpd-2.4.4.tar.bz2
步骤一:将所需要的软件包传到/root目录下我们建立的apache下
[root@localhost ~]# mkdir apache
步骤二:将软件包解压到(/usr/local/src)下
[root@localhost apache]# tar zxvf apr-1.4.6.tar.gz -C /usr/local/src/
[root@localhost apache]# tar zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/
[root@localhost apache]# tar jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/
步骤三:编译
由于apache的编译需要apr和apr-util的支持,所以我们先编译它们。
说明:(apr是apache的可移植运行库,主要为上层的应用程序提供跨操作平台的底层支持接口库,包括apr apr-util等开发包)
--prefix // 指定服务程序的安装路径
--enable-so:启用动态加载模块支持
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
--sysconfdir: 指定服务配置文件目录
1)编译apr
cd apr-1.4.6/
./configure --prefix=/usr/local/apr //指定apr的安装目录
make&&make install //编译配置安装
为了使系统能够调用库文件我们在vim /etc/ld.so.conf.d/
apr.conf(名字)下增加一句话/usr/local/apr/lib指明路径
ldconfig刷新缓存后通过ldconfig -pv |grep apr可以查看到
为了使系统能够调用找到头文件include我们可以做个符号链接 ln -s /usr/local/apr/include/ /usr/include/apr
这样apr就编译完成了
2)编译apr-util-1.5.1
cd apr-util-1.5.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config //指定apr-util的安装目录和apr的
路径
make&&make install //编译配置安装
同样需要为库文件和头文件做编辑
库文件依旧是编辑
vim /etc/ld.so.conf.d/apr-util.conf 添加
/usr/local/apr-util/lib 即可
头文件符号链接
ln -s /usr/local/apr-util/include/ /usr/include/apr-util
bin下是一些工具需要放到环境变量中去
linux系统中关于变量的文件有
/etc/profile 和 /etc/bashrc(系统环境变量影响所有用户的使用)
./bash_profile和
.bashrc(个人环境变量,影响个人使用)
vim /etc/profile
3)编译httpd
cd httpd-2.4.4/
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-mods-shared=most --enable-mpms-shared=all
--enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-z
//指定httpd的安装目录和配置文件的路径
make&&make install //编译配置安装
4)编辑man手册
由于是源码安装我们需要把apache的man路径加入
/etc/man.config
5)为源码安装的apache的头文件设置连接,方便系统识别
ln -s /usr/local/apache/include/ /usr/include/apache
bin文件(可执行的工具)
vim /etc/profile 加入
/use/local/apache/bin
6)编写脚本来控制httpd的启动,停止,重启等 并且受到chkconfig管理
vim httpd
mv httpd /etc/init.d/
chmod a+x /etc/init.d/httpd
脚本内容如下:
#!/bin/bash
#chkconfig:26 80 30
#description: Apache Server
prog=/usr/local/apache/bin/httpd
lockfile=/var/lock/subsys/httpd
pidfile=/var/run/httpd.pid
. /etc/init.d/functions
start() {
if [ -e $lockfile ] ;then
echo "the programe `basename $prog` is started..."
else
echo -e -n "the programe `basename $prog` is starting....."
sleep 2
$prog && echo [ok] && touch $lockfile || echo "fail"
fi
}
stop() {
if [ -e $lockfile ] ;then
echo -e -n "the programe `basename $prog` is stoping......"
sleep 2
killproc `basename $prog` && rm -rf $lockfile && echo "ok" || echo "fail"
else
echo -e "the programe `basename $prog` is stoped"
fi
}
status() {
if [ -e $pidfile ];then
echo "the prog `basename $prog` `cat $pidfile` is running"
else
echo "the prog `basename $prog` is stop"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "usage: start|stop|status"
esac
启动apache服务
至此我们的第一步apache已经完成,接下来就是mysql啦
7)mysql的源码安装
a.将mysql和cmake的源码文件解压到/usr/local/src文件夹下
#tar -zxvf mysql-5.6.10.tar.gz -C /usr/local/src/
#tar �Czxvf cmake-2.8.10.2.tar.gz �CC /usr/local/src
切换到cmake目录下
#cd /usr/local/src/cmake-2.8.10.2/
按照安装说明分别执行:
#./ bootstrap(或者./configure --prefix=/usr/local/cmake)
#make
#make install
这里有一种mysql源码说明文件中的安装方法参照即可
现在来进行mysql的安装吧,先切换到mysql的源码解压目录
#cd /usr/local/src/mysql-5.6.10/
然后执行#cmake .
在执行#make && make install
在安装的过程中可能会遇到一些问题,在这里我列出一个我遇到的问题,以及解决方法
问题(1)�C Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:82 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu , package name is libncurses5-dev ,
on RedHat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:126 (FIND_CURSES)
cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:256 (MYSQL_CHECK_READLINE)
�C Configuring incomplete, errors occurred!
解决方法
cd /mnt/cdrom/Server/
rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm
下载安装之后需要移除目录中的CMakeCache.txt
rm CMakeCache.txt
然后执行cmake . 命令即可
mysql的编译时间不是一般的长,大约需要20分钟左右,当出现以下界面时我们就可以进行下一步了
增加mysql用户,和更改文件所属
当然我们依旧需要把mysql的头文件和库文件以及bin文件加到一些目录中去参考apache的方法即可,需要注意的是编辑库文件的时候后缀必须为.conf
mysql启动后,我们看看能否进入数据库
当出现这个界面时,说明我们的mysql也已经安装成功了,接下来即使php了,那么开始吧。
3)php安装
tar jxvf php-5.4.13.tar.bz.2 -C /usr/local/src/ 解压源码
cd /usr/local/src/php-5.4.13 进入解压目录
./configure --prefix=/usr/local/php --sysconfdir=/etc/php --with-apxs2=/usr/local/apache/bin/apxs --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config 指定php的安装目录以及相关组件的安装
在php的安装过程中同样的又遇到了一个问题
解决方法如下:
cd /mnt/cdrom/Server/ yum install libxm12 yum install libxm12-devel
当不再有问题出现时执行编译:
make&&make install
关于php的头文件和库文件,bin文件,只需要参考apache的相关文件的操作即可
很顺利的安装成功了,这时候我们的LAMP环境基本已经搭建好了,只需要把这几种服务相互支持即可,首先我们在apache的配置文件(在/etc/http/http.conf)中增加一些语句让它能够执行php的页面
这时候我们的环境才真正的搭建好了,让我们测试一下
由于源码搭建的lamp环境 默认的网页目录在/usr/local/apache/htdocs/下,所以我们还是在该目录下编辑一个小网页测试即可
进入/usr/local/apache/htdocs目录下
编辑 vim index.php
<?php
phpinfo ()
?>
用http访问如果出现下面这个界面就说明我们的环境搭建成功了
亦可以参考LAMP环境搭建(rpm安装)中的测试方法,进行测试