您的位置:首页 > 运维架构 > Apache

Linux系统下安装 apache2.4的过程

2012-12-29 11:10 447 查看


Linux系统下安装 apache2.4.1的过程

 本以为linux下安装apache是件很简单的过程。三命令就可以搞定,jxvf解压,make 编译,make install 安装就OK了。没想到这个过程还颇费周折。可能和环境有关吧。先说一下我的环境。
---------------------------
linux :    cenos5.5 (验证4.8也会碰到以下问题)
apache:  httpd-2.4.1.tar.bz2
-------[root@localhost apache]--------------------
[root@localhost apache] #cd apache

[root@localhost apache]# tar jxvf httpd-2.4.1.tar.bz2    //解压apache的压缩包

[root@localhost apache]# cd httpd-2.4.1   //定位到httpd-2.4.1 文件夹下

[root@localhost httpd-2.4.1]# ls    //查看显示httpd-2.4.1 文件夹下内容

[root@localhost httpd-2.4.1]#./configure --help | more    //查看安装apache配置参数

[root@localhost httpd-2.4.1]#./configure --prefix=/usr/local/apache --enable-so   // 配置apache路径 ,后面跟 --enable-so 参数表示让apache核心装载DSO
[root@localhost httpd-2.4.1]# make   //编译apache
出错了!提示:
configure: error: APR not found. Please read the documentation
在apache官网上可以下载到 apr-1.4.6.tar.gz
解决apr not found问题>>>>
APR和APR-UTIL的下载地址:http://apr.apache.org/download.cgi
[root@localhost apache]# tar -zxf apr-1.4.6.tar.gz
[root@localhost apache]# cd apr-1.4.6
[root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.4.6]# make
[root@localhost apr-1.4.6]# make install

安装完成后,再来编译apache
[root@localhost httpd-2.4.1]# make
又出错了!提示:
configure: error: APR-util not found. Please read the documentation
好吧!还是上面的apache官网地址再下载 apr-util-1.4.1.tar.gz
解决APR-util not found问题>>>>
[root@localhost apache]# tar -zxf apr-util-1.4.1.tar.gz
[root@localhost apache]# cd apr-util-1.4.1
[root@localhost apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.4.1]# make

[root@localhost apr-util-1.4.1]# make install

再来编译apache ,再次出错!提示:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/ , 我X !linux 安装软件之间关联性有时能让人崩溃。
../configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util后出现>>>>>
[root@localhost apache]# ./configure –help | grep pcre
--with-pcre=PATH Use external PCRE library

下载地址:http://ftp.exim.llorien.org/pcre/
下载pcre-8.30.zip ,列表文件较多,一般浏览器会有搜索功能,你可ctrl+f 搜索定位后下载。
[root@localhost apache]#unzip -o pcre-8.30.zip
[root@localhost apache]#cd pcre-8.30
[root@localhost pcre-8.30]#./configure --prefix=/usr/local/pcre
[root@localhost pcre-8.30]#make
[root@localhost pcre-8.30]#make install

将apr-1.4.6 拷贝到httpd-2.4.3/srclib/apr文件夹
将apr-util-1.4.1
拷贝到httpd-2.4.3/srclib/apr-util文件夹 (好多参考文档都少了这一步)

[root@localhost apache]
#cd apache

[root@lamp opt]# cp -rf apr-1.4.6 httpd-2.4.3/srclib/apr
[root@lamp opt]# cp -rf apr-util-1.4.1 httpd-2.4.3/srclib/apr-util 这两句话是为了防止,安装时报如下错误 Configur:error:Bundled APR requested but not found at ./srclib/. Download …
和可能出现的错误httpd: Syntax error on line 140 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_dir.so into server: /usr/local/apache2/modules/mod_dir.so: undefined symbol:

apr_array_clear

编译Apache
[root@localhost opt]# cd httpd-2.4.1
[root@localhost httpd-2.4.1]# ./configure --prefix=/usr/local/apache --enable-so –enable-mods-shared=most --with-mpm=worker --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
--with-included-apr
  注意,这里后面跟的参数,一定要与前面安装apr 和apr-util的路径一致。
[root@localhost httpd-2.4.1]# make

[root@localhost httpd-2.4.1]# make install
这次编译安装应该不会再报任何错误了。哈哈!!

启动apache
[root@localhost bin]# pwd
/usr/local/apache/bin
[root@localhost bin]# apachectl stop 停止
[root@localhost bin]# apachectl start 启动

