天天看點

linux--apache的基本應用

一、apache

企業中常用的web服務,用來提供http://(超文本傳輸協定)

二、apache的安裝部署

yum install httpd -y

yum install httpd-manual

systemctl start httpd

systemctl enable httpd

圖示:安裝httpd

<a href="https://s3.51cto.com/oss/201711/21/390a7dbdcc3004a10dc45b04d35ec516.png-wh_500x0-wm_3-wmp_4-s_2911428301.png" target="_blank"></a>

圖示:安裝httpd-manual

<a href="https://s1.51cto.com/oss/201711/21/c1645cf7b8f40efb6062679febd9386d.png-wh_500x0-wm_3-wmp_4-s_3450849954.png" target="_blank"></a>

圖示:開啟加載httpd

<a href="https://s4.51cto.com/oss/201711/21/988307baaef1ea04282d74a42b955ef3.png-wh_500x0-wm_3-wmp_4-s_1757750438.png" target="_blank"></a>

測試   http://172.25.254.121 

       http://172.25.254.121/manual

圖示:通路測試

<a href="https://s3.51cto.com/oss/201711/21/9ffe152e407551d57b1f78261170147c.png-wh_500x0-wm_3-wmp_4-s_2888741024.png" target="_blank"></a>

圖示:通路測試man

