前提已安裝好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
另一個比較好看的工具
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個並行客戶端