设为首页 收藏本站
查看: 1333|回复: 0

[经验分享] Linux中Apache web服务

[复制链接]

尚未签到

发表于 2018-11-18 09:08:27 | 显示全部楼层 |阅读模式
  一.apache的定义:企业中常用的web服务,用来提供http://(超文本传输协议)
二.apache的安装部署
#安装(配置好yum源)
yum install httpd -y
DSC0000.png
yum install httpd-manual
DSC0001.png
systemctl start httpd
DSC0002.png
systemctl enable httpd
DSC0003.png
systemctl stop firewalld.service
DSC0004.png
systemctl disable firewalld.service
DSC0005.png
测试: http://172.25.254.160/
DSC0006.png
http://172.25.254.160/manual/
DSC0007.png
三.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/

  查看安全上下文: ls -Z /var/www/
DSC0008.png
查看端口:ss -anutlpe | grep httpd
默认端口为80
DSC0009.png
修改默认端口:
vim /etc/httpd/conf/httpd.conf
42 Listen 80   ##修改默认端口为8080
DSC00010.png
DSC00011.png
重启服务
DSC00012.png
修改后的端口为8080
DSC00013.png
改回默认端口:80
修改配置文件vim /etc/httpd/conf/httpd.conf
42 Listen 80
DSC00014.png
DSC00015.png
重启服务
DSC00016.png
查看端口信息80
DSC00017.png
修改默认发布文件:
  120 DocumentRoot "/www/html"
121
122 Require all granted
123
DSC00018.png
cd /var/www/html
编辑默认发布目录vim index.html
DSC00019.png
DSC00020.png
测试:
DSC00021.png
把默认发布目录名称修改不能访问
DSC00022.png
DSC00023.png
加上文件名才可访问
DSC00024.png
在配置文件中写入,当默认目录为空时即访问
DSC00025.png
配置文件中将默认目录在前,默认先访问前面的内容
DSC00026.png
DSC00027.png
DSC00028.png
DSC00029.png
测试:
DSC00030.png
DSC00031.png
默认发布目录里写入内容
DSC00032.png

DSC00033.png
DSC00034.png
DSC00035.png
DSC00036.png
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?' ##更改安全下文
restorecon -RvvF /www/ ##刷新
DSC00037.png
DSC00038.png
测试:
DSC00039.png
四.apache的虚拟主机
[root@localhost conf.d]# cd /var/www/html/
[root@localhost html]# ls
index.html  test.html
[root@localhost html]# vim index.html
www.html.com

  [root@localhost html]# mkdir /var/www/virtual/linux1.html.com/html -p
[root@localhost html]# mkdir /var/www/virtual/linux2.html.com/html -p
  vim /var/www/virtual/linux1.html.com/html/index.html
linux1.html.com
DSC00040.png
  vim /var/www/virtual/linux1.html.com/html/index.html
linux1.html.com
DSC00041.png
[root@localhost html]# mkdir /var/www/virtual/linux1.html.com/html -p
[root@localhost html]# mkdir /var/www/virtual/linux2.html.com/html -p
DSC00042.png
vim /var/www/virtual/linux1.html.com/html/index.html
linux1.html.com
DSC00043.png
DSC00044.png
vim /var/www/virtual/linux2.html.com/html/index.html
linux2.html.com
DSC00045.png
DSC00046.png
[root@localhost conf.d]# vim /etc/httpd/conf.d/adefault.conf

DocumentRoot "/var/www/html"
CustomLog "logs/www.html.com.log" combined

DSC00047.png
DSC00048.png
[root@localhost conf.d]#vim /etc/httpd/conf.d/linux1.conf

ServerName linux1.html.com  #指定站点名称
DocumentRoot "/var/www/virtual/linux1.html.com/html/" #站点默认发布目录
CustomLog "logs/linux1.html.com.logs" combined


Require all granted

DSC00049.png
DSC00050.png
[root@localhost conf.d]# vim /etc/httpd/conf.d/linux2.conf

ServerName linux2.html.com
DocumentRoot "/var/www/virtual/linux2.html.com/html/"
CustomLog "logs/linux2.html.com.logs" combined


Require all granted

