step1: 查看是否已安装apache软件,如果有则卸载原有的apache step2: 先装gcc和make yum -y install gcc yum -y install make
yum -y install gcc-c++ 没有这个gcc-c++一会编译不prce
step3: 从 http://httpd.apache.or 下载apache源码包httpd-2.4.4.tar.gz
然后从 http://apr.apache.org 下载apr-1.4.6.tar.gz和apr-util-1.5.1.tar.gz
然后从 http://sourceforge.net/ 下载pcre-8.32.tar.gz和pcre-devel-8.32.tar.gz
step4: 用ftp软件远程连接linux服务器,或者u盘把压缩包拉到服务器,把下载的压缩包放到一个自定义的目录下。切到下载好的源码包目录,本人是/root/data/compress-files
4.1 安装apr:
tar -zvxf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/apr
make && make install
4.2 安装apr-util
tar -zvxf apr-util-1.5.1.tar.gz
cd apr-util-1.5.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
4.3 安装pcre
tar -zvxf pcre-8.32.tar.gz
cd pcre-8.32
./configure
make && make install
4.4 安装pcre-devel
如果已经安装好了pcre 一定要安装
tar –zxvf pcre-devel-8.32.tar.gz
cd pcre-devel-8.32
./configure
make && make install
上面几个包互相依赖,顺序不能乱
4.5 安装apache 一定要先装上面那三个不然编译不了
tar -zvxf httpd-2.4.4.tar.gz
cd httpd-2.4.4
./configure --prefix=/usr/local/apache –with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make && make install
这样,apache就安装到了/usr/local/apache目录下。
step5 启动apche服务。由于还没把apache加入到linux的服务启动中,所以这时候如果 用 #service httpd start 命令去启动apache 会报 httpd service not found错误.
在Linux下用源代码方式编译安装完Apache后,启动关闭Apache可以通过如下命令实现:
/usr/local/apache/bin/apachectl start | stop | restart
如果出现 ttpd: Could not reliably determine the server‘s fully qualified domain name 错误 ,需要修改 配置文件里面的 ServiceName
解决步骤: vi /usr/local/apache/conf/http.conf 将里面的#ServerName exampleName:80注释去掉,改成ServerName localhost:80即可
再次启动服务:/usr/local/apache/bin/apachectl restart
然后可以通过浏览器访问http://localhost:80,如果页面显示“It works!”,即表示apache已安装并启动成功。
step6 把apache加入linux服务自启动中
如果想将httpd列入系统自动启动的服务,可以直接将上述的apachectl文件拷贝到 /etc/rc.d/init.d 中,然后在相应的启动级别如3,5中加入链接即可。命令如下:
cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd
链接文件的S61是启动时的序号。当init.d目录下有httpd脚本后,我们就可以通过service命令来启动关闭apache了。在任意路径下执行:
service httpd start | stop | restart
脚本中没有输入提示信息,但命令已经执行了。这时有个问题就是:虽然apache已经可以自动启动,但在linux的服务列表中却看不到它,比如运行 ntsysv或红帽子的chkconfig --list指令。要添加服务,一般通过chkconfig --add xxx来实现,但需要脚本中有相应的信息才行,否则chkconfig就会提示:xxx 服务不支持 chkconfig。所以我们首先编辑httpd脚本,在第2行添加如下注释信息:
# chkconfig: 35 61 61
# description: Apache
第一行的3个参数意义分别为:在哪些运行级别启动httpd(3,5);启动序号(S61);关闭序号(K61)。注意:第二行的描述必须要写!
保存后执行:chkconfig --add httpd
就将httpd添加入服务了。在rc3.d、rc5.d路径中将来就会出现S61httpd的链接,其他运行级别路径中会出现K61httpd的链接。
运行chkconfig --list就可以看到httpd的服务了。
step7 配置/usr/local/apache/conf下的http.conf文件(先备份)。备份:#cp /usr/local/apache/conf/http.conf /usr/local/apache/conf/http.conf.bak
然后 vi /usr/local/apache/conf/http.conf 修改内容如下:
编辑httpd,在第二行加入如下信息:
# chkconfig: 345 85 15
# description: Activates/Deactivates Apache Web Server
以上两句必须添加,否则会提示“httpd服务不支持”;第一行3个数字参数意义分别为:哪些Linux级别需要启动httpd(3,4,5);启动序号(85);关闭序号(15)。
step8 添加启动信息(Ubuntu与CentOS有区别)
chkconfig –add httpd
查看是否添加成功
chkconfig --list
至此,apache安装就成功了,并且也把apache加入开机启动了。
然后可以通过浏览器访问http://localhost:80,如果页面显示“It works!”,即表示apache已安装并启动成功。
原文:http://www.cnblogs.com/geek-fun/p/6937071.html