CentOS 7 Apacheサービスのインストールと構成


一、Apacheの紹介
Apacheは有名なオープンソースWebサーバです.初期のApacheサーバはApache Groupによって維持され、1999年6月にApache Groupがアメリカのドラワ市で非営利組織の会社、すなわちApacheソフトウェア財団(Apache Software Foundation,ASF)を設立した.ウェブサイトはwebサーバーを必要としてアーキテクチャ、ウェブデザインの美工人員(flash、dreamweaver、firework、photoshopなど)、ウェブ開発人員(php、.net、jspなど)、ウェブサイトが創立した後、私たちが維持して、最適化して、間違いを並べて、アーキテクチャの拡張などが必要です.簡単に言えば、私たちが1つのページを閲覧するには、基本的にすべてのサイトがhttpプロトコルを使用してデータ転送を行います!どのように伝送するかについては、私たちが運営維持のために深く研究する必要はありません.それはhtmlの先端開発者が考えなければならないことです.Apacheは、カーネル、標準モジュール、サードパーティが提供するモジュールの3つの階層から構成されています.CentOS 7 Apache服务的安装与配置_第1张图片通常Apacheは、デフォルトのインストール時に、図の1、2の2つの部分だけをインストールします.ユーザーのニーズに応じて、ユーザーは構成を変更することで、デフォルトでインストールされている標準モジュールを削除することができます.デフォルトでインストールされていないモジュールを構成を変更してインストールすることもできます.また、ユーザーが必要とする場合は、サードパーティが提供するモジュールをインストールすることもできます.
[survey.netcraft.net                 WEB         ](https://news.netcraft.com/archives/category/web-server-survey/)
Apache          web     
[www.apache.org Apache  ](http://www.apache.org/)   

二、CentOS下のApache
1.サイトは2つに分かれています
  • 静的网站:Apache,Nginx,html
  • 動的Webサイト:php/perl/python,jsp(java),.net

  • 2.Apacheサービス概要
    パッケージ:httpd,httpd-devel,httpd-manualサービスタイプ:systemdによって開始されたデーモン構成ユニット:/usr/lib/systemd/systemm/httpd.サービスデーモン:/usr/sbin/httpポート:80(http)、443(https)構成:/etc/http/Webドキュメント:/var/www/html/
    Apacheログディレクトリ:/var/log/http/このディレクトリの下に2つのファイルがあります.
    access_log      #        Apache   ,      ip
    error_log       #           

    Apacheサービス起動の記録ログ:
    /var/log/messages   #            

    3.Apacheサーバを構成する準備
    システムプラットフォーム:CentOS 7.3 DHCP Server:192.168.1.20第1歩:サーバー設定静的IP第2歩:ホスト名変更、書き込み/etc/hostsレコード
    [root@Apache ~]# echo "192.168.1.20  Apache" >> /etc/hosts         -- /etc/hosts  ip    
    [root@Apache ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.1.20  Apache

    ステップ3:ファイアウォールを閉じる
    [root@Apache ~]# systemctl stop firewalld         --        
    [root@Apache ~]# systemctl disable firewalld    --       

    ステップ4:selinuxを閉じる
        :
    [root@Apache ~]# setenforce 0
    setenforce: SELinux is disabled
    
        :
    [root@Apache ~]# vim /etc/selinux/config
    SELINUX=disabled                 #  enforcing  disabled
    
    [root@Apache ~]# reboot   --        

    三、Apacheサービスの構築と配置
    1.yumパッケージを使用してApacheソフトウェアをインストールする
    [root@Apache ~]# yum -y install httpd*
    [root@Apache ~]# rpm -qa | grep httpd     --     http 
    httpd-manual-2.4.6-67.el7.centos.6.noarch
    httpd-tools-2.4.6-67.el7.centos.6.x86_64
    httpd-2.4.6-67.el7.centos.6.x86_64
    httpd-devel-2.4.6-67.el7.centos.6.x86_64

    インストールに成功すると、次の2つのファイルが生成されます.
    /etc/httpd/conf/httpd.conf  #      
    /var/www/html                   #        

    2.プロファイル内の主なパラメータを認識する
    [root@Apache ~]# vim /etc/httpd/conf/httpd.conf
     31 serverRoot "/etc/httpd"           #          
     42 Listen 80           # Apache      
     66 User apache     #       
     67 Group apache   #      
     86 ServerAdmin root@localhost  #          
    119 DocumentRoot "/var/www/html" --     
    #   DocumentRoot       
    131    #         
    144 Options Indexes FollowSymLinks   #       ,        ,             
    151 AllowOverride None                # none   .htaccess  ,all  
    156 Require all granted                 # granted        ,denied        
    157     #     
    164 DirectoryIndex index.html       #       ,                   ,       
    316 AddDefaultCharset UTF-8      #     ,      ,       gb2312  gbk,              

    3.Apacheサイトの起動
    [root@Apache ~]# systemctl start httpd.service
    [root@Apache ~]# lsof -i:80         --  httpd      
    COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    httpd   20585   root    4u  IPv6 402909      0t0  TCP *:http (LISTEN)
    httpd   20586 apache    4u  IPv6 402909      0t0  TCP *:http (LISTEN)
    httpd   20587 apache    4u  IPv6 402909      0t0  TCP *:http (LISTEN)
    httpd   20588 apache    4u  IPv6 402909      0t0  TCP *:http (LISTEN)
    httpd   20589 apache    4u  IPv6 402909      0t0  TCP *:http (LISTEN)
    httpd   20590 apache    4u  IPv6 402909      0t0  TCP *:http (LISTEN)

    起動に成功したらブラウザを使う:自分のIPアドレスを入力すると赤い帽子のウェルカムページが表示されます:
    [root@Apache ~]# firefox 192.168.1.20

    ブラウザを開くたびに便利ではありません.そのため、テキストブラウザを使用して、テストを便利にすることができます.
    [root@Apache ~]# yum -y install elinks         --  elinks     
    [root@Apache ~]# elinks 192.168.5.20         -- ctrl + c  
    [root@Apache ~]# curl 192.168.1.20            --    curl

    例1:Webサイトのホームページを作成し、Webサイトのルートディレクトリの下にホームページファイルフォーマットを作成する1:
    [root@Apache ~]# echo 'main page' > /var/www/html/index.html   -- index.html    
    [root@Apache ~]#systemctl restart httpd.service      --    
    [root@Apache ~]# firefox http://192.168.1.20             --        ,               main page

    フォーマット2:
    [root@Apache ~]# vim /var/www/html/index.html        --       html     ,      
    
    
        
    
    
    

    !@_@

    [root@Apache ~]# systemctl restart httpd.service -- [root@Apache ~]# firefox http://192.168.1.20 -- , main page

    例2:サイトホームディレクトリを:/wwwディレクトリに変更
    [root@Apache ~]# mkdir /www      --  /www  
    
    [root@Apache ~]# vim /etc/httpd/conf/httpd.conf
    119  DocumentRoot "/www"            --        /www
    131                 --          /www
    
    [root@Apache ~]# systemctl restart httpd.service      --    apache  
    
    [root@Apache ~]# echo "           /www" > /www/index.html        -- index.html    
    
    [root@Apache ~]# firefox http://192.168.1.20            --    ,                

    例3:ホームページタイプまたはホームページ名の変更
    [root@Apache ~]# vim /etc/httpd/conf/httpd.conf
    164 DirectoryIndex index.php              -- index.html  index.php
    
    [root@Apache ~]# systemctl reload httpd.service     --         
    
    [root@Apache ~]# echo 'php main page' > /www/index.php      --        index.php  ,             
    
    [root@Apache ~]# elinks 192.168.1.20

    四、コンパイルインストールApacheサービス
    1.コンパイルに必要な信頼パッケージのインストール
    [root@Apache ~]# yum -y install gcc* make* apr apr-util pcre apr-devel apr-util-devel  pcre-devel

    2.OpenSSLとApacheのインストール
    Open SSLのインストール
    [root@Apache ~]# wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz      --  openssl   
    [root@Apache ~]# tar xf ./openssl-1.0.2m.tar.gz -C /usr/src       --   /usr/src  
    [root@Apache ~]# cd /usr/src/openssl-1.0.2m/        --     /usr/src  
    [root@Apache ~]# ./config --prefix=/usr/local/ssl --shared          --    ,    
    [root@Apache ~]# make && make install                --  ,  
    [root@Apache ~]# echo  /usr/local/ssl/lib >> /etc/ld.so.conf
    [root@Apache ~]# ldconfig            --      

    Apacheのインストール
    [root@Apache ~]# wget http://archive.apache.org/dist/httpd/httpd-2.4.28.tar.gz    --  apache   
    [root@Apache ~]# tar xf httpd-2.4.28.tar.gz -C /usr/src      --   /usr/src  
    [root@Apache ~]# cd /usr/src/httpd-2.4.28/          --cd     
    
    [root@Apache ~]# ./configure -help        --      
    
    [root@Apache ~]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl --with-mpm=prefork
    [root@Apache ~]# make
    [root@Apache ~]# make install

    --prefixインストールパスを指定--enable-so apacheコアにDSOをマウントさせる(動的共有ターゲット)--enable-rewrite書き換え機能を有効にする--enable-modulesモジュールをapacheにコンパイルする--enable-ssl ssl ssl ssl ssl ssl ssl ssl sslプロトコルを開く--with-mpm実行モデルを指定
    運転モード:/etc/http/conf.modules.d/00-mpm.confマルチプロセスモデル:prefork(プリ派生)マルチプロセスマルチスレッドハイブリッドモデル:worker(作業者)、event(イベント)
    コンパイルインストールに成功したら、/usr/local/apache 2/ディレクトリの下にインストールプロファイル:/usr/local/apache 2/conf/http.conf起動コマンド:/usr/local/apache 2/bin/apachectlデフォルトWebサイトホームディレクトリ:/usr/local/apache 2/htdcos
    3.ホームディレクトリの変更
    [root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf  --      
    220 DocumentRoot "/www"     --       , /usr/local/apache2/htdocs  /www
    221           --           
    
    [root@Apache ~]# mkdir /www     --       
    [root@Apache ~]# echo "main page" > /www/index.html
    
       rpm    http
    [root@Apache ~]# systemctl stop httpd.service
    
            http
    [root@Apache ~]# /usr/local/apache2/bin/apachectl start

    4.中国語をサポートする構成
    [root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf
    #             
    AddDefaultCharset UTF-8       #    utf-8      

    5.ソースパッケージ版Apacheの起動
    [root@Apache ~]# /usr/local/apache2/bin/apachectl restart       --    apache

    6.テスト
    [root@Apache ~]# echo "

    Apache ,

    " > /www/index.html [root@Apache ~]# firefox http://192.168.1.20

    五、Apache仮想ホストの構成
    1台のWebサーバでは、複数の独立したIPアドレス、ドメイン名、またはポート番号によって異なるWebサイトが提供されます.IPアドレスに基づく仮想ホスト:各ウェブサイトは異なるIPアドレスを持っているサーバー上の異なるIPアドレスを通じて異なるウェブサイトのドメイン名に基づく仮想ホストにアクセスする:すべての仮想ホストは同じIPアドレスを共有して異なるドメイン名を使って異なるウェブサイトのポートに基づく仮想ホストにアクセスすることができる:すべての仮想ホストは同じIPアドレスの各仮想ホストを共有することができるマシン間で異なるポート番号で区別
    準備:
    [root@Apache ~]# vim /usr/local/apache2/conf/htttpd.conf
      52 #Listen 80         #       
    220 #DocumentRoot "/usr/local/apache2/htdocs"        #       

    1.Apache IPベースの仮想ホスト構成
    ステップ1:ifconfigを使用して3つの仮想ipを設定する
    [root@Apache ~]# ifconfig ens33:1 192.168.1.11/24
    [root@Apache ~]# ifconfig ens33:2 192.168.1.12/24
    [root@Apache ~]# ifconfig ens33:3 192.168.1.13/24
    
    [root@Apache ~]# ifconfig 
    ens33: flags=4163  mtu 1500
            inet 192.168.1.20  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::20c:29ff:fe14:1fb9  prefixlen 64  scopeid 0x20
            ether 00:0c:29:14:1f:b9  txqueuelen 1000  (Ethernet)
            RX packets 216515  bytes 207352525 (197.7 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 109646  bytes 23077100 (22.0 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    ens33:1: flags=4163  mtu 1500
            inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
            ether 00:0c:29:14:1f:b9  txqueuelen 1000  (Ethernet)
    
    ens33:2: flags=4163  mtu 1500
            inet 192.168.1.12  netmask 255.255.255.0  broadcast 192.168.1.255
            ether 00:0c:29:14:1f:b9  txqueuelen 1000  (Ethernet)
    
    ens33:3: flags=4163  mtu 1500
            inet 192.168.1.13  netmask 255.255.255.0  broadcast 192.168.1.255
            ether 00:0c:29:14:1f:b9  txqueuelen 1000  (Ethernet)

    ステップ2:ホストのhostsファイルを構成し、テストしやすい
    [root@Apache ~]# echo "192.168.1.11  test1.com" >> /etc/hosts
    [root@Apache ~]# echo "192.168.1.12  test2.com" >> /etc/hosts
    [root@Apache ~]# echo "192.168.1.13  test3.com" >> /etc/hosts
    
    [root@Apache ~]# tail -3 /etc/hosts
    192.168.1.11  test1.com
    192.168.1.12  test2.com
    192.168.1.13  test3.com

    ステップ3:仮想ホストがWebページを格納するルートディレクトリを作成し、トップページファイルindexを作成します.html
    [root@Apache ~]# cd /www
    [root@Apache ~]# mkdir 11
    [root@Apache ~]# mkdir 12
    [root@Apache ~]# mkdir 13
    [root@Apache ~]# echo "192.168.1.11" > 11/index.html
    [root@Apache ~]# echo "192.168.1.12" > 12/index.html
    [root@Apache ~]# echo "192.168.1.13" > 13/index.html

    ステップ4:httpdを修正する.confはファイルの末尾に以下の構成を加える
    [root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf    --          
    Listen 192.168.1.11:80
    Listen 192.168.1.12:80
    Listen 192.168.1.13:80
    Include conf/vhost/*.conf            #     vhost      .conf     

    ステップ5:各ipのプロファイルを編集する
    [root@Apache ~]# mkdir  /usr/local/apache2/conf/vhost
    [root@Apache ~]# cd /usr/local/apache2/conf/vhost
    [root@Apache ~]# vim test11.conf        --    .conf   ,       
    
          ServerName test11.com
        DocumentRoot /www/11
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    

    パラメータの説明:
    仮想ホスト構成フォーマット:構成内容
    仮想ホストで使用するドメイン名Server Nameドメイン名の指定
    仮想ホストのホームディレクトリDocumentRootディレクトリの指定
    仮想ディレクトリのフォーマット:ディレクトリ関連の構成パラメータと命令
    Options Indexes FollowSymLinks--ホームページが見つからない場合は、ディレクトリとして表示し、Webサイトのルートディレクトリ以外へのリンクを許可します.
    許可するかどうかhtaccessファイルはhttpdを上書きする.confファイルの仮想ホストディレクトリの構成について.AllowOverride None#AllowOverride all#を使用しない
    すべてのアクセス命令を許可、拒否Require all granted#Require all denied#拒否を許可
    [root@Apache ~]# vim test12.conf          --       
    
          ServerName test12.com
        DocumentRoot "/www/12"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    
    
    [root@Apache ~]# vim test13.conf          --       
    
          ServerName test13.com
        DocumentRoot "/www/13"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    

    ステップ6:サービスの開始とテスト
    [root@Apache ~]# /usr/local/apache2/bin/apachectl -t        --          
    Syntax OK
    [root@Apache ~]# /usr/local/apache2/bin/apachectl restart    --    Apache
              
    [root@Apache ~]# curl 192.168.1.11
    192.168.1.11
    [root@Apache ~]# curl 192.168.1.12
    192.168.1.12
    [root@Apache ~]# curl 192.168.1.13
    192.168.1.13

    2.Apacheポートベースの仮想ホスト構成
    ステップ1:ifconfigを使用して仮想ipを1つ設定
    [root@Apache ~]# ifconfig ens33:4 192.168.1.14/24

    ステップ2:ホストのhostsファイルを構成し、テストしやすい
    [root@Apache ~]# echo "192.168.1.14  test4.com" >> /etc/hosts

    ステップ3:仮想ホストがWebページを格納するルートディレクトリを作成し、トップページファイルindexを作成します.html
    [root@Apache ~]# cd /www
    [root@Apache ~]# mkdir port
    [root@Apache ~]# cd port
    [root@Apache ~]# mkdir 6081
    [root@Apache ~]# mkdir 7081
    [root@Apache ~]# mkdir 9081
    [root@Apache ~]# echo "port 6081" > 6081/index.html
    [root@Apache ~]# echo "port 7081" > 7081/index.html
    [root@Apache ~]# echo "port 9081" > 9081/index.html

    ステップ4:httpdを修正する.confはファイルの末尾に以下の構成を加える
    [root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf      --          
    Listen 192.168.1.14:6081
    Listen 192.168.1.14:7081
    Listen 192.168.1.14:9081
    Include conf/vhost/*.conf

    ステップ5:各ポートのプロファイルを編集する
    [root@Apache ~]# cd /usr/local/apache2/conf/vhost
    [root@Apache ~]# vim test14.6081.conf       --    .conf   ,       
    
          ServerName test14.com
        DocumentRoot "/www/port/6081"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    
    
    [root@Apache ~]# vim test14.7081.conf          --       
    
          ServerName test14.com
        DocumentRoot "/www/port/7081"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    
    
    [root@Apache ~]# vim test14.9081.conf          --       
    
          ServerName test14.com
         DocumentRoot "/www/port/9081"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    

    ステップ6:サービスの開始とテスト
    [root@Apache ~]# /usr/local/apache2/bin/apachectl -t              --          
    Syntax OK
    [root@Apache ~]# /usr/local/apache2/bin/apachectl restart    --    apache
              
    [root@Apache ~]# curl 192.168.1.14:6081
    port 6081
    [root@Apache ~]# curl 192.168.1.14:7081
    port 7081
    [root@Apache ~]# curl 192.168.1.14:9081
    port 9081

    3.Apacheドメイン名ベースの仮想ホスト構成
    ステップ1:ifconfigを使用して仮想ipを1つ設定
    [root@Apache ~]# ifconfig ens33:5 192.168.1.15/24

    ステップ2:ホストのhostsファイルを構成し、テストしやすい
    [root@Apache ~]# echo "192.168.1.15  www.aa.com" >> /etc/hosts
    [root@Apache ~]# echo "192.168.1.15  www.bb.com" >> /etc/hosts
    [root@Apache ~]# echo "192.168.1.15  www.cc.com" >> /etc/hosts

    ステップ3:仮想ホストがWebページを格納するルートディレクトリを作成し、トップページファイルindexを作成します.html
    [root@Apache ~]# cd /www
    [root@Apache ~]# mkdir www.aa.com
    [root@Apache ~]# mkdir www.bb.com
    [root@Apache ~]# mkdir www.cc.com
    [root@Apache ~]# echo "www.aa.com" > www.aa.com/index.html
    [root@Apache ~]# echo "www.bb.com" > www.bb.com/index.html
    [root@Apache ~]# echo "www.cc.com" > www.cc.com/index.html

    ステップ4:httpdを修正する.confはファイルの末尾に以下の構成を加える
    [root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf      --          
    Listen 192.168.1.15:80
    Include conf/vhost/*.conf

    ステップ5:各ドメイン名のプロファイルを編集する
    [root@Apache ~]# cd /usr/local/apache2/conf/vhost
    [root@Apache ~]# vim www.aa.com.conf        --    .conf   ,       
    
          ServerName www.aa.com
        DocumentRoot "/www/www.aa.com"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    
    
    [root@Apache ~]# vim www.bb.com.conf          --       
    
          ServerName www.bb.com
        DocumentRoot "/www/www.bb.com"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    
    
    [root@Apache ~]# vim www.cc.com.conf          --       
    
          ServerName www.cc.com
        DocumentRoot "/www/www.cc.com"
          
            Options Indexes FollowSymLinks
            AllowOverride None
            Require all granted
        
    

    ステップ6:サービスの開始とテスト
    [root@Apache ~]# /usr/local/apache2/bin/apachectl -t              --          
    Syntax OK
    [root@Apache ~]# /usr/local/apache2/bin/apachectl restart    --    apache
              
    [root@Apache ~]# curl www.aa.com
    www.aa.com
    [root@Apache ~]# curl www.bb.com
    www.bb.com
    [root@Apache ~]# curl www.cc.com
    www.cc.com