linux系统之apache基本配置及语言支持及虚拟主机 访问控制
2017-11-21 21:57
1066 查看
一.apache的安装
yum install httpd -y
systemctl start httpd
systemctl stop firewalld
systemctl enable httpd
systemctl disable firewalld
二.apache的基础信息
主配置目录:/etc/httpd/conf主配置文件:/etc/httpd/conf/http.conf
子配置目录:/etc/httpd/conf.d/
子配置文件:/etc/httpd/conf.d/*.conf
默认发布目录:/var/www/html/
默认发布文件:index.html
默认端口:80
默认安全上下文:httpd_sys_content_t
程序开启默认用户:apache
apache日志:/etc/http/logs/*
<1>.修改默认端口:
vim /etc/httpd/conf/httpd.conf
43 Listen 8080 ###修改默认端口为8080
<2>.修改默认发布文件:
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有访问先后顺序!
vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex index.html test.html
##当index.html不存在时访问test.html
<3>.修改默认发布目录
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/www/html"
121 <Directory "/www">
122 Require all granted
123 </Directory>
semanage fcontext -a -t httpd_sys_content '/www(/.*)?'
###修改安全上下文
storecon -RvvF /www/
###激活刚才修改的安全上下文
三.apache的虚拟主机
vim /var/www/html/index.html<h1> 恭喜你闯关成功!!! </h1>
mkdir /var/www/virtual/linux.bb.com/html -p
mkdir /var/www/virtual/java.bb.com/html -p
vim /var/www/virtual/linux.bb.com/html/linux.html
<h1> Welcome to linux.bb.com !</h1>
vim /var/www/virtual/java.bb.com/html/java.html
<h1> Welcome to java.bb.com !</h1>
vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex index.html linux.html java.html ###修改默认发布文件
356 <VirtualHost _default_:80>
357 DocumentRoot "/var/www/html"
358 CustomLog "logs/www.bb.com.log" combined
359 </VirtualHost>
360 <VirtualHost *:80>
361 ServerName linux.bb.com
362 DocumentRoot "/var/www/virtual/linux.bb.com/html"
363 CustomLog "logs/linux.bb.com.log" combined
364 </VirtualHost>
365 <Directory "/var/www/virtual/linux.bb.com/html">
366 require all granted
367 </Directory>
368 <VirtualHost *:80>
369 ServerName java.bb.com
370 DocumentRoot "/var/www/virtual/java.bb.com/html"
371 CustomLog "logs/java.bb.com.log" combined
372 </VirtualHost>
373 <Directory "/var/www/virtual/java.bb.com/html">
374 require all granted
375 </Directory>
systemctl restart httpd
测试:
浏览器所在主机(测试主机)做好本地解析
vim /etc/hosts
172.25.254.117 网址1 网址2 网址3
测试结果:
四.apache内部的访问控制
<1>针对主机的访问控制vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/">
order deny,allow ###列表读取顺序,后读取的列表会覆盖限制内容的重复部分
Allow from 172.25.254.17 ###只允许此ip能访问
Deny from all
</Directory>
<2>用户方式的访问控制
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/">
order deny,allow
Allow from 172.25.254.17 ###只允许此ip能访问
Deny from all
</Directory>
<Directory "/var/www/html/admin">
AuthUserFile /etc/httpd/userpass
AuthName "please input your username and passwd!" ###对话框弹出提示
AuthType basic ###最基本的认证方式
#Require user admin ###允许admin用户
Require valid-user ###允许有效的admin用户
</Directory>
htpasswd -cm /etc/httpd/userpass admin ###首次建立用户加-cm
htpasswd -m /etc/httpd/userpass admin2 ###后续建立不加c
cat /etc/httpd/userpass ###查看建立的用户信息
mkdir /var/www/html/admin
vim /var/www/html/admin/index.html
systemctl restart httpd.service
测试结果:
测试结果:
五.apache默认支持的语言
<1>html:超文本标记语言<2>php:超文本预处理器
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。
语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,
执行效率比完全生成HTML标记的CGI要高许多;
PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
[root@apache conf.d]# vim /var/www/html/index.php
<?php
phpinfo();
?>
[root@apache conf.d]# yum install php -y ###安装php
vim /etc/httpd/conf/httpd.conf
systemctl restart httpd.service
测试:
172.25.254.117/index.php ###可以看见phpinfo()的结果
<3>cgi:公共网关接口
CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。
mkdir /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/httpd.conf
<Directory "/var/www/html/cgi">
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
<IfModule dir_module>
DirectoryIndex index.html text.html index.php index.cgi
</IfModule>
systemctl restart httpd.service
测试结果:
六.设定https虚拟主机并设定网页重写
^(/.*)$ ###客户在浏览器地址栏输入的所有字符https:// ###强制客户加密访问
%{HTTP_HOST} ###客户请求主机
$1 ###表示^(/.*)$的值
[redirect=301] ###临时重写成https 302永久转换
相关文章推荐
- Linux运维笔记-文档总结-Apache基本配置的介绍和语言支持,虚拟主机,访问控制的实现
- Apache的虚拟主机、内部访问控制及支持语言
- LINUX系统apache基于IP,基于port和基于域名的三种虚拟主机的配置方法
- linux系统配置Apache虚拟主机实例
- apache配置支持虚拟主机(通过端口访问)
- linux系统配置Apache虚拟主机实例
- 运维学习之Apache的配置、访问控制、虚拟主机和加密访问https
- apache的访问控制和虚拟主机的配置
- 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- apache配置虚拟主机,为什么总是第一个VirtualHost起效 apache基于域名虚拟主机,只访问第一个的问题
- Apache基于IP、基于port和基于域名的三种虚拟主机的配置方法(linux下)
- linux环境apache多端口配置虚拟主机的方法深入介绍
- Apache 虚拟主机 httpd.conf配置以实现指向项目名直接访问
- www服务的高级配置(用户验证,访问控制,虚拟主机等)
- RHEL6.3配置Apache服务器(3) 虚拟目录及基于客户端地址的访问控制
- Linux下的XAMPP基本配置技巧(设置虚拟主机、添加FTP账户等)
- Linux系统Apache用户授权和访问控制
- linux环境apache多端口配置虚拟主机的方法
- 在linux下配合apache和resin配置多IP的虚拟主机
- linux下配置apache2.2+tomcat6的虚拟主机配置之tomcat-connectors