![]( DSC00051.png
DSC00052.png
测试:
在测试机中做好本地解析
vim /etc/hosts
172.25.254.160  linux1.html.com  linux2.html.com www.html.com html.com
DSC00053.png
DSC00054.png
测试:
DSC00055.png
DSC00056.png
DSC00057.png
五.apache的内部访问控制
1.针对与主机的访问
2.[root@localhost conf.d]# mkdir /var/www/html/test
[root@localhost conf.d]# vim /var/www/html/test/index.html
hello world

DSC00058.png
DSC00059.png
测试:
DSC00060.png
[root@localhost conf.d]# vim default.conf

  
DocumentRoot "/var/www/html"
CustomLog "logs/www.html.com.log" combined


Order deny,allow
Allow from all  ##列表读取顺序,后读取的内容会覆盖先读取内容的重复部分
Deny from 172.25.254.0/24

DSC00061.png
DSC00062.png
[root@localhost conf.d]# systemctl restart httpd.service
DSC00063.png
测试:
拒绝172.25.254.0/24
DSC00064.png
2.用户方式的访问控制

  [root@localhost conf.d]# htpasswd -cm /etc/httpd/userpass admin
New password:
Re-type new password:
Adding password for user admin
[root@localhost conf.d]# cat /etc/httpd/userpass
DSC00065.png
DSC00066.png
[root@localhost conf.d]# htpasswd -m /etc/httpd/userpass admin1#再次添加用户时,去掉c
New password:
Re-type new password:
Adding password for user admin1
DSC00067.png
[root@localhost conf.d]# cat /etc/httpd/userpass
DSC00068.png
[root@localhost conf.d]# vim default.conf
rectory "/var/www/html/admin">
AuthUserFile /etc/httpd/userpass
AuthName "Please input your name and password"
AuthType basic
Require user admin

DSC00069.png

DSC00070.png
[root@localhost conf.d]# mkdir /var/www/html/admin
[root@localhost conf.d]# vim /var/www/html/admin/index.html

   admin
DSC00071.png
DSC00072.png
[root@localhost conf.d]# systemctl restart httpd.service
测试:
需要输入密码
DSC00073.png
输入密码正确后
DSC00074.png
[root@localhost conf.d]# vim default.conf

AuthUserFile /etc/httpd/userpass
AuthName "Please input your name and password"
AuthType basic
#Require user admin

Require valid-user

    #        
DSC00075.png
DSC00076.png
[root@localhost conf.d]# systemctl restart httpd.service
DSC00077.png
六。apache支持的语言
1.html
2.php
[root@localhost html]# vim index.php

  
DSC00078.png
DSC00079.png
[root@localhost html]# yum install php
DSC00080.png
[root@localhost conf.d]# vim /etc/httpd/conf/httpd.conf
DSC00081.png

DSC00082.png
[root@localhost conf.d]# systemctl restart httpd.service
DSC00083.png
[root@localhost html]# vim /etc/httpd/conf/httpd.conf

  163     DirectoryIndex index.php index.html test.html
测试:
DSC00084.png
3.cgi
安装的manual里面有cgi语言的模板
[root@localhost cgi]# vim index.cgi
#!/usr/bin/perl
#print "Content-type: text/html\n\n";
#print "date";
DSC00085.png
DSC00086.png
给该目录加上可执行权限
DSC00087.png
[root@localhost cgi]# semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' #更改安全上下文
[root@localhost cgi]# restorecon -RvvF /var/www/html/cgi/
DSC00088.png
[root@localhost conf.d]# vim default.conf

  
Options +ExecCGI
AddHandler cgi-script .cgi

DSC00089.png
DSC00090.png
[root@localhost conf.d]# systemctl restart httpd.service
测试:
DSC00091.png
七.https
  [root@localhost conf.d]# yum install mod_ssl.x86_64
[root@localhost conf.d]# yum install crypto-utils.x86_64
DSC00092.png
DSC00093.png
DSC00094.png
DSC00095.png
查看安装过程中生成了什么文件
rpm -ql crypto-utils.x86_64
生成认证genkey www.westos.com
DSC00096.png
next
选择1024字节,加密方式
DSC00097.png
填写先关信息获得认证
DSC00098.png
生成密钥
DSC00099.png
  加密字符
http://i2.51cto.com/images/blog/201711/23/e04162df3295549818e6d8de57885101.png
http://i2.51cto.com/images/blog/201711/23/7b56e2e8564d97a6033254b99dab5a31.png
vim /etc/httpd/conf.d/ssl.conf
  101 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
108 SSLCertificatekey:wq
File /etc/pki/tls/private/www.westos.com.key
http://i2.51cto.com/images/blog/201711/23/319469816355af41d3f06f55cc2e26cd.png
把刚才获得的认证写入配置文件
http://i2.51cto.com/images/blog/201711/23/367c6e45471f00614b2290b986691bfb.png

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

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

ServerName login.html.com
DocumentRoot /var/www/html/virtual/login.html.com/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


Require all granted


ServerName login.html.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

  ^(/.)$    ##客户在浏览器地址栏中输入的所有字符
https://  ##强制客户加密访问
%{HTTP_HOST} ##客户请求主机
$1         ##“$1”表示 ^(/.
)$的值
[redirect=301] ##临时重写,302永久转换
http://i2.51cto.com/images/blog/201711/23/f6511a4deb91e51bb1d9d600d7c7b38a.png
http://i2.51cto.com/images/blog/201711/23/44c009abce5d9cfad359ac5f0bb523ca.png
测试:
输入内容都能跳到https
http://i2.51cto.com/images/blog/201711/23/51d5affeb4ce093eadc7f5413f7425c6.png




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636422-1-1.html 上篇帖子: redhat centos apache 403 错误 Forbidden You don't have permission to access / on 下篇帖子: apache 2.2 配置参数详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表