设为首页 收藏本站
查看: 1143|回复: 0

[经验分享] 源码安装Apache服务器遇到的问题及解决方法

[复制链接]

尚未签到

发表于 2018-11-24 14:07:05 | 显示全部楼层 |阅读模式
      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 然后麻烦就出现了

DSC0000.png


错误提示的很明显
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   你会发现又出现了问题
DSC0001.png


意思是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还会遇到问题
DSC0002.png


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
DSC0003.png


接下来就是测试了
service httpd start
DSC0004.png


DSC0005.png


然后在其他电脑上访问
DSC0006.png




DSC0007.png





到此全部工作已经完成,当然对于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的安装配置,尽情期待。。。。。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639103-1-1.html 上篇帖子: Apache虚拟主机指南 下篇帖子: jdbc之Apache—DBUtils框架
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表