写在前面:
网上固然有很多教程关于LAMP的安装,但自己折腾一番后,感觉几篇教程都比较杂乱。很感谢前人的分享,我这里更多是作为一篇学习笔记,以及讲讲自己编译安装时碰到的问题。这个笔记着重于编译安装,配置方面暂且搁置。
一:准备
系统环境:ubuntu 12.04
首先是安装apache必不可少的几个库,缺少都会报错误。
(我把这些库都下载到了/usr/local/src)
1:apr库
wget http://mirror.bit.edu.cn/apache/apr/apr-1.5.2.tar.gz
2:apr-util:
wge http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
3:pcre:
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
然后是apache的源文件:
1:wget http://www.apache.org/dist/httpd/httpd-2.4.18.tar.gz
二:编译安装
1:编译安装pcre库
cd /usr/local/src
tar -zxf pcre-8.37.tar.gz
cd pcre-8.37
./configure --prefix=/usr/local/pcre
make
make install
解压apr,apr-util,httpd
cd/usr/local/src
tar -zxf apr-1.5.2.tar.gz
tar -zxf apr-util-1.5.4.tar.gz
tar-zxf httpd-2.4.10.tar.gz
之后需要将解压后的apr ,apr-util放到httpd/srclib中
mv apr-util-1.5.4 httpd-2.4.18/srclib/apr-util
mv apr-1.5.2 httpd-2.4.18/srclib/apr
注:执行configure配置时,若没有安装相应的开发包,会报错:
checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures
解决方案:安装zlib-devel openssl-devel。
(两者在 RedHat/Fedora下 为zlib-devel openssl-devel,Debian/Ubuntu下包名字则为zlib1g-dev libssl-dev,注意区分,不然会unable to locate package)
解决完后就是配置和编译安装了
./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre --with-included-apr --enable-module=so --enable-deflate --enable-expires --enable-ssl --enable-headers --enable-module=rewrite --enable-static-support --enable-mods-shared=all
三:apache设置
cp -f /usr/local/apache/bin/apachectl /etc/init.d/httpd
拷贝文件到init.d里
sed-i '2a # chkconfig: - 85 15' /etc/init.d/httpd
sed -i '3a # description: Apache is a World Wide Web server. It is used to server' /etc/init.d/httpd
想要将Apache作为服务启动必须要这两句,不要问为什么,它就是这样的
chmod +x /etc/init.d/httpd
为httpd文件设置可执行权限,虽然通过ll发现在执行前httpd已经有可执行权限了,但是还是加上吧
chkconfig 可能会没安装,可以apt-get install
chkconfig --add httpd
将httpd设置为服务
chkconfig httpd on
将httpd的2、3、4、5运行级设置为On,即开机启动
rm -rf /etc/httpd
ln -s /usr/local/apache/ /etc/httpd
/etc/httpd为运行目录
cd /usr/sbin/
将这两个文件链接过来,以适应init.d脚本
ln -fs /usr/local/apache/bin/httpd
ln -fs /usr/local/apache/bin/apachectl
将日志链接到log目录
cd /var/log
rm -rf httpd/
ln -s /usr/local/apache/logs httpd
groupadd apache
useradd -g apache -s /sbin/nologin apache
添加apache组和apache用户
启动关闭等:
Apache的启动、关闭、重启、状态命令:
/etc/init.d/httpd (start|stop|restart|status)
若报错:
httpd: Could not reliably determine the server's fully qualified domain name
修改/etc/httpd/conf/httpd.conf
将里面的 #ServerName 注释去掉即可
若报错:
Permission denied: AH00072: make_sock: could not bind to address [::]:80
则使用root权限开启即可。
登陆浏览器127.0.0.1,弹出It works!
即可
关于更改网站根目录,则在配置文件下修改DocumentRoot 即可。默认为 "/usr/local/apache/htdocs"
找到 /usr/local/apache/conf/httpd.conf
里面有关于很多apache的配置,根据需要查找对应的配置。