文档原位置

一、编译安装apache

  1、解决依赖关系

  httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级。

  升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包(谨慎!小心)。下面是使用源代码的方式行,它们的下载路径为:(~_~)这里不再说到那里下载了,相信你有能力找的到的,呵呵

  2、安装依赖的软件包(当然这里可以认为成需要的编译环境咯!)

  yum -y install pcre-devel

  yum -y install  "Development Libraries"(这个东西可能系统已经有了,不过要小心一点,最好试一下看看是否安装了)

  3、一切准备好了那就开始安装吧!!

  

() 编译安装apr

 tar xf apr-1.4..tar.bz2
cd apr-1.4.
./configure --prefix=/usr/local/apr
make && make install
() 编译安装apr-util

 tar xf apr-util-1.5..tar.bz2
cd apr-util-1.5.
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
(3)编译安装httpd-2.4.

tar xf httpd-2.4..tar.bz2
cd httpd-2.4.
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=most --with-mpm=event
make && make install

二、测试

  1、启动apache时注意问题:

  启动前需要注意,应该先进行SELinux关闭,如果没有关闭的话apache可能不能正常的工作,好有一点就是关于iptables(防火墙)的问题,建议测试阶段先进行关闭。

  2、启动apache服务:

  # setenforce 0

  # service iptables stop

  # /usr/local/apache/bin/apachectl start

  打开浏览器输入本机ip看是否有页面刷新出来,并显示

  It works!

  那么apache服务可以简单的工作了!

  要想有更多的功能那只能修改httpd.conf这个配置文件啦!!(这里就先不介绍了)

三、一些关于apache文件目录的问题

  1、用RPM安装后的Apache配置文件具体位置:

    /etc/httpd/ -------------------------- Apache服务程序根目录

    /etc/httpd/conf/httpd.conf --------- 主配置文件

    /var/www/html --------------------- 网页文档默认根目录

    /var/log/httpd/error_log ---------- 错误日志文件

    /var/log/httpd/access_log -------- 访问日志文件

  2、源码安装的目录文件(因为编译是文件目录不定所以就简单的写一下了):

    主配置文件---------------------- 编译时自己指定的目录--prefix=配置文件的路径

    默认网页目录 ------------------- 安装apache目录下的htdocs目录

    日志文件位置 ------------------- 安装apache目录下的logs目录

    apache服务程序的目录----------安装apache目录下的bin目录

四、常见错误

  #1#

  /usr/local/apache/bin/httpd: symbol lookup error: /usr/local/apache/bin/httpd:   undefined symbol: apr_pool_pre_cleanup_register

原因:未找到正确的apr,apr-util路径
解决:要重新安装apr,apr-util,并且写出正确文件路径。
  --with-apr=/usr/local/bin/apr-1-config \
  --with-apr-util=/usr/local/apr/bin/apu-1-config   

  #2#

  httpd: apr_sockaddr_info_get() failed for redhat
  httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

原因:httpd.conf配置文件中ServerName 与主机不一致导致

解决:修改配置httpd.conf文件中#ServerName 即可

  #3# 

  httpd: Syntax error on line 142 of /usr/local/apache/conf/httpd.conf: Cannot load modules/mod_dir.so into server: /usr/local/apache/modules/mod_dir.so: undefined symbol: apr_array_clear

原因:不能加载mod_dir.so模块(具体不详)

