Linuxの場合:Apacheサービス(HTTPDの導入と基本設定)

Apacheサービスの概念:

ApacheはWebサーバソフトウェアの世界ナンバー1を使用することです。それは、そのクロスプラットフォームセキュリティの広く使われているほとんどすべてのコンピュータプラットフォーム上で実行することができ、広く使用されている、それは最も人気のあるWebサーバーソフトウェアの1つです

apacheの基本情報:
メインの設定ディレクトリ:の/ etc / httpdの/ confに
メインの設定ファイル:ある/etc/httpd/conf/httpd.conf
子構成ディレクトリ:/etc/httpd/conf.d/
サブ設定ファイル:の/ etc / httpdの/conf.d/*.conf#サブフォルダ内のディレクトリの終わりを.confのためにすべてを設定する
デフォルトのディレクトリを公開:/ var / www / htmlと設定
既定のドキュメントを公開:/var/www/html/index.html#デフォルトのディレクトリを公開index.htmlファイル名固定
デフォルトのポートApacheは80 / tcpのです

1、apachサービスの展開:

  yum install httpd   -y      #安装Apache的默认服务器软件:httpd
  systemctl start httpd      #开启服务
   systemctl enable  httpd #开机自启动服务
  firewall-cmd  --list-all     #列出火墙信息
  firewall-cmd  --pernanent --add-service=http  # 永久允许http
  firewall-cmd  --reload    # 火墙重新加载策略

ここに画像を挿入説明「「何もするが、すでに以前にインストールされていない。
ここに画像を挿入説明1)デフォルトのポートを変更します。

 vim /etc/httpd/conf/httpd.conf      #修改默认端口为8080
  42行 Listen 8080

 firewall-cmd --permanent --add-port=8080/tcp   #更改通过防火墙的端口为8080

 firewall-cmd --reload    #火墙重新加载策略
 firewall-cmd  --list-all     #列出火墙信息

ここに画像を挿入説明
ここに画像を挿入説明
2)デフォルトのポートを追加します。

  semanage port -a -t http_port_t -p tcp 8888  #添加默认端口为8888
  systemctl restart httpd重启服务。
  semanage port -l | grep http    #查看http服务器的默认端口

ここに画像を挿入説明
3)デフォルトの出版文書を変更します。
デフォルトのファイル名は時に指定したファイルのapacheにアクセスして、このファイルが複数、シーケンシャルアクセスを指定することができたときに、デフォルトの発行ファイルにアクセスできません。

 vim /etc/httpd/conf/httpd.conf     #编辑主配置文件,且默认端口必须是80

 164行    DirectoryIndex  test.html index.html   #当test.html不存在时访问 index.html

 vim /var/www/html/test     #文件内容随便编辑

 systemctl restart httpd重启服务。

ここに画像を挿入説明

ここに画像を挿入説明ここに画像を挿入説明
ここに画像を挿入説明ここに画像を挿入説明テスト:
Firefoxのブラウザで次のコマンドを入力します。172.25.254.114が変更されているものを見ますか。

ここに画像を挿入説明
4)デフォルトのリリース・ディレクトリを変更します。

   mkdir /www/html -p     #创建新的目录 

 semanage fcontext -a t httpd_content_t '/www/html(/.*)?'     #更改安全上下文
 rstorecon -RvvF /www/     #刷新安全上下文

 vim /www/html/index.html   #编辑文件内容(随意编辑)

 vim /etc/httpd/conf/http.conf   #编辑配置文件
 内容:
 120行   DcumentRoot "/www/html"
 121行   <Directory "/www/html">
 122行           Require all granted
 123行   </Directory>

 systemctl reload httpd    #重新加载服务,或者systemctl restart httpd重启服务。

ここに画像を挿入説明ここに画像を挿入説明ここに画像を挿入説明
ここに画像を挿入説明5)アクセス制御(サーバー)

IPコントロール:

  • IP制御(ホワイトリスト):

      编辑配置文件:vim /etc/httpd/conf/httpd.conf
      120行   <Directory "/www/html">
      122行           Require all granted
                           Order Deny,Allow                  #只允许172.25.254.14进入,其他   ip  不可进入,“Deny"表示黑名单,"Allow"表示白名单
                           Allow from 172.25.254.114
                           Deny from All
       123行   </Directory>
    

このコンピュータがアクセス可能であるだけ172.25.254.114 IPに、すべてのIPブラックリストを設定します。 ここに画像を挿入説明
ここに画像を挿入説明 ここに画像を挿入説明

ここに画像を挿入説明

注:可以看出,在172.25.254.15 这台电脑上是无法看到/www/html/index.html 网页的内容的,只有在ip 为172.25.254.114 这台电脑上是可以看到的,只有这台电脑是被允许看/www/html/index.html 网页的内容的内容的。

ip控制(黑名单):

    120行   <Directory "/www/html">
    122行           Require all granted
                         Order Allow,Deny                  #允许所有ip进入,172.25.254.14不可进入,“Deny"表示拒绝,
                         Allow from All
                         Deny from 172.25.254.114
     123行   </Directory>

ここに画像を挿入説明ここに画像を挿入説明ここに画像を挿入説明ここに画像を挿入説明用户控制:

   cd /etc/httpd       #进入到指定目录

   创建隐藏用户:
   htpassed -cm yang  haha        #"yang"文件名称,“haha"表示用户名
   htpassed -m yang  haha1        #再次创建时不用加“c”
  
  编辑配置文件:vim /etc/httpd/conf/httpd.conf
  120行#   <Directory "/www/html">
  122行   #       Require all granted
         #       Order Allow,Deny                  
         #       Allow from All
         #       Deny from 172.25.254.14
                 AuthUserFile     "/etc/httpd/yang"
                 AuthType         basic
                 AuthName         "Please input username and password!!"
  #             Require user     haha                #只允许haha用户进入
                 Require          valid-user          #所有用户进入时都必须输入用户名和密码

ここに画像を挿入説明ここに画像を挿入説明
ここに画像を挿入説明6)apache的虚拟主机:
作用:可以在一个电脑上同时运行多个网站。

以下演示使用172.25.47.114 该一个ip对应 www.haha.com; music.haha.com; news.haha.com 三个站点

在服务端:
创建发布目录以及发布文件:
mkdir -p /yang/{music,news}/html #创建不同域名的发布目录
vim /yang/music/html/index.html #创建发布文件
vim /yang/news/html/index.html #创建发布文件
semanage fcontext -a -t httpd_sys_content_t ‘/yang(/.*)?’ # 修改发布目录安全上下文
restorecon -FvvR /yang/ #刷新发布目录安全上下文

ここに画像を挿入説明
创建虚拟主机配置文件:作为副配置文件,因该出现在/etc/httpd/conf.d/ 目录中。
vim /etc/httpd/conf.d/virthost.conf #编写虚拟主机的配置文件
ここに画像を挿入説明
ここに画像を挿入説明

   <VirtualHost _default_:80> #创建默认虚拟主机,找不到虚拟主机的域名访问也由此主机提供服务。 
              DocumentRoot /var/www/html #指定发布目录
              CustomLog logs/default.log combined #指定日志文件以及日志类型(所有 日志)
  </Virtualhost> 
 
  <VirtualHost *:80> 
              DocumentRoot /virtdir/music/html #指定发布目录 
              ServerName music.toto.com #虚拟主机指定域名 music.toto.com 
              CustomLog logs/music.log combined #指定日志文件以及日志类型(所有 日志)
 </VirtualHost>
 
 <VirtualHost *:80> 
              DocumentRoot /virtdir/news/html #指定发布目录 
              ServerName news.toto.com #虚拟主机指定域名 news.toto.com       
              CustomLog logs/news.log combined #指定日志文件以及日志类型(所有 日志) 
 </Virtualhost>
 <Directory "/virtdir">             #对新建的发布目录进行认证
              Require all granted         #允许所有人可以访问该目录
 </Directory>

测试:
在客户端编辑域名解析配置文件:/etc/hosts
对www.toto.com; music.toto.com; news.toto.com 三个域名进行解析记录,然后通过域名进行逐个访问。
ここに画像を挿入説明ここに画像を挿入説明ここに画像を挿入説明
ここに画像を挿入説明ここに画像を挿入説明

7)apache支持的语言

html

之前编写的所有发布文件都是html。都是支持使用的。

php

         rpm -q php # 查看是否安装php插件
         yum install php -y #安装该插件
         ls /etc/httpd/conf.d/ #当成功安装之后 在该目录中会生成 php.conf 文件

ここに画像を挿入説明ここに画像を挿入説明
ここに画像を挿入説明编写php语言发布文件:vim /var/www/html/index.php
ここに画像を挿入説明
ここに画像を挿入説明

cgi

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  'hello  westos';

python /var/www/html/cgi/index.cgi #执行该文件

  [root@sever cgi]# python /var/www/html/cgi/index.cgi 
 Content-type: text/html


  hello  westos

给予共享文件执行权限,执行查看效果

 chmod  +x   /var/www/html/cgi/index.cgi
  /var/www/html/cgi/index.cgi

vim /etc/httpd/conf.d/virthost.conf #编辑配置文件

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

systemctl reload httpd.service #重新加载服务配置

测试:访问 172.25.47.104/cgi/index.cgi

ここに画像を挿入説明

wsgi

yum install mod_wsgi.x86_64 -y #安装wsgi模块
cd /var/www/cgi-bin #切换到/var/www/cgi-bin 目录中
vim webapp.wsgi #生成文件

  #!/usr/bin/env python 
  import time 
  def application (environ, start_response): 
  response_body = 'UNIX EPOCH time is now: %s\n' % time.time() 
  tatus = '200 OK' 
  response_headers = [('Content-Type', 'text/plain'), 
                                        ('Content-Length', '1'), 
                                        ('Content-Length', str(len(response_body)))] 
  start_response(status, response_headers) 
  return [response_body] 

vim /etc/httpd/conf.d/virthost.conf #编辑配置文件

   <VirtualHost *:80>
      ServerName   wsgi.westos.com
      WSGIScriptAlias / /var/www/cgi-bin/webapp.wsgi
   </Virtualhost>

systemctl restart httpd #重启服务

試験:
追加wsgi.westos.comテストホストアクセスするブラウザを使用してのローカル名前解決
ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/Y950904/article/details/89713372