ubuntu 编译安装 apache2.4.46

配置步骤

1、下载编译工具 gcc/g++/make等
2、编译安装apache2的依赖,apr/apr-util/pcre
3、编译安装apache2
4、启动测试

配置脚本

将下面的代码保存成文件到ubuntu上,
以root身份运行,即可等待编译完成。
亦可直接在ubuntu上使用git clone 从 https://gitee.com/amnotgcs/mixed-tips.git 地址clone源代码。

#! /bin/bash
# download apr/apr-util/httpd/pcre
wget https://mirror.bit.edu.cn/apache//apr/apr-1.7.0.tar.gz
wget https://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.46.tar.gz
wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.44/pcre-8.44.tar.gz

# extra files
tar zxvf apr-1.7.0.tar.gz | tail
tar zxvf apr-util-1.6.1.tar.gz | tail
tar zxvf httpd-2.4.46.tar.gz | tail
tar zxvf pcre-8.44.tar.gz | tail

# install gcc g++ make
if dpkg -s gcc >/dev/null 2>&1;then
	echo "---------------gcc   installed---------------"
else
	apt install gcc -y
fi

if dpkg -s g++ >/dev/null 2>&1;then
	echo "---------------g++   installed---------------"
else
	apt install g++ -y
fi

if dpkg -s make >/dev/null 2>&1;then
	echo "---------------make   installed---------------"
else
	apt install make -y
fi

# install libxml2-dev libexpat-dev
if dpkg -s libxml2-dev >/dev/null 2>&1;then
	echo "---------------libxml2-dev installed----------"
else
	apt install libxml2-dev -y
fi
if dpkg -s libexpat-dev >/dev/null 2>&1;then
	echo "---------------libexpat installed-------------"
else 
	apt install libexpat-dev
fi

# install apr
cd apr-1.7.0
./configure --prefix=/usr/local/apr
make
make install
cd ../

# install apr-util
cd  apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
cd ../

# install pcre
cd pcre-8.44
./configure
make
make install
cd ..

# install httpd
cd httpd-2.4.46
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/cpre
make
make install
cd ..

# clean
rm -rf httpd-2.4.46*
rm -rf apr-1.7.0*
rm -rf apr-util-1.6.1*
rm -rf pcre-8.44*

## startup apache
ldconfig
echo "-----------------------------------------"
echo "-----------httpd installed---------------"
echo "-----------------------------------------"
echo "-----------set ServerName----------------"
sed -i "s/#ServerName www.example.com:80/ServerName localhost/g" /usr/local/apache2/conf/httpd.conf
echo "-----------------------------------------"
echo "-----------set PATH----------------------"
sed -i "1a export PATH=\$PATH:/usr/local/apache2/bin" ~/.bashrc
source ~/.bashrc
echo "-----------------------------------------"
echo "-----------start httpd-------------------"
/usr/local/apache2/bin/apachectl -k start
echo "-----------------------------------------"
addr=$(ifconfig | grep 'inet addr' | sed 's/^.*addr://' | sed 's/ Bcast.*$//g' | head -n 1) 
echo "          $addr"
echo "-----------------------------------------"


posted @ 2020-12-17 16:41  那个白熊  阅读(610)  评论(0编辑  收藏  举报