linux3.10.53编译,根据官方文档在Linux下编译安装Apache

根据官方文档在Linux下编译安装Apache

前言

永远记住官方文档才是最准确的安装手册,这篇文章仅为对官方文档的解读和补充,学习提升务必阅读官方文档:

http://httpd.apache.org/docs/2.4/install.html

1、官方对编译安装的大致步骤介绍:

编译安装:

1、下载 从http://httpd.apache.org/download.cgi下载最新版本

2、解压 $ gzip -d httpd-NN.tar.gz

$ tar xvf httpd-NN.tar

$ cd httpd-NN

3、配置 $ ./configure --prefix=PREFIX

4、编译 $ make

5、安装 $ make install

6、定制 $ vi PREFIX/conf/httpd.conf

7、测试 $ PREFIX/bin/apachectl -k start

先不着急,了解了大致的步骤,再看其他要求:

2、官方对编译安装的环境要求:

构建Apache httpd存在以下要求:

1、APR和APR-Util

确保已在系统上安装APR和APR-Util。如果不这样做,或者宁愿不要使用系统提供的版本,同时下载APR和APR-的Util从最新版本的Apache APR,解开他们进入/httpd_source_tree_root/srclib/apr和/httpd_source_tree_root/srclib/apr-util (确保目录名称不具有版本号;例如,则APR分发必须位于/ httpd_source_tree_root / srclib / apr /下,并使用 ./configure的–with-included-apr 选项。在某些平台上,您可能必须安装相应的-dev软件包,以允许httpd相对于已安装的APR和APR-Util副本进行构建。

2、Perl兼容的正则表达式库(PCRE)

该库是必需的,但不再与httpd捆绑在一起。从http://www.pcre.org下载源代码,或安装端口或软件包。如果您的构建系统找不到PCRE构建安装的pcre-config脚本,请使用–with-pcre参数指向它。在某些平台上,您可能必须安装相应的-dev 软件包,以允许httpd针对已安装的PCRE副本进行构建。

3、磁盘空间

确保您至少有50 MB的可用临时磁盘空间。安装后,服务器大约占用10 MB的磁盘空间。实际的磁盘空间要求会根据您选择的配置选项,任何第三方模块以及服务器上的一个或多个网站的大小而有很大不同。

4、ANSI-C编译器和构建系统

确保已安装ANSI-C编译器。在GNU C编译器(GCC)从自由软件基金会(FSF) 的建议。如果您没有GCC,则至少要确保供应商的编译器符合ANSI。此外,您PATH必须包含基本的构建工具,例如make。

5、精确计时

HTTP协议的元素表示为一天中的时间。因此,是时候研究在系统上设置一些时间同步功能了。通常 基于网络时间协议(NTP)来使用ntpdate或xntpd程序。有关NTP软件和公共时间服务器的更多详细信息,请参见NTP主页。

6、Perl 5 [可选]

对于某些支持脚本,如apxs或dbmmanage(用Perl编写),则需要Perl 5解释器(版本5.003或更高版本已足够)。如果configure脚本未找到Perl 5解释器 ,则将无法使用受影响的支持脚本。当然,您仍然可以构建和使用Apache httpd。

解读:这几点我们需要注意的是1、2、4,所以在编译安装前,先将这几个工具下载安装好。

3、详细步骤

1、下载各种安装包

由于版本会不断更迭,这里不列出具体的安装包版本,读者自行从提供的地址下载最新版本即可

Apache最新版本下载地址

apr及apr-util下载地址

pcre下载地址

7bac03f76c2dd7b4ece4a8c2bec2a88e.png

2、将安装包传入服务器

方法有很多种,windows可用xftp工具,macos可用scp命令,上面两个都不会的话,直接在服务器用wget命令获取。

pengyuyaodeMacBook-Air:Apache安装包合集 pengyuyao$ ls

apr-1.7.0.tar.gzhttpd-2.4.46.tar.bz2

apr-util-1.6.1.tar.gzpcre-8.44.tar.gz

pengyuyaodeMacBook-Air:Apache安装包合集 pengyuyao$ scp * root@192.168.1.114:~

root@192.168.1.114's password:

apr-1.7.0.tar.gz 100% 1068KB 24.2MB/s 00:00

apr-util-1.6.1.tar.gz 100% 541KB 28.0MB/s 00:00

httpd-2.4.46.tar.bz2 100% 7019KB 31.0MB/s 00:00

pcre-8.44.tar.gz 100% 2042KB 30.0MB/s 00:00

[root@localhost ~]# ls

anaconda-ks.cfg apr-util-1.6.1.tar.gz pcre-8.44.tar.gz

apr-1.7.0.tar.gz httpd-2.4.46.tar.bz2

3、解压

tar zxvf apr-1.7.0.tar.gz

tar zxvf apr-util-1.6.1.tar.gz

tar -xf httpd-2.4.46.tar.bz2

突然发现pcre可以用yum装,这里就懒得弄了

按照官方文档要求将安装好的apr工具放入httpd目录:

mv apr-1.7.0 httpd-2.4.46/srclib/apr

mv apr-util-1.6.1 httpd-2.4.46/srclib/apr-util

4、安装各种依赖包

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

依赖包详解:

gcc:C语言的编译器

gcc-c++ :C++的编译器

make :源代码编译(源代码转换成二进制文件)

pcre-devel:支持正则表达式

expat-devel:网站解析HTML文件

perl:perl编译器

5、编译前的配置

cd httpd-2.4.46

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite--enable-charset-lite --enable-cgi

注释:rewrite重写功能(支持动态网页)、charset开启字符集(实现中英文兼容)、cgi用户访问的接口

模块可以自定义一些功能,在编译前用户可以自行选用模块,关于模块的描述此处不做多赘述,熟悉nginx的话则很好理解,具体可以参照官方文档:

http://httpd.apache.org/docs/2.4/programs/configure.html

6、编译并安装

make && make install

到这一步就已经安装成功了,但是要使用的话还需要增加一点点细节

7、安装后的设置

1、关闭selinux核心防护

临时关闭:

setenforce 0

永久关闭:在/etc/sysconfig/selinux下把selinux改成disabled

vim /etc/sysconfig/selinux

SELINUX=disabled

刷新服务:

service sshd restart

2、关闭防火墙

临时关闭:service firewalld stop

永久关闭:systemctl disable firewalld

3、启动httpd服务

service httpd start

curl 192.168.1.114

It works!

服务器内访问成功!

3566d4dfaabc5a869b5f89adc1a60cf0.png

浏览器访问成功!

4、设置httpd开机自启动

由于我们的Apache是编译安装,所以用传统的方法systemctl enable httpd是没用的,因为没有相关的脚本和配置:

[root@localhost init.d]# systemctl enable httpd

httpd.service is not a native service, redirecting to /sbin/chkconfig.

Executing /sbin/chkconfig httpd on

服务 httpd 不支持 chkconfig

如何设置脚本和配置?

设置个p,我们搞点骚操作,省下那些繁琐的配置

echo "/usr/local/httpd/bin/apachectl" >>/etc/rc.local

chmod +x /etc/rc.d/rc.local

我们直接把启动路径丢进引导文件里,开机就执行,这里不理解的可以去学习下Linux开机启动流程。

后记

这样基本上就把Apache搭好了,当然这只是最基本的安装,如何使用,如何修改配置文件,各配置项的意义,这些去查阅官方文档即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值