一、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