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

[经验分享] linux 网页服务器apache学习笔记

[复制链接]

尚未签到

发表于 2018-11-20 09:18:04 | 显示全部楼层 |阅读模式
  主体包:httpd
  主配置文件:/etc/httpd/conf/httpd.conf
  参数:ServerRoot  “/etc/httpd”#指定配置文件中引用相对路径的文件根
  Listen 80 #监听端口,多个端口另加一行 Listen 192.168.1.2:8080
  
  AllowOverride none
  Require all denied #拒绝所有文件读,可读文件需要单独列出并给予读权限
  
  
  Require all denied #拒绝运行所有.ht类型文件
  
  
  DirectoryIndex index.html          #存在即加载
  
  虚拟主机三种实现方法:
  在/var/www/html创建两个目录A和B,添加索引页以区别不同的网站
  tree /var/www/html/
  /var/www/html/      
├── A      
│   └── index.html      
└── B      
    └── index.html
  cat /var/www/html/A/index.html     
Aa
  cat /var/www/html/B/index.html     
BbBb
  

  a. 基于IP
  给主机添加ip
  nmcli con modify eno16777984 +ipv4.addresses 192.168.1.80/24
  创建虚拟主机配置文件
  cat /etc/httpd/conf.d/00-vh-ip.conf     
      
        DocumentRoot /var/www/html/A      
        CustomLog "logs/a.log" combined      
              
        Require all granted      
              

       
        DocumentRoot /var/www/html/B      
        CustomLog "logs/b.log" combined      
              
        Require all granted      
              

  重启apache服务     

DSC0000.png DSC0001.png

  

  b. 基于端口
  在主配置文件中增加监听端口
  [root@dns2 ~]# grep ^Listen /etc/httpd/conf/httpd.conf     
Listen 80      
Listen 8080      
Listen 8081      

  创建虚拟主机配置文件     
[root@dns2 ~]# cat /etc/httpd/conf.d/01-vh-port.conf      
      
        DocumentRoot /var/www/html/A      
        CustomLog "logs/a.log" combined      
              
        Require all granted      
              

       
        DocumentRoot /var/www/html/B      
        CustomLog "logs/b.log" combined      
              
        Require all granted      
              

  重启apache服务
DSC0002.png DSC0003.png       

  c. 基于域名
  此方法需要修改hosts文件,或者dns配合
  添加A记录 pro,指向网页服务器
  创建新域dian.me,添加A记录test,同样指向网页服务器
  zone "dian.me" IN {     
        type master;      
        file "dian.me.forward";      
        notify yes;      
        allow-update { key SEC_DDNS ; };      
};
  重启域名服务,尝试解析
  ;; ANSWER SECTION:     
pro.it.lab.             300     IN      A       192.168.1.199
  ;; ANSWER SECTION:     
test.dian.me.           86400   IN      A       192.168.1.199      

  创建虚拟主机配置文件
  cat /etc/httpd/conf.d/02-vh-name.conf     
      
        DocumentRoot /var/www/html/A      
        ServerName      pro.it.lab      
        ServerAlias     pro      
        CustomLog "logs/a.log" combined      
              
        Require all granted      
              

       
        DocumentRoot /var/www/html/B      
        Servername test.dian.me      
        ServerAlias test      
        CustomLog "logs/b.log" combined      
              
        Require all granted      
              
      

  cat /etc/httpd/conf.d/02-vh-name.conf     
      
        DocumentRoot /var/www/html/A      
        ServerName      pro.it.lab      
        CustomLog "logs/a.log" combined      
              
        Require all granted      
              

       
        DocumentRoot /var/www/html/B      
        Servername test.dian.me      
        CustomLog "logs/b.log" combined      
              
        Require all granted      
              
      

  重启apache服务
DSC0004.png DSC0005.png

  curl http://pro
  Aa   
Aa   
curl http://test   
BbBb   
BbBb   

  

  HTTPS实现
  yum –y install mod_ssl
  ssl模块会创建一个命名虚拟主机 /etc/httpd/conf.d/ssl.conf
  拷贝配置文件块并修改,添加主目录
  grep VirtualHost /etc/httpd/conf.d/03-vh-ssl.conf
  
  grep DocumentRoot /etc/httpd/conf.d/03-vh-ssl.conf     
DocumentRoot "/var/www/html/A"      

  重启apache服务
DSC0006.png

  禁止https站点提供非加密内容
  在TLS虚拟主机块添加描述
  Header always set Strict-Transport-Security "max-age=15768000"     

  http自动跳转https
  新建一http虚拟主机(捕获所有80端口流量),使用和捕获所有443端口流量的https虚拟主机相同的ServerName
  RewriteEngine on
  RewriteRule ^(/.*)$ http://%{HTTP_HOST}$1 [redirect=301]
  CGI: common gateway interface
  when a CGI resource is requested, httpd executes the resources as a process and serves the stdout of that process.
  popular CGI resouces writing in perl,Java and C
  to have httpd treat a location as CGI executables
  ScriptAlias /cgi-bin "/var/www/cgi-bin"
  CGI scritps exectued as apache user and group
  label with httpd_sys_script_exec_t
  have Options None and access granted using
  dynamic PHP
  yum -y install php, will add mod_php to httpd
  
  SetHandler application/x-httpd-php
  
  DirectoryIndex index.php
  dynamic python
  python scripts can be served out using regular CGI, both python and httpd support new protocol: Web Server Gateway Interface
  yum -y install mod_wsgi
  WSGIScriptAlias /myapp/ /srv/myapp/www/myapp.py
  this will send all request for http://servername/myapp and any resouces below it to the WSGI application
  /srv/myapp/www/myapp.py
  application should be executable by apache user and group, selinux label httpd_sys_content_t
  Database connectivity
  allow connect to a remote host database, set seboolean to 1
  httpd_can_network_connect_db
  remote database not using well known ports
  httpd_can_network_connect




运维网声明 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-637209-1-1.html 上篇帖子: Apache网站服务基础 下篇帖子: apache2.4中layout模块和ssi模块的冲突
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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