linux ——apache

来源:互联网 发布:计算机一级软件 编辑:程序博客网 时间:2024/06/11 02:54

一.apache

企业中常用的web服务,用来提供http:// (超文本传输协议)

二.apche 的安装部署

yum install httpd

yum install httpd-manual.noarch #####http的说明文件

systemctl start httpd

systemctl enable httpd

这里写图片描述

systemctl disable firewalld
这里写图片描述

三.apache 的基础信息

主配置目录: /etc/httpd/conf

主配置文件: /etc/httpd/conf/httpd.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/*

查看服务端口

ss -anutlpe | grep httpd

这里写图片描述

修改端口

vim /etc/httpd/conf/httpd.conf

42 listen 8080 ###修改默认端口为8080

systemctl restart httpd

这里写图片描述

修改默认发布文件

默认发布文件就是访问 时没有指定文件名称时 默认访问的文件这个文件可以指定多个,有访问顺序

164 DirectoryIndex index.html haha.html 当index.html不存在时 访问haha.html

测试:访问 本机 ip 看有没有发布内容

这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述

修改默认发布目录

[root@localhost html]# mkdir -p /nikan/html

root@localhost html]# vim /nikan/html/index.html

[root@localhost html]# vim /etc/httpd/conf/httpd.conf

119 #DocumentRoot “/var/www/html”

120 DocumentRoot “/nikan/html”

121 Directory “/nikan/html”>

122 Require all granted

123 /Directory>

systemctl restart httpd

[root@localhost html]# semanage fcontext -a -t httpd_sys_content_t ‘/nikan(/.*)?’

[root@localhost html]# restorecon -RvvF /nikan/

这里写图片描述

测试:访问 本机 ip 看有没有发布内容

这里写图片描述

四.apache的虚拟主机

将默认发布目录修改回来

[root@localhost html]# vim /etc/httpd/conf/httpd.conf

[root@localhost html]# systemctl restart httpd

[root@localhost html]# vim index.html ###写默认发布文件

[root@localhost html]# cd /etc/httpd/conf.d ###切换到子配置文件目录

[root@localhost conf.d]# vim adefault.conf

1 VirtualHost default:80>

2 DocumentRoot “/var/www/html”

3 CustomLog “logs/www.lol.com” combined

4 /VirtualHost>

[root@localhost conf.d]# vim nuoke.conf

1 VirtualHost *:80>

2 ServerName nuoke.com ###指定站点名称

3 DocumentRoot “/var/www/virtual/nuoke.com/html/” ###站点默认发布目录

4 CustomLog “logs/nuoke.com.logs” combined ###站点日志combined表示四种错误一起

5 /VirtualHost>

6 Directory “/var/www/virtual/nuoke.com/html/”>

7 Require all granted

8 /Directory>

[root@localhost conf.d]# vim ruiwen.conf

1 VirtualHost *:80>

2 ServerName ruiwen.com

3 DocumentRoot “/var/www/virtual/ruiwen.com/html/”

4 CustomLog “logs/ruiwen.com.logs” combined

5 /VirtualHost>

6 Directory “/var/www/virtual/ruiwen.com/html/”>

7 Require all granted

8 /Directory>

[root@localhost conf.d]# mkdir -p /var/www/virtual/nuoke.com/html/

[root@localhost conf.d]# mkdir -p /var/www/virtual/ruiwen.com/html/

[root@localhost conf.d]# cd /var/www/virtual/nuoke.com/html/

[root@localhost html]# vim index.html

[root@localhost html]# cd /var/www/virtual/ruiwen.com/html/

[root@localhost html]# vim index.html

[root@localhost html]# systemctl restart httpd

这里写图片描述

测试:

在测试主机中做好本地解析

vim /etc/hosts

这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述

五.apache内部访问控制

1.针对主机访问控制

vim a.conf

/VirtualHost>

Directory “/var/www/html/test”>

    Order deny,allow  ##列表读取顺序,后读取会覆盖限度去内容的重复部分    Allow from 172.25.254.2    Deny from all

/Directory>

mkdir /var/www/html/test

vim /var/www/html/test/index.html

systemctl restart httpd

这里写图片描述

http://172.25.254.2/test/

这里写图片描述

2.用户方式的访问控制

htpasswd -cm /etc/httpd/userpass admin

htpasswd -m /etc/httpd/userpass admin1

cat /etc/httpd/userpass

cd /etc/httpd/conf.d

vim a.conf

Directory “/var/www/html/admin”>

    AuthUserFile /etc/httpd/userpass    AuthName "Do you like wan you ci"    AuthType basic   Require user admin    Requirs valid-user

/Directory>

mkdir /var/www/html/admin

vim /var/www/html/admin/index.html

systemctl restart httpd

http://172.25.254.2/admin/

这里写图片描述
这里写图片描述
这里写图片描述

六.apache支持的语言

vim /etc/httpd/conf/httpd.conf

169 DirectoryIndex index.html index.php index.cgi

1.html

2.php

vim /var/www/html/index.php

?php
phpinfo();
?>

yum install php -y

systemctl restart httpd

http://172.25.254.2/index.php

这里写图片描述
这里写图片描述

3.cgi

mkdir -p /var/www/html/cgi

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

!/usr/bin/perl

print “Content-type: text/html\n\n”;
print date;

chmod +x /var/www/html/cgi/index.cgi

/var/www/html/cgi/index.cgi

vim /etc/httpd/conf.d/a.conf

Directory “/var/www/html/cgi”>

Options +ExecCGIAddHandler cgi-script .cgi

/Directory>

systemctl restart httpd

这里写图片描述
这里写图片描述

七.https

保护客户数据传输不被破解

ss -antlupe | grep 443

yum install mod_ssl -y

yum install crypto-utils -y

genkey www.van.com ##至少1024,越大越慢

[/etc/pki/tls/private/www.van.com.key]|[/etc/pki/tls/certs/www.van.com.crt]

vim /etc/httpd/conf.d/ssl.conf

101 SSLCertificateFile /etc/pki/tls/certs/www.van.com.crt

109 SSLCertificateKeyFile /etc/pki/tls/private/www.van.com.key

systemctl restart httpd

这里写图片描述

这里写图片描述

八.设定https虚拟主机并设定网页重写

mkdir -p /var/www/virtual/next.door.com/html

vim /var/www/virtual/next.door.com/html/index.html

vim /etc/httpd/conf.d/next.conf

VirtualHost *:443>

    ServerName next.door.com    DocumentRoot /var/www/virtual/next.door.com/html    CustomLog "logs/next.door.com..logs" combined    SSLEngine on    SSLCertificateFile /etc/pki/tls/certs/www.ww.com.crt    SSLCertificateKeyFile /etc/pki/tls/private/www.ww.com.key

/VirtualHost>

Directory “/var/www/virtual/next.door.com/html”>

    Require all granted

/Directory>

VirtualHost *:80>

    ServerName next.door.com    RewriteEngine On    RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

/VirtualHost>

systemctl restart httpd

这里写图片描述

vim /etc/hosts

这里写图片描述
这里写图片描述