CentOS 6 apache源码编译一键部署脚本

需求:源码编译apache

环境:CentOS 6 64位系统安装的桌面版

软件:httpd-2.4.12.tar.gz、pcre-8.31.tar.bz2、apr-util-1.5.3、apr-1.5.1.tar.gz

备注:目前只在centos 6环境下测试过,如果有报错可能是依赖包安装有缺失,本来想把这几个源码包上传上去的,上传一直失败,以上几个源码包需要到网上下载一下

[[email protected] ~]# cat apache.sh

#!/bin/bash

#

#适用版本CentOS 6 64位

#2017.5.11

. /etc/init.d/functions

dir=/root/test

del_dir() {

read -p "需要删除${dir} 是否删除[Y|y/N|n]:" del

case $del in

Y|y)

rm -rf $dir

mkdir $dir

cd $dir

;;

N|n)

echo "安装终止"

exit 7

;;

*)

echo "请输入正确的值"

exit 8

;;

esac

}

[ ! -d $dir ] && {

mkdir $dir

cd $dir

} || del_dir

yum -y install gcc gcc-c++ cmake ncurses-devel bison ncurses

sleep 2

echo "##################################下载依赖包###################################"

wget http://172.2.0.68/apr-1.5.1.tar.gz

wget http://172.2.0.68/apr-util-1.5.3.tar.gz

wget http://172.2.0.68/pcre-8.31.tar.bz2

wget http://172.2.0.68/httpd-2.4.12.tar.gz

#wget http://172.2.0.68/configure.txt

[ $? -eq 0 ] && echo "下载apr依赖包,准备安装" || exit 7

sleep 5

tar -xzvf apr-1.5.1.tar.gz

tar -xzvf apr-util-1.5.3.tar.gz

sleep 3

cd apr-1.5.1

[ $? -eq 0 ] && {

./configure --prefix=/usr/local/apr

} || {

echo "解压包出错"

exit 9

}

echo "####################准备编译##################"

sleep 3

make && make install

cd ..

[ $? -eq 0 ] && cd apr-util-1.5.3 || exit 5

./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr

echo "####################准备编译##################"

make && make install

cd ..

echo "###########安装pcre######################"

sleep 4

tar -jxvf pcre-8.31.tar.bz2

[ $? -eq 0 ] && cd pcre-8.31 || exit 6

./configure --prefix=/usr/local/pcre

make && make install

echo "###########安装apache###############"

cd ..

groupadd www

useradd -M -g www -s /sbin/nologin www

tar -xzvf httpd-2.4.12.tar.gz

[ $? -eq 0 ] && cd httpd-2.4.12 || exit 3

echo "##################编译apache##################"

#configure

./configure --prefix=/usr/local/apache --enable-so --enable-deflate --enable-expires --enable-headers --enable-modules=most --with-mpm=worker --enable-ssl --enable-rewite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

[ $? -eq 0 ] && echo "编译apache成功" || {

echo "编译apache失败"

exit 5

}

echo "###################安装Apache##############################"

sleep 2

make && make install

[ $? -eq 0 ] && echo "##################apache安装成功#######" || {

echo "apache安装失败"

exit 7

}

sleep 2

##apache服务启动脚本

cp build/rpm/httpd.init /etc/init.d/httpd

chmod 700 /etc/init.d/httpd

sed -i ‘s/HTTPD-\/usr\/sbin\/httpd/HTTPD-\/usr\/local\/apache\/bin\/httpd/g‘ /etc/init.d/httpd

sed -i ‘s/PIDFILE-\/var\/run/PIDFILE-\/usr\/local\/apache\/logs/g‘ /etc/init.d/httpd

sed -i ‘s/CONFFILE=\/etc\/httpd\/conf\/httpd.conf/CONFFILE=\/usr\/local\/apache\/conf\/httpd.conf/g‘ /etc/init.d/httpd

