ubuntu LTS 16.04 编译安装配置Apache

操作系统:ubuntu LTS 16.04
apache版本:2.4.27

PRE准备工作

Apache编译安装指南中给出了编译安装的详细过程,以下是注意事项:

安装C编译器

安装C语言编译器gcc-5

sudo apt-get install gcc-5

gcc符号链接到gcc-5,使gcc命令等同于gcc-5

sudo ln -s /usr/bin/gcc-5 /usr/bin/gcc

安装C++编译器

安装C语言编译器g++-5

sudo apt-get install g++-5

g++符号链接到g++-5,使gcc命令等同于g++-5

sudo ln -s /usr/bin/g++-5 /usr/bin/g++

安装make

--fix-missing是修复选项

sudo apt-get install make --fix-missing

安装依赖包

sudo apt-get install libexpat1-dev

编译安装详细过程

将下载的源码文件都放在/usr/local/src目录下

切换到/usr/local/src目录

cd /usr/local/src

安装APR

下载安装APR-1.6.2

APR官网下载对应版本的tar.gz源码压缩包,放到/usr/local/src目录下,并解压

# 解压命令
sudo tar zxvpf apr-1.6.2.tar.gz

进到apr-1.6.2源码目录下

cd apr-1.6.2

编译安装

# 设置输出目录
./configure --prefix=/usr/local/apache2/apr-1.6.2

# 根据自己电脑核数×2来设定并行编译参数,提高编译速度
make -j1 

sudo make install

下载安装APR-util-1.6.0

APR官网下载对应版本的tar.gz源码压缩包,放到/usr/local/src目录下,并解压

# 解压命令
sudo tar jxvpf apr-util-1.6.0.tar.bz2

进到apr-1.6.2源码目录下

cd apr-util-1.6.0

编译安装,注意apr路径参数要与之前apr安装路径参数相同

./configure --prefix=/usr/local/apache2/apr-util-1.6.0 --with-apr=/usr/local/apache2/apr-1.6.2

make -j1

make install

下载安装PCRE

PCRE官网下载pcre-8.41源码压缩包,放到/usr/local/src`目录下,并解压

# 解压命令
sudo tar zxvpf pcre-8.41.tar.gz

进到pcre-8.41源码目录下

cd pcre-8.41

编译安装

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

make -j1

make install

下载安装apache2.4.27

Apache官网下载apache2.4.27源码压缩包,放到/usr/local/src目录下,并解压

# 解压命令
sudo tar zxvpf httpd-2.4.27.tar.gz

进到httpd-2.4.27.tar.gz目录下

cd httpd-2.4.27

编译安装

sudo ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apache2/apr-1.6.2 --with-apr-util=/usr/local/apache2/apr-util-1.6.0/ --with-pcre=/usr/local/pcre-8.41 --with-expat=builtin --enable-so --enable-rewrite --enable-ssl

sudo make -j1

sudo make install
  • --prefix : 目标路径
  • --with: 依赖的库文件的路径
  • enable-ssl : 支持SSL加密
  • enable-so : 支持动态加载模块

添加启动脚本apache2service

sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache2

添加apache2到环境变量

# 输出启动脚本至 /home/phdchorus/apache2.sh
sudo echo 'export PATH=$PATH:/usr/local/apache2/bin' > /home/phdchorus/apache2.sh

cd /home/phdchorus

# 修改启动脚本的读写权限
sudo chmod a+x apache2.sh

# 拷贝脚本至目录
sudo cp apache2.sh /etc/profile.d

# 更新脚本状态
source /etc/profile.d/apache2.sh

添加apache2到开机启动项

sudo vim /etc/rc.local

/etc/profile.d/httpd.sh添加到exit 0之前

/etc/profile.d/apache2.sh

exit 0

启动apache2

sudo service apache2 start

Apache配置

转到apache目录下,可以看到以下目录结构

phdchorus@phdchorus:/usr/local/apache2$ ls
bin  conf  error  htdocs  logs  modules
  • bin是apache启动目录
  • conf是apache配置文件目录
  • htdocs是默认的DocumentRoot
  • logs是默认的日志目录
  • modules是apache的扩展链接(PHP扩展、SSL扩展...)所在的目录

转到conf目录下,可以看到以下目录结构

phdchorus@phdchorus:/usr/local/apache2/conf$ ls
extra  httpd.conf  magic  mime.types  original
  • httpd.confapache的主配置文件
  • extra中存放了httpd.conf之外的配置文件

安装配置Apache中记录了通过apt-get安装Apache后,对apache的各种配置。apt-get安装apache后,apache配置按照种类分散到多个目录文件下面,主配置文件import这些配置文件,从而实现了配置模块化的效果。而编译安装的apache将几乎所有的配置都放到了主配置文件中,是非常不利于维护的。接下来我们先配置Apache,再按照模块化配置的思路,重构apache的主配置文件。

配置Apache

基本配置

因为装机时,我们的计划是将网络服务资源放在/var下,所以要修改DocumentRootDocumentRoot对应的Directory

找到DocumentRoot "/usr/local/apache2/htdocs"
修改为DocumentRoot "/var/www/html" --该目录为自己创建的目录
 
找到:<Directory "/usr/local/apache2/htdocs"> 
修改为:<Directory "/var/www/html">

配置Apache解析PHP

在主配置文件中写入

LoadModule php7_module modules/libphp7.so

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

修复安全漏洞

在主配置文件中写入

TraceEnable off
ServerSignature off

重构主配置文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容