Linux 源码安装apache 与常见错误解决
一、编译安装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
#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模块(具体不详)
解决:方式如下
解决:--enable-mpms-shared=all
#5#
解决:
Vim configure
把 $RM “$cfgfile” 那行注释掉
Linux 源码安装apache 与常见错误解决的更多相关文章
- linux源码安装apache
apache安装之前,需要安装APR.APR-Util和PCRE依赖包 下载 Apache 下载地址: http://httpd.apache.org/download.cgi (打开找最 ...
- linux下源码安装apache服务
1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...
- 烂泥:源码安装apache
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...
- centos7源码安装Apache及Tomcat
源码安装Apache (1) 一.通过 https://apr.apache.org/ 下载 APR 和 APR-util 通过 http://httpd.apache.org/download.c ...
- 源码安装apache
目标:源码安装apache 依赖包:apr.apr-util和pcre.其中pcre正则库要先安装,apr和apr-util(已解压)可以复制到apache下的资源库srclib下. 安装pcre: ...
- Linux源码安装JDK1.8
Linux源码安装Java 1.到官网下载 jdk-8u131-linux-x64.tar.gz 官网地址:http://www.oracle.com/technetwork/java/javase/ ...
- mysql-5.5 for linux源码安装
mysql-5.5 for linux源码安装 1.使用Yum安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison ...
- Centos7源码安装Apache和PHP
源码安装Apache 安装需要的依赖 yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel# ...
- 源码编译apache报错的解决方法
源码编译apache报错的解决方法 问题介绍 在源码编译安装httpd时,./configure执行无错误,到make时就报错,在网络上搜索了很多文章,很多方法如换apr-util的低版本并不能很 ...
随机推荐
- Java 容器相关知识全面总结
Java实用类库提供了一套相当完整的容器来帮助我们解决很多具体问题.因为我本身是一名Android开发者,包括我在内很多安卓开发,最拿手的就是ListView(RecycleView)+BaseAda ...
- 从使用到原理学习Java线程池
线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源.在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收. 所 ...
- 关于P2P架构的网络游戏
以下内容摘自<ActionScript大型网页游戏开发> ————————————————————————————————————————————————————————— P2P架构 P ...
- crontab 定时任务格式
如下内容节选自<Linux Crontab 定时任务 命令详解> 用crontab -e 添加要执行的命令 添加的命令必须以如下格式: * * * * * /command path 前五 ...
- 问题-某个程序改了ICO图标后编译后还是显示老图标?
问题现象:某个程序改了ICO图标后编译后还是显示老图标? 问题原原:可能是因为系统的缓存问题. 问题处理:把程序的EXE放在别的路径下打开就可以了. 问题相关人员:QQ253120114(朋友) Q ...
- [iOS 多线程 & 网络 - 2.8] - 检测网络状态
A.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 ...
- JavaScript- 获取经度纬度
昨天获得一个小需求,需要取地理位置. 通过以下的JS能获得经度和纬 if(navigator.geolocation) { navigator.geolocation.getCurrentPositi ...
- 漫谈云计算与SOA (1)
SOA是什么? 英语直译是基于服务的架构,就是一种技术框架,促使企业内部与外部所有相关的系统公开和访问定义良好的服务和绑定于服务的信息,进一步抽象成流程层和组合应用,从而构成解决方案. 说人话:重用服 ...
- sqlserver2012
sqlserver2012作死的节奏啊,微软最近怎么了?搞个sqlserver2012死活安装不上,无论如何都是.NET Framework 4报错,机器本身的版本比安装包的高就报错?微软的程序员思维 ...
- centos6.5下Python IDE开发环境搭建
自由不是想做什么就做什么,而是想不做什么就不做什么. ---摘抄于2016/11/30晚 之前学习了一段时间的Python,但所有部署都在windows上.正赶上最近在学习liux,以后 ...