转自:http://apps.hi.baidu.com/share/detail/14650042
在Ubuntu系统下成功实践了Apache的安装配置,其实这个步骤在模块应用中是非常重要的操作,直接影响到模块的加载列表以及使用权限,所以在此介绍一下我的操作流程,上课也会演示 :(一些路径以我自己的系统为例)
1.获取安装源代码:
下载地址:http://www.apache.org/dist/httpd/
版本选择: httpd-2.2.6.tar.gz 06-Sep-2007 19:31 5.7M HTTP Server project
2.系统要求:
· 至少50MB的磁盘空间(Apache10M,以及其它工程所需空间)
· ANSI-C编译器及编译环境:GCC
· 确保准确时间
· Perl 5
· apr/apr-util>=1.2
3.删除已有的Apache:
(1) 停止Apache进程:
ps ax | grep httpd
显示结果:563 …………/usr/sbin/httpd
kill 563
(2) 备份DocumentRoot目录下的文件和配置文件:
cp Apache 安装目录/conf/httpd.conf 备份目录
(3) 防止已有的Web服务器自启动:
/etc/services文件注释下行
#http 80/tcp
/etc/inetd.conf文件注释下行
#http stream tcp nowait root /sur/sbin/httpd
杀掉相关进程kill all –HUP inetd
4.源文件解压:
(1) 进入安装包所在路径:
cd /home/lxycucu/
(2) 解压方法①:
gzip –d httpd-2.2.6.tar.gz
tar –xvf httpd-2.2.6.tar
解压方法②:
tar –zvxf httpd-2.2.6.tar.gz
(3) 进入配置文件夹:
cd httpd-2.2.6
5.路径配置
(1) 配置命令:
./configure
(2) 查看配置帮助选项:
./configure -h或./configure --help
(3) 配置路径(例):(\表示换行,但命令不结束)
./configure --prefix=/usr/local/apache \ (设置安装路径)
--sysconfdir=/etc/httpd (设置配置文件路径)
(4) 布局设置:
Apache源文件包下存在一个config.layout的布局文件,里面存有针对不同平台的路径配置,用户可以设计自己的布局,也可以直接应用文件提供的布局,布局的形式为:
<Layout 布局名>
布局内容
</Layout>
设置布局的命令:
./configure -with-layout=布局名
6. 模块配置:
我的全部配置实例:
./configure --prefix=/usr/local/apache \
--sysconfdir=/etc/httpd \
--enable-so \ (使mod_so模块被编译)
--enable-info \ (使mod_info模块被编译)
--enable-status (使mod_status模块被编译)
7.编译:
在源代码文件夹下输入命令:make(时间很长,需要等待)
8.安装:
在源代码文件夹下输入命令:sudo make install (有些Linux不加sudo可能会报错)
安装完毕后,可以输入命令whereis apache,查看到apache被安装到/usr/local/apache下
9. Apache在Linux下的默认安装目录
路径 描述
./bin 帮助程序和脚本目录
./etc/apache Apache的设置文件目录
./include/apache Apache的头文件目录
./libexec 共享对象文件目录
./sbin 可执行程序包括apachectl log轮换程序目录
./share/cgi-bin 默认的CGI目录
./share/htdocs 默认的文件根目录
./share/htdocs/manual Apache手册
./share/icons 默认的 GIF图片目录
./var/apache/log Log 日志目录
./var/apache/proxy 代理服务器的cache目录
./var/apache/run httpd.pid(包含httpd的id)存在目录
10. 启动Apache:
进入Apache的bin目录,可以输入两种形式的命令:
(1) sudo ./httpd -k start
(2) sudo ./apachectl start
如果不加sudo,会有系统报错。如果用户想更改自己的配置,可以到/etc/httpd目录下找Apache的主配置文件httpd.conf,修改里面的指令