[ $? -eq 0 ] && echo "#########继续############" || exit 5

chkconfig --add httpd

[ $? -eq 0 ] && echo "###########添加httpd启动项成功########" || echo "###################添加httpd启动项失败############"

chkconfig --level 35 httpd on

时间: 2024-10-18 23:03:00

CentOS 6 apache源码编译一键部署脚本的相关文章

centos下apache源码编译安装

进入指定目录,下载 cd /usr/local/src wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.bz2 解压 tar jxf httpd-2.2.31.tar.bz2 ls cd httpd-2.2.31 进入目录 ls vim INSTALL 查看安装文档 指定参数 ./configure \ > --prefix=/usr/local/apache2 \ 指定路径 > --with-included-apr \ 安装依赖ap

apache源码编译时报错ssl_engine_init.c:546: error: 'STACK' undeclared (first use in this function)

操作系统:centos6.4 X86_64 apache版本:httpd-2.2.6 openssl版本:openssl-1.0.1e 源码编译apache时报如下错误: ssl_engine_init.c: In function 'ssl_init_ctx_protocol': ssl_engine_init.c:390: warning: assignment discards qualifiers from pointer target type ssl_engine_init.c:39

CentOS 6.4源码编译安装httpd并启动测试

今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安装工具就可以直接安装了.另一种则是源代码安装,这种软件安装就是指它只有源代码,没有经 过编译的二进制,需要通过手动去编译安装的. rpm包是别人所编译好的软件包,比如说编译好的rpm包没有某个功能,也我们又想用,那我们就得自去手动下载源代码来自行安装了,自定义去安装程序包,这个是我们要撑握的. 下面

centos 6.5源码编译安装subversion 1.8.10

一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网:http://svn.apache.org/repos/asf/subversion/trunk/INSTALL 源码下载:http://archive.apache.org/dist/subversion/ 源码编译subversion依赖许多别的工具,比如:apr.apr-util.libto

CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础软件包,在这个基础环境上我们可以搭建任何使用PHP/Perl/Python等语言的动态网站,如商务网站.博客.论坛和开源Web应用程序软件等,它是互联网上被广泛使用的Web网站架构之一. 部署方式 从网站规模大小(访问流量.注册用户等)角度来看,LNMP架构可以使用单机部署方式和集群部署方式.单机部

在CentOS 7上源码编译安装MySQL 5.7

1.系统环境 [[email protected]inux02 ~]# uname -r 3.10.0-514.el7.x86_64 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [[email protected] ~]# rpm -qa | grep mariadb mariadb-libs-5.5.52-1.el7.x86_64 [[email protected] ~

Linux apache源码编译安装

下载.解压Apache源码 [[email protected] ~]# mkdir /usr/local/apache [[email protected] ~]# cd /usr/local/apache/ [[email protected] apache]# wget http://mirrors.sohu.com/apache/httpd-2.4.25.tar.gz [[email protected] apache]# tar -zxvf httpd-2.4.25.tar.gz 设置

Eureka 源码编译安装部署

Netflix开源的Eureka 是使用Gradle 构建的,所以我们也使用Gradle来编译它 所需环境 Eclipse , Gradle , Tomcat ,git 这些插件如果己经安装可直接跳过到Eureka 服务器的步骤 Eclispe 下载官网 https://www.eclipse.org/ 下载下来安装即可,过程省略 本人使用的是:Version: Neon Release (4.6.0) 版本 Gradle 1.下载Gradle https://services.gradle.o

Apache源码编译安装脚本

??Apache是开源的的.最流行的Web服务器软件之一,它快速.可靠并且可通过简单的API扩充,将Perl/Python/PHP等解释器编译到服务器中.Apache的模块超多,以及具有运行稳定,强大的rewrite功能.动态处理能力强等优点,在追求稳定的业务环境下被广泛使用. ??以下是Apache2.4版本prefork模式的源码编译脚本: #!/bin/bash # #*************************************************************