Apache基础配置

发布于:2025-07-21 ⋅ 阅读:(19) ⋅ 点赞:(0)

一、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.org
        DocumentRoot /var/www/virtual/obboda.org/va/
</VirtualHost>

<VirtualHost *:80>
        Servername vb.obboda.org
        DocumentRoot /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

网站公告

今日签到

点亮在社区的每一天
去签到