共计 5181 个字符,预计需要花费 13 分钟才能阅读完成。
CentOS-6.4-minimal 版中源码安装 Apache-2.2.29
———————————————————————————————————————-
源码安装软件时常见的三个步骤
1) 配置环境: 通常命令为./configure –prefix=DIR(即指定软件安装目录), 如果还想启用其它功能, 可在后面接着添加指令
比如下面的 –enable-ssl 用于启用 Apache 的 SSL 模块
若不想使用操作系统缺省的 SSL 库, 还可通过 –with-ssl=DIR 指定自己编译的 SSL 库
2) 编译源码: 通常命令为 make
3)安装应用: 通常命令为 make install
———————————————————————————————————————-
注意事项
1)httpd-2.2.29 目录下的 configure 工具是 GNU 软件基金会推出的专门用于源码发布的工具
2) 配置环境时若出现这个错误 [configure: error: no acceptable C compiler found in $PATH], 是说明缺少 GCC 编译环境
这时执行[yum -y install gcc] 命令安装编译源码所需的工具和库就可以了
3) 执行 yum 命令时若出现这个错误 [Error: database disk image is malformed], 是说明 yum 的缓存出错, 需要清理缓存
这时执行[yum clean dbcache] 命令即可
4) 配置环境时 configure 的主要工作就是生成 Makefile, 编译源码时的 make 命令就是根据 Makefile 来进行编译的
5) 最好以 root 安装和启动 Apache, 以 root 运行之后,apache 就会把它的派生进程切换到非 root 用户
———————————————————————————————————————-
安装 Perl5
[root@CentOS64 software]# yum -y install wget
[root@CentOS64 software]# wget http://www.cpan.org/src/5.0/perl-5.20.1.tar.gz
[root@CentOS64 software]# tar zxvf perl-5.20.1.tar.gz
[root@CentOS64 software]# cd perl-5.20.1
[root@CentOS64 perl-5.20.1]# ./Configure -des -Dprefix=/app/perl
[root@CentOS64 perl-5.20.1]# make
[root@CentOS64 perl-5.20.1]# make install
[root@CentOS64 perl-5.20.1]# perl -v
———————————————————————————————————————-
安装 OpenSSL
[root@CentOS64 software]# tar zxvf openssl-1.0.1i.tar.gz
[root@CentOS64 software]# cd openssl-1.0.1i
[root@CentOS64 openssl-1.0.1i]# ./config –prefix=/app/openssl
[root@CentOS64 openssl-1.0.1i]# make
[root@CentOS64 openssl-1.0.1i]# make install
[root@CentOS64 openssl-1.0.1i]# /app/openssl/bin/openssl version
———————————————————————————————————————-
安装 Apache
[root@CentOS64 software]# tar zxvf httpd-2.2.29.tar.gz
[root@CentOS64 software]# cd httpd-2.2.29
[root@CentOS64 httpd-2.2.29]# rpm -qa | grep http
[root@CentOS64 httpd-2.2.29]# ./configure –prefix=/app/apache –enable-ssl –with-ssl=/app/openssl
[root@CentOS64 httpd-2.2.29]# make
[root@CentOS64 httpd-2.2.29]# make install
———————————————————————————————————————-
Apache 的目录结构
bin—— 可执行文件(其实 apache 的可执行文件就一个:httpd, 它就是 apache 的主程序)
使用[/app/apache/bin/httpd -l] 命令可以查看 apache 编译了多少模块, 即列出它支持的所有模块
如果其中包含[mod_so.c], 则说明 apache 具备了动态加载模块的功能
比如说想新增加一个模块, 那么就不用再编译一次 apache 了, 只要编译一下这个模块, 再在配置文件里面 load 进去就行了
conf—– 配置文件(apache 只有一个配置文件)
htdocs— 缺省的网站根目录(即启动 apache 后, 别人访问 apache 时, 实际访问的就是该目录里面的东西)
include– 头文件
logs—– 日志
man—— 手册
manual— 联机文档
modules– 存放一些编译好的模块, 供 apache 启动时动态加载
———————————————————————————————————————-
访问 Apache
由于 /app/apache/bin/ 目录下的 apache 主程序 httpd 支持很多参数, 容易搞混
为了方便用户,apache 提供了一个名为 apachectl 的启动脚本, 它也是位于 /app/apache/bin/ 目录下的, 通过 [vi apachectl] 就可以看到脚本内容
启动 apache 时, 在 apache2.0 版本中, 若想启动支持 SSL 的 apache, 则需执行 [apachectl startssl] 命令
而在 2.2 中, 直接执行 [apachectl start] 即可启动并支持 SSL. 当然前提是在 httpd.conf 中配置 [Include conf/extra/httpd-ssl.conf]
[root@CentOS64 bin]# /app/apache/bin/apachectl start
[root@CentOS64 bin]# /app/apache/bin/apachectl restart
[root@CentOS64 bin]# /app/apache/bin/apachectl stop
———————————————————————————————————————-
Apache 安装并初次启动后, 常见的修改参数
1) 启动或重启 apache 时, 控制台会打印下面的信息
httpd: Could not reliably determine the server’s fully qualified domain name, using 192.168.0.103 for ServerName
解决办法是修改 /app/apache/conf/httpd.conf 文件, 取消注释[#ServerName www.example.com:80], 再重启 apache 就看到效果了
2)apache 启动后通过电脑访问 http://192.168.0.102/, 发现无法访问(成功访问时页面会显示 ”It works!”)
解决办法是修改 /etc/sysconfig/iptables 文件, 增加一行[-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT]
注意这一样要添加到默认的 22 端口规则的下面, 若添加到 iptables 文件的尾部, 会有可能导致防火墙启动失败
接着再执行[service iptables restart] 命令重启防火墙即可, 不需要重启 Linux
详细说明见 http://www.linuxidc.com/Linux/2014-09/107343.htm )当 /app/apache/htdocs/ 中默认的 index.html 不存在时, 访问 apache 会显示 htdocs 目录下的文件列表, 我们可以设置其不显示文件列表
解决办法是修改 /app/apache/conf/httpd.conf 文件, 注释掉[Options Indexes FollowSymLinks] 这一行即可
然后再访问 http://192.168.0.102/, 就会看到熟悉的 ”Forbidden:You don’t have permission to access / on this server.”
4) 如果想把 apache 加入系统自启动, 常见的方法有两种: 修改配置文件和将 apache 注册为系统服务 (还有一种是在 ntsysv 命令调出的图形界面中操作的)
修改配置文件的方式最简单, 在 /etc/rc.d/rc.local 文件尾部加入[/app/apache/bin/apachectl start] 即可
———————————————————————————————————————-
@create Sep 26, 2014 9:14:43 AM
@author 玄玉 <http://www.linuxidc.com>
————————————– 分割线 ————————————–
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm
RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm
LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm
LAMP+Xcache 环境搭建 http://www.linuxidc.com/Linux/2014-05/101087.htm
————————————– 分割线 ————————————–
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14