三、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/*

檢視端口

ss -anutlpe | grep httpd

圖示:端口80

<a href="https://s2.51cto.com/oss/201711/21/96b7702c277773eb5e400e114101571a.png-wh_500x0-wm_3-wmp_4-s_2734458378.png" target="_blank"></a>

修改預設端口

vim /etc/httpd/conf/httpd.conf

43 Linsten 8080 修改預設端口為8080

圖示:修改配置檔案

<a href="https://s4.51cto.com/oss/201711/21/c9c23cdb913bb4a662a4189c3ff169ad.png-wh_500x0-wm_3-wmp_4-s_2553650759.png" target="_blank"></a>

修改預設分布檔案:

預設釋出檔案就是通路apache時沒有指定檔案名稱時預設通路的檔案

這個檔案可以指定多個,有通路先後順序

164     DirectoryIndex index.html test.html  當index.html不存在時通路 test.html

<a href="https://s4.51cto.com/oss/201711/21/b7e1af9190b09ae7701a234cbc2c9e5d.png-wh_500x0-wm_3-wmp_4-s_1794687150.png" target="_blank"></a>

修改預設釋出目錄

121 &lt;Directory "/www"&gt;

122    Require all granted

123 &lt;Directory&gt;

<a href="https://s3.51cto.com/oss/201711/21/324b6ced572aaefd993c6bf00ce2043f.png-wh_500x0-wm_3-wmp_4-s_3809680934.png" target="_blank"></a>

[root@domain ~]# &gt; /var/log/messages 

[root@domain ~]# ls -Zd /www/

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /www/

[root@domain ~]# storecon -RvvF /www/

四、apache的虛拟主機

vim /etc/httpd/conf.d/adefault.conf

&lt;VirtualHost _default_:80&gt;

      DocumentRoot"/var/www/html"

      CustomLog "logs/www.westos.com.log"combined

&lt;/VirtualHost&gt;

vim /etc/httpd/conf.d/linux.conf

&lt;VirtualHost *:80&gt;

     ServerName linux.westos.com          ##指定站點名稱

     DocumentRoot"/var/www/virtual/linux.westos.com/html" ##站點預設釋出目錄

     CustomLog"logs/linux.westos.com.logs" combined     ##站點日        志combined表示四種日志的集合

&lt;Directory "/var/www/virtual/linux.westos.com/html"&gt;

         Require all granted

&lt;/Directory&gt;

vim /etc/httpd/conf.d/c.conf 

    DocumentRoot  "/var/www/html"

    CustomLog   "logs/www.westos.com.log"combined

&lt;Directory "/var/www/html/test"&gt;

    Order deny,allow

    Allow from 172.25.254.60

    Deny from all

測試:

測試主機中做好本地解析

vim /etc/hosts

172.25.254.100 c.westos.com

圖示:測試

<a href="https://s3.51cto.com/oss/201711/21/363d5d3171bcc35e3deec0fdea551949.png-wh_500x0-wm_3-wmp_4-s_669871886.png" target="_blank"></a>

五、apache内部的通路控制

1.針對與主機的通路設定

touch /var/www/html/test

  &lt;Directory"/var/www/html/test"&gt;

     Order deny,allow       ##清單讀取順序,後讀取的清單會覆寫限度去内容的重複部分

     Allow from 172.25.254.60

     Deny from all

&lt;/Directory&gt;                          

2.使用者方式的通路控制

cd /etc/httpd/conf.d/

mkdir /var/www/html/admin

vim /var/www/html/admin/index.html

htpasswd -cm /etc/httpd/userpass admin

htpasswd -m /etc/httpd/userpass admin1

圖示:建立加密使用者,建立第一個使用者需要加“-c”

<a href="https://s2.51cto.com/oss/201711/21/81baf86a9f1e6b2eb01201a91313ae23.png-wh_500x0-wm_3-wmp_4-s_831534997.png" target="_blank"></a>

&lt;Directory "/var/www/html/admin"&gt;

    AuthUserFile/etc/httpd/userpass

    AuthName "Please input your nameand password"

    AuthType basic

    #Require    user admin    ##隻允許admin使用者登陸

    Require    valid-user     ##允許所有使用者登陸

systemctl restart httpd.service

圖示:adefault.conf内容

<a href="https://s3.51cto.com/oss/201711/21/96f3d1ee1bb05b0e7f0f9a87713c3674.png-wh_500x0-wm_3-wmp_4-s_38211613.png" target="_blank"></a>

六、apeche 支援的語言

1.html  ##系統預設支援

2.php

vim  /var/www/html/index.php

&lt;?php

    phpinfo();

?&gt;

yum install php -y

systemctl restart httpd

圖示:安裝 php

<a href="https://s4.51cto.com/oss/201711/21/244fd6a1c5f953ed67ba6639754fac60.png-wh_500x0-wm_3-wmp_4-s_1160848066.png" target="_blank"></a>

測試:(確定100主機防火牆關閉)

http://172.25.254.100/index.php

圖示:測試結果

<a href="https://s4.51cto.com/oss/201711/21/bc85c0ddbf1b19fb66e4a27336e877a2.png-wh_500x0-wm_3-wmp_4-s_2303380010.png" target="_blank"></a>

3.cgi

mkdir /var/www/html/cgi -p

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            ##執行腳本确定正确

圖示:腳本運作正确

<a href="https://s2.51cto.com/oss/201711/21/221f21d04079afcdda08e58b4fe4726d.png-wh_500x0-wm_3-wmp_4-s_4153838258.png" target="_blank"></a>

&lt;Directory "/var/www/html/cgi"&gt;

    Options +ExecCGI

    AddHandler cgi-script .cgi

圖示:腳本内容

<a href="https://s1.51cto.com/oss/201711/21/2b55c9e47df0aee3849892cddc595e24.png-wh_500x0-wm_3-wmp_4-s_2314135874.png" target="_blank"></a>

七、設定https虛拟主機并設定網頁重寫  

1.安裝

yum install mod_ssl

yum install crypto-utils -y

2.配置

genkey www.westos.com

圖示:操作過程

<a href="https://s2.51cto.com/oss/201711/21/ea538f3afd316e9d0d6472d1e0600762.png-wh_500x0-wm_3-wmp_4-s_757802928.png" target="_blank"></a>

<a href="https://s2.51cto.com/oss/201711/21/9730414b493b1c7d7c91cb210f9bbc63.png-wh_500x0-wm_3-wmp_4-s_1308879805.png" target="_blank"></a>

<a href="https://s2.51cto.com/oss/201711/21/bffe6c74db1b491ae4309e0851da4722.png-wh_500x0-wm_3-wmp_4-s_3644417688.png" target="_blank"></a>

vim /etc/httpd/conf.d/ssl.conf

101 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt  ##生成的證書

108 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key ##生成的鑰匙

vim /etc/httpd/conf.d/login.conf

  1 &lt;VirtualHost *:443&gt;

  2   ServerName login.westos.com

  3   DocumentRoot /var/www/html/virtual/login.westos.com/html

  4   CustomLog "logs/login.logs" combined

  5   SSLEngine on                ##開始https功能

  6   SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt    ##證書

  7   SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key  ##鑰匙

  8 &lt;/VirtualHost&gt;

  9 &lt;Directory"/var/www/html/virtual/login.westos.com/html"&gt;  ##給預設釋出目錄授權通路

 10   Require all granted

 11 &lt;/Directory&gt;

 12 &lt;VirtualHost *:80&gt;   ##網頁重寫實作自動通路https

 13   ServerName login.westos.com

 14   RewriteEngine on

 15   RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

 16 &lt;/VirtualHost&gt;

重寫規則

^(/.*)$        ##客戶在浏覽器地質欄中輸入的所有字元

https://       ##強制客戶加密通路

%{HTTP_HOST}    ##客戶請求主機

$1           ##‘$1’表示 ^(/.*)$  的值

[redirect=301]   ##臨時重寫 302永久轉換

<a href="https://s2.51cto.com/oss/201711/21/731d2c461f9f4daa60068ea24ae81d08.png-wh_500x0-wm_3-wmp_4-s_753229582.png" target="_blank"></a>

在通路端添加解析

172.25.254.100 login.westos.com

通路http://login.westos.com會自動調轉到https://login.westos.com               實作網頁資料加密傳輸

圖示:獲驗證書

<a href="https://s5.51cto.com/oss/201711/21/42a9755a9ad30c6472a0538db0e13de4.png-wh_500x0-wm_3-wmp_4-s_112715441.png" target="_blank"></a>

<a href="https://s3.51cto.com/oss/201711/21/b5a2504d5225c090b359c87c00bdc5da.png-wh_500x0-wm_3-wmp_4-s_793150108.png" target="_blank"></a>

##end##

本文轉自 無緣 51CTO部落格,原文連結:http://blog.51cto.com/13352594/1983913