Apache的簡單應用

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成功.
相關文章
相關標籤/搜索