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 "-----------------------------------------"
有了计划记得推动,不要原地踏步。
分类:
服务器&开发环境配置
标签:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)