`
cwqcwk1
  • 浏览: 86822 次
文章分类
社区版块
存档分类
最新评论

Linux下编译安装Apache及模块

 
阅读更多
Apache是时下最流行的Web服务器软件之一,支持多平台,可快速搭建web服务,而且稳定可靠,并可通过简单的API扩充,就可以集成PHP/Python等语言解释器。文章这里讲解如何在linux下编译 Apache,以及如何编译Apache模块。

linux下编译Apache

下载Apache源代码,编译过程如下:
$wgethttp://apache.fayea.com//httpd/httpd-2.4.12.tar.gz
$ tar -zxfhttpd-2.4.12.tar.gz
$ cd httpd-2.4.12
$ ./configure --prefix=/usr/local/apache/
$ make && make install

编译过程中,可能会出现了以下错误:
$./configure --prefix=/usr/local/apache/
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... no
configure: error: APR not found. Please read the documentation.
这里是因为Apache编译依赖apr,没找到 apr 就无法正常安装。另外,Apache还依赖 apr-util 和pcre

编译Apache依赖

APR是Apache可移植运行库,封装了所有操作系统调用,用来实现Apache内部组件对操作系统资源的使用,提高Apache的可移植性。APR和Apache分离出来,避免Apache开发过程中,还要针对不同的平台做不同处理。apr-util 相当于APR工具集。PCRE是实现正则的perl库。

编译和安装 APR
$wgethttp://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
$ tar -zxf apr-1.5.2.tar.gz
$ cd apr-1.5.2
$ ./configure --prefix=/usr/local/apr
$ make && make install

编译和安装 apr-util
$wgethttp://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz
$ tar -zxf apr-util-1.5.3.tar.gz
$ cd apr-util-1.5.3
$ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
$ make && make install

编译和安装 pcre
$wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
$tar -zxf pcre-8.37.tar.gz
$ cd pcre-8.37
$ ./configure --prefix=/usr/local/pcre
$ make && make install

重新编译Apache
安装Apache依赖后,编译时加多几个参数,重新编译Apache
$./configure --prefix=/usr/local/apache/\
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre
$make && make install

编译Apache模块

这里以mod_concatx为例,说明如何编译Apache模块,步骤很简单。mod_concatx是apache模块,可以用来合并多个js/css,有效提高js/css加载速度
编译 mod_concatx 模块
$ wgethttp://apmod.googlecode.com/svn/trunk/mod_concatx/mod_concatx.c
$ ln -s/usr/local/apache/bin/apxs /usr/local/bin/apxs
$ apxs -cmod_concatx.c

编译并安装mod_concatx 模块
$apxs -iacmod_concatx.c
这种编译方式会自动安装Apache模块,安装成功后,可以在Apache 模块目录找到 mod_concatx.so,并且 conf/httpd.conf 配置也会加上mod_concatx 模块信息

启动Apache
$/usr/local/apache/bin/httpd -k start
注:Apache启动后,以后台服务运行。如果想关闭Apache, 就使用以下命令:
$ /usr/local/apache/bin/httpd -k stop

查看已加载的Apache模块
$ /usr/local/apache/bin/httpd -M
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_core_module (shared)
access_compat_module (shared)
auth_basic_module (shared)
reqtimeout_module (shared)
filter_module (shared)
mime_module (shared)
log_config_module (shared)
env_module (shared)
headers_module (shared)
setenvif_module (shared)
version_module (shared)
unixd_module (shared)
status_module (shared)
autoindex_module (shared)
dir_module (shared)
alias_module (shared)
concatx_module (shared)
说明mod_concatx已加载!

Apache无法正常运行的解决办法

1. 80端口被占用

$ netstat -anp | grep :80
找到占用端口的Pid,kill掉即可。

2. 防火墙默认禁用80端口

$ vi /etc/sysconfig/iptables
加多一行记录
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
保存后,重启防火墙。
$ service iptables restart

2015/6/11 补充Linux下Apache无法正常运行的解决办法
参考:http://blog.csdn.net/mycwq/article/details/46426261
分享到:
评论

相关推荐

    linux下编译安装mysql,apache,php文档

    ### Linux环境下编译安装MySQL、Apache与PHP的详细步骤 #### 搭建环境与安装Linux 1. **安装虚拟机:** ...通过以上步骤,可以完成在Linux环境下MySQL、Apache及PHP的编译安装,构建一个功能齐全的LAMP开发环境。

    linux离线安装apache

    在Linux环境下离线安装Apache服务器涉及多个步骤,包括但不限于安装必要的开发工具如GCC、G++等,以及配置相关的库文件如PCRE、OpenSSL等。本文将详细介绍整个流程,并针对特定的操作步骤提供指导。 #### 二、准备...

    linux下编译安装Apache.MySQL.PHP环境.pdf

    3. 配置,确保包含Apache模块:`./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql` 4. 编译和安装:`make && make install` 在所有组件安装完成后,需要配置Apache以解析PHP,...

    linux下编译安装Apache.MySQL.PHP环境借鉴.pdf

    在Linux环境下,构建Apache、MySQL和PHP(通常称为LAMP环境)的应用是非常常见的需求,尤其对于开发者和系统管理员来说。这篇教程将引导你通过源代码编译的方式安装这些组件,这种方式能够让你更好地理解和控制每...

    linux 下apache2.4.26编译安装所需文件

    完成上述步骤后,我们可以开始配置和编译Apache 2.4.26。进入Apache源代码目录: ```bash cd ../httpd-2.4.26 ``` 然后配置Apache,这里可以根据实际需求添加或移除模块。例如,如果你不需要SSL支持,可以不包含`--...

    linux下编译安装Apache.MySQL.PHP环境参考.pdf

    要编译Apache,首先从Apache官网下载源代码,例如`httpd-2.x.x.tar.gz`。解压后,进入源代码目录: ```bash tar xvf httpd-2.x.x.tar.gz cd httpd-2.x.x/ ``` 配置Apache,指定安装路径和其他选项: ```bash ./...

    linux下安装apache

    Linux 下安装 Apache Linux 下安装 Apache 是一个复杂的过程,需要安装多个依赖项,包括 APR、APR-UTIL 和 PCRE。在本文中,我们将详细介绍 Linux 下安装 Apache 遇到的问题,以及解决办法。 一、安装前准备 在...

    window环境下apache模块开发工具apxs及安装使用详细说明

    在Windows环境下,apxs(Apache eXtenSion tool)是一个非常重要的工具,它简化了Apache模块的编译和安装过程。本文将详细介绍apxs的安装和使用方法,以及在Windows环境中进行Apache模块开发的相关知识点。 **apxs...

    Linux下Apache安装

    本文将深入解析Linux环境下Apache的安装流程,涵盖解压缩、配置、编译、安装及启动验证等步骤。 #### 一、解压缩Apache源码包 首先,你需要获取Apache的源码包,通常是通过下载.tar.bz2格式的压缩文件。在本例中,...

    Linux下安装并配置Apache+PHP+MySQL

    ### Linux下安装并配置Apache+PHP+MySQL #### 一、前言 本文将详细介绍如何在Linux环境下安装和配置Apache Web服务器、PHP解释器以及MySQL数据库管理系统,搭建一个完整的LAMP(Linux Apache MySQL PHP)环境。该...

    linux系统下安装及监控apache

    本指南将详细介绍如何在Linux系统下安装Apache,并提供监控Apache服务的方法。 ### 一、准备工作 在开始安装Apache之前,确保你的Linux系统是最新的。你可以通过运行以下命令来更新系统: ```bash sudo yum ...

    linux apache2 编译成功

    本文将详细介绍如何在Linux环境下编译安装Apache2,以此对应“linux apache2 编译成功”的主题。 首先,确保你的系统中已经安装了必要的依赖库。Apache2编译需要的依赖包括: 1. **GCC**:GNU Compiler Collection...

    linux下安装apache服务器

    本篇将详细介绍如何在Linux环境下安装Apache服务器,以及涉及到的相关知识点。 首先,我们需要理解安装Apache的基础步骤: 1. **更新系统**: 在安装任何软件之前,先确保系统是最新的。使用`sudo apt-get update...

    Linux系统上把PHP编译进Apache静态内核

    在编译Apache时,需要使用`./configure`命令,并通过`--disable-module=all`禁用所有默认模块,然后启用基本模块如access、log_config、dir和mime。若选择DSO模式,应添加`--enable-module=so`选项。但在这里,我们...

    linux 安装Apache+openssl 过程

    整个安装过程需要熟练使用Linux命令行工具,如wget下载文件,tar解压文件,gcc编译源码,以及configure、make、make install等命令来配置、编译和安装软件包。如果遇到错误,可能需要查阅相关的日志文件或者错误信息...

    Linux CentOS离线环境下安装Apache所需要的完整包

    在Linux CentOS离线环境下安装Apache服务器,特别是在没有网络连接的情况下,需要手动下载并准备所有必要的依赖包。这个压缩包文件提供了在这样的环境中成功安装Apache及其扩展模块mod_wsgi所需的所有组件。下面将...

    Linux下安装apache2

    ### Linux下安装Apache2知识点详解 #### 一、概述 在Linux系统中安装Apache2是一项基本但非常重要的技能,尤其对于Web服务器管理员来说更是如此。本文将详细介绍如何在Linux环境下安装配置Apache2,并确保其正常...

    linux下subversion+apache server搭建

    Linux环境下搭建Subversion(简称svn)服务器,主要涉及到两个方面:一是Subversion自身服务的搭建,二是与Apache服务器的集成。Subversion是一个开源的版本控制系统,用于跟踪文件和目录的变更,便于团队协作开发。...

Global site tag (gtag.js) - Google Analytics