Linux system Apache

来源:互联网 发布:蒙古语翻译软件 编辑:程序博客网 时间:2024/06/07 08:23

                              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表示永久转换

原创粉丝点击