博文目录
一、Apache是什么?
1、Apache的起源
2、Apache的主要特点
二、Apache的主要版本
三、安装httpd服务器
1、挂载光盘
2、源码编译及安装
3、Apache全局配置项
4、安装DNS域名解析服务
一、Apache是什么?
Apache HTTP Server是广泛应用的Web应用系统之一,要运用好它,必须先了解它的特点及其编译安装过程。
Apache HTTP Server是来源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额。Apache服务器可以运行在Linux、UNIX、Windows等多种操作系统平台中。
1、Apache的起源
Apache服务器是针对之前出现的若干个Web服务器程序进行整合、完善后形成的软件,其名称来源于“A Patchy Server”,意思是“基于原有Web服务程序的代码进行修改(补丁)后形成的服务器程序”。
Apache是由ASF负责管理和维护的,ASF是非营利性质的组织,最初只负责“Apache Web”服务器项目的管理,随着Web应用需求的不断扩大,ASF逐渐增加了许多与Web技术相关的开源软件项目。因此,Apache现在不仅代表着Web服务器,而且更广泛地代表着ASF管理的众多开源软件项目。ASF的官方网站是ASF官方网站
“Apache HTTP Server”是ASF旗下著名的软件项目之一,其正式名称是“Httpd”,也就是历史上的Apache网站服务器。
2、Apache的主要特点
Apache服务器在功能、性能和安全性等方面的表现都是比较突出的,可以较好地满足Web服务器用户的应用需求。其主要特点包括以下几方面:
开放源代码:这是Apache服务器的重要特性之一,也是其他特性的基础。
- 跨平台应用:这个特性得益于Apache的源代码开放。Apache服务器可以运行在绝大多数软硬件上,所以UNIX操作系统都可以运行Apache服务器,还可以运行在大多数Windows系统平台中。
- 支持各种Web编程语言:Apache服务器可支持的网页编程语言包括Perl、PHP、Python、Java等,甚至微软的ASP技术也可以在Apache服务器中使用。
- 模块化设计:Apache并没有将所有的功能集中在单一的服务程序内部,而是尽可能地通过标准的模块实现专有的功能,这为Apache服务器带来了良好的扩展性。
- 运行非常稳定:Apache服务器可用于构建具有大负载访问量的Web站点,很多知名的企业网站都使用Apache作为Web服务软件。
- 良好的安全性:Apache服务器具有相对较好的安全性,这是开源软件共同具有的特性。并且,Apache的维护团队会及时对已发现的漏洞提供修补程序,为Apache的所有使用者提供尽可能安全的服务器程序。
二、Apache的主要版本
Apache服务器目前包括1.x和2.x两个版本,并且对其分别进行维护。两个版本具有一定的差异,也具有各自的特性。
- 1.x系列的最高版本是1.3,该版本继承了Apache服务器1.0版本以来的优秀特性和配置管理风格,具有非常好的兼容性、稳定性。
- 从2.0版开始,Apache服务器加入了许多新的功能,使用的配置语法和管理风格也有所改变。
三、安装httpd服务器
ISO提取位置:https://pan.baidu.com/s/1Cuy1NrdpQrnQkVZEmECS3g
提取码:b6qd
此环境如果有不明白的可以参考博文:制作Centos 7.4操作系统模板机
1、挂载光盘
开启虚拟机
配置IP地址
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32 <!--编辑网卡-->
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.10 <!--配置为100.10-->
NATEMASK=255.255.255.0 <!--子网掩码-->
2、源码编译及安装
源码编译安装httpd服务的过程主要包含解包、配置、编辑及安装。
[[email protected] mnt]# mount /dev/cdrom /mnt/ <!--挂载光盘 -->
[[email protected] mnt]# cd /mnt/ <!--进入mnt目录-->
[[email protected] mnt]# cp httpd-2.2.17.tar.gz /usr/src/ <!--备份httpd到/usr/src/ -->
[[email protected] mnt]# tar zxvf httpd-2.2.17.tar.gz -C /usr/src/ <!--解压缩httpd到/usr/src/-->
[[email protected] httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi <!--配置Apache-->
上述配置命令中,各选项的含义如下:
- --prefix:指定将httpd服务程序安装到那个目录下,如/usr/local/httpd。
- --enable-so:启用动态加载模块支持,使用httpd具备进一步扩展功能的能力。
- --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
- --enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
- --enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力。
[[email protected] httpd-2.2.17]# make <!--编译Apache-->
[[email protected] httpd-2.2.17]# make install <!--安装Apache-->
[[email protected] ~]# ls /usr/local/httpd/ <!--确认安装结果-->
bin build cgi-bin conf error htdocs icons include lib logs man manual modules
在安装后的/usr/local/httpd目录下,主要子目录的用途如下:
- /usr/local/httpd/bin:存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制工具apachectl等。
- /usr/local/httpd/cgi-bin:存放各种CGI程序文件。
- /usr/local/httpd/logs:存放httpd服务的日志文件。
- /usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等。
- /usr/local/httpd/htdocs:存放网页文档,包括默认首页文件index.html等。
- /usr/local/httpd/modules:存放httpd服务的各种模块文件。
[[email protected] ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ <!--优化执行路径-->
[[email protected] ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd<!--添加Apache系统服务-->
[[email protected] ~]# chmod +x /etc/init.d/httpd <!--/etc/init.d/httpd添加执行权限-->
[[email protected] ~]# vim /etc/init.d/httpd <!--修改Apache服务-->
#!/bin/sh
#chkconfig: 35 85 21 <!--服务识别参数,在级别3、5中启动;启动和关闭的顺序分别为85、21-->
#description:apache server <!--服务描述信息-->
...... <!--省略部分内容-->
[[email protected] ~]# chkconfig --add httpd <!--将httpd添加系统服务-->
[[email protected] ~]# systemctl start httpd <!--启动httpd服务-->
[[email protected] ~]# systemctl enable httpd <!--设置httpd服务开机自启-->
httpd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig httpd on
[[email protected] ~]# systemctl is-enabled httpd.service <!--查看httpd服务开机自动启动状态-->
[[email protected] ~]# apachectl -t <!--检查apache服务配置文件是否有错误-->
[[email protected] ~]# netstat -anptu | grep 80 <!--监听80端口号查看是否正常监听-->
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 980/master
tcp6 0 0 :::80 :::* LISTEN 54014/httpd
tcp6 0 0 ::1:25 :::* LISTEN 980/master
Apache服务搭建完成,现在开启一台客户端设置同一块网卡同网段用浏览器进行访问
开启客户端(网卡设置和Centos同一块网卡)
客户端设置IP地址
打开浏览器访问http://192.168.100.10
修改网站主页内容
[[email protected] ~]# vim /usr/local/httpd/htdocs/index.html <!--修改网页首页内容-->
<html><body><h1>www.bdqn.com</h1></body></html>
客户端重新访问
3、Apache全局配置项
在上述设置行中,各全局配置项的含义如下:
- ServerRoot:设置httpd服务器的根目录,该目录下包括了允许Web站点必需的子目录和文件。默认情况下,httpd服务器的根目录为httpd的安装目录。默认的根目录为/usr/local/httpd,与编译安装时所指定的httpd安装目录相同。在httpd.conf配置文件中,如果指定目录或文件位置时不使用绝对路径,则该目录或文件位置都认为是在服务器的根目录下。
- Listen:设置httpd服务器监听的网络端口号,默认为80。
- User:设置运行httpd进程时的用户身份,默认为daemon。
- Group:设置运行httpd进程时的组身份,默认为daemon。
- ServerAdmin:设置httpd服务器的管理员E-mail地址,可以通过此E-mail地址及时联系Web站点的管理员。
- ServerName:设置Web站点的完整主机名(主机名+域名)。
- DocumentRoot:设置网站根目录,即网页文档在系统中的实际存放路径。
- Directoryindex:设置网站的默认索引页(首页),可以设置多个首页文件,以空格分开,默认的首页文件为index.html。
- ErrorLog:设置错误日志文件的路径,默认路径为logs/error_log。
- LogLevel:设置记录日志的级别,默认级别为warn(警告)。
- GustomLog:设置访问日志文件的路径、日志类型,默认路径为logs/access_log,使用的类型为common(通用格式)。
- PidFile:设置用于保存httpd进程号(PID)的文件,默认保持地址为logs/httpd.pid,logs目录位于Apache的服务器根目录下。
- AddDefaultCharset:设置站点中的网页默认使用的字符集编码,如utf-8,gb2312等。
- Include:包含另一个配置文件的内容,可以实现将一些特殊功能的配置放到一个单独的文件中,再使用Include配置项将其包含到httpd.conf文件中,这样便于独立进行配置功能的维护而不影响主配置文件。
以上配置项是httpd.conf文件中主要的全局配置项。
4、安装DNS域名解析服务
[[email protected] ~]# umount /mnt/ <!--卸载光盘-->
切换光盘
[[email protected] ~]# mount /dev/cdrom /mnt/ <!--挂载光盘-->
[[email protected] ~]# mkdir /etc/yum.repos.d/bak/ <!--在yum根目录下创建一个bak目录-->
[[email protected] ~]# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/
<!--将yum目录里以Centos开头的文件剪切到bak目录-->
[[email protected] ~]# rm -rf /etc/yum.repos.d/Centos-* <!--删除以Centos开头的所以文件-->
[[email protected] ~]# yum -y install bind bind-chroot<!--安装DNS-->
[[email protected] ~]# cp /etc/named.conf /etc/named.conf.bak <!--备份DNS主配置文件-->
[[email protected] ~]# vim /etc/named.conf <!--编辑主配置文件-->
options { <!--全局配置文件-->
listen-on port 53 { 192.168.100.10; }; <!--53号端口监听IP地址-->
directory "/var/named"; <!--区域配置文件位置-->
allow-query { 192.168.100.0/24; }; <!--允许100.0网段使用DNS-->
};
zone "bdqn.com" IN { <!--正向解析区域名字为bdqn.com-->
type master; <!--主DNS服务器-->
file "bdqn.com.zone"; <!--正向解析区域配置文件名字-->
};
[[email protected] ~]# named-checkconf -z /etc/named.conf <!--检查DNS主配置文件是否错误-->
[[email protected] ~]# vim /var/named/bdqn.com.zone <!--编辑正向解析区域配置文件-->
$TTL 86400 <!--解析资源记录有效时间24小时-->
@ SOA bdqn.com. root.bdqn.com ( <!--域名为bdqn.com-->
2019081610 <!--更新序列号-->
1H <!--刷新时间1小时-->
15M <!--重试时间15分钟-->
1W <!--失效时间为1周-->
1D <!--无效解析记录保持时间1天-->
)
@ NS centos01.bdqn.com. <!--权威服务器是DNS的完全合格域名-->
centos01 A 192.168.100.10
www A 192.168.100.10
[[email protected] ~]# named-checkzone bdqn.com /var/named/bdqn.com,zone <!--检查正向解析区域配置是否有错误-->
[[email protected] ~]# chown named:named /var/named/bdqn.com.zone <!--修改属主属组-->
[[email protected] ~]# chmod +x /var/named/bdqn.com.zone <!--添加执行权限-->
[[email protected] ~]# systemctl start named <!--启动DNS服务-->
[[email protected] ~]# systemctl enable named.service <!--设置为开机自动启动-->
[[email protected] ~]# vim /usr/local/httpd/conf/httpd.conf <!--修改Apache主配置文件-->
#ServerName www.bdqn.com:80 <!--修改Web站点的完整主机名(主机名+域名)-->
[[email protected] ~]# systemctl restart httpd <!--重启Apache服务-->
客户端添加DNS
运行cmd,输入nslookup bdqn.com是否正常解析
打开浏览器通过域名访问
至此客户端可以通过IP地址访问也可以通过域名进行访问。
—————— 本文至此结束,感谢阅读 ——————
原文地址:https://blog.51cto.com/14156658/2445639