2-19-使用apache搭建web網站


                

 

1 搭建一台測試web服務器

案例:

部門內部搭建一台WEB服務器,采用的IP地址和端口為192.168.10.34:80,首頁采用index.html

文件。管理員E-mail地址為 xuegod@xuegod.cn,網頁的編碼類型采用UTF-8,所有網站資源都存放在/var/www/html目錄下,並將Apache的配置文件根目錄設置為/etc/httpd目錄。

[root@xuegod4 ~]#yum -yinstall httpd

[root@xuegod4 ~]#vim/etc/httpd/conf/httpd.conf

修改配置文件相關參數:

[root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf #以下參數需要我們掌握

57 ServerRoot "/etc/httpd"#apache配置文件的根目錄

70 Timeout 60 #超時時間,接收和發送前超時秒數

136 Listen 80 #監聽的端口

262 ServerAdmin root@localhost #設置管理員,e-mail 地址

277 ServerName 192.168.1.163:80 #服務器主機名.

293 DocumentRoot "/var/www/html" #網站頁面根目錄

Options Indexes FollowSymLinks #當一個目錄沒有默認首頁時,允許顯示此目錄列表

禁止 Apache 顯示目錄結構列表,只需將 Option 中的 Indexes 去掉即可

403 DirectoryIndex index.html index.html.var#指定默認首頁

編碼:

AddDefaultCharset UTF-8 # 設置服務器的默認編碼為:UTF-8

2 取消apache默認歡迎頁:

[root@xuegod4 ~]# vim/etc/httpd/conf.d/welcome.conf

#

# This configuration fileenables the default "Welcome"

# page if there is nodefault index page present for

# the root URL. To disable the Welcome page, comment

# out all the linesbelow.

#

#<LocationMatch"^/+$"> #把紅色內容進行注釋

# Options -Indexes

# ErrorDocument 403 /error/noindex.html

#</LocationMatch>

重啟:

[root@xuegod4~]# service httpd restart

創建首頁文件:

[root@xuegod4 ~]# echo 'welcome to www.xuegod.cn' >/var/www/html/index.html

 

 

3 使用rpm搭建lamp 環境

LAMP = linux+apache+mysql數據庫+php

[root@xuegod4 ~]# yum install httpd mysql-server php php-mysql

測試數據庫:

[root@xuegod4 ~]# service mysqld start

Starting mysqld:                                           [  OK  ]

[root@xuegod4 ~]# chkconfig mysqld on

[root@xuegod4 ~]# mysql

mysql> show databases;

mysql> exit;

Bye

[root@xuegod4 ~]# cd /var/www/html/

[root@xuegod4 html]# vim index.php

<?php

phpinfo();

?>

重啟apache服務:

[root@xuegod4 html]# service httpd restart

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]

 

MaxClients 256 #設置客戶端最大連接數為 256

 

 

4 修改網站根目錄及對應參數,設置訪問權限

設置文檔目錄為/var/www/html/bbs

 

 

 

目錄與訪問控制:

<Directory "/var/www/html/bbs"> #子目錄會繼承這個目錄的屬性

Options FollowSymLinks #Options:Indexes:目錄瀏覽 #Followsymlinks:可以用連接

AllowOverrideNone #不允許任何Override

Orderallow,deny

Allow from192.168.1.0/24 #從哪里來的允許

Deny from 192.168.1.0/24 #從哪里來的拒絕

Allow from .baidu.com

#Allow,Deny都會讀取,如果有沖突和未說明的時候按照Order選項逗號后面的那個為准。

誰寫到后面,誰的優先級高。

</Directory>

配置完重啟apache服務

如果報錯檢查目錄是否已創建?

測試:

service httpd restart #拒絕

 

 

5 使用別名功能,引用網站根目錄以外的路徑

將/usr/local/phpmyadmin 目錄通過虛擬目錄功能添加到網站根目錄。當訪問http://192.168.1.63/phpmyadmin/ 時,就可以訪問目錄/usr/local/phpmyadmin中的內容。

注:apache的別名也叫虛擬目錄

語法:

Alias URL路徑 PATH物理路徑

創建測試目錄和數據

[root@xuegod4 ~]# mkdir/usr/local/phpmyadmin

[root@xuegod4 ~]# cp -r/boot/grub/ /usr/local/phpmyadmin/

[root@xuegod4 ~]# echo"test1" >/usr/local/phpmyadmin/a.html

修改配置文件

[root@xuegod4 ~]# vim/etc/httpd/conf/httpd.conf

 

 

Alias /phpmyadmin"/usr/local/phpmyadmin/"

<Directory"/usr/local/phpmyadmin/">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

注:Alias/phpmyadmin/ "/usr/local/phpmyadmin/" #/phpmyadmin/ 可以隨意起。比如改/phpmyadmin/ 為/php/ 則訪問鏈接: http://192.168.1.63/php/

 

 

當一個目錄下沒有默認首頁時,訪問http://192.168.1.63/phpmyadmin/禁止顯示目錄列表

修改配置文件:

