apache_php多域名配置
新建 文本文檔 (5).txtApache中通過配置http.conf綁定多個域名以及二級域名的方法Apache是最流行的HTTP服務器軟件之一,其以快速、可靠(穩(wěn)定)而著稱,并且可通過簡單的API擴
新建 文本文檔 (5).txt
Apache中通過配置http.conf綁定多個域名以及二級域名的方法
Apache是最流行的HTTP服務器軟件之一,其以快速、可靠(穩(wěn)定)而著稱,并且可通過簡單的API擴展,Perl/Python解釋器可被編
譯到服務器中,完全免費,并且源代碼全部開放。如果有自己的服務器或者VPS, 并且不想為了方便而購買昂貴的控制面板的話,
那自己動手配置Apache就成了一門必修課了。下面簡單的介紹了如何通過設置Apache的 http.conf文件,進行多個域名以及其相關(guān)
的二級域名的綁定(假設我們要綁定的域名是minidx.com和ntt.cc,二級域名是 blog.minidx.com,獨立IP為
72.167.11.30).
apache怎么綁定多個域名
打開http.conf
1,ServerName 127.0.0.1 修改成ServerName 72.167.11.30
2,#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30"
3,在文件最后面有虛擬主機格式,
#
# ServerAdmin [email]admin@minidx.com[/email]
# DocumentRoot /www/httpd/html/minidx.com
# ServerName minidx.com
# ErrorLog logs/minidx.com-error_log
# CustomLog logs/minidx.com-access_log common
#
簡單的添加:
DocumentRoot usr/local/www/
ServerName 72.167.11.30
DocumentRoot usr/local/www/minidx.com/
ServerName minidx.com
DocumentRoot usr/local/www/ntt.cc/
ServerName ntt.cc
日志文件的話也可以按照自己的路徑添加。
Apache如何添加二級域名
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
RewriteCond ${lowercase:{SERVER_NAME}} ^(. )$
RewriteCond ${vhost:1} ^(/.*)$
RewriteRule ^/(.*)$ 1/$1
其中的 /usr/local/etc/apache 是你的 apache 服務器配置文件所在路徑,根據(jù)實際情況更改(例如在/etc/httpd/下面)。然后
,在這個所在路徑的目錄下創(chuàng)建一個文件: vhost.map,內(nèi)容為:
www.minidx.com /usr/local/www/minidx.com
www.ntt.cc /usr/local/www/ntt.cc
blog.minidx.com /usr/local/www/minidx.com/blog
最后,在網(wǎng)站根目錄 /usr/local/www/下,創(chuàng)建對應目錄就可以了。如果需要增加,修改或者刪除域名,子域名,僅僅需要更改
vhost.map文件,而不用重啟apache進程。
來自:http://blog.minidx.com/2008/04/12/708.html
用Apache重寫規(guī)則配置虛擬二級域名
第 1 頁
,新建 文本文檔 (5).txt
作用:
在用戶注冊后提供類似于 username.yemaosheng.com 之類的二級域名服務
步驟:
首先要去你注冊域名的網(wǎng)站的域名管理面板中配置你的域名為泛域名解析(不是每個域名服務商都提供泛域名解析。我的域名是萬
網(wǎng)注冊的,有這個服務)。
具體配置示例如下(圖):
比如你有個叫yemaosheng.com的域名,則,在你的域名管理面板中添加一條A記錄,記錄的RR值配置為通配符(星號*),這樣,完
整的記錄就是 *.yemaosheng.com ,指向你的服務器所在的IP。
然后對服務器上的Apache配置如下(注:QQ空間將反斜杠顯示為””)
NamevirtualHost *:80
ServerAdmin webmaster@yemaosheng.com
DocumentRoot /var/www/yemaosheng
ServerName *.yemaosheng.com
RewriteEngine on
RewriteCond {HTTP_HOST} ^[a-zA-Z0-9] .yemaosheng.com$
RewriteRule ^/?$ /{HTTP_HOST}
RewriteRule ^/www.yemaosheng.com/?$ /
RewriteRule ^/news.yemaosheng.com/?$ /news.php
RewriteRule ^/bbs.yemaosheng.com/?$ /bbs.php
RewriteRule ^/blog.yemaosheng.com/?$ /blog.php
RewriteRule ^/([a-zA-Z0-9] ).yemaosheng.com/?$ /blog.php?user=$1
Options None
AllowOverride All
Order allow,deny
Allow from all
第 2 頁
,關(guān)于如何在apache上綁定多域名的問題
apache服務器配置文件在
/apache/conf/httpd.conf
這個文件夾下有三個文件,httpd.conf是主配置文件,其他的,初學者可以不管,但是在安全上有些問題。 綁定域名的設置,在httpd.conf的最后幾行,例如:
### 部分 3: 虛擬主機
# 基于名稱的虛擬主機示例:[/color]
#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#
注意,每行前有#號的,說明這只是注釋,并不對apache產(chǎn)生控制,所以,如果你要綁定域名,在下面加入行,去掉#就可以了。如下:
### 部分 3: 虛擬主機
# 基于名稱的虛擬主機示例:
#設置網(wǎng)站管理員郵箱
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]
,ServerAdmin webmaster@dummy-host.example.com
#虛擬主機目錄(網(wǎng)站根目錄)
DocumentRoot /www/docs/dummy-host.example.com
#要綁定的域名
ServerName dummy-host.example.com
#產(chǎn)生記錄文件
ErrorLog logs/dummy-host.example.com-error_log
#記錄文件
CustomLog logs/dummy-host.example.com-access_log common
如果你是在本機測試,這篇文章的意義不大。誰也不會把域名綁定到一個變動IP的機器上,如果是在服務器上安裝apache,則要先指定IP,使用以下命令:
#指定主機IP地址
NameVirtualHost 12.34.56.78
這樣的話,就把域名綁定到指定IP上了。
————————————————————
[color=crimson]關(guān)于如何安裝win2000adv php5.0 iis apache2 mysql perl
如果你用windows,下載最新的apache(2.0.54),php(5.0.4),mysql(5.x的是測試版,推薦用4.1.1x),zend optimizer 2.5.7和kehui cms。
#######################################################################
第一: 裝http服務器apache
APACHE 的安裝,選擇好目錄即可,基本采取NEXT 一路下去就可以了。
我的APACHE 安裝目錄是F:Program FilesApache GroupApache2
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]
,安裝完畢,打開F:Program FilesApache GroupApache2conf下的
"要保證APACHE2對中文支持。在httpd.conf文件中,找到下面這句,修改之:
AddDefaultCharset ISO-8859-1(好像是這么寫的,改為AddDefaultCharset off)從apache2.0.53開始,中文字符已經(jīng)支持,不在需要這個語句了!!!!!!
"
還是httpd.conf文件里,設置ServerRoot(服務器根,也就是apache的安裝目錄)
ServerRoot "F:Program FilesApache GroupApache2"
設置DocumentRoot(網(wǎng)站目錄,也就是你機器上那些讓人瀏覽的網(wǎng)頁所在目錄)比如:
DocumentRoot "F:Http"
找到DirectoryIndex (瀏覽的缺省頁)在后面補上一個 index.php
這后面的一大串東西要用空格隔開比如:DirectoryIndex index.html index.php
下面2個這么設比較好(此外Options和ServerSignature怎么設最好研究一下):
HostnameLookups Off
ServerTokens Prod
其它的以后自己慢慢學吧,反正現(xiàn)在是能用了。
運行一下apache,在瀏覽器里輸入:http://localhost/xxx.html
看看F:http下面的xxx.html是不是能看到了(假設xxx.html文件已經(jīng)存在)?
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]
,############################################################################# 第二:裝腳本語言php
下載php的zip文件,解壓縮,將其中的:
php5ts.dll、libmysql.dll 一起復制到
F:Program FilesApache GroupApache2bin的目錄下;
php.ini-recommended改名為php.ini 和 php5apache2.dll一起復制到F:Program FilesApache GroupApache2下
此外,把php的ext目錄整個復制過來,比如:F:Program FilesApache GroupApache2ext 打開F:Program FilesApache GroupApache2conf下的
AddType application/x-httpd-php .php
然后,修改php.ini
(1) 改 display_errors = Off 成為 display_errors = On
(2) 改 extension_dir = "./" (這個是php的ext目錄所在位置)成為
extension_dir = "F:Program FilesApache GroupApache2ext"
(3) 改 ;extension=php_mysql.dll 去除分號成為 extension=php_mysql.dll
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]
,php裝完了。在你的網(wǎng)站目錄下(比如:F:http),建一個文本文件,內(nèi)容如下:
保存為info.php。首先,重新啟動apache服務器(也就載入php);然后,在瀏覽器里輸入: http://localhost/info.php
如果看到PHP的歡迎測試頁面,說明安裝成功
原理:
Apache 會啟動並載入 httpd.conf
跑到 LoadModule 會使用 Windows API LoadLibrary 載入 php5apache2.dll
接著會載入同目錄的 php5ts.dll
然後會載入 php.ini 根據(jù)裡面的設定載入其他 extension dll
各個 extension 的 dll 被載入後, 如果該 extension dll 還需要載入相關(guān)的 dll 則其他需要的 dll 要放在 apache 的 bin 目錄下
因為 Apache 使用 Windows API LoadLibrary 來載入 DLL 檔,
搜尋路徑是以 bin 為最優(yōu)先, 其次是 SYSTEM32)
######################################################################### 第三:裝數(shù)據(jù)庫軟件mysql
這個很簡單,選好安裝目錄,再選好apache目錄F:Program FilesApache GroupApache2 和php.ini目錄F:Program FilesApache GroupApache2就行了。
裝完后要設置一下。
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]
,先選Detailed Configuration;然后是服務器類型,隨便選,我選developer machine;
接著選數(shù)據(jù)庫用途,我選Multifunctional database,對innodb和myisam都支持然后
是innodb tablespace setting,我直接next(實際上我們好像并不需要innodb,直接選第3個只支持myisam的也可以);;
然后,是用戶數(shù)量,我選最少的;
enable tcp/ip 我next了;字符集好像應該選第2個或第1個,我選的是第2個:
Best Support for Multilingualism;install as windows service劃鉤,next;
modify security settings自己選吧(可以改mysql的根密碼password,缺省的根密碼是沒有。為了安全起見,最好自己設一個根密碼),next。最后執(zhí)行就行了。
都弄好了,先來建一個數(shù)據(jù)庫:開始,程序,mysql,運行mysql command line client
先輸入根密碼password(缺省是沒有,改過的就要輸入自己的密碼),
屏幕出現(xiàn)mysql>
在后面輸入create database kehui; 然后回車(分號一定要輸入),就建了一個叫kehui的數(shù)據(jù)庫 有了一個數(shù)據(jù)庫就可以安裝kehui cms了。(如果輸入drop database xxx;就刪掉xxx數(shù)據(jù)庫)
#######################################################################
第四:裝kehui cms
kehui cms需要先安裝zend optimizer,去下一個最新的,安裝就行了,很簡單。
最后,把kehui都解壓縮到F:http目錄下,到瀏覽器里輸入http://localhost/install.php,
上來是條款聲明,點yes;
進入到安裝部分:host是數(shù)據(jù)庫的主機名,既然數(shù)據(jù)庫mysql和kehui cms都裝在同一臺機器上,那就填‘localhost’(也就是本地主機。如果不裝在同一臺機器上,
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]
,那就填數(shù)據(jù)庫所在機器的名字)
User name是mysql的根用戶名,一般只能是‘root’
以上兩項自動出,一般不需要自己輸入。
Password是mysql的根密碼,如果你沒有改動過,缺省的就是什么也沒有,不填;改過的話,就輸入自己設的根密碼。
database就是kehui CMS系統(tǒng)所需的數(shù)據(jù)庫,這個數(shù)據(jù)庫必須已經(jīng)存在才行。剛才安裝mysql的時候不是 已經(jīng)建了一個也叫kehui的數(shù)據(jù)庫嗎?就用它好了,填'kehui'
timezone好像是時區(qū),默認是0,不用動。國外的朋友可能需要改,這個以后改也可以。
好啦,next,連接數(shù)據(jù)庫,并創(chuàng)建表.....
所有表都建立完后,
Admin name是管理員(也就是你)在網(wǎng)站上的注冊名,自己起名吧。
password輸入自己登陸網(wǎng)站的密碼
confirm再輸入一遍密碼
Admin email管理員的電子郵箱
繼續(xù)下一步,也就全部完成。點擊Done就可以來到主頁。
#################################################################################
裝好后,瀏覽器里http://localhost/就是主頁(如果中文亂碼,很可能是mysql字符集選擇不對,語言那里重選;
還不行就重裝mysql,語言選項里選前2個中的一個,我印象是選第2個)
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]
,進入管理員界面后,進系統(tǒng)設置。要注意‘系統(tǒng)URL’這一欄,如果地址末尾有''或‘/’,一定要把末尾的''或‘/’刪掉,否則會出現(xiàn)問題。
注意:系統(tǒng)URL最好這樣寫,以避免發(fā)生問題:
如果你的kehui就在F:/http目錄下,那么系統(tǒng)URL不填,為空,主頁URL填/index.php(登錄網(wǎng)站的時候會自動加上前面的ip地址的);如果kehui網(wǎng)站在F:/http/kehui目錄下,系統(tǒng)URL要填/kehui,主頁URL
填/kehui/index.php。大體上就是這個意思。
——————————————————————————————————————
如果再不懂,那再看下面的例子
我現(xiàn)在有這么一個問題,
我有一臺服務器,只有一個ip,假設為202.112.11.22
我有兩個國際域名,三個站點,
我想用apache支持多個域名,
站點一通過202.112.11.22訪問(對應本機usr/local/www/)
站點二www.site1.com的地址為202.112.11.22/site1/(對應本機usr/local/www/site1/)
站點三www.site2.com的地址為202.112.11.22/site2/(對應本機usr/local/www/site2/)
請問如何設置apache ?
解決辦法:
打開http.conf
1,ServerName 127.0.0.1 修改成ServerName 202.112.11.22
file:///C|/Documents and Settings/Administrator/桌面/apache 配置.txt[2010-9-6 21:29:18]