查看80端口是否被占用
[root@localhost conf]#netstat -an | grep :80

查看apache 启动服务是否启动
[root@localhost bin]# ps -aux | grep httpd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 2866 0.0 1.2 25164 9556 ? Ss 22:45 0:00 /usr/sbin/httpd -k start
apache 2867 0.0 0.7 25300 5556 ? S 22:45 0:00 /usr/sbin/httpd -k start
apache 2868 0.0 0.6 25300 5444 ? S 22:45 0:00 /usr/sbin/httpd -k start
apache 2869 0.0 0.6 25300 5444 ? S 22:45 0:00 /usr/sbin/httpd -k start
apache 2870 0.0 0.7 25300 5556 ? S 22:45 0:00 /usr/sbin/httpd -k start
apache 2871 0.0 0.6 25164 4796 ? S 22:45 0:00 /usr/sbin/httpd -k start
apache 2872 0.0 0.6 25164 4796 ? S 22:45 0:00 /usr/sbin/httpd -k start
apache 2873 0.0 0.6 25164 4796 ? S 22:45 0:00 /usr/sbin/httpd -k start
apache 2874 0.0 0.6 25164 4796 ? S 22:45 0:00 /usr/sbin/httpd -k start
root 3141 0.0 0.0 4244 676 pts/1 R+ 22:48 0:00 grep httpd

下面访问一下apache默认页是否能打开。http://ip:80/index.html
又提示了错误:



难道是端口被占用了?修改apache的配置文件
/usr/local/apache/conf/httpd.conf 配置文件
[root@localhost conf] vi httpd.conf
找到下面一行:
Listen 80 把80改成其它端口,如8080 、8800 只要没被占用就行。
找到下面一行:
ServerName http://www.example.com/ 改成本机ip加端口号,如:192.168.0.105:80

  端口改来改去,一直都报那个错误。由于之前没有在linux下安装apache的经验,与是想找一下apache默认运行的哪个页面。于是,找到了,..../apache/htdocs/index.html 文件(受tomcat的误导)!其实不然,真正运行的是 /var/www/html 目录下的文件
You don't have permission to access /index.html on this server
真正的错误在这句提示上。因为我方位的文件权限不足够。那给文件加个权限吧!
在/var/www/html 创建个文件index.html
[root@localhost html]# chmod 766 index.html
Ok!再来方位apache ,页面正常打开了!过程很纠结,结局很美好!

-----------小结--------------
需要安装的文件:
apr-1.4.6
apr-util-1.4.1.tar.bz2
pcre-8.30.zip

/usr/local/apache   apache的安装目录
/usr/local/apache/conf/httpd.conf    配置文件
/usr/local/apache/bin/ apachectl stop/start   停止/启动程序
/var/www/html/    在这个文件夹下创建可以访问的页面

安装apache 提示APR not found 解决方法
推荐方法,注意版本号。
1.下载apr安装包: http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/apr
make && make install
2.下载apr-util安装包: http://labs.mop.com/apache-mirror//apr/apr-util-1.4.1.tar.gz tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
3.下载pcre安装包: http://cdnetworks-kr-2.dl.sourceforge.net/project/pcre/pcre/8.30/pcre-8.30. href="http://www.linuxso.com/command/zip.html" target=_blank>zip
unzip pcre-8.30.zip
cd pcre-8.30
./configure --prefix=/usr/local/pcre
make && make install
4.安装httpd包: http://labs.mop.com/apache-mirror/httpd/httpd-2.4.2.tar.gz tar zxvf httpd-2.4.2.tar.gz

cd ..

cp -rf apr-1.4.6 httpd-2.4.2/srclib/apr

cp -rf apr-util-1.5.1 httpd-2.4.2/srclib/apr-util

这两句话是为了防止,安装时报如下错误 Configur:error:Bundled APR requested but not found at ./srclib/. Download …

和错误httpd: Syntax error on line 140 of /usr/local/apache2/conf/httpd.conf: Cannot load modules/mod_dir.so into server: /usr/local/apache2/modules/mod_dir.so: undefined symbol: apr_array_clear

cd httpd-2.4.2
[root@localhost opt]# cd httpd-2.4.2
[root@localhost httpd-2.4.2]# ./configure --prefix=/usr/local/apache --enable-so –enable-mods-shared=most --with-mpm=worker --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util
--with-pcre=/usr/local/pcre --with-included-apr

make && make install
安装完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: