WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
WordPress:MacOS X Local Mirror
下面是我怎樣在MacOS X上 為我的WordPress博客設(shè)置一個本地鏡像。
動機(jī)和設(shè)想[ ]
首先,為什么要這么做?哦,我能夠想到一些原因:
- 保存一個最新的并且運轉(zhuǎn)的文件備份
- 在你將博客公之于眾之前,用文件備份來測試博客上的變化。像格式,軟件更新,或者其它的什么內(nèi)容。
- 非常有趣(MySQL設(shè)置除外,我們即將開始MySQL設(shè)置)
基本的方法是take a snapshot of the database and file system your hosting provider,將其下載并且在本地提取,然后再查看結(jié)果。
因此,我假定你在http://example.com (沒有子目錄)有一個博客。在下面的指示中,你可以用你自己的博客名來代替這個。出于怎樣做的目的,我假定你以alastair
登錄(MacOS稱這個為你的"簡稱")。
我還假定你正在運行MacOS X 10.3,而且希望安裝最小的軟件,使得過程更加簡單。或者換句話說,盡可能地使用標(biāo)準(zhǔn)的OS發(fā)行版本。這樣做,利用了patches和其它的更新,還有其它的好處。MacOS X10.3擁有先前安裝好的Apache和PHP,我們所需要的就是MySQL和WordPress。(寫好這篇文章的時候,10.3還是當(dāng)前的版本,但是在10.4上這個過程是一樣的,我個人對此進(jìn)行檢驗過了)。
如果你想要升級到一個更新的PHP和MySQL,你會發(fā)現(xiàn)Andy Budd的指南很有用。
配置 Apache 和 PHP[ ]
首先要確定Apache和PHP都配置好了。確定Apache是在分享喜好板塊上開始的:
然后進(jìn)入/etc/httpd/httpd.conf
并且uncomment (例如開頭部分的#) 下面的行:
LoadModule php4_module libexec/httpd/libphp4.so
... AddModule mod_php4.c
你可能要將這個像根目錄一樣編輯。一種方法是打開一個終端部分,并且輸入sudo pico /etc/httpd/httpd.conf
,但是我確定還有其它的方法。
現(xiàn)在,讓我們來重啟Apaceh… sudo apachectl graceful
…查看是否能夠運行。在你的站點目錄(在主目錄內(nèi)部)創(chuàng)建一個文件,命名為info.php
。編輯文件,使得文件包含:
< ? php phpinfo(); ?>
然后在你的瀏覽器中打開 http://localhost/~alastair/info.php (記住要替換你自己的名字)并且會對結(jié)果感到驚奇。你會得到PHP需要處理的所有的詳細(xì)信息的列表。祝賀你,現(xiàn)在繼續(xù)…
創(chuàng)建一個例子.mirror 靜態(tài)網(wǎng)頁[ ]
如果你在一個頂級級別的主機(jī)(如 http://example.com 而不是 http://example.com/blog )上運行博客,你可能將你的內(nèi)部站點鏈接設(shè)置使用絕對路徑。事實上,我認(rèn)為對于某些鏈接,像樣式表,WordPress沒有向你提供選擇。
因此創(chuàng)建一個本地鏡像的問題是,你需要為之創(chuàng)建一個主機(jī)名,這樣不會與你在MacOS系統(tǒng)上運行的其它內(nèi)容相沖突。如果你沒有必要這樣做,你只要隨心所欲地跳到這個部分的末尾,只要將你的博客文件系統(tǒng)反映到/Library/網(wǎng)絡(luò)服務(wù)器/文件
。
我們要做的是創(chuàng)建一個新的,偽造的主機(jī)名,并使得這個主機(jī)名在本地服務(wù)。已經(jīng)采取了.本地最高級別域(用作Rendezvous),因此我們選擇.mirror。本地鏡像會在http://example.mirror
首先要做的是,將這個主機(jī)名添加到你的/etc/主機(jī)
文件。只要添加:
127.0.0.1 example.mirror
你現(xiàn)在能夠ping這個地址了:
alastair $ ping example.mirror
PING example.mirror (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.159 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=5.078 ms ^C
--- example.mirror ping 統(tǒng)計數(shù)據(jù) ---
2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 0.159/2.618/5.078 ms
[Aside: Bob Davis 描述了另一種,通過NetInfo 管理器執(zhí)行的更好的操作。我沒有測試這個,看起來是一種很好的方法,但是根據(jù)一篇Apple KB 文章,MacOS10.2以及以后的版本更樂意于編輯文章。我不知道為什么。]
現(xiàn)在繼續(xù),將這個作為VirtualHost添加到Apache配置。你想要做的可能是編輯/private/etc/httpd/users/alastair.conf
(或者你的用戶名)而不是主要的httpd.conf
文件。這個minimises更改為主要的Apache配置文件和簡化的更新。在任何情況下,你需要添加:
NameVirtualHost *:80
<VirtualHost *> DocumentRoot /Users/alastair/Sites/example.com ServerName example.mirror <Directory "/Users/alastair/Sites/example.com"> Options FollowSymLinks AllowOverride All </Directory> </VirtualHost.
這在一個特別的文件根中創(chuàng)建了一個新的虛擬主機(jī)。我們準(zhǔn)備在這個目錄中儲存mirrored文件。
再次重新啟動Apache:sudo apachectl graceful
現(xiàn)在是個好時機(jī),任何人都可以將你的主機(jī)供應(yīng)商的文件復(fù)制到這個本地鏡像目錄。你可以使用任何你喜歡的工具。如果你的供應(yīng)商支持cPanel,你只能得到一個主目錄文件備份,提取出相關(guān)文件(可能所有的內(nèi)容都在public_html
)。
我使用Interarchy,運行執(zhí)行一個真正的mirror(例如,復(fù)制需要復(fù)制的文件)。如果你也使用Interarchy,請確定設(shè)置Interarchy是用作UNIX行結(jié)尾的,而不是用作Mac。
現(xiàn)在你應(yīng)該能夠看到你的博客的靜態(tài)部分。WordPress自述文件能夠很好地測試這一點,你可以在 http://example.mirror/readme.html 找到這個自述文件。如果迄今為止,一切順利了,你應(yīng)該正在閱讀WordPress自述文件。
安裝和配置MySQL[ ]
現(xiàn)在臨到un-fun bit了,不管怎么說,un-fun bit是擁護(hù)我的。MacOS X有幾種不同的MySQL,我嘗試了其中的幾個MySQL,但是MySQL AG標(biāo)準(zhǔn)發(fā)行的版本,似乎更適合我。問題是:哪個版本?答案取決于,你想要mirror哪個版本的MySQL。換句話說,你的主機(jī)供應(yīng)商使用哪個版本?
一般的規(guī)則是,你可能與你的主機(jī)供應(yīng)商使用同一個版本(例如x.y)。對于4.1版本以及以后發(fā)行的版本,我們會使用一個工作區(qū)更改4.1版本中引入的密碼hashing算法。倒不是那個讓你煩惱的。
你所要做的就是下載挑選的版本(例如4.0, 或者4.1 或者what-have you)并且將其安裝。關(guān)于安裝, 文章安裝配置 和保護(hù)初始帳戶的指示說明既詳細(xì)又長,下面是PowerPoint幻燈片版本。
- 為mysql軟件和啟動項運行installer。
- (MacOS X 10.4.4+ 只有)更新你的
/etc/my.cnf
文件,指向socket的新的安全位置。請看看下面的注釋。
- 用
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
啟動數(shù)據(jù)庫服務(wù)器
cd /usr/local/mysql
sudo 腳本/mysql_安裝_db –用戶=mysql
bin/mysqladmin -u 根密碼
一個-安全的-密碼
MacOS X 10.4.4+用戶需要設(shè)置MySQL服務(wù)器在一個socket上聆聽而不是默認(rèn)的socket。要做到這一點,就要創(chuàng)建一個擁有以下內(nèi)容的/etc/my.cnf
文件:
[mysqld]
socket=/var/mysql/mysql.sock
如果目錄不存在的話,再創(chuàng)建一個目錄: $ sudo mkdir /var/mysql
$ sudo chown mysql /var/mysql
這是要匹配Apple的PHP安裝所期望的新位置。同樣,你只要為MacOS X 10.4.4+準(zhǔn)備這個stuff。(但是在先前的版本中,這個stuff可能不會有危害)請閱讀這兒得到(稍微)更多的信息。
注意,在上面最后一步中設(shè)置的根密碼,不需要與我們之后使用的WordPress密碼相同。事實上,如果根密碼與我們之后使用的WordPress密碼不同,會是一件好事。選一些你能夠記住的內(nèi)容作為密碼。這時候,確定你能夠訪問數(shù)據(jù)庫,因為根使用mysql
工具,會是個好主意:
mysql $ bin/mysql -u root -p
輸入密碼:
歡迎來到MySQL監(jiān)控器。 命令行以 ; or \g結(jié)束。
Your MySQL connection id is 3 to server version: 4.1.15-standard
你的MySQL連接id是3,相對的服務(wù)器版本:4.1.15-標(biāo)準(zhǔn)
輸入 'help;' 或者 '\h' 尋求幫助。輸入 '\c' 清除緩沖區(qū)。 mysql>顯示數(shù)據(jù)庫; +----------+ | 數(shù)據(jù)庫 | +----------+ | mysql | | 測試 | +----------+ 2 rows in set (0.00 sec) mysql> \q Bye
Mmmm, ASCII art!
核實你能夠訪問數(shù)據(jù)庫,CocoaMySQL也是值得做的。確認(rèn)你得到了MySQL安裝的合適的版本(支持beta 版本中擁有的4.1+版本。
設(shè)置WordPress用戶和數(shù)據(jù)庫[ ]
幾乎完成了!你只要為WordPress博客安裝一個用戶/密碼和數(shù)據(jù)庫,應(yīng)該與你的wp-config.php
文件中的設(shè)置相匹配!嚴(yán)格地說,不需要匹配,但是如果你想下載你的博客并且馬上將博客運行,匹配信息會幫你使用同樣的詳細(xì)的連接信息。假定用戶名是example_u
,數(shù)據(jù)庫稱為example_db
,密碼是example_pw
。
首先連接到數(shù)據(jù)庫并且為WordPress用戶添加保證:
mysql $ bin/mysql -u root -p
輸入密碼: 歡迎來到 MySQL監(jiān)控器。 命令以 ; or \g結(jié)束。 你的 MySQL連接id 是 4 ,服務(wù)器版本是: 4.1.15-標(biāo)準(zhǔn)的 然后輸入 'help;' 或者'\h' 尋求幫助。 輸入 '\c' to 清除緩沖區(qū)。 mysql> grant all on example_db.* to 'example_u'@'localhost'; Query OK, 0 rows affected (0.00 sec)
如果你使用MySQL4.0而不是更高的版本,那么設(shè)置密碼的過程會有所不同。如果你使用MySQL4.0,請使用:
mysql> set password for 'example_u'@'localhost' = password('example_pw'); Query OK, 0 rows affected (0.06 sec)
或者這個用于4.1+:
mysql> set password for 'example_u'@'localhost' = old_password('example_pw'); Query OK, 0 rows affected (0.05秒)
[MacOS X 10.4.4+ 更新: 我認(rèn)為 密碼
方法 (ie the first of the two statements above) 同樣適用于MacOS X 10.4.4 及以后的版本, 雖然我自己還沒有證實。]
現(xiàn)在創(chuàng)建數(shù)據(jù)庫:
mysql> create database example_db; Query OK, 1 row affected (0.00 sec) mysql> \q
如果一切進(jìn)展順利,我們可以從主機(jī)供應(yīng)商那里導(dǎo)入博客數(shù)據(jù)庫。假定你已經(jīng)下載了這個單一的壓縮的數(shù)據(jù)庫(例如,如cPanel支持的文件備份功能)。如果數(shù)據(jù)庫dump稱為example.gz
,我們可能會:
alastair $ gzcat example.gz | mysql -u example_u -p example_db
輸入密碼: (example_pw)
這時,可能要付款使用CocaMySQL或者mysql命令工具,訪問數(shù)據(jù)庫,并且核實所有的內(nèi)容是否都成功地導(dǎo)入了。如果沒有成功導(dǎo)入,你可能在上面的命令中,得到許多錯誤信息。
完成[ ]
現(xiàn)在是關(guān)鍵時刻了。打開你的瀏覽器中的http://example.mirror。如果一切進(jìn)展順利,就應(yīng)該顯示你的博客了。
你可能注意到一些鏈接在example.com上仍然指向你的原始站點。要解決這個問題,你需要在http://example.mirror/wp-admin/options-general.php 中的WordPress總選項,中更新"Wordpress 地址" 和 "博客地址"。
使其自動化[ ]
有幾種不同的方法,用博客內(nèi)容自動更新本地鏡像。這些方法取決于你擁有什么工具,以及你的主機(jī)供應(yīng)商有什么工具。我在下面列出來了我使用的AppleScript,給你提供一些靈感。AppleScript依賴于Interarchy進(jìn)行文件傳輸。
--自動更新WordPress一個站點的本地鏡像的腳本 --
-- 由 alastair@girtby.net寫的 -- -- 由Creative Commons Attribution License得到許可, -- 請看看 http://creativecommons.org/licenses/by/2.0/ --設(shè)置這些來匹配你的wp-config.php property u : "example_u" property db : "example_db" property pw : "example_pw" -- 更新WordPress 選項來使用這個url property newurl : "為了使得這個腳本運行,你需要在腳本編輯器中編輯腳本,并且更改不同的位置,URLs和密碼。希望這些能夠輕易地執(zhí)行。此外,你需要向keychain添加密碼,以下載你的靜態(tài)站點,訪問你的數(shù)據(jù)庫dump,這樣Interarchy能夠找到這些內(nèi)容。執(zhí)行這一步的最好方法,是在Interarchy中交互式地訪問站點并且確定在檢驗框中點擊了"向 Keychain添加密碼"。
如果你沒有使用Interarchy,你仍然會發(fā)現(xiàn)這個腳本具有價值,因為這個腳本顯示了怎樣使用SQL查詢,從軟件程序方面,更新不同的"Wordpress 地址" 和"博客地址" 選項 。
This page is [[WordPress::Category:Stubs|marked]] as incomplete. You can help Codex by expanding it.