Apache服务
文章目录
Apche,企业中常用的web服务,用来提供http://(超文本传输协议)。
1.查看
curl -I 可以查看域名信息
curl -I www.baidu.com
curl -I www.qq.com
curl -I www.163.com
2.Apache的安装部署
yum install -y httpd 安装httpd
yum install -y httpd-manual 安装manual
systemctl start httpd 开启http服务
systemctl enable httpd 设置开机启动
systemctl start firewalld 开启防火墙
firewall-cmd --permanent --add-serbice=http 在防火墙添加http服务
firewall-cmd --reload 立即生效
firewall-cmd --list-all 查看是否添加
3.相关目录:
/var/www/html apache的根目录,是默认发布目录
/var/www/html/index.html apache的默认发布文件
测试:
vim /var/www/html/index.html
<h1>Hello Bye~</h1>
在浏览器上访问:
http://172.25.254.74
http://172.25.254.74/manual
4.Apache的基础信息:
主配置目录: /etc/httpd/conf
主配置文件: /etc/httpd/conf/http.conf
子配置目录: /etc/httpd/conf.d/
子配置文件: /etc/httpd/conf.d/*.conf
默认发布目录: /var/www/html
默认发布文件: index.html
默认端口: 80
默认安全上下文: httpd_sys_content_t
程序开启默认用户: apache
apache日志: /etc/httpd/logs/*
(1)修改默认端口:
vim /etc/httpd/conf/httpd.conf
Listen 8080 修改默认端口为8080(在43行左右)
firewall-cmd --permanent --add-port=8080/tcp 在防火墙添加8080端口
firewall-cmd --reload 立即生效
测试:
在浏览器访问172.25.254.74:8080
(2)修改默认发布文件:
默认发布文件就是访问apache时没有指定文件名时默认访问的文件,此文件可以指定多个,但是有访问顺序。
vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos index.html 当westos不存在时就访问index.html(164行左右)
(3)修改默认发布目录(120行左右):
DocumentRoot "/westos/html"
<Directory "/westos">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
5.访问控制
vim /var/www/html/index.html 修改默认发布文件内容
<h1>The Bset HAO !!!</h1>
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/">
Order Allow,Deny 顺序,先读allow,再deny
Allow from All
Deny from 172.25.254.28 读到deny就会覆盖allow
</Directory>
systemctl restart httpd 重启服务
测试:
分别使用172.25.254.28以及另一个ip访问172.25.254.74/index.html尝试
6.指定用户访问
htpasswd -cm westosuser admin 第一次添加用户并指定密码需要加c参数
htpasswd -m westosuser admin1 添加用户并指定密码
vim /etc/httpd/conf/httpd.conf 编辑配置文件
<Directory "/var/www/html/westos">
AuthUserFile /etc/httpd/conf/westosuser
AuthType basic 类型
AuthName "Please input your name and password !!!" 名字(界面显示的信息)
Require user admin 允许的用户
(Require valid-user) 允许所有用户
</Directory>
测试:
7.虚拟站点
vim /etc/hosts 配置解析
172.25.254.74 www.westos.com news.westos.com music.westos.com
systemctl restart httpd 重启
mkdir /var/www/virtual/news/html -p
mkdir /var/www/virtual/music/html -p 建立两个默认发布目录
vim /var/www/virtual/news/html/index.html 编辑news 默认发布文件
<h1>news.westos.com</h1>
vim /var/www/virtual/music/html/index.html 编辑music默认发布文件
<h1>music.westos.com</h1>
cd /etc/httpd/conf.d/
vim default.conf 编辑默认站点发布的配置文件
<VirtualHost _default_:80> 默认站点发布端口
DocumentRoot /var/www/html 默认站点发布目录
CustomLog logs/default.log combined 站点日志为combined混合日志
</VirtualHost>
cd /etc/httpd/conf.d/
vim news.conf 编辑news引导文件
<VirtualHost *:80> 发布端口
ServerName news.westos.com 站点域名
DocumentRoot /var/www/virtual/news/html 默认发布目录
CustomLog logs/news.log combined 站点日志为combined混合日志
</VirtualHost>
vim music.conf 编辑music引导文件
<VirtualHost *:80> 发布端口
ServerName music.westos.com 站点域名
DocumentRoot /var/www/virtual/music/html 默认发布目录
Customlog logs/music.log combined 站点日志为combined混合日志
</VirtualHost>
<Directory "/var/www/virtual/music/html">
Require all granted 授权
</Directory>
systemctl restart httpd 重启
**浏览器可访问:www.westos.com news.westos.com music.westos.com **
8.php和cgi语言
vim /var/www/html/php 编辑php文件
<?php
phpinfo();
?>
yum install -y php 安装php
mkdir /var/www/html/cgi 建立cgi目录
cd /var/www/html/cgi
vim index.cgi 编辑cgi默认发布文件
#! /usr/bin/perl
print "Content-type: text/html\n\n";
print `date`; 输出时间
chmod 775 index.cgi 赋予权限
/.index.cgi 执行命令测试
vim /etc/httpd/conf.d/default.conf 编辑指向文件
<Directory "/var/www/html/cgi">
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
systemctl restart httpd 重启服务
测试:访问172.25.254.74/index.php
9.WSGI语言
mkdir /var/www/wsgi 建立wsgi目录
cd /var/www/wsgi/
下载script.wsgi文件
cd /etc/httpd/conf.d/
vim vhost.conf 编辑配置文件
<VirtualHost *:80>
ServerName www.westoswsgi.com
WSGIScriptAlias / /var/www/wsgi/script.wsgi
</VirtualHost>
yum install mod_wsgi -y 安装wsgi
vim /etc/hosts 添加解析
172.25.254.74 www.westoswsgi.com
用浏览器访问www.westoswsgi.com
10.Apache的ssl
https(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的http通道,简单讲是http的安全版。
yum install -y mod_ssl
systemctl restart httpd
浏览器访问:https:172.25.254.254.74
11.自签名证书
yum install -y crypto-utils
genkey www.westos.comg 进入认证设置界面
进入加密页面
cd /etc/httpd/conf.d
vim ssl.conf 编辑认证文件
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt 认证锁
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key 认证密钥
systemctl restart httpd 重启
测试机:
关闭防火墙,并对浏览器添加认证:
vim /etc/hosts
172.25.254.74 www.westos.com 添加解析
12.网页重写
cd /etc/httpd/conf.d/
vim login.conf 编辑配置文件
<VirtualHost *:443>
ServerName login.westos.com
DocumentRoot /var/www/virtual/login/html
CustomLog logs/login.log combined
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Directory "/var/www/virtual/login/html">
Require all granted
</Directory>
vim /etc/hosts 添加解析
172.25.254.121 login.westos.com
mkdir -p /var/www/virtual/login/html
vim /var/www/virtual/login/html/index.html 编辑默认发布文件
<h1>login page</h1>
systemctl restart httpd 重启
vim login.conf 编辑配置文件
<VirtualHost *:80>
ServerName login.westos.com
RewriteEngine On
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
#^(/.*)$表示客户在浏览器中输入的所有字符
#$1表示^(/.*)$的值
#redirect=301表示转换时永久的
#%{HTTP_HOST}表示客户请求主机