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 模块
这种编译方式会自动安装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 1. **安装虚拟机:** ...通过以上步骤,可以完成在Linux环境下MySQL、Apache及PHP的编译安装,构建一个功能齐全的LAMP开发环境。
在Linux环境下离线安装Apache服务器涉及多个步骤,包括但不限于安装必要的开发工具如GCC、G++等,以及配置相关的库文件如PCRE、OpenSSL等。本文将详细介绍整个流程,并针对特定的操作步骤提供指导。 #### 二、准备...
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(通常称为LAMP环境)的应用是非常常见的需求,尤其对于开发者和系统管理员来说。这篇教程将引导你通过源代码编译的方式安装这些组件,这种方式能够让你更好地理解和控制每...
完成上述步骤后,我们可以开始配置和编译Apache 2.4.26。进入Apache源代码目录: ```bash cd ../httpd-2.4.26 ``` 然后配置Apache,这里可以根据实际需求添加或移除模块。例如,如果你不需要SSL支持,可以不包含`--...
要编译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 是一个复杂的过程,需要安装多个依赖项,包括 APR、APR-UTIL 和 PCRE。在本文中,我们将详细介绍 Linux 下安装 Apache 遇到的问题,以及解决办法。 一、安装前准备 在...
在Windows环境下,apxs(Apache eXtenSion tool)是一个非常重要的工具,它简化了Apache模块的编译和安装过程。本文将详细介绍apxs的安装和使用方法,以及在Windows环境中进行Apache模块开发的相关知识点。 **apxs...
本文将深入解析Linux环境下Apache的安装流程,涵盖解压缩、配置、编译、安装及启动验证等步骤。 #### 一、解压缩Apache源码包 首先,你需要获取Apache的源码包,通常是通过下载.tar.bz2格式的压缩文件。在本例中,...
### Linux下安装并配置Apache+PHP+MySQL #### 一、前言 本文将详细介绍如何在Linux环境下安装和配置Apache Web服务器、PHP解释器以及MySQL数据库管理系统,搭建一个完整的LAMP(Linux Apache MySQL PHP)环境。该...
本指南将详细介绍如何在Linux系统下安装Apache,并提供监控Apache服务的方法。 ### 一、准备工作 在开始安装Apache之前,确保你的Linux系统是最新的。你可以通过运行以下命令来更新系统: ```bash sudo yum ...
本文将详细介绍如何在Linux环境下编译安装Apache2,以此对应“linux apache2 编译成功”的主题。 首先,确保你的系统中已经安装了必要的依赖库。Apache2编译需要的依赖包括: 1. **GCC**:GNU Compiler Collection...
本篇将详细介绍如何在Linux环境下安装Apache服务器,以及涉及到的相关知识点。 首先,我们需要理解安装Apache的基础步骤: 1. **更新系统**: 在安装任何软件之前,先确保系统是最新的。使用`sudo apt-get update...
在编译Apache时,需要使用`./configure`命令,并通过`--disable-module=all`禁用所有默认模块,然后启用基本模块如access、log_config、dir和mime。若选择DSO模式,应添加`--enable-module=so`选项。但在这里,我们...
整个安装过程需要熟练使用Linux命令行工具,如wget下载文件,tar解压文件,gcc编译源码,以及configure、make、make install等命令来配置、编译和安装软件包。如果遇到错误,可能需要查阅相关的日志文件或者错误信息...
在Linux CentOS离线环境下安装Apache服务器,特别是在没有网络连接的情况下,需要手动下载并准备所有必要的依赖包。这个压缩包文件提供了在这样的环境中成功安装Apache及其扩展模块mod_wsgi所需的所有组件。下面将...
### Linux下安装Apache2知识点详解 #### 一、概述 在Linux系统中安装Apache2是一项基本但非常重要的技能,尤其对于Web服务器管理员来说更是如此。本文将详细介绍如何在Linux环境下安装配置Apache2,并确保其正常...
Linux环境下搭建Subversion(简称svn)服务器,主要涉及到两个方面:一是Subversion自身服务的搭建,二是与Apache服务器的集成。Subversion是一个开源的版本控制系统,用于跟踪文件和目录的变更,便于团队协作开发。...