源码安装Apache服务器遇到的问题及解决方法

简介:



   Linux下安装软件的方式有很多种其中常用的有三种:源码安装、RPM安装、yum安装针对于后两种的安装都比较方便,只要有rpm软件包就可以轻易安装,今天我来谈谈使用源码的方式来实现对apache软件的安装(原有的版本太低,想安装一个新版本),但是第一次安装的时候便遇到了很多问题,于是我便把这些问题记录下来了,相信一定会对你以后想安装新版本的apache服务器有帮助

      首先你的去apache官网去下载最新版的源码包我下载的是httpd- 2.4.4 .tar.bz2,地址是http://httpd.apache.org/download.cgi#apache24

    然后将源码解压到/usr/local/src目录下,方便以后的管理

tar -jxvf httpd- 2.4.4 .tar.bz2 -C /usr/local/src/

切换到相应目录

cd /usr/local/src/httpd- 2.4.4 /

源码安装三步走起:1./configure  2) make   3) make install

./configure --prefix=/usr/local/apache 然后麻烦就出现了

错误提示的很明显

checking for APR... no

configure: error: APR not found.  Please read the documentation.

那就是缺少APR((Apache portable Run-time librariesApache可移植运行库),那就下载安装呗下载网址是http://apr.apache.org/ 你会看到

Apache Portable Runtime  1.4.6  Released

点击下载就是了apr- 1.4.6 .tar.gz,并且将其解压到/usr/local/src目录下

tar -zxvf apr- 1.4.6 .tar.gz -C /usr/local/src/

切换到目录下

cd /usr/local/src/apr- 1.4.6 /

当然这个运行库也是源码安装的,同样是三步曲,走起

./configure

make

make install

 

然后再切换到httpd的源码目录下再次执行./configure时加上apr的配置路径./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config   你会发现又出现了问题

意思是APR-util包没有找到,如果你还有印象的话应该记得在我们下载apr的时候看见过这个工具包,于是我们可以去刚刚的那个网站去下载去http://apr.apache.org/ 你会看到

 

Apache Portable Runtime Utility  1.5.1  Released

下载安装就是了apr-util- 1.5.1 .tar.gz 先解压到/usr/local/src目录下

tar -zxvf apr-util- 1.5.1 .tar.gz -C /usr/local/src/

切换到源码目录下cd /usr/local/src/apr-util- 1.5.1 /

然后是老三步

./configure --with-apr=/usr/local/src/apr-1.4.6/apr-1-config(加上apr的路径)

make

make install

然后到httpd源码的目录下执行./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config还会遇到问题

pcrePerl Compatible Regular Expressions是一个Perl库,包括 perl 兼容的正规表达式库)没发现,当然处理方法相同下载源码,解压,安装

下载地址http://sourceforge.net/projects/pcre/

unzip pcre-8.32.zip

cd pcre-8.32

./configure

make

make install

然后到httpd源码的目录下执行./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-pcre=/usr/local/pcre/

 

make && make install

 

 

 

一切安装完成之后我们还要涉及到一个httpd的运行管理问题,我模仿linux原有的管理脚本自己写了一个简易的管理脚本httpd内容如下:

#!/bin/bash

# chkconfig: 35 80 30

# description: Apache server

HTTPD=/usr/local/apache/bin/httpd

LOCKFILE='/var/lock/subsys/httpd'

. /etc/init.d/functions

function start(){

        [ -e $LOCKFILE ] && echo "httpd is running ......." && exit

        echo -n "httpd is starting ......"

        sleep 1

        $HTTPD -k start

}

 

function stop(){

        echo -n "httpd is stoping......"

        sleep 1

        killproc $HTTPD &>/dev/null

[ $? -eq 0 ] && rm -rf $LOCKFILE && echo -e "\033[31m [ok] \033[0m" ||echo -e "\033[31m [fail] \033[0m"

}

 

 

function status(){

        [ -e $LOCKFILE ]&& echo "httpd is running ......" || echo "httpd is stoped"

}

 

 

 

case $1 in

start)

        start

        ;;

stop)

        stop

        ;;

restart)

        stop

        start

        ;;

status)

        status

        ;;

*)

echo "httpd Usage: {start|stop|restart}"

        ;;

esac之后将其拷贝到/etc/rc.d/init.d/目录下

cp httpd /etc/rc.d/init.d/

chkconfig --add httpd

chkconfig –level 35 httpd on

chkconfig --list httpd

接下来就是测试了

service httpd start

然后在其他电脑上访问

 

 

 

 

 

到此全部工作已经完成,当然对于vsftp服务器同样能做,不过vsftp的安装方式比较简单,这里就不细说了,当然我也写了一个管理脚本,如果有兴趣的话可以读一读,内容如下

#!/bin/bash

# chkconfig: 35 83 30

# description: vsftpd server

VSFTPD='/usr/local/sbin/vsftpd'

LOCKFILE='/var/lock/subsys/ftp'

. /etc/init.d/functions

function start(){

        [ -e $LOCKFILE ] && echo "vsftpd is running ......." && exit

        echo -n "vsftpd is starting ......"

        sleep 1

        $VSFTPD &

 

}

 

function stop(){

        echo -n "Vsftpd is stoping......"

        sleep 1

        killproc $VSFTPD &>/dev/null

}

 

 

function status(){

        [ -e $LOCKFILE ]&& echo "vsftpd is running ......" || echo "vsftpd is stoped"

}

 

 

 

case $1 in

start)

        start

        ;;

stop)

        stop

        ;;

restart)

        stop

        start

        ;;

status)

        status

        ;;

*)

echo "vsftp Usage: {start|stop|restart}"

        ;;

esac

在下一篇博客中我将会介绍一下mysql的安装配置,尽情期待。。。。。



本文转自 chenming421  51CTO博客,原文链接:http://blog.51cto.com/wnqcmq/1160274

相关文章
|
4月前
|
弹性计算 安全 网络安全
阿里云国际版无法远程连接Windows服务器的解决方法
阿里云国际版无法远程连接Windows服务器的解决方法
|
4月前
|
网络协议 Java API
【网络】TCP回显服务器和客户端的构造,以及相关bug解决方法
【网络】TCP回显服务器和客户端的构造,以及相关bug解决方法
90 2
|
6月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
6月前
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
68 0
|
6月前
|
监控 Linux 测试技术
|
6月前
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
144 0
|
3天前
|
存储 机器学习/深度学习 人工智能
2025年阿里云GPU服务器租用价格、选型策略与应用场景详解
随着AI与高性能计算需求的增长,阿里云提供了多种GPU实例,如NVIDIA V100、A10、T4等,适配不同场景。2025年重点实例中,V100实例GN6v单月3830元起,适合大规模训练;A10实例GN7i单月3213.99元起,适用于混合负载。计费模式有按量付费和包年包月,后者成本更低。针对AI训练、图形渲染及轻量级推理等场景,推荐不同配置以优化成本和性能。阿里云还提供抢占式实例、ESSD云盘等资源优化策略,支持eRDMA网络加速和倚天ARM架构,助力企业在2025年实现智能计算的效率与成本最优平衡。 (该简介为原文内容的高度概括,符合要求的字符限制。)
|
4天前
|
存储 弹性计算 人工智能
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
|
7天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
9天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!

热门文章

最新文章

推荐镜像

更多