Apache基础配置
一、Apache安装
# 安装apache
[root@webserver ~]# yum install httpd -y# 在防火墙中放行web服务
[root@webserver ~]# firewall-cmd --permanent --add-service=http
success
[root@webserver ~]# firewall-cmd --permanent --add-service=https
success# 开启服务
[root@webserver ~]# systemctl enable --now httpd.service# 生成默认测试页面文件
[root@webserver ~]# echo "web test" > /var/www/html/index.html# 测试
[root@webserver ~]# curl 192.168.121.21
web test
Apache的基本信息:
- /etc/httpd/conf/:配置目录;
- etc/http/conf.d:子配置目录;
- /etc/httpd/conf/httpd.conf:主配置文件;
- /lib/systemd/system/htpd.service:启动文件;
- :80:默认端口;
- /var/www/html:默认发布目录;
- index.html:默认发布文件;
二、Apache的基本配置信息
(1)端口修改
# 修改配置文件
[root@webserver ~]# vim /etc/httpd/conf/httpd.conf
#Listen 80
Listen 8000# 刷新配置文件读取
[root@webserver ~]# systemctl reload httpd.service# 设定防火墙通过
[root@webserver ~]# firewall-cmd --permanent --add-port=8080/tcp
[root@webserver ~]# firewall-cmd --reload# 访问测试
[root@webserver ~]# curl 192.168.121.21:8000
web test
(2)默认发布目录
# 创建默认发布目录
[root@webserver ~]# mkdir -p /www/html# 修改配置文件
[root@webserver ~]# vim /etc/httpd/conf/httpd.con
DocumentRoot "/www/html"<Directory "/www/html">Require all granted
</Directory>[root@webserver ~]# echo "/www/html's page" > /www/html/index.html
[root@webserver ~]# systemctl reload httpd.service
[root@webserver ~]# curl 192.168.121.21:8000
/www/html's page
(3)默认发布文件
# 添加默认发布文件
[root@webserver ~]# echo "obboda.html" > /www/html/obboda.html# 将obboda.html设为index.html前,优先查询
[root@webserver ~]# vim /etc/httpd/conf/httpd.conf
<IfModule dir_module>DirectoryIndex obboda.html index.html
</IfModule>[root@webserver ~]# systemctl reload httpd.service
[root@webserver ~]# curl 192.168.121.21:8000
obboda.html
三、SSL证书
# 安装mod_ssl
[root@webserver ~]# yum install mod_ssl# 创建存放证书的目录
[root@webserver ~]# mkdir /etc/httpd/certs# 生成证书
[root@webserver ~]# openssl req \
> -newkey rsa:2048 \
> -nodes \
> -sha256 \
> -keyout /etc/httpd/certs/obboda.org.key \
> -x509 \
> -days 365 \
> -out /etc/httpd/certs/obboda.org.crt
Generating a 2048 bit RSA private key
...........................................+++
........................................................................................+++
writing new private key to '/etc/httpd/certs/obboda.org.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:HUNAN
Locality Name (eg, city) [Default City]:ChangSha
Organization Name (eg, company) [Default Company Ltd]:obboda
Organizational Unit Name (eg, section) []:webserver
Common Name (eg, your name or your server's hostname) []:www.webserver.org
Email Address []:obboda@123.com# 查看证书存放的目录
[root@webserver ~]# ls /etc/httpd/certs/
obboda.org.crt obboda.org.key# 编辑配置文件
[root@webserver ~]# vim /etc/httpd/conf.d/ssl.conf
# SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/httpd/certs/obboda.org.crt
# SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/httpd/certs/obboda.org.key[root@webserver ~]# systemctl reload httpd.service# 浏览器访问测试
四、虚拟主机
在这之前,恢复之前所有修改过的配置。
# 分别创建站点
[root@webserver ~]# mkdir -p /var/www/virtual/obboda.org/va
[root@webserver ~]# mkdir -p /var/www/virtual/obboda.org/vb# 创建默认发布文件
[root@webserver ~]# echo "va.obboda.org" > /var/www/virtual/obboda.org/va/index.html
[root@webserver ~]# echo "vb.obboda.org" > /var/www/virtual/obboda.org/vb/index.html# 编辑配置文件
[root@webserver ~]# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost _default_:80>DocumentRoot /var/www/html
</VirtualHost><VirtualHost *:80>Servername va.obboda.orgDocumentRoot /var/www/virtual/obboda.org/va/
</VirtualHost><VirtualHost *:80>Servername vb.obboda.orgDocumentRoot /var/www/virtual/obboda.org/vb/
</VirtualHost>[root@webserver ~]# systemctl reload httpd.service
在另一台测试主机上:
# 配置域名解析
[root@localhost ~]# vim /etc/hosts
192.168.121.21 va.obboda.org vb.obboda.org# 测试
[root@localhost ~]# curl va.obboda.org
va.obboda.org
[root@localhost ~]# curl vb.obboda.org
vb.obboda.org