apache的主要目錄和文件
服務目錄 /etc/httpd/
主配置文件 /etc/httpd/conf/httpd.conf
網頁目錄 /var/www/html/
服務腳本 /etc/init.d/httpd
執行程序 /usr/sbin/httpd
訪問日誌 /var/log/httpd/access_log
錯誤日誌 /var/log/httpd/error_log
經常使用的全局配置參數
ServerRoot 服務目錄
ServerName 網站服務器的域名
ServerAdmin 管理員郵箱
User 運行服務的用戶身份
Group 運行服務的組身份
DirectoryIndex 默認的索引頁文件
DocumentRoot 網頁文檔的根目錄
Listen 監聽的IP地址、端口號
PidFile 保存httpd進程PID號的文件
ErrorLog 錯誤日誌文件的位置
CustomLog 訪問日誌文件的位置
LogLevel 記錄日誌的級別,默認爲warn
Timeout 網絡鏈接超時,默認爲300秒
KeepAlive 是否保持鏈接,可選On或Off
MaxKeepAliveRequests 每次鏈接最多請求文件數
KeepAliveTimeout 保持鏈接狀態時的超時時間
Include 須要包含進來的其餘配置文件
httpd支持的虛擬主機類型
1.)基於域名的虛擬主機
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/bbs
ServerName bbs.example.com
</VirtualHost>
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/talk
ServerName talk.example.com
</VirtualHost>
用戶可經過對同一個IP用不一樣的域名(如:bbs.example.com和talk.example.com)訪問不一樣的網頁.
2.)基於IP地址的虛擬主機
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
<VirtualHost 192.168.0.29:80>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
一個公司內部經常使用爲網卡起別名(如:eth0網卡IP爲192.168.0.28,eth0:1網卡的IP地址192.168.0.29),經過不一樣的IP地址訪問不一樣的網頁.
3.)基於端口的虛擬主機
<VirtualHost 192.168.0.28:8080>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/bbs
ServerName station28.example.com
</VirtualHost>
同一個IP,可利用它的不一樣端口來訪問不一樣的網頁.
網頁訪問作用戶認證
1.)建立網頁訪問的目錄`mkdir -v /var/www/bbs`;
2.)設置主配置文件/etc/httpd/conf/httpd.conf;
<VirtualHost 192.168.0.28:80>
DocumentRoot /var/www/talk
ServerName talk.example.com
<Directory "/var/www/talk">
AllowOverride AuthConfig(基於用戶帳號認證)
</Directory>
</VirtualHost>
3.)在/var/www/bbs目錄下建立一個文件.htaccess;
AuthName "The innet talk"
AuthType basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup
4.)建立兩個用戶帳號,使用命令:
htpasswd -cm /etc/httpd/conf/.htpasswd redhat
htpasswd -cm /etc/httpd/conf/.htpasswd wendy
/etc/httpd/conf/.htpasswd
wendy:$apr1$x.REF...$203VUn/TxvxJCzMQqOgM7/
sandy:$apr1$KPdc0...$ZDo4JnMsjWrxFDLrAhuNZ.
5.)在文件/var/www/bbs/.htaccess內加入對用戶的訪問控制;
AuthName "The innet talk"
AuthType basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup
require user redhat wendy
6.)用用戶redhat和wendy登入此網頁驗證認證;
7.)建立文件/etc/httpd/conf/.htgroup,把rehat和wendy加入innet組;
innet:wendy sandy
8.)在文件/var/www/bbs/.htaccess內加入對用戶組的訪問控制,如:
AuthName "The innet talk"
AuthType basic
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup
require group innet
9.)用用戶redhat和wendy登入此網頁驗證認證。
調用bash腳本顯示在網頁上:
1.)配置主配置文件/etc/httpd/conf/httpd.conf,找到ScriptAlias項;
ScriptAlias /cgi-bin/ /var/www/cgi-bin(path)
2.)`cd /var/www/cgi-bin`切換到此目錄下,建立一個腳本index.sh:
###################################################################
#!/bin/bash
cat << EOF
Content-Type: text/html
<pre>
The hostname is $(hostname)
</pre>
EOF
###################################################################
3.)修改index.sh的權限`chmod a+x index.sh`;
4.)打開瀏覽器輸入"
http://your_ip/cgi-bin/index.sh"便可顯示腳本網頁。
LAMP
LAMP由Linux,Apache,mysql和php構成。建立LAMP環境須要在Linux操做系統上安裝Apache,mysql和php,如下安裝用rpm包
一.安裝Apache.
yum install httpd
service httpd start
chkconfig httpd on
echo "`hostname`" > /var/www/html/index.html
打開瀏覽器會打印本機的主機名.
二.安裝mysql.
yum install mysql-server php-mysql
service mysqld start
chkconfig mysqld on
mysql的經常使用命令:
mysqladmin -u root -p passwd '123456' 修改root用戶密碼
mysql -uroot -p 交互式登入root用戶
show databases 打印出全部數據庫信息
user mysql_name(數據庫名) 進入mysql_name數據庫
show tables 打印出此數據庫的全部表
select * from user(表名) 打印出user信息
desc user(表名) 打印出user表的內容
create database mydb 建立一個數據庫mydb
create table mytb(name char(10);) 建立一個表mytb
insert mytb(name) values ("redhat") 向表內插入數據
drop database(table) mydb(mytb) 刪除表mytb,數據庫mydb
三.安裝php. yum list all | grep php yum install php php-mysql service httpd restart service mysqld restart 驗證php安裝成功: cd /var/www/html vim index.php ################################### <?php phpinfo(); ?> ################################### 而後用瀏覽器打開主頁,若顯示php的介紹則表示php連接Apache成功 以後在修改此文件: vim index.php ################################### $Link=mysql_connect('localhost''root''123456'); if ($LINK) echo "Success......"; else echo "Failure......"; ################################### 在mysql服務啓動時,瀏覽器打印出"Success......"則表示php連接mysql成功.