Linux之Apache服务基本配置

linux之Apache服务基本配置

  • 什么是Apache

Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速、可靠、简单的API扩展。

  • Apache的部署
yum install httpd -y  ##安装服务

Linux之Apache服务基本配置_第1张图片

systemctl start httpd  ##开启服务
systemctl enable httpd   ##开机启动服务
firewall-cmd --list-all   ##查看防火墙支持的服务
firewall-cmd --permanent --add-service=http   ##添加http到防火墙
firewall-cmd --reload   ##重新加载防火墙

Linux之Apache服务基本配置_第2张图片

rpm -ql httpd   ##查询httpd相关文件
vim /var/www/htmlindex.html
编写如下:

hello world

Linux之Apache服务基本配置_第3张图片

测试:
打开浏览器键入:http://172.25.254.184

Linux之Apache服务基本配置_第4张图片

  • Apache的相关目录文件
/etc/httpd/conf  ##主配置目录
/etc/httpd/conf/httpd.conf  ##主配置文件
/etc/httpd/conf.d/  ##子配置目录
/etc/httpd/conf.d/*.conf  ##子配置文件
/var/www/html  ##默认发布目录
/var/www/html/index.html  ##默认发布文件
80  ##默认端口
httpd_sys_content_t  ##默认安全上下文
apache  ##程序开启默认用户
/etc/httpd/logs/*  ##apache日志
  • Apache默认端口修改

配置文件修改:

vim /etc/httpd/conf/httpd.conf
42 Listen 8080
systemctl restart httpd
netstat -antlpupe | grep httpd ##查看
firewall-cmd --add-port=8080/tcp  ##添加接口道防火墙

Linux之Apache服务基本配置_第5张图片
Linux之Apache服务基本配置_第6张图片

新添加端口:

vim /etc/httpd/conf/httpd.conf
43 Listen 8888
semanage port -l |grep http   ##查看支持的接口
semanage port -a -t http_port_t -p tcp 8888  ##修改新添加端口安全上下文
semanage port -l |grep http
firewall-cmd --add-port=8888/tcp  ##添加端口到防火墙
systemctl restart httpd

Linux之Apache服务基本配置_第7张图片
Linux之Apache服务基本配置_第8张图片
Linux之Apache服务基本配置_第9张图片

反复更改安全上下文或导致出错
恢复方法:

touch /.autorelabel
reboot
  • Apache默认发布文件及目录的修改

实验环境准备:
将上个实验更改的接口8888恢复成80接口

默认发布文件修改:

vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex  test.html  index.html   ##修改默认发布文件为test.html 同时存在优先级
systemctl restart httpd

Linux之Apache服务基本配置_第10张图片
Linux之Apache服务基本配置_第11张图片
测试:
Linux之Apache服务基本配置_第12张图片
默认发布目录修改:

vim /etc/httpd/conf/httpd.conf
编写如下:
120 DocumentRoot "/www/html"
121     ##授权目录
122        Require all granted  ##允许所有登录
123 

Linux之Apache服务基本配置_第13张图片

semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?' ##修改安全上下文
restorecon -RvvF /www/  ##刷新
systemctl restart httpd 

Linux之Apache服务基本配置_第14张图片
测试:

Linux之Apache服务基本配置_第15张图片

  • Apache内部访问控制

限制ip访问:
设置步骤:

vim /etc/httpd/conf/httpd.conf
121
122     Order Allow ,Deny
123     Allow from All  ##允许所有ap
124     Deny from 172.25.254.1  ##
125

Linux之Apache服务基本配置_第16张图片

systemctl restart httpd

Linux之Apache服务基本配置_第17张图片
测试:
用IP为172.25.254.1的主机打开浏览器测试
发现访问被限制
Linux之Apache服务基本配置_第18张图片

限制用户访问(非系统用户):
实验环境准备:
将之前设置的默认发布目录恢复默认的/var/www/html(也可不恢复,根据实际情况而而定)

设置步骤:

htpasswd -cm /etc/httpd/.userpass admin ##.文件名隐藏文件
htpasswd -m /etc/httpd/.userpass admin1 ##再次创建键入参数c会覆盖

Linux之Apache服务基本配置_第19张图片

可以新建一个子配置文件也可在主配置文件编写,若在主配置文件编写,则需要考虑读取先后顺序

cd /etc/httpd/conf.d
vim a_default.conf ##新建一个子配置文件
编写如下:
121
126    		AuthUserFile  "/etc/httpd/.userpass"
127    		AuthType       basic
128    		AuthName       "Please input username and password!!"
129    		Require user   admin
130    		Rrquire        valid-user
131

Linux之Apache服务基本配置_第20张图片

Linux之Apache服务基本配置_第21张图片
测试:
在浏览器输入地址后通过用户名及密码登陆
Linux之Apache服务基本配置_第22张图片

  • Apache虚拟机的设置

现象:同一个ip下访问不同的页面,类似通过腾讯主站www.qq.com访问旗下新闻和音乐板块时的网站域名为news.qq.com music.qq.com

设置步骤:

mkdir -p /virtweb/{music,news}/html
vim /virtweb/music/html/index.html #创建发布文件
vim /virtweb/news/html/index.html #创建发布文件
semanage fcontext -a -t httpd_sys_content_t '/virtweb(/.*)?' # 修改发布目录安全上下文
restorecon -RvvF /virtweb/ #刷新

Linux之Apache服务基本配置_第23张图片

vim /etc/httpd/conf.d/virthost.conf
编写如下:
 #创建默认虚拟主机,找不到虚拟主机的域名访问也由此主机提供服务
	    DocumentRoot /var/www/html #指定发布目录 
	    CustomLog logs/default.log combined #指定日志文件以及日志类型
 

 
	    DocumentRoot /virtweb/music/html #指定发布目录 
	    ServerName music.cc.com #虚拟主机指定域名
	    CustomLog logs/music.log combined #指定日志文件以及日志类型 
 

 
	    DocumentRoot /virtdir/news/html #指定发布目录 
	    ServerName news.toto.com #虚拟主机指定域名 
	    CustomLog logs/news.log combined #指定日志文件以及日志类型)
 

 #对新建的发布目录进行认证 
	    Require all granted #允许所有人可以访问该目录 

Linux之Apache服务基本配置_第24张图片
本地域名解析设置:

vim /etc/hosts ##域名解析

Linux之Apache服务基本配置_第25张图片
重启服务:

systemctl restart httpd

Linux之Apache服务基本配置_第26张图片
测试:
打开浏览器分别输入music.cc.com news.cc.com
Linux之Apache服务基本配置_第27张图片
Linux之Apache服务基本配置_第28张图片

  • php perl python

Apache的语言除了html,常用的还有 php perl 以及python,上述实验我们用到的都是html,以下部分是运维人员需要了解的部署步骤

php:
安装:

yum install php -y

Linux之Apache服务基本配置_第29张图片
编写发布文件:

/etc/httpd/conf.d/php.conf ##php配置文件
vim /var/www/html/index.php ##编写
编写如下:


systemctl restart httpd

Linux之Apache服务基本配置_第30张图片

测试:
打开浏览器输入172.25.254.209/index.php
Linux之Apache服务基本配置_第31张图片

perl:

本机已经安装过perl相关软件

rpm -q perl
mkdir -p /var/www/html/cgi ##创建发布目录
vim /var/www/html/cgi/index.cgi ##编写(可复制manual)

Linux之Apache服务基本配置_第32张图片
编辑配置文件:

vim /etc/httpd/conf.d/virthost.conf
编写如下(在最下方写入):

	    Options +ExecCGI
	    AddHandler cgi-script .cgi

Linux之Apache服务基本配置_第33张图片
更改发布目录安全上下文:

semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'
restorecon -Rvvf /var/www/html/cgi
chmod +x /var/www/html/cgi/index.cgi
systemctl restart httpd

Linux之Apache服务基本配置_第34张图片
测试:
用python命令直接执行发布文件
或者打开浏览器输入172.25.254.209/cgi/index.cgi
Linux之Apache服务基本配置_第35张图片
Linux之Apache服务基本配置_第36张图片
python:

安装:

yum search wsgi
yum install mod_wsgi.x86_64 -y

Linux之Apache服务基本配置_第37张图片
编写配置文件:

cd /var/www/cgi-bin
将webapp.wsgi 下载到上述目录中 (因python编写较为复杂,此实验用编写好的发布文件即可)
vim /etc/httpd/conf.d/vhost.conf
编辑如下:

	    ServerName	wsgi.cc.com
	    WSGIScriptAlias / /var/www/cgi-bin/webapp.wsgi

Linux之Apache服务基本配置_第38张图片
Linux之Apache服务基本配置_第39张图片
本地解析设定:

vim /etc/hosts
172.25.254.209 wsgi.cc.com ##设定dns解析

systemctl restart httpd

测试:
打开浏览器输入wsgi.cc.com
Linux之Apache服务基本配置_第40张图片

END

你可能感兴趣的:(linux运维,运维,linux,学习)