在Docker里从源码安装Apache

1. 说明

本文系我的"Web Server & Web Technology (WSWT)系列博客之一,主要讲解Linux系统的Apache配置和使用,以及如何使用apache搭建自己的个人网站".该系列博客的总目录参见这里http://blog.csdn.net/u014303046/article/details/73694983

2. Docker简介

Docker是一种虚拟化技术,可以创建轻量、易于分发的应用。如果你不打算使用Docker的话你可以跳过本节,直接看后面的教程。如果你想顺便学习一下Docker的话,我也写过一个简单的Docker系列教程。Docker学习起来比较简单,一个小时之内应该就可以学会基本应用了。

3. 准备工作(此过程先不使用Dockerfile)

首先pull一个ubuntu 16.04的镜像:

sudo docker pull ubuntu:16.04

运行一个容器:

sudo docker run -ti --name web -p 80:80 -p 443:443 -p 8080:8080 ubuntu:16.04 bash

安装一些依赖项:

apt update
apt-get install vim
apt-get install net-tools
apt install iputils-ping 
apt install openssh-server
apt install openssh-client

apt install gcc
apt install libpcre3 libpcre3-dev
apt install make 
apt install openssl libssl-dev
apt install libxml2 libxml2-dev
apt install zip unzip
apt install libexpat1-dev
apt install libnghttp2-dev

4. 下载

首先建立相应的安装目录:

mkdir /etc/apache2
mkdir /etc/apache2/src
cd /etc/apache2/src

下载源码并解压:

注意:下面的链接以后时间长了可能会失效,因此你可能需要搜索apache apr, apr-util, httpd等找到对应的链接替换掉下面命令中的下载链接。

wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
wget http://apache.mirrors.lucidnetworks.net//httpd/httpd-2.4.27.tar.gz
wget http://cn2.php.net/distributions/php-7.1.8.tar.gz


tar -xvf apr-1.5.2.tar.gz 
tar -xvf apr-util-1.5.4.tar.gz 
tar -xvf httpd-2.4.27.tar.gz 
tar -xvf php-7.1.8.tar.gz 

mv -f apr-1.5.2 httpd-2.4.27/srclib/apr
mv -f apr-util-1.5.4 httpd-2.4.27/srclib/apr-util

5. 编译并安装

现在开始编译:

cd /etc/apache2
mkdir server_root

cd src/httpd-2.4.27
./configure --prefix=/etc/apache2/server_root --with-included-apr --with-mpm=worker --enable-so --enable-nonportable-atomics=yes --enable-ssl --enable-include --enable-cgi --enable-expires --enable-status --enable-info --enable-rewrite --enable-speling

make
make install

mkdir /etc/apache2/php7
cd /etc/apache2/src/php-7.1.8
./configure --with-apxs2=/etc/apache2/server_root/bin/apxs --prefix=/etc/apache2/php7

make 
make test
make install

修改httpd.conf文件:

vim /etc/apache2/server_root/conf/httpd.conf

在httpd.conf文件中添加:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

去掉httpd.conf里ServerName前面的注释:
这里写图片描述

将容器commit成一个镜像保存,方便日后使用。

6. 查看效果

在终端进入bin,然后start服务:

cd /etc/apache2/server_root/bin
./apachectl start

在浏览器输入Docker容器的地址:
172.17.0.2
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痴澳超

如果感觉博客有帮助,请我喝杯咖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值