搭建Apache服务
- Apache 服务的搭建与配置
- Apache 介绍
- Apache 安装
- 目录介绍
- 访问
Apache 服务的搭建与配置
世上最重要的事,不在于我们在何处,而在于我们朝着什么方向走。
Apache 介绍
Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。可以运行在几乎所有广泛使用的计算机平台上,是最流行的Web服务器端软件之一。
Apache 安装
[root@zifeiyu ~]# systemctl stop firewalld
[root@zifeiyu ~]# setenforce 0
[root@zifeiyu ~]# yum install -y httpd
[root@zifeiyu ~]# systemctl start httpd
[root@zifeiyu ~]# netstat -nltp| grep 80
tcp6 0 0 :::80 :::* LISTEN 1478/httpd
[root@zifeiyu ~]#
# 端口80 ,可以修改
目录介绍
文件名称 | 作用 |
/etc/httpd | 服务目录 |
/etc/httpd/conf/httpd.conf` | 主配置文件 |
/var/www/html | 网站数据目录 |
/var/log/httpd/access_log | 访问日志 |
/var/log/httpd/error_log | 错误日志 |
/etc/httpd/conf.d | 附加模块配置文件 |
/etc/httpd/modules | 模块文件路径链接 |
/etc/httpd/bin/ | 二进制命令 |
/etc/httpd/logs | 默认日志文件位置 |
主配置文件
[root@zifeiyu ~]# vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd" #工作目录
Listen 80 #监听端口
Listen 192.168.215.129:80 # 指定监听的本地网卡 可以修改
User apache # 子进程的用户,有可能被人改称www账户
Group apache # 子进程的组
ServerAdmin root@localhost # 设置管理员邮件地址
DocumentRoot "/var/www/html" # 发布网站的默认目录,想改改这里。
IncludeOptional conf.d/*.conf # 包含conf.d目录下的*.conf文件
# 设置DocumentRoot指定目录的属性
<Directory "/var/www/html"> # 网站容器开始标识
Options Indexes FollowSymLinks # 找不到主页时,以目录的方式呈现,并允许链接到网站根目录以外
AllowOverride None # 对目录设置特殊属性:none不使用.htaccess控制,all允许
Require all granted # granted表示运行所有访问,denied表示拒绝所有访问
</Directory> # 容器结束
Require all granted # granted表示运行所有访问,denied表示拒绝所有访问
</Directory> # 容器结束
DirectoryIndex index.html # 定义主页文件,当访问到网站目录时如果有定义的主页文件,网站会自动访问
访问
准备测试页面
[root@zifeiyu ~]# echo 'I Love You' > /var/www/html/index.html # 编写主页文件
可以直接编辑apache主配置文件
1.默认允许所有主机访问
[root@zifeiyu ~]# vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride none
Require all granted # 默认允许所有人访问
</Directory>
[root@zifeiyu ~]# systemctl restart httpd
2.只拒绝一部分客户端访问:
[root@zifeiyu ~]# vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride none
Require all granted # 默认允许所有人访问
<RequireALL>
Require not ip 192.168.215.128 # 拒绝的ip,多个用空格隔开
Require all granted
</RequireAll>
</Directory>
[root@zifeiyu ~]# systemctl restart httpd
访问失败
[root@client ~]# curl -I http://192.168.215.129 # 用另外一台机器测试访问成功
HTTP/1.1 200 OK
Date: Thu, 06 Aug 2020 20:40:37 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 06 Aug 2020 20:12:02 GMT
ETag: "6-5ac3b1a02ac4f"
Accept-Ranges: bytes
Content-Length: 6
Content-Type: text/html; charset=UTF-8
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,它支持文件的上传和下载,是综合传输工具,习惯称url为下载工具。
-o:指定下载路径
-I:查看服务器的响应信息
3.拒绝所有人
[root@zifeiyu ~]# vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride none
Require all granted # 默认允许所有人访问
<RequireALL>
# Require not ip 192.168.215.128 # 拒绝的ip,多个用空格隔开
Require all denied # 拒绝所有ip
</RequireAll>
</Directory>
[root@zifeiyu ~]# systemctl restart httpd
所有人都访问失败
[root@client ~]# curl -I http://192.168.215.129
HTTP/1.1 403 Forbidden
Date: Thu, 06 Aug 2020 20:38:00 GMT
Server: Apache/2.4.6 (CentOS)
Content-Type: text/html; charset=iso-8859-1
修改默认网站发布目录
[root@zifeiyu ~]# vim /etc/httpd/conf/httpd.conf
119 DocumentRoot "/www" # 修改网站根目录为/www
131 <Directory "/www"> # 把这个也对应的修改为/www
[root@zifeiyu ~]# mkdir /www # 创建定义的网站发布目录
[root@zifeiyu ~]# echo "这是新修改的网站家目录/www" > /www/index.html # 创建测试页面
[root@zifeiyu ~]# systemctl restart httpd # 重启服务