Linux中的web服务器—apache

基本apache服务器搭建

yum install -y httpd
yum -y install httpd-manual
systemctl start httpd

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

访问服务器:(http://)172.25.254.160
查看帮助文档:(http://)172.25.254.160/manual
浏览器中输入的ip地址默认是http协议,默认去访问服务器的80端口

apache主配置文件:
vim /etc/httpd/conf/httpd.conf

更改配置文件:
(1)更改服务监听端口
(2)更改默认发布页面
(3)更改默认发布目录

下图为例:
前四张图为apache服务器的搭建
图五—图八为服务的监听端口的设定
图九—图十一为服务的默认发布页面的更改,使得访问优先级naname > index.html
图五—图八为服务的默认发布目录的更改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

访问控制

1.针对ip地址:允许特定ip/网段 的主机访问

vim /var/httpd/conf/htpd.conf:
<Directory "/var/www/">
        Order Allow,Deny  读取顺序:先Allow列表,再Deny列表(重复定义的ip,其权限由后读取的决定)
        Allow from All
        Deny from 172.25.254.160
</Directory>

下图为例:
操作前我将自己更改的配置参数删除,取消了对原参数的注释。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.针对apache页面:允许特定用户访问

在/etc/httpd/conf目录下生成认证文件:
htpasswd -cm westosuser admin
命令 参数 要生成的认证文件名 添加的认证用户名

再次添加用户,不要加参数c,否则会清除之前的,重新生成:
htpasswd -m westosuser admin1

同样的密码,其生成的密文仍然不同。

vim /etc/httpd/conf/httpd.conf

<Directory "/var/www/">
        #Order Allow,Deny 
        #Allow from All
        #Deny from 172.25.254.160
	    AuthUserFile	/etc/httpd/conf/westosuser	认证文件
	    AuthType	basic	
	    AuthName	"please input your name and password !!!"
	    Require user	admin	(Require	valid-user 允许文件中的所有用户登陆认证)
</Directory>

下图为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Apache的虚拟主机

根据访问域名不同,可以实现访问同一台主机上的不同资源

令主配置文件保持原来的内容配置;
(安装后的的默认配置)

1.分别建立虚拟主机所提供的目录,资源

mkdir /var/www/virtual/news/html -p
mkdir /var/www/virtual/music/html -p

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

2.在/etc/httpd/conf.d目录下编写(虚拟主机的)配置文件

cd /etc/httpd/conf.d

vim default.conf:
<VirtualHost _default_:80>
	DocumentRoot	/var/www/html
	CustomLog	logs/default.log combined	(combined混合型日志)
</VirtualHost>

vim news.conf:
<VirtualHost *: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>

cp news.conf music.conf
vim music.conf:
:%s/news/music/g

systemctl restart httpd

3.编辑域名解析记录

vim /etc/hosts

172.25.254.160 www.westos.com news.westos.com music.westos.com

下图为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Apache对于脚本文件的支持

http默认将文件作为静态资源展示

(1)支持php文件

下载php插件,令apache支持php文件显示:
yum -y install php

在默认发布目录/var/www/html下编写php文件index.php:

<?php
phpinfo();
?>

重启apache服务:systemctl restart httpd

在这里插入图片描述
在这里插入图片描述
(2)支持cgi文件
建立/var/www/html/cgi目录,存放cgi文件

cd /var/www/html/cgi
vim index.cgi:
	从manual中复制得到
	
给cgi脚本文件加上执行权限:
chmod +x index.cgi

执行该cgi脚本文件:
./index.cgi

但此时通过http访问该脚本文件,不能显示以cgi执行后的效果,要在apache中开启对于cgi的支持
在原有的default.conf的虚拟主机的配置文件中加入以下:

<Directory "/var/www/html/cgi">
	Options +ExecCGI
	AddHandler cgi-script .cgi
</Directory>

systemctl restart httpd

下图为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)支持wsgi文件

下载插件:
yum install -y mod_wsgi

创建存放wsgi文件的目录:
mkdir /var/www/wsgi

将实验用到的wsgi文件放到上面的目录中

编写虚拟主机的配置文件:

cd /etc/httpd/conf.d

vim vhost.conf:

<VirtualHost *:80>			       
	ServerName	www.westoswsgi.com
	WSGIScriptAlias / /var/www/wsgi/script.wsgi 
	#访问www.westos.com的/根目录时,自动去访问该wsgi文件
</VirtualHost>

(由于发布目录是在/var/www/目录下,在主配置文件中已经规定好了其目录权限,这里不必再写)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

https

(1)搭建https服务:

先下载yum -y install mod_ssl
重启httpd服务,此时可以通过https访问
(下载后似乎自动开启443端口,未开启的话,就在firewall上加https服务)
(https访问后,会因为我们自己定义的域名没有经过认证的站点证书,而被浏览器提示链接不安全,点击Advanced—>Add Exception—>Get Certificate—>Confirm_Security_Esception,信任我们搭建的网站服务)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成自签名证书:

再下载用于生成自签名证书文件的软件:
yum install -y crypto-utils
genkey www.westos.com  生成文件的命令

上面的命令生成两个文件:
/etc/pki/tls/certs/www.westos.com.crt
/etc/pki/tls/private/www.westos.com.key

将上面生成的文件的路径添加到ssl配置文件中:
vim /etc/httpd/conf.d/ssl.conf

下图为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)网页重写:

设定虚拟主机的配置文件:

cd /etc/httpd/conf.d
cp news.conf login.conf
vim login.conf:

<VirtualHost *:443>
        ServerName login.westos.com
        DocumentRoot /var/www/virtual/login/html
        CustomLog "logs/login.logs" 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>
<VirtualHost *:80>   凡是访问login.westos.com该域名80端口都会被强制网页重写到443端口
        ServerName login.westos.com
        RewriteEngine On  开启重写
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>

创建相应的虚拟主机的资源目录:

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

vim /var/www/virtual/login/html/index.html:
	<h1>login page</h1>

添加login.westos.com该域名相应的解析记录:

vim /etc/hosts:

172.25.254.160 login.westos.com

下图为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值