[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf # 修改紅色標記內容

Alias /phpmyadmin/ "/usr/local/phpmyadmin/"

<Directory "/usr/local/phpmyadmin/">

Options -Indexes FollowSymLinks #在Indexes 前加-減號,此目錄下沒有默認首頁時,禁止顯示目錄

AllowOverrideNone

Orderdeny,allow

Allow from all

</Directory>

 

 

6 打開軟鏈接功能

通過軟鏈接直接引用網站根目錄以外的內容

[root@xuegod4 ~]# mkdir /web2

[root@xuegod4 ~]# echo test1 > /web2/a.html

[root@xuegod4 ~]# ln -s /web2/ /var/www/html/web2

[root@xuegod4 ~]# rm -rf /var/www/html/index.html

[root@xuegod4 ~]# rm -rf /var/www/html/index.php

[root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf

 

 

[root@xuegod4 ~]# service httpd restart

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]

 

 

7 通過用戶認證的方式,對網站下/usr/local/phpmyadmin/目錄進行保護。 設置/usr/local/phpmyadmin/目錄,只能通過用戶名密碼方式訪問。

方法一:

Alias /phpmyadmin/ "/usr/local/phpmyadmin/"

<Directory "/usr/local/phpmyadmin/">

Options IndexesFollowSymLinks

AllowOverrideNone

Orderdeny,allow

Allow from all

authtype basic #基本認證

authname "MySQL admin software"

authuserfile /etc/httpd/conf/passwd.secret #密文配置文件路徑

#require usertom

#require usertom bob

require valid-user #有效用戶

</Directory>

重啟apache 訪問http://192.168.1.63/phpmyadmin驗證

 

 

生成認證賬號和密碼

[root@xuegod63 ~]#htpasswd -cm /etc/httpd/conf/passwd.secret man

New password:

Re-type new password:

Adding password for user man

驗證:

 

 

方法二:

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

<Directory"/usr/local/phpmyadmin/">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

AllowOverride AuthConfig

</Directory>

# AllowOverride AuthConfig一行表示允許對/usr/local/phpmyadmin/目錄下的文件進行用戶認證。

[root@xuegod63 ~]# vim/usr/local/phpmyadmin/.htaccess

authtype basic

authname "MySQL admin software by .htaccess"

authuserfile /etc/httpd/conf/passwd.secret

#require user tom

require valid-user

8 配置apache虛擬主機,實現在一台服務器上運行多個網站

apache虛擬主機實現有三種方法:

1、通過不同的IP地址

2、通過不同的域名

3、通過不同的端口號

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

改:

#NameVirtualHost*:80

為:

NameVirtualHost*:80

 

8.1 通過不同的IP地址,解析不同的域名

給服務器增加IP(另一個域名解析)

[root@xuegod63 ~]# ifconfigeth0:1 192.168.1.65

[root@xuegod63 ~]# mkdir/var/www/html/bbs

[root@xuegod63 ~]# echo"bbs.xuegod.cn" >/var/www/html/bbs/index.html

[root@xuegod63 ~]# echo"www.xuegod.cn" > /var/www/html/index.html

修改httpd.conf

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

<VirtualHost192.168.10.63:80>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/

ServerName www.xuegod.cn

ErrorLog logs/www.xuegod.cn-error_log

CustomLog logs/www.xuegod.cn-access_logcommon

</VirtualHost>

<VirtualHost 192.168.10.65:80>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/bbs/

ServerName bbs.xuegod.cn

ErrorLog logs/bbs.xuegod.cn-error_log

CustomLog logs/bbs.xuegod.cn-access_logcommon

</VirtualHost>

重啟服務

service httpd restart

測試:

 

 

 

 

8.2 通過不同的域名配置虛擬主機

#vim httpd.conf

NameVirtualHost *:80

 

<VirtualHostwww.xuegod63.cn>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/

ServerName www.xuegod.cn

ErrorLog logs/www.xuegod.cn-error_log

CustomLog logs/www.xuegod.cn-access_logcommon

</VirtualHost>

<VirtualHostbbs.xuegod63.cn>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/bbs/

ServerName bbs.xuegod.cn

ErrorLog logs/bbs.xuegod.cn-error_log

CustomLog logs/bbs.xuegod.cn-access_logcommon

</VirtualHost>

重啟服務

service httpd restart

 

修改電腦hosts文件C:\Windows\System32\drivers\etc\hosts作解析:

192.168.10.34  www.xuegod63.cn

192.168.10.34  bbs.xuegod63.cn

測試:

 

 

8.3 通過不同的端口配置虛擬主機

[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf

改:

Listen 80

為:

Listen 80

Listen 81

#更改為你要添加的端口

再創建2個虛擬主機

<VirtualHost *:80>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/

ServerName www.xuegod.cn

ErrorLog logs/www.xuegod.cn-error_log

CustomLog logs/www.xuegod.cn-access_logcommon

</VirtualHost>

<VirtualHost *:81>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/bbs/

ServerName bbs.xuegod.cn

ErrorLog logs/bbs.xuegod.cn-error_log

CustomLog logs/bbs.xuegod.cn-access_logcommon

</VirtualHost>

重啟服務

service httpd restart

驗證:

http://192.168.10.34:80

http://192.168.10.34:81

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM