ubuntu16.04安装c语言编译器,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 : 支持动态加载模块

添加启动脚本apache2到service

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.conf是apache的主配置文件

extra中存放了httpd.conf之外的配置文件

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

配置Apache

基本配置

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

找到DocumentRoot "/usr/local/apache2/htdocs"

修改为DocumentRoot "/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

重构主配置文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值