Linux--Apache HTTP Server

Apache HTTP Server

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中

Apache 对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面

Apache的基础信息

主配置目录

/etc/httpd/conf

主配置文件

/etc/httpd/conf/httpd.conf

子配置目录

/etc/httpd/conf.d/

默认发布目录

index.html

默认端口

80

默认安全上下文

httpd_sys_content_t

程序开启默认用户

apache

apache日志

/etc/httpd/logs/*

安装 Apache

getenforce

查看selinux

关闭

在这里插入图片描述

yum install httpd -y

安装 http

在这里插入图片描述

在这里插入图片描述

yum install httpd-manual -y

安装 http 手册

在这里插入图片描述

在这里插入图片描述

systemctl start httpd

开启 http

systemctl enable httpd

开机自启 http

在这里插入图片描述

firewall-cmd --permanent --add-service=http

添加 http 服务

firewall-cmd --reload

加载

firewall-cmd --list-all

查看所有列表

在这里插入图片描述

cd /var/www/html

切换到 /var/www/html 目录,该目录是安装 http 后由系统自动生成的目录,里面主要存放网页内容

在这里插入图片描述

vim /var/www/html/index.html

编辑 index.html 文件

cat /var/www/html/index.html

查看内容

在这里插入图片描述
http://172.25.254.130

输入 web 服务器 ip 查看内容

在这里插入图片描述

修改默认端口

默认访问端口为 80

vim /etc/httpd/conf/httpd.conf

编辑 httpd.conf 配置文件

Listen 8080

在这里插入图片描述

firewall-cmd --permanent --add-port=8080/tcp

添加 tcp 端口为 8080

在这里插入图片描述

http://172.25.254.130:8080

需要输入端口号,默认端口号已被修改

在这里插入图片描述

http://172.25.254.130:8080/manual/

手册

在这里插入图片描述

修改默认发布文件

访问apache时没有指定文件名时默认访问的文件,这个文件可以指定多个,有访问顺序

vim /etc/httpd/conf/httpd.conf

Listen 80

默认端口修改为初始值

在这里插入图片描述

DirectoryIndex westos index.html

当 westos不存在时 ,访问 index.html

在这里插入图片描述

http://172.25.254.130

自动跳转到 /westos 目录下

在这里插入图片描述

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf

DirectoryIndex index.html

修改回初始值

在这里插入图片描述

http://172.25.254.130

回到原始目录下

在这里插入图片描述

在这里插入图片描述

修改默认发布目录

vim /etc/httpd/conf/httpd.conf

DocumentRoot "/westos/html"

文件默认访问目录

Require all granted

允许所有来源访问

注意:常见访问控制指令

Require all granted
允许所有来源访问
Require all denied
拒绝所有来源访问
Require expr expression
允许表达式为true时访问
Require ip 10 172.20 192.168.2
允许特定IP段访问,多个段之前用空格隔开,每个段使用开头几项表示
Require host westos.com
只允许来自域名westos.com的主机访问

在这里插入图片描述

注释原始默认发布目录

在这里插入图片描述

vim /westos/html

cat /westos/html

在这里插入图片描述

http://172.25.254.130

发布目录已被修改

在这里插入图片描述

访问控制

mkdir /var/www/html/westos

在这里插入图片描述

vim mkdir /var/www/html/westos/index.html

cat mkdir /var/www/html/westos/index.html

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf

Order Allow,Deny

执行命令

Allow from all

允许所有通过

Deny from 172.25.254.30

拒绝172.25.254.30

systemctl restart httpd
在这里插入图片描述

172.25.254.130测试访问

正常访问

在这里插入图片描述

172.25.254.30测试访问

权限未开,禁止访问

在这里插入图片描述

指定用户访问

htppasswd -cm westosuser admin

第一创建 admin 用户 -cm参数

htpasswd -m westosuser admin1

第二次创建 admin1 用户 -m参数(如果使用 -cm 参数,替换原先 admin)

cat westosuser

账户及加密密码

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf

AuthUserFile /etc/httpd/conf/westosuser

配置文件

AuthType basic

基础类型

Require user admin

允许 admin

在这里插入图片描述

http://172.25.254.130

admin

123

在这里插入图片描述

浏览器提示是否记录账户密码

在这里插入图片描述

正常访问

在这里插入图片描述

http://172.25.254.130

admin1

123

在这里插入图片描述

权限不够,禁止访问

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf

Require valid-user

允许所有账户通过

在这里插入图片描述

http://172.25.254.130

admin1

123

在这里插入图片描述

浏览器提示是否记录账户密码

在这里插入图片描述

权限开放,正常访问

在这里插入图片描述

Apache的虚拟主机

一台Apache主机开多个站点

vim /etc/hosts

172.25.254.130 www.westos.com news.westos.com music.westos.com

本地地址解析

在这里插入图片描述

在这里插入图片描述

vim /etc/httpd/conf.d/default.conf

在这里插入图片描述
<VirtualHost _default_:80>

虚拟主机端口80

DocumentRoot /var/www/html

文件默认访问目录

Customlog logs/default.log combined

日志存放地址

</VirtualHost>

在这里插入图片描述

vim /etc/httpd/conf.d/music.conf

在这里插入图片描述

<VirtualHost *:80>

虚拟主机端口80

ServerName music.westos.com

服务器名称

DocumentRoot /var/www/virtual/music/html

文件默认访问目录

Customlog logs/music.log combined

日志存放地址

类型:混合

</VirtualHost>

<Directory "/var/www/virtual/music/html">

Require all granted

允许所有来源访问

</Directory>

在这里插入图片描述

vim /etc/httpd/conf.d/new.conf

在这里插入图片描述

<VirtualHost *:80>

虚拟主机端口80

ServerName news.westos.com
在这里插入代码片
服务器名称

DocumentRoot /var/www/virtual/news/html

文件默认访问目录

Customlog logs/news.log combined

日志存放地址

类型:混合

</VirtualHost>

<Directory "/var/www/virtual/news/html">

Require all granted

允许所有来源访问

</Directory>

在这里插入图片描述

vim /var/www/virtual/music/html/index.html

cat /var/www/virtual/music/html/index.html

在这里插入图片描述

http://music.westos.com

正常访问

在这里插入图片描述

vim /var/www/virtual/news/html/index.html

cat /var/www/virtual/news/html/index.html

在这里插入图片描述

http://news.westos.com

正常访问
在这里插入图片描述

php + cgi

vim /var/www/html/index.php

在这里插入图片描述

<?php

phpinfo();

?>

在这里插入图片描述

yum install php -y

在这里插入图片描述

在这里插入图片描述

systemctl restart httpd

在这里插入图片描述

172.25.254.130/index.php

在这里插入图片描述

mkdir /var/www/html/cgi

创建 cgi 目录

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

编辑 index.cgi

chmod 775 /var/www/html/cgi/index.cgi

修改权限(脚本需要可执行权限)

在这里插入图片描述

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print date;

在这里插入图片描述

172.25.254.130/cgi/index.cgi

显示内容为源代码

在这里插入图片描述

vim /etc/httpd/conf.d/default.conf

添加cgi可执行脚本命令

<Directory "/var/www/html/cgi">

options +ExecCGI

AddHandler cgi-script .cgi

</Directory>

在这里插入图片描述

systemctl restart httpd

在这里插入图片描述

172.25.254.130/cgi/index.cgi

显示动态命令

在这里插入图片描述

在这里插入图片描述

Apachessl

yum install mod_ssl -y
安装ssl
systemctl restart httpd

在这里插入图片描述

在这里插入图片描述

https://172.25.254.130
使用https访问
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

https://172.25.254.130

可以访问,正常显示

在这里插入图片描述

删除 station 证书
在这里插入图片描述

确认删除station 证书
在这里插入图片描述

自签名证书

yum install mod_ssl -y

安装 ssl

yum install cypto-utils -y

安装 cypto-utils

在这里插入图片描述

在这里插入图片描述

genkey www.westos.com

生成证书

在这里插入图片描述

选择NO,不发送证书

在这里插入图片描述

Next

在这里插入图片描述

密钥大小

在这里插入图片描述

证书介绍

在这里插入图片描述

系统生成证书

在这里插入图片描述

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

SSLCertificateFile /etc/pki/tls/certs/www/westos.com.crt

SSLCertificateKeyFile /etc/pki/tls/private/www/westos.com.key

systemctl restart httpd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

验证

在这里插入图片描述

网页重写

cp news.conf login.conf

vim login.conf

在这里插入图片描述

在这里插入图片描述

mkdir -p /var/www/virtual/login/html

vim /var/www/virtual/login/html/index.html

cat /var/www/virtual/login/htmlindex.html

systemctl restart httpd

在这里插入图片描述

vim login conf

在这里插入图片描述

systemctl restart httpd

在这里插入图片描述

vim /etc/hosts

在这里插入图片描述

login.westos.com

强制跳转到 https 加密网页下

在这里插入图片描述

注意:

^(/.*)$表示客户在浏览器中输入的所有字符

$1表示^(/.*)$的值

redirect=301表示转换为永久

%(HTTP_HOST)表示客户请求主机

php + wsgi

yum install php -y

yum install mod_wsgi -y

在这里插入图片描述

在这里插入图片描述

mkdir /var/www/wsgi

在这里插入图片描述

vim /var/www/wsgi/script.wsgi

cat /var/www/wsgi/script.wsgi

在这里插入图片描述

vim /etc/hosts

在这里插入图片描述

172.25.254.130 www.westoswsgi.com

在这里插入图片描述

vim /etc/httpd/conf.d/default.conf

在这里插入图片描述

<VirtualHost *:80>

ServerName www.westoswsgi.com

WSGIScriptAlias / /var/www/wsgi/script.wsgi

</VirtualHost>

在这里插入图片描述

systemcrl restart httpd

在这里插入图片描述

www.westoswsgi.com

脚本被执行

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值