搭建Apache服务器
Apache HTTP服务器是一个功能强大、灵活且广泛使用的Web服务器软件,适用于各种规模的网站,本文将详细介绍如何在Windows和Linux操作系统上安装和配置Apache服务器,包括基本设置、虚拟主机配置以及安全加固等内容。
一、什么是Apache?
Apache(或httpd)服务是Internet上使用最多的Web服务器技术之一,通俗来讲就是一个用于搭建网站的服务,有两个版本:
1、http:超文本传输协议,通过线路以明文形式发送,默认使用80端口/TCP。
2、https:经TLS/SSL安全加密的超文本传输协议,默认使用443端口/TCP。
二、Apache的配置文件
在开始配置之前,了解Apache的配置文件结构非常重要,以下是主要配置文件的位置和作用:
配置文件 | 存放位置 |
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
虚拟主机的配置文件目录 | /etc/httpd/conf.d |
基于用户的配置文件 | /etc/httpd/conf.d/userdir.conf |
日志文件目录 | /var/log/httpd |
默认的网站数据目录 | /var/www/html |
主配置文件的重要参数包括:
ServerRoot: 服务目录
Listen: 监听的IP地址与端口号
DocumentRoot: 默认网站数据目录
User: 运行服务的用户
Group: 运行服务的用户组
Directory: 文件目录的权限
ServerAdmin: 管理员邮箱
ErrorLog: 错误日志文件
DirectoryIndex: 默认的索引页面
三、如何搭建Apache服务器
1. 准备阶段
在搭建Apache服务器之前,需要进行一些准备工作,包括更改主机名、配置网络以及配置yum源(对于Linux系统)。
更改主机名:
[root@localhost ~]# hostnamectl sethostname Ayaka [root@localhost ~]# bash
配置网络:
虚拟机NAT网段配置为192.168.123.0网段,网卡适配器选择仅主机模式。
编辑网络配置文件:
[root@ayaka ~]# cd /etc/sysconfig/networkscripts/ [root@ayaka networkscripts]# vim ifcfgens33
修改以下参数:
BOOTPROTO=static IPADDR=192.168.123.101 NETMASK=255.255.255.0
重启网络服务:
[root@ayaka networkscripts]# systemctl restart network
配置yum源:
[root@ayaka ~]# mount /dev/cdrom /media/ [root@ayaka ~]# cd /etc/yum.repos.d/ [root@ayaka yum.repos.d]# vim local.repo
添加以下内容:
[rhel] name=rhel baseurl=file:///media enabled=1 gpgcheck=0
然后清空yum源缓存并检索yum源:
[root@ayaka yum.repos.d]# yum clean all [root@ayaka yum.repos.d]# yum repolist
2. 安装和配置Apache服务器
安装Apache服务器:
[root@ayaka ~]# yum install y httpd
启动Apache服务:
[root@ayaka ~]# systemctl restart httpd
访问Apache网站:
[root@ayaka ~]# curl http://192.168.123.101/
如果看到Apache默认页面,说明安装成功。
3. 配置防火墙和SELinux权限
关闭防火墙:
[root@ayaka public_html]# systemctl stop firewalld
修改SELinux权限:
[root@ayaka public_html]# setenforce 0
4. 搭建基于用户的个人网站
首先确定已经安装了httpd服务,然后按照以下步骤操作:
1、新建用户:
[root@localhost ~]# useradd ayaka
2、创建个人的网页文件:
[root@localhost ~]# mkdir /home/ayaka/public_html [root@localhost ~]# echo "<h1>欢迎来到Ayaka的个人网站</h1>" > /home/ayaka/public_html/index.html
3、修改用户网页文件的访问权限:
[root@localhost ~]# chmod R 705 /home/ayaka
4、修改基于用户的配置文件:
[root@localhost ~]# vim /etc/httpd/conf.d/userdir.conf
修改第17行和第24行:
UserDir enable UserDir public_html
5、关闭防火墙修改SELinux权限:
[root@localhost public_html]# systemctl stop firewalld [root@localhost public_html]# setenforce 0
6、重启服务:
[root@localhost public_html]# systemctl restart httpd
7、访问网页:
没有图形化:Curl http://192.168.123.101/~ayaka/ 有图形化:firefox http://192.168.123.101/~ayaka/
或者在主机浏览器搜索192.168.123.101/~ayaka/。
5. 搭建基于域名访问的虚拟主机
以“www.toto.com”为例来创建一个虚拟网站:
1、创建虚拟主机的网页文件:
网站数据存放在/www/toto/下,网站主页内容为:“welcome to toto’s website”``` 2、修改文件的访问权限:
使其它用户具有可执行权力“`
3、配置虚拟主机的网页文件:
vim /etc/httpd/conf.d/vhost.conf``` 添加以下内容:
<VirtualHost *:80>
ServerName www.toto.com
DocumentRoot /www/toto
</VirtualHost>
4、做域名解析文件:
vim /etc/hosts“`
添加以下内容:
192.168.123.101 www.toto.com
5、配置防火墙和SELinux:
关闭防火墙修改selinux权限``` 6、重启服务:
启动Apache服务“`
7、访问网页:
没有图形化:Curl http://www.toto.com/ 有图形化:firefox http://www.toto.com/``` 或者在主机浏览器搜索www.toto.com。 6. 搭建基于端口访问的虚拟主机 1、新建虚拟主机的网页文件:
网站数据存放在/www/port8080下,网站主页内容为:“welcome to port8080’s website”“`
2、修改文件的访问权限:
使其它用户具有可执行权力``` 3、配置虚拟主机的网页文件:
vim /etc/httpd/conf/extra/httpdvhosts.conf“`
添加以下内容:
<VirtualHost *:8080> DocumentRoot "/www/port8080" </VirtualHost>
4、添加新的端口到防火墙:
添加新的端口到防火墙(前面只是添加了服务,并没有添加新的端口)``` 5、重启服务:
启动Apache服务“`
6、访问网页:
没有图形化:Curl http://192.168.123.101:8080/ 有图形化:firefox http://192.168.123.101:8080/``` 或者在主机浏览器搜索192.168.123.101:8080。 7. 搭建网站并完成认证 1、新建虚拟机的网页文件:
网站数据存放在/www/test下,网站主页内容为:“welcome to test’s website”“`
2、修改文件的访问权限:
使其它用户具有可执行权力``` 3、修改主文件:
vim /etc/httpd/conf/httpd.conf“`
4、创建用户和认证文件:
创建用户和认证文件``` 5、关闭防护墙:
关闭防护墙“`
6、测试:
:测试``` 7、重启服务:
重启服务“`
8、访问网页:
没有图形化:Curl http://192.168.123.101/test/``` 有图形化:firefox http://192.168.123.101/test/```或者在主机浏览器搜索192.168.123.101/test/。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1244827.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复