自學鳥哥linux服務-httpd學習錄

前提已安裝好DNS

安裝:yum -y install httpd

開放80端口:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT


目錄:/etc/httpd/conf/httpd.conf   #配置文件目錄

     /etc/httpd/conf.d/           #引用配置目錄

vim /etc/httpd/conf/httpd.conf


DocumentRoot "/var/www/html"    #網頁文件目錄


<Directory "/var/www/html">             #目錄設置

    options Indexes FollowSymLinks       當有Indexes時,當主目錄下沒有index.html文件時,允                                           許查看目錄列表!去掉可以刪掉或:-Indexes

    AllowOverride None         #None不查找.htaccess文件

    Order allow,deny         #Order 控制訪問,最後deny纔是默認

    Allow from all           # 用法deny ip1 ip2

</Directory>



啓用AllowOverride方法

mkdir /var/www/html/yy/

echo "yy">/var/www/html/yy/index.html

創建.htaccess文件

cd /var/www/html/yy

vim .htaccess

AuthName isyy

AuthType basic

Authuserfile /var/www/html/.htaccess

require

保存

加入用戶ltiaw

htpasswd -cm .htaccess ltiaw

 

定義目錄

<Directory "/var/www/html/yy/">

    Options Indexes Followsymlinks

    AllowOverride AuthConfig

    Order deny,allow

    Allow from 127.0.0.1

    Deny from all

</Directory>

這樣就啓用了用戶驗證

如果訪問不了,注意是不是selinux 或文件權限問題


用軟鏈接把在別的目錄下的index.html鏈接到/var/www/html/目錄下使用

mkdir /xx

echo "xx" >/xx/index.html

ln -s /xx/index.html /var/www/html/


自定義目錄

Alias /aa/ "/aa/"

mkdir /aa

echo "aa">/aa/index.html

chcon -R --reference=/var/www/html/ /aa/


curl --head 192.168.30.250 查看搭建類型

顯示爲:Content-Type: text/html


scriptAlias /cgi-bin/ "/var/www/cgi-bin"  #定義可執行腳本的目錄

cd /var/www/cgi-bin/

創建腳本

vim text.sh

#!/bin/bash

now=`date`

echo "Content-Type: text/html"            #不要寫錯了

echo                                      #這個必須要有

echo $now          

保存

chmod 755 ./text.sh

訪問刷新

如果出現500請注意腳本編寫問題


虛擬主機

NameVirtualHost

搭DNS建立3個zone

分別是

baidu.com

google.com

ltiaw.com


第一種基於主機名的虛擬主機

去掉註釋NameVirtualHost*:80

定義主機名

<VirtualHost*:80>

    DocumentRoot /baidu

    servername www.baidu.com

</VirtualHost>

<VirtualHost*:80>

    DocumentRoot /google

    servername www.google.com

</VirtualHost>

<VirtualHost*:80>

    DocumentRoot /var/www/html/

    servername www.ltiaw.com

</VirtualHost>


mkdir /baidu /google

echo baidu >/baidu/index.html

echo google >/google/index.html

echo ltiaw >/var/www/html/index.html

chcon -R --reference=/var/www/html/ /baidu /google

/etc/init.d/httpd restart

訪問成功


第二種基於IP地址的虛擬主機

ip addr show eth0

ip addr add 192.168.30.251/24 dev eth0 label eth0:0

ip addr add 192.168.30.252/24 dev eth0 label eth0:1

ip addr show eth0


vim httpd.conf

註釋NameVirtualHost*:80

定義IP

<VirtualHost 192.168.30.251:80>

    DocumentRoot /baidu

    servername www.baidu.com

</VirtualHost>

<VirtualHost 192.168.30.252:80>

    DocumentRoot /google

    servername www.google.com

</VirtualHost>

<VirtualHost 192.168.30.250:80>

    DocumentRoot /var/www/html/

    servername www.ltiaw.com

</VirtualHost>

/etc/init.d/httpd restart

成功訪問


https 加密

yum -y install mod_ssl 

cd /etc/httpd/conf.d

vim ssl.conf

SSLEngin on #開啓SSL

定義證書目錄

SSLCertificateFile /etc/httpd/conf/bb.crt

SSLCertificateKeyFile /etc/httpd/conf/bb.key

保存

生成證書

cd /etc/pki/tls/certs

make bb.crt

生成完成後復到conf目錄下

cp bb.* /etc/httpd/conf

/etc/init.d/httpd restart

訪問成功


只給一個站用SSl加密

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

SSLEngin off 關閉

vim /etc/httpd/conf/httpd.conf

在要啓用的虛擬主機下加入

<VirtualHost 192.168.30.250:80>

    DocumentRoot /var/www/html/

    servername www.ltiaw.com

    SSLEngin on

    SSLCertificateFile /etc/httpd/conf/bb.crt

    SSLCertificateKeyFile /etc/httpd/conf/bb.key

</VirtualHost>

/etc/init.d/httpd restart




日誌監控

yum -y install webalizer

vim /etc/httpd/conf.d/webalizer.conf

改allow all

執行命令生成數據

webalizer

restart

訪問http://192.168.30.250/usage


另一個比較好看的工具

awstats-7.4-1.noarch.rpm

下載地址:

https://sourceforge.net/projects/awstats/files/AWStats/7.4/awstats-7.4-1.noarch.rpm/download


yum -y localinstall awstats-7.4-1.noarch.rpm

配置文件目錄:

/etc/awstats/

/usr/local/awstats/


配置方法:

1.用自帶的腳本進行配置:

cd /usr/local/awstats/tools

./awstats_configure.pl


2.手動配置

cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.www.ltiaw.com.conf

vim /etc/awstats/awstats.www.ltiaw.com.conf

修改以下兩個地方

LogFile="/var/log/httpd/access_log"

SiteDomain="www.ltiaw.com"

然後生成數據

cd /usr/local/awstats/wwwroot/cgi-bin

./awstats.pl -config=www.ltiaw.com -update    


看到下面信息時基本成功了

Create/Update database for config "/etc/awstats/awstats.www.ltiaw.com.conf" by AWStats version 7.4 (build 20150714)

From data in log file "/var/log/httpd/access_log"...

Phase 1 : First bypass old records, searching new record...

Direct access after last parsed record (after line 530)

Jumped lines in file: 530

 Found 530 already parsed records.

Parsed lines in file: 82

 Found 0 dropped records,

 Found 0 comments,

 Found 0 blank records,

 Found 0 corrupted records,

 Found 0 old records,

 Found 82 new qualified records.


/etc/init.d/httpd restart

訪問網頁

http://www.ltiaw.com/awstats/awstats.pl?config=www.ltiaw.com

成功訪問!


ab 測試

ab -n 1000 -c 10 http://www.baidu.com/index.html/   #-n 1000次訪問,-c 10個並行客戶端



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章