在 Ubuntu 机器上安装和编译 Apache 服务器
第一步:安装Java JDK
sudo apt install openjdk-11-jdk
sudo gedit /etc/environment
JAVA_HOME="/usr/lib/jvm/openjdk-11"
source /etc/environment
echo $JAVA_HOME
验证java版本
javac --version
****安装其他需要的包:**
sudo apt-get install apache2-dev -y
sudo apt-get install libpcre3 libpcre3-dev
第 2 步:安装 Apache HTTP 服务器
#1 对于 ubuntu,安装开发工具,包括 C 编译器:
sudo apt-get install build-essential checkinstall
#2 下载并解压所需文件
假设所有文件都已下载到 ~/Downloads 目录
从 Apache 下载页面 ( https://httpd.apache.org/download.cgi )下载 Apache HTTP Server httpd-2.4.41.tar.gz
并遵循编译 apache HTTP 服务器所需的库:
****阅读要求部分(http://httpd.apache.org/docs/2.4/install.html)***
#3 解压 tar 文件
- tar -xvf httpd-2.4.41.tar.gz
- tar -xvf apr-1.7.0.tar.gz
- tar -xvf apr-util-1.6.1.tar.gz
- tar -xvf pcre2-10.34.tar.gz
提取后,您应该在 ~/Downloads 中看到以下目录列表
- httpd-2.4.41
- 4月-1.7.0
- apr-util-1.6.1
- pcre2-10.34
#4 为 apache HTTP 服务器创建一个目录
*确保授予此目录的所有权限,以便在编译文件时可以读取/写入
sudo mkdir /home{your username here}/apache
授予 apache 目录的所有权限:
sudo chmod -R 777 /home{your username here}/apache
#5 将arp和arp-util目录复制到~/Downloads/httpd-2.4.41/srclib/
cd ~/Downloads
mv apr-util-1.6.1 ~/Downloads/httpd-2.4.41/srclib/apr-util
mv apr-1.7.0 ~/Downloads/httpd-2.4.41/srclib/apr
#6 配置编译源。
--prefix 选项可用于将 Web 服务器安装在可以写入文件的位置。
cd ~/Downloads/httpd-2.4.41/
./configure --prefix=/home/{username here}/apache --with-pcre=~/Downloads/pcre2-10.34
注意:
如果您在运行上述命令时遇到问题,您也可以尝试
在 /usr/local/pcre 中安装 pcre,使用
./configure --prefix=/usr/local/pcre make sudo make install
命令,然后通过运行以下命令:
cd ~/Downloads/httpd-2.4.41/
./configure --prefix=/home/{username here}/apache --with-pcre=/usr/local/pcre
制作
sudo make install
如果您仍然遇到一些问题,请确保 ~/apache 及其嵌套目录具有读/写权限。如果不 **sudo chmod -R 777 /home{your username here}/apache**
再次运行命令。
#7 编译 Apache HTTP 服务器。
cd ~/Downloads/httpd-2.2.25
sudo make
#8 安装 Apache HTTP 服务器。
cd ~/Downloads/httpd-2.2.25
sudo make install
可选
#9 准备您的主机文件
sudo gedit /etc/hosts
27.0.0.1 本地主机 www.example.com
sudo gedit /home/{your username here}/apache/conf/httpd.conf
并复制:
Listen 8000
ServerName www.example.com:8000
#10 测试安装以确保 Apache HTTP Server 正常工作。
/home/{your username here}//apache/bin/apachectl -k start