Linux system Apache
–>
apache
1.企业中常用的web服务,用来提供http://(超文本传输协议 )
阻塞模式 apache
异步非阻塞模式nginx
2.apache的安装部署
yum install httpd -y (首先配置好yum源)
yum install httpd-manual.noarch -y
systemctl start httpd
systemctl enable httpd
关闭火墙并设置火墙状态
以上环境做好后就可在浏览器访问http服务的manual
3.apache的基础信息
主配置目录 : /etc/httpd.conf
主配置文件 :/etc/httpd/conf/httpd.conf
子配置目录 : /etc/httpd/conf
子配置目录 : /etc/httpd/conf.d/*.conf
默认发布目录:/var/www/html/
默认发布文件 :index.html
默认端口: 80
默认安全上下文 :httpd_sys_content_t
程序开启默认用户:apache
apache日至:/etc/httpd/logs/*
修改默认端口
vim /etc/httpd/conf/httpd.conf
43行 Listen 80 80为默认端口
修改端口并重启服务,查看端口是否修改成功
查看端口 ss -anutlpe | grep httpd
修改默认发布文件
就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有顺序
第164行
vim /etc/httpd/conf/httpd.conf
index.html test.html 当index.html 不存在时访问test.html
修改默认的发布目录
vim /etc/httpd/conf/httpd.conf
DocumentRoot “/www/html”
<Directory “/www”>
Require all granted
</Directory>
修改配置文件,需要注释掉原来的默认发布目录
修改文件安全上下文
semanage fcontext -a -t httpd_sys_content_t ‘/www(/.*)?’
restorecon -RvvF /www
在修改后默认目录下做相关操作并在浏览器验证默认目录是否修改成功
4.apache 的虚拟主机
mkdir /var/www/virtual/linux.westos.com/html/ -p
mkdir /var/www/virtual/c.westos.com/html/ -p
新建分享目录
vim /var/www/virtual/linux.westos.com/html/index.html
写访问linux.westos.com要看到的东西
vim /var/www/virtual/c.westos.com/html/index.html
写访问c.westos.com要看到的东西
修改相关配置文件
vim /etc/httpd/conf.d/adefault.conf
<VirtualHost _default_:80> #指定站点名称
DocumentRoot “/var/www/html” #站点默认发布目录
CustomLog “logs/www.westos.com.log” combined #站点日志combined标志四种日志的集合
</VirtualHost>
vim /etc/httpd/conf.d/c.conf
<VirtualHost *:80>
ServerName c.westos.com
DocumentRoot “/var/www/virtual/c.westos.com/html/”
CustomLog “logs/c.westos.com.logs” combined
</VirtualHost>
<Directory “/var/www/virtual/c.westos.com/html/”>
Require all granted
</Directory>
vim /etc/httpd/conf.d/linux.conf
<VirtualHost *:80>
ServerName linux.westos.com
DocumentRoot “/var/www/virtual/linux.westos.com/html/”
CustomLog “logs/linux.westos.com.logs” combined
</VirtualHost>
<Directory “/var/www/virtual/linux.westos.com/html/”>
Require all granted
</Directory>
配置本地解析
vim /etc/hosts
172.25.254.111 c.westos.com www.westos.com linux.westos.com
测试结果
输入默认地址
输入其他地址测试
5.apache内部的访问控制
1)针对与主机的访问控制
vim /etc/httpd/conf.d/adefault.conf
<Directory “/var/www/html/test”>
Order deny,allow #列表读取顺序,后面会覆盖前面
Allow from all
Deny from 172.25.254.7
</Directory>
2)用户方式的访问控制
先建立访问该用户可看到的东西
htpasswd -cm /etc/httpd/userpass admin
htpasswd -m /etc/httpd/userpass admin1 设置可以访问的用户
c 表示重新建立这个文件,原来文件里的东西会删除
m表示添加用户
vim /etc/httpd/conf.d/adefault.conf
<Directory “/var/www/html/admin”>
AuthUserFile /etc/httpd/userpass 访问的用户需要看这个文件夹
AuthName “please input you name and passwd” ## 访问时出来的提示字符
AuthType basic ##最基本的访问
#Require user admin 只有admin用户可以访问
Require valid-user ##所有的合法用户都可以登陆
</Directory>
在浏览器上用该用户访问,需输入用户名及密码
成功登陆
6.apache默认支持的语言
1)html
2)php
在相关目录下建立php文件
安装php
yum install php -y
重启httpd
vim /var/www/html/index.php
<?php
phpinfo();
?>
在浏览器访问php
3)cgi
vim /etc/httpd/conf.d/adefault.conf
<Directory “/var/www/html/cgi”>
OPtions +ExecCGI
AddHandler cgi-script .cgi
</Directory> 修改配置文件
semanage fcontext -a -t httpd_sys_script_exec_t ‘/var/www/html/cgi(/.*)?’
restorecon -RvvF /var/www/html/cgi/
改变文件的安全上下文
vim /var/www/html/cgi/index.cgi
chmod +x /var/www/html/cgi/index.cgi
重启httpd
测试脚本
浏览器输入172.25.254.111/cgi/index.cgi
7.http证书
yum install crypto-utils -y
yum install mod_ssl.x86_64 -y
genkey www.westos.com
需在当前主机shell下输入字符进度条即可读取
是否上传证书请求
建立证书相关信息
vim /etc/httpd/conf.d/ssl.conf
108 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key (公私钥)
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt(证书)
证书成功生成
8.设定https虚拟主机并重写网页
mkdir -p /var/www/html/virtual/login.westos.com/html
vim /var/www/html/virtual/login.westos.com/html/index.html ##设定网页
<VirtualHost *:443>
ServerName login.westos.com
DocumentRoot /var/www/html/virtual/login.westos.com/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/html/virtual/login.westos.com/html”>
Require all granted
</Directory>
<VirtualHost *:80>
ServerName login.westos.com
RewriteEngine On ##开始转换
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301] ##转换的规则
</VirtualHost>
配置本地解析
vim /etc/hosts
浏览器测试,自动将http转化为https加密模式
^(/.*)$ ##客户在浏览地址栏中输入的所有字符
https:// ##强制客户加密访问
%{HTTP_HOST} ##客户请求主机
$1 ## $1表示 ^(/.*)$的值
[redirect=301] ##临时转换(每次访问都会转换)302表示永久转换
本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。