解决:方式如下

    tar -zxvf apr-1.4.6.tar.gz
    tar -zxvf apr-util-1.5.2.tar.gz
    mv ./apr-1.4.6 /usr/local/src/apache/srclib/apr   
    mv ./apr-util-1.5.2 /usr/local/src/srclib/apr-util 
    ./configure 时,后面添加
        --with-included-apr \
        --with-pcre=/usr/local/bin/pcre-config(自己安装的pcre路径)
  #4#
   MPM most does not support dynamic loading.

  解决:--enable-mpms-shared=all

  #5#

  rm: cannot remove `libtoolT': No such file or directory

  解决:

    Vim configure

    把 $RM “$cfgfile” 那行注释掉  

  由于不是一下写好,且前面的内容没有具体的修改,因此带来的不便望谅解!!!  

Linux 源码安装apache 与常见错误解决的更多相关文章

  1. linux源码安装apache

    apache安装之前,需要安装APR.APR-Util和PCRE依赖包 下载 Apache     下载地址: http://httpd.apache.org/download.cgi   (打开找最 ...

  2. linux下源码安装apache服务

    1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...

  3. 烂泥:源码安装apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...

  4. centos7源码安装Apache及Tomcat

    源码安装Apache (1) 一.通过 https://apr.apache.org/  下载 APR 和 APR-util 通过 http://httpd.apache.org/download.c ...

  5. 源码安装apache

    目标:源码安装apache 依赖包:apr.apr-util和pcre.其中pcre正则库要先安装,apr和apr-util(已解压)可以复制到apache下的资源库srclib下. 安装pcre: ...

  6. Linux源码安装JDK1.8

    Linux源码安装Java 1.到官网下载 jdk-8u131-linux-x64.tar.gz 官网地址:http://www.oracle.com/technetwork/java/javase/ ...

  7. mysql-5.5 for linux源码安装

    mysql-5.5 for linux源码安装 1.使用Yum安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison  ...

  8. Centos7源码安装Apache和PHP

    源码安装Apache 安装需要的依赖 yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel​# ...

  9. 源码编译apache报错的解决方法

    源码编译apache报错的解决方法   问题介绍 在源码编译安装httpd时,./configure执行无错误,到make时就报错,在网络上搜索了很多文章,很多方法如换apr-util的低版本并不能很 ...

随机推荐

  1. Java多线程编程之同步器

    同步器 为每种特定的同步问题提供了解决方案 Semaphore Semaphore[信号标:旗语],通过计数器控制对共享资源的访问. 测试类: package concurrent; import c ...

  2. HTML 5的革新:结构之美

    HTML 5是什么,无须我在这里赘述了.对于HTML 5的革新,按我的理解,可以总结为语义明确的标签体系.化繁为简的富媒体支持.神奇的本地数据存储技术.不需要插件的富动画(canvas).强大的API ...

  3. DelphiXE7操作sqlite数据库

    准备工作: 1.用SQLiteExpertPers建立一个sqlite数据库. 2.打开delphi xe7. 一.FireDAC法 设置库联接 1.放入FDConnection1控件 2.放入FDC ...

  4. Spring SimpleJdbcTemplate Querying examples

    Here are few examples to show how to use SimpleJdbcTemplate query() methods to query or extract data ...

  5. Spring入门(11)-Spring与Junit整合

    POM配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3. ...

  6. 关于INTRAWEB ISAPI DLL发布

    怎样将Stand Alone App变为ISAPI Dll? 一是将工程文件中的program改成library,二是将uses里的IWInitStandAlone改成IWInitISAPI,没有该文 ...

  7. Linux下c/c++项目代码覆盖率的产生方法

    最近做了一系列的单元测试相关的工作,除了各种规范及测试框架以外,讨论比较多的就是关于代码覆盖率的产生,c/c++与其他的一些高级语言或者脚本语言相比较而言,例如 Java..Net和php/pytho ...

  8. HDU 3661 Assignments (水题,贪心)

    题意:n个工人,有n件工作a,n件工作b,每个工人干一件a和一件b,a[i] ,b[i]代表工作时间,如果a[i]+b[j]>t,则老板要额外付钱a[i]+b[j]-t;现在要求老板付钱最少: ...

  9. C#中动态加载和卸载DLL

    在C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载.在C#中我们也能使用Assembly.LoadFile实 ...

  10. linux重启oracle 各种方法

    在linux下重启oracle数据库及监听器总结: 方法1: 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME   #进入到oracle的安装目录 dbsta ...