Centos7下安装设置Apache2.4.41网站服务器
apache(阿帕奇)官方网站:http://httpd.apache.org/
Apache HTTP Server项目很高兴 宣布 Apache HTTP Server 2.4.41版(“ Apache”和“ httpd”)的发布。此版本的Apache是​​Apache HTTPD的新一代2.4.x分支的最新GA版本,代表该项目十五年的创新,因此建议在所有以前的版本中使用!
首先下载稳定版本-最新版本的2.4.41,版本发布于2019-08-14,截至于2020年3月,此版本是最新版本!

1
2
3
wget https://downloads.apache.org//httpd/httpd-2.4.41.tar.gz
tar xvf httpd-2.4.41.tar.gz
cd httpd-2.4.41

下载之后先不要盲目的安装,2.4.41需要安装一些依赖环境,下面是官方网站提供的安装需求。
安装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。

首先安装Openssl:

1
2
3
4
5
6
7
8
wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz
tar xvf openssl-1.0.2m.tar.gz
cd openssl-1.0.2m
./config --prefix=/usr/local/ssl --shared
make
make install
echo /usr/local/ssl/lib >> /etc/ld.so.conf
ldconfig

安装Apache2.4.41:
APR和APR-Util的下载网站是:http://apr.apache.org/download.cgi
将两个软件包下载在apache安装目录的srclib内。先进入srclib目录。下载完毕后改名,去掉版本号,改成apr和apr-util

1
2
3
4
5
6
7
8
cd srclib
wget https://downloads.apache.org//apr/apr-1.7.0.tar.gz
wget https://downloads.apache.org//apr/apr-util-1.6.1.tar.gz
tar xvf apr-1.7.0.tar.gz
tar xvf apr-util-1.6.1.tar.gz
mv apr-1.7.0 apr
mv apr-util-1.6.1 apr-util
cd\

改好名字后退出文件夹,再次cd进入到httpd-2.4.41的安装文件里面进行安装。如果遇到错误提示,缺少依赖环境。在安装之前需要先yum安装其它的依赖环境

1
sudo yum -y install pcre-devel expat-devel libxml2-devel

以来环境安装完毕后就可以configure了。默认安装,不需要更改参数,默认安装后,安装目录是/usr/local/apache2

1
2
3
4
cd httpd-2.4.41
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl --with-mpm=prefork
make
make install

--prefix 指定安装路径
--enable-so 让apache核心装载DSO(动态共享目标)
--enable-rewrite 启用重写功能
--enable-modules 将模块编译到apache中
--enable-ssl 打开ssl协议
--with-mpm 指定运行模型
运行模式分为三种:
1.多进程模型:prefork(预派生)
2.多进程多线程混合模型:worker(工作者)
3.多进程多线程混合模型:event(事件)
Configure参数解释:

--prefix=/usr/local/apache2 指定apache的安装路径
--enable-so 这个是支持动态共享模块
--enable-rewrite 支持URL重写
--enable-ssl 支持ssl
--with-ssl=/usr/local/openssl 这个是指定openssl的安装位置
--enable-cgi 启用cgi
--enable-modules=most 指明要静态编译到httpd二进制文件的模块 all或者most,all代表包含所有的模块 most代表大部分的模块
--enable-mods-shared=most 指明要以DSO方式编译的模块,all代表全部,most代表大部分
--enable-mpms-shared=all 启用MPM所有支持的模式,这样event,worker,prefork就会以模块化的方式安装,要用哪个就在httpd.conf里面配置就好了
--with-mpm=event 指定启用mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker 2.4版本是event.
--with-pcre=/usr/local/pcre 支持 pcre
--with-z=/usr/local/zlib 使用 zlib 压缩库
--with-apr=/usr/local/apr 指定 apr 的安装路径
--with-apr-util=/usr/local/apr-util  指定 apr-util 的安装路径
--enable-expires 激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css等内容,提供客户端浏览器缓存的设置。这个是 apache调优的一个重要选项之一。
--enable-deflate 提供对内容的压缩传输编码支持,一般是 html、js、css等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是 apache调优的一个重要选项之一

如果在安装apache2.4中提示openssl版本过低的话,还需要安装openssl。
openssl官方网站:https://www.openssl.org/
安装openssl时候需要带--enable-shared参数,加--enable-shared参数是为了将openssl加入到lib或lib64的共享库里,不然apache会找不到openssl。
好了到这里apache2.4.41(阿帕奇)已经安装完毕了。下一步是需要设置apache2.4.41安装后的设置了。

1
2
3
4
5
cd /usr/local/apache2
ls -l
cd conf
ls -l
vi httpd.conf

编辑apache2的配置文件httpd.conf
将User和Group都修改成www,然后保存退出。
如果本机没有建立www用户组和用户的话需要建立一下。

1
2
groupadd www
useradd -g www www

给网站目录更改用户组权限。

1
chown -R www www /var/www/html

关于httpd.conf更详细的配置问题请访问:Centos7详细解读Apache2.4的httpd.conf配置文件
添加httpd系统服务

1
ln -s /usr/local/apache2.4/bin/apachectl /etc/rc.d/init.d/httpd

题外话:手动安装相对于yum安装来说还是很麻烦的,不建议手动安装,卸载需要挨个目录删除,启动也需要配置脚本。手动安装只是让你了解一下安装的操作过程而已。
设置apache2.4.41开机启动
Centos7以下版本用户
vi /etc/rc.d/rc.local
在文件末端加上下面内容,保存退出!
/usr/local/apache2/bin/apachectl start
给启动文件增加执行权限
chmod +x /etc/rc.d/rc.local
reboot重新启动服务器!apache安装完毕。
Centos7x用户可以新建立apache启动文件,VI打开一个不存在的文件,使用:wq保存退出后文件就建立了。

1
vi /usr/lib/systemd/system/httpd.service

将下面内容复制到httpd.service文件内

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/local/apache2/bin/httpd $OPTIONS -k start
ExecReload=/usr/local/apache2/bin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH {MAINPID}
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target

重新加载启动文件,然后启动apache2.4.41

1
2
systemctl daemon-reload
systemctl start httpd

使用状态命令看一下是否启动正常!

1
systemctl status httpd

Centos7下安装设置Apache2.4.41网站服务器

现在打开你本机的ip地址后,网页上就显示apache的欢迎页面了!恭喜你,已经成功的安装了apache2.4.41了!
"It works!"

订阅
提醒
guest
0 评论
内联反馈
查看所有评论