WordPress: MacOS X Local Mirror:修订间差异
(新页面: Here's what I did to set up a local mirror of my Wordpress blog on MacOS X. == Motivation and Assumptions == Firstly, why do this? Well I can think of a few reasons: * keeping an up-to...) |
|||
(未显示2个用户的6个中间版本) | |||
第1行: | 第1行: | ||
下面是我怎样在MacOS X上 为我的WordPress博客设置一个本地镜像。 | |||
==动机和设想== | |||
首先,为什么要这么做?哦,我能够想到一些原因: | |||
*保存一个最新的并且<em>运转的</em>文件备份 | |||
* | *在你将博客公之于众之前,用文件备份来测试博客上的变化。像格式,软件更新,或者其它的什么内容。 | ||
*非常有趣(MySQL设置除外,我们即将开始MySQL设置) | |||
基本的方法是take a snapshot of the database and file system your hosting provider,将其下载并且在本地提取,然后再查看结果。 | |||
因此,我假定你在http://example.com (没有子目录)有一个博客。在下面的指示中,你可以用你自己的博客名来代替这个。出于怎样做的目的,我假定你以<code>alastair</code>登录(MacOS称这个为你的"简称")。 | |||
我还假定你正在运行MacOS X 10.3,而且希望安装最小的软件,使得过程更加简单。或者换句话说,尽可能地使用标准的OS发行版本。这样做,利用了patches和其它的更新,还有其它的好处。MacOS X10.3拥有先前安装好的Apache和PHP,我们所需要的就是MySQL和WordPress。(写好这篇文章的时候,10.3还是当前的版本,但是在10.4上这个过程是一样的,我个人对此进行检验过了)。 | |||
如果你想要升级到一个更新的PHP和MySQL,你会发现[http://www.andybudd.com/archives/2005/02/the_no_hassle_guide_to_installing_php_and_mysql_on_os_x_103/index.php Andy Budd的指南]很有用。 | |||
== 配置 Apache 和 PHP == | |||
首先要确定Apache和PHP都配置好了。确定Apache是在分享喜好板块上开始的: | |||
[[WordPress:Image:pws-capture.png|个人网络分享]] | |||
然后进入<code>/etc/httpd/httpd.conf</code>并且uncomment (例如开头部分的#) 下面的行: | |||
LoadModule php4_module libexec/httpd/libphp4.so | |||
... | ... | ||
AddModule mod_php4.c | AddModule mod_php4.c | ||
你可能要将这个像根目录一样编辑。一种方法是打开一个终端部分,并且输入<code>sudo pico /etc/httpd/httpd.conf</code>,但是我确定还有其它的方法。 | |||
现在,让我们来重启Apaceh… | |||
sudo apachectl graceful | |||
…查看是否能够运行。在你的站点目录(在主目录内部)创建一个文件,命名为<code>info.php</code>。编辑文件,使得文件包含: | |||
< ? php phpinfo(); ?> | |||
然后在你的浏览器中打开 http://localhost/~alastair/info.php (记住要替换你自己的名字)并且会对结果感到惊奇。你会得到PHP需要处理的所有的详细信息的列表。祝贺你,现在继续… | |||
== | == 创建一个例子.mirror 静态网页 == | ||
如果你在一个顶级级别的主机(如 http://example.com 而不是 http://example.com/blog )上运行博客,你可能将你的内部站点链接设置使用绝对路径。事实上,我认为对于某些链接,像样式表,WordPress没有向你提供选择。 | |||
因此创建一个本地镜像的问题是,你需要为之创建一个主机名,这样不会与你在MacOS系统上运行的其它内容相冲突。如果你没有必要这样做,你只要随心所欲地跳到这个部分的末尾,只要将你的博客文件系统反映到<code>/Library/网络服务器/文件</code>。 | |||
我们要做的是创建一个新的,伪造的主机名,并使得这个主机名在本地服务。已经采取了.本地最高级别域(用作Rendezvous),因此我们选择.mirror。本地镜像会在http://example.mirror | |||
首先要做的是,将这个主机名添加到你的<code>/etc/主机</code>文件。只要添加: | |||
127.0.0.1 example.mirror | |||
你现在能够ping这个地址了: | |||
alastair $ ping example.mirror | |||
PING example.mirror (127.0.0.1): 56 data bytes | 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=0 ttl=64 time=0.159 ms | ||
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=5.078 ms | 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=5.078 ms | ||
^C | ^C | ||
--- example.mirror ping 统计数据 --- | |||
2 packets transmitted, 2 packets received, 0% packet loss | 2 packets transmitted, 2 packets received, 0% packet loss | ||
round-trip min/avg/max = 0.159/2.618/5.078 ms | round-trip min/avg/max = 0.159/2.618/5.078 ms | ||
[Aside: [http://www.evolt.org/MacOSX_vhosts/ Bob Davis | [Aside: [http://www.evolt.org/MacOSX_vhosts/ Bob Davis 描述了]另一种,通过NetInfo 管理器执行的更好的操作。我没有测试这个,看起来是一种很好的方法,但是根据一篇[http://docs.info.apple.com/article.html?artnum=88158 Apple KB 文章],MacOS10.2以及以后的版本更乐意于编辑文章。我不知道为什么。] | ||
现在继续,将这个作为VirtualHost添加到Apache配置。你想要做的可能是编辑<code>/private/etc/httpd/users/alastair.conf</code>(或者你的用户名)而不是主要的<code>httpd.conf</code>文件。这个minimises更改为主要的Apache配置文件和简化的更新。在任何情况下,你需要添加: | |||
NameVirtualHost *:80 | |||
<VirtualHost *> | <VirtualHost *> | ||
DocumentRoot /Users/alastair/Sites/example.com | DocumentRoot /Users/alastair/Sites/example.com | ||
第76行: | 第78行: | ||
AllowOverride All | AllowOverride All | ||
</Directory> | </Directory> | ||
</VirtualHost> | </VirtualHost. | ||
这在一个特别的文件根中创建了一个新的虚拟主机。我们准备在这个目录中储存mirrored文件。 | |||
再次重新启动Apache:<code>sudo apachectl graceful</code> | |||
现在是个好时机,任何人都可以将你的主机供应商的文件复制到这个本地镜像目录。你可以使用任何你喜欢的工具。如果你的供应商支持cPanel,你只能得到一个主目录文件备份,提取出相关文件(可能所有的内容都在<code>public_html</code>)。 | |||
我使用[http://www.interarchy.com Interarchy],运行执行一个真正的mirror(例如,复制需要复制的文件)。如果你也使用Interarchy,请确定设置Interarchy是用作UNIX行结尾的,而不是用作Mac。 | |||
现在你应该能够看到你的博客的静态部分。WordPress自述文件能够很好地测试这一点,你可以在 http://example.mirror/readme.html 找到这个自述文件。如果迄今为止,一切顺利了,你应该正在阅读WordPress自述文件。 | |||
== 安装和配置MySQL == | |||
现在临到un-fun bit了,不管怎么说,un-fun bit是拥护我的。MacOS X有几种不同的MySQL,我尝试了其中的几个MySQL,但是MySQL AG标准发行的版本,似乎更适合我。问题是:哪个版本?答案取决于,你想要mirror哪个版本的MySQL。换句话说,你的主机供应商使用哪个版本? | |||
一般的规则是,你可能与你的主机供应商使用同一个版本(例如x.y)。对于4.1版本以及以后发行的版本,我们会使用一个[http://dev.mysql.com/doc/refman/4.1/en/old-client.html 工作区]更改4.1版本中引入的密码hashing算法。倒不是那个让你烦恼的。 | |||
你所要做的就是下载挑选的版本(例如[http://dev.mysql.com/downloads/mysql/4.0.html 4.0], 或者[http://dev.mysql.com/downloads/mysql/4.1.html 4.1] 或者[http://dev.mysql.com/downloads/ what-have you])并且将其安装。关于[http://dev.mysql.com/doc/refman/4.1/en/mac-os-x-installation.html 安装], [http://dev.mysql.com/doc/refman/4.1/en/unix-post-installation.html 文章安装配置] 和[http://dev.mysql.com/doc/refman/4.1/en/default-privileges.html 保护初始帐户]的指示说明既详细又长,下面是PowerPoint幻灯片版本。 | |||
*为mysql软件和启动项运行installer。 | |||
* (MacOS X 10.4.4+ <em>只有</em>)更新你的<code>/etc/my.cnf</code>文件,指向socket的新的安全位置。请看看下面的注释。 | |||
*用<code>sudo /Library/StartupItems/MySQLCOM/MySQLCOM start</code>启动数据库服务器 | |||
* <code>cd /usr/local/mysql</code> | * <code>cd /usr/local/mysql</code> | ||
* <code>sudo 脚本/mysql_安装_db –用户=mysql</code> | |||
* <code>bin/mysqladmin -u 根密码</code> <em>一个-安全的-密码</em> | |||
MacOS X 10.4.4+用户需要设置MySQL服务器在一个socket上聆听而不是默认的socket。要做到这一点,就要创建一个拥有以下内容的<code>/etc/my.cnf</code>文件: | |||
[mysqld] | |||
socket=/var/mysql/mysql.sock | socket=/var/mysql/mysql.sock | ||
如果目录不存在的话,再创建一个目录: | |||
$ sudo mkdir /var/mysql | |||
$ sudo chown mysql /var/mysql | |||
这是要匹配Apple的PHP安装所期望的新位置。同样,你只要为MacOS X 10.4.4+准备这个stuff。(但是在先前的版本中,这个stuff可能不会有危害)请阅读[http://docs.info.apple.com/article.html?artnum=302977 这儿]得到(稍微)更多的信息。 | |||
注意,在上面最后一步中设置的根密码,不需要与我们之后使用的WordPress密码相同。事实上,如果根密码与我们之后使用的WordPress密码不同,会是一件好事。选一些你能够记住的内容作为密码。这时候,确定你能够访问数据库,因为根使用<code>mysql</code>工具,会是个好主意: | |||
mysql $ bin/mysql -u root -p | |||
输入密码: | |||
欢迎来到MySQL监控器。 命令行以 ; or \g结束。 | |||
Your MySQL connection id is 3 to server version: 4.1.15-standard | |||
你的MySQL连接id是3,相对的服务器版本:4.1.15-标准 | |||
输入 'help;' 或者 '\h' 寻求帮助。输入 '\c' 清除缓冲区。 | |||
mysql>显示数据库; | |||
mysql> | |||
+----------+ | +----------+ | ||
| | | 数据库 | | ||
+----------+ | +----------+ | ||
| mysql | | | mysql | | ||
| | | 测试 | | ||
+----------+ | +----------+ | ||
2 rows in set (0.00 sec) | 2 rows in set (0.00 sec) | ||
第138行: | 第145行: | ||
Mmmm, ASCII art! | Mmmm, ASCII art! | ||
核实你能够访问数据库,[http://cocoamysql.sourceforge.net/ CocoaMySQL]也是值得做的。确认你得到了MySQL安装的合适的版本(支持[http://cocoamysql.sourceforge.net/beta.php beta 版本]中拥有的4.1+版本。 | |||
== | ==设置WordPress用户和数据库 == | ||
几乎完成了!你只要为WordPress博客安装一个用户/密码和数据库,应该与你的<code>wp-config.php</code>文件中的设置相匹配!严格地说,不<em>需要</em>匹配,但是如果你想下载你的博客并且马上将博客运行,匹配信息会帮你使用同样的详细的连接信息。假定用户名是<code>example_u</code>,数据库称为<code>example_db</code>,密码是<code>example_pw</code>。 | |||
首先连接到数据库并且为WordPress用户添加保证: | |||
mysql $ bin/mysql -u root -p | |||
输入密码: | |||
欢迎来到 MySQL监控器。 命令以 ; or \g结束。 | |||
你的 MySQL连接id 是 4 ,服务器版本是: 4.1.15-标准的 | |||
然后输入 'help;' 或者'\h' 寻求帮助。 输入 '\c' to 清除缓冲区。 | |||
mysql> grant all on example_db.* to 'example_u'@'localhost'; | mysql> grant all on example_db.* to 'example_u'@'localhost'; | ||
Query OK, 0 rows affected (0.00 sec) | Query OK, 0 rows affected (0.00 sec) | ||
如果你使用MySQL4.0而不是更高的版本,那么设置密码的过程会有所不同。如果你使用MySQL4.0,请使用: | |||
mysql> set password for 'example_u'@'localhost' = password('example_pw'); | mysql> set password for 'example_u'@'localhost' = password('example_pw'); | ||
Query OK, 0 rows affected (0.06 sec) | Query OK, 0 rows affected (0.06 sec) | ||
或者这个用于4.1+: | |||
mysql> set password for 'example_u'@'localhost' = old_password('example_pw'); | mysql> set password for 'example_u'@'localhost' = old_password('example_pw'); | ||
Query OK, 0 rows affected (0. | Query OK, 0 rows affected (0.05秒) | ||
[MacOS X 10.4.4+ | [MacOS X 10.4.4+ 更新: 我<em>认为</em> <code>密码</code> 方法 (ie the first of the two statements above) 同样适用于MacOS X 10.4.4 及以后的版本, 虽然我自己还没有证实。] | ||
现在创建数据库: | |||
mysql> create database example_db; | mysql> create database example_db; | ||
第175行: | 第181行: | ||
mysql> \q | mysql> \q | ||
如果一切进展顺利,我们可以从主机供应商那里导入博客数据库。假定你已经下载了这个单一的压缩的数据库(例如,如cPanel支持的文件备份功能)。如果数据库dump称为<code>example.gz</code>,我们可能会: | |||
alastair $ gzcat example.gz | mysql -u example_u -p example_db | |||
输入密码: (example_pw) | |||
这时,可能要付款使用CocaMySQL或者mysql命令工具,访问数据库,并且核实所有的内容是否都成功地导入了。如果没有成功导入,你可能在上面的命令中,得到许多错误信息。 | |||
== 完成 == | |||
现在是关键时刻了。打开你的浏览器中的http://example.mirror。如果一切进展顺利,就应该显示你的博客了。 | |||
你可能注意到一些链接在example.com上仍然指向你的原始站点。要解决这个问题,你需要在http://example.mirror/wp-admin/options-general.php 中的WordPress总选项,中更新"Wordpress 地址" 和 "博客地址"。 | |||
== 使其自动化 == | |||
有几种不同的方法,用博客内容自动更新本地镜像。这些方法取决于你拥有什么工具,以及你的主机供应商有什么工具。我在下面列出来了我使用的AppleScript,给你提供一些灵感。AppleScript依赖于Interarchy进行文件传输。 | |||
--自动更新WordPress一个站点的本地镜像的脚本 | |||
-- | |||
-- 由 alastair@girtby.net写的 | |||
-- | |||
-- | -- | ||
-- | -- 由Creative Commons Attribution License得到许可, | ||
-- | -- 请看看 http://creativecommons.org/licenses/by/2.0/ | ||
-- | --设置这些来匹配你的wp-config.php | ||
property u : "example_u" | property u : "example_u" | ||
property db : "example_db" | property db : "example_db" | ||
property pw : "example_pw" | property pw : "example_pw" | ||
-- | -- 更新WordPress 选项来使用这个url | ||
property newurl : "http://example.mirror" | property newurl : "http://example.mirror" | ||
-- | --像这样地调用 mysql | ||
将mysqlcmd设置为 "/usr/local/mysql/bin/mysql -u " & u & " -p" & pw & " " & db | |||
-- | -- 站点文件在这儿: | ||
将 dest 设置为 alias ((path to home folder from user domain as string) & "Sites:example.com:") | |||
-- | -- 从这儿下载数据库: | ||
set tempDir to path to "temp" from user domain | set tempDir to path to "temp" from user domain | ||
tell application "Interarchy" | tell application "Interarchy" | ||
-- | -- 反映站点的静态部分 | ||
mirrordownload dest host "ftp.example.com" path "public_html" user "example" | mirrordownload dest host "ftp.example.com" path "public_html" user "example" | ||
-- | -- 下载数据库(disable post process files preference) | ||
set ppf to contents of preference "PostProcessFiles" | set ppf to contents of preference "PostProcessFiles" | ||
set contents of preference "PostProcessFiles" to "false" | set contents of preference "PostProcessFiles" to "false" | ||
第227行: | 第232行: | ||
end tell | end tell | ||
将 dbfile设置为POSIX path of ((tempDir as string) & "wrdp1.gz") | |||
-- | -- 导入数据库 | ||
do shell script "gzcat " & dbfile & "| " & mysqlcmd | do shell script "gzcat " & dbfile & "| " & mysqlcmd | ||
-- | -- 清除: 移除数据库文件 | ||
do shell script "rm " & dbfile | do shell script "rm " & dbfile | ||
-- | -- 在wordpress中修复站点url和主页选项 | ||
do shell script "echo 'update wp_options set option_value = \"" & newurl & "\" where option_name = \"home\"; update wp_options set option_value = \"" & newurl & "\" where option_name = \"siteurl\";' | " & mysqlcmd | do shell script "echo 'update wp_options set option_value = \"" & newurl & "\" where option_name = \"home\"; update wp_options set option_value = \"" & newurl & "\" where option_name = \"siteurl\";' | " & mysqlcmd | ||
为了使得这个脚本运行,你需要在脚本编辑器中编辑脚本,并且更改不同的位置,URLs和密码。希望这些能够轻易地执行。此外,你需要向keychain添加密码,以下载你的静态站点,访问你的数据库dump,这样Interarchy能够找到这些内容。执行这一步的最好方法,是在Interarchy中交互式地访问站点并且确定在检验框中点击了"向 Keychain添加密码"。 | |||
如果你没有使用Interarchy,你仍然会发现这个脚本具有价值,因为这个脚本显示了怎样使用SQL查询,从软件程序方面,更新不同的"Wordpress 地址" 和"博客地址" 选项 。 | |||
{{Stub}} | {{Stub}} |
2008年6月28日 (六) 16:11的最新版本
下面是我怎样在MacOS X上 为我的WordPress博客设置一个本地镜像。
动机和设想[ ]
首先,为什么要这么做?哦,我能够想到一些原因:
- 保存一个最新的并且运转的文件备份
- 在你将博客公之于众之前,用文件备份来测试博客上的变化。像格式,软件更新,或者其它的什么内容。
- 非常有趣(MySQL设置除外,我们即将开始MySQL设置)
基本的方法是take a snapshot of the database and file system your hosting provider,将其下载并且在本地提取,然后再查看结果。
因此,我假定你在http://example.com (没有子目录)有一个博客。在下面的指示中,你可以用你自己的博客名来代替这个。出于怎样做的目的,我假定你以alastair
登录(MacOS称这个为你的"简称")。
我还假定你正在运行MacOS X 10.3,而且希望安装最小的软件,使得过程更加简单。或者换句话说,尽可能地使用标准的OS发行版本。这样做,利用了patches和其它的更新,还有其它的好处。MacOS X10.3拥有先前安装好的Apache和PHP,我们所需要的就是MySQL和WordPress。(写好这篇文章的时候,10.3还是当前的版本,但是在10.4上这个过程是一样的,我个人对此进行检验过了)。
如果你想要升级到一个更新的PHP和MySQL,你会发现Andy Budd的指南很有用。
配置 Apache 和 PHP[ ]
首先要确定Apache和PHP都配置好了。确定Apache是在分享喜好板块上开始的:
然后进入/etc/httpd/httpd.conf
并且uncomment (例如开头部分的#) 下面的行:
LoadModule php4_module libexec/httpd/libphp4.so
... AddModule mod_php4.c
你可能要将这个像根目录一样编辑。一种方法是打开一个终端部分,并且输入sudo pico /etc/httpd/httpd.conf
,但是我确定还有其它的方法。
现在,让我们来重启Apaceh… sudo apachectl graceful
…查看是否能够运行。在你的站点目录(在主目录内部)创建一个文件,命名为info.php
。编辑文件,使得文件包含:
< ? php phpinfo(); ?>
然后在你的浏览器中打开 http://localhost/~alastair/info.php (记住要替换你自己的名字)并且会对结果感到惊奇。你会得到PHP需要处理的所有的详细信息的列表。祝贺你,现在继续…
创建一个例子.mirror 静态网页[ ]
如果你在一个顶级级别的主机(如 http://example.com 而不是 http://example.com/blog )上运行博客,你可能将你的内部站点链接设置使用绝对路径。事实上,我认为对于某些链接,像样式表,WordPress没有向你提供选择。
因此创建一个本地镜像的问题是,你需要为之创建一个主机名,这样不会与你在MacOS系统上运行的其它内容相冲突。如果你没有必要这样做,你只要随心所欲地跳到这个部分的末尾,只要将你的博客文件系统反映到/Library/网络服务器/文件
。
我们要做的是创建一个新的,伪造的主机名,并使得这个主机名在本地服务。已经采取了.本地最高级别域(用作Rendezvous),因此我们选择.mirror。本地镜像会在http://example.mirror
首先要做的是,将这个主机名添加到你的/etc/主机
文件。只要添加:
127.0.0.1 example.mirror
你现在能够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 统计数据 ---
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 管理器执行的更好的操作。我没有测试这个,看起来是一种很好的方法,但是根据一篇Apple KB 文章,MacOS10.2以及以后的版本更乐意于编辑文章。我不知道为什么。]
现在继续,将这个作为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.
这在一个特别的文件根中创建了一个新的虚拟主机。我们准备在这个目录中储存mirrored文件。
再次重新启动Apache:sudo apachectl graceful
现在是个好时机,任何人都可以将你的主机供应商的文件复制到这个本地镜像目录。你可以使用任何你喜欢的工具。如果你的供应商支持cPanel,你只能得到一个主目录文件备份,提取出相关文件(可能所有的内容都在public_html
)。
我使用Interarchy,运行执行一个真正的mirror(例如,复制需要复制的文件)。如果你也使用Interarchy,请确定设置Interarchy是用作UNIX行结尾的,而不是用作Mac。
现在你应该能够看到你的博客的静态部分。WordPress自述文件能够很好地测试这一点,你可以在 http://example.mirror/readme.html 找到这个自述文件。如果迄今为止,一切顺利了,你应该正在阅读WordPress自述文件。
安装和配置MySQL[ ]
现在临到un-fun bit了,不管怎么说,un-fun bit是拥护我的。MacOS X有几种不同的MySQL,我尝试了其中的几个MySQL,但是MySQL AG标准发行的版本,似乎更适合我。问题是:哪个版本?答案取决于,你想要mirror哪个版本的MySQL。换句话说,你的主机供应商使用哪个版本?
一般的规则是,你可能与你的主机供应商使用同一个版本(例如x.y)。对于4.1版本以及以后发行的版本,我们会使用一个工作区更改4.1版本中引入的密码hashing算法。倒不是那个让你烦恼的。
你所要做的就是下载挑选的版本(例如4.0, 或者4.1 或者what-have you)并且将其安装。关于安装, 文章安装配置 和保护初始帐户的指示说明既详细又长,下面是PowerPoint幻灯片版本。
- 为mysql软件和启动项运行installer。
- (MacOS X 10.4.4+ 只有)更新你的
/etc/my.cnf
文件,指向socket的新的安全位置。请看看下面的注释。
- 用
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
启动数据库服务器
cd /usr/local/mysql
sudo 脚本/mysql_安装_db –用户=mysql
bin/mysqladmin -u 根密码
一个-安全的-密码
MacOS X 10.4.4+用户需要设置MySQL服务器在一个socket上聆听而不是默认的socket。要做到这一点,就要创建一个拥有以下内容的/etc/my.cnf
文件:
[mysqld]
socket=/var/mysql/mysql.sock
如果目录不存在的话,再创建一个目录: $ sudo mkdir /var/mysql
$ sudo chown mysql /var/mysql
这是要匹配Apple的PHP安装所期望的新位置。同样,你只要为MacOS X 10.4.4+准备这个stuff。(但是在先前的版本中,这个stuff可能不会有危害)请阅读这儿得到(稍微)更多的信息。
注意,在上面最后一步中设置的根密码,不需要与我们之后使用的WordPress密码相同。事实上,如果根密码与我们之后使用的WordPress密码不同,会是一件好事。选一些你能够记住的内容作为密码。这时候,确定你能够访问数据库,因为根使用mysql
工具,会是个好主意:
mysql $ bin/mysql -u root -p
输入密码:
欢迎来到MySQL监控器。 命令行以 ; or \g结束。
Your MySQL connection id is 3 to server version: 4.1.15-standard
你的MySQL连接id是3,相对的服务器版本:4.1.15-标准
输入 'help;' 或者 '\h' 寻求帮助。输入 '\c' 清除缓冲区。 mysql>显示数据库; +----------+ | 数据库 | +----------+ | mysql | | 测试 | +----------+ 2 rows in set (0.00 sec) mysql> \q Bye
Mmmm, ASCII art!
核实你能够访问数据库,CocoaMySQL也是值得做的。确认你得到了MySQL安装的合适的版本(支持beta 版本中拥有的4.1+版本。
设置WordPress用户和数据库[ ]
几乎完成了!你只要为WordPress博客安装一个用户/密码和数据库,应该与你的wp-config.php
文件中的设置相匹配!严格地说,不需要匹配,但是如果你想下载你的博客并且马上将博客运行,匹配信息会帮你使用同样的详细的连接信息。假定用户名是example_u
,数据库称为example_db
,密码是example_pw
。
首先连接到数据库并且为WordPress用户添加保证:
mysql $ bin/mysql -u root -p
输入密码: 欢迎来到 MySQL监控器。 命令以 ; or \g结束。 你的 MySQL连接id 是 4 ,服务器版本是: 4.1.15-标准的 然后输入 'help;' 或者'\h' 寻求帮助。 输入 '\c' to 清除缓冲区。 mysql> grant all on example_db.* to 'example_u'@'localhost'; Query OK, 0 rows affected (0.00 sec)
如果你使用MySQL4.0而不是更高的版本,那么设置密码的过程会有所不同。如果你使用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+ 更新: 我认为 密码
方法 (ie the first of the two statements above) 同样适用于MacOS X 10.4.4 及以后的版本, 虽然我自己还没有证实。]
现在创建数据库:
mysql> create database example_db; Query OK, 1 row affected (0.00 sec) mysql> \q
如果一切进展顺利,我们可以从主机供应商那里导入博客数据库。假定你已经下载了这个单一的压缩的数据库(例如,如cPanel支持的文件备份功能)。如果数据库dump称为example.gz
,我们可能会:
alastair $ gzcat example.gz | mysql -u example_u -p example_db
输入密码: (example_pw)
这时,可能要付款使用CocaMySQL或者mysql命令工具,访问数据库,并且核实所有的内容是否都成功地导入了。如果没有成功导入,你可能在上面的命令中,得到许多错误信息。
完成[ ]
现在是关键时刻了。打开你的浏览器中的http://example.mirror。如果一切进展顺利,就应该显示你的博客了。
你可能注意到一些链接在example.com上仍然指向你的原始站点。要解决这个问题,你需要在http://example.mirror/wp-admin/options-general.php 中的WordPress总选项,中更新"Wordpress 地址" 和 "博客地址"。
使其自动化[ ]
有几种不同的方法,用博客内容自动更新本地镜像。这些方法取决于你拥有什么工具,以及你的主机供应商有什么工具。我在下面列出来了我使用的AppleScript,给你提供一些灵感。AppleScript依赖于Interarchy进行文件传输。
--自动更新WordPress一个站点的本地镜像的脚本 --
-- 由 alastair@girtby.net写的 -- -- 由Creative Commons Attribution License得到许可, -- 请看看 http://creativecommons.org/licenses/by/2.0/ --设置这些来匹配你的wp-config.php property u : "example_u" property db : "example_db" property pw : "example_pw" -- 更新WordPress 选项来使用这个url property newurl : "http://example.mirror" --像这样地调用 mysql 将mysqlcmd设置为 "/usr/local/mysql/bin/mysql -u " & u & " -p" & pw & " " & db -- 站点文件在这儿: 将 dest 设置为 alias ((path to home folder from user domain as string) & "Sites:example.com:") -- 从这儿下载数据库: set tempDir to path to "temp" from user domain tell application "Interarchy" -- 反映站点的静态部分 mirrordownload dest host "ftp.example.com" path "public_html" user "example" -- 下载数据库(disable post process files preference) set ppf to contents of preference "PostProcessFiles" set contents of preference "PostProcessFiles" to "false" webfetch tempDir url "http://example.com:2082/getsqlbackup/wrdp1.gz" user "example" set contents of preference "PostProcessFiles" to ppf end tell 将 dbfile设置为POSIX path of ((tempDir as string) & "wrdp1.gz") -- 导入数据库 do shell script "gzcat " & dbfile & "| " & mysqlcmd -- 清除: 移除数据库文件 do shell script "rm " & dbfile -- 在wordpress中修复站点url和主页选项 do shell script "echo 'update wp_options set option_value = \"" & newurl & "\" where option_name = \"home\"; update wp_options set option_value = \"" & newurl & "\" where option_name = \"siteurl\";' | " & mysqlcmd
为了使得这个脚本运行,你需要在脚本编辑器中编辑脚本,并且更改不同的位置,URLs和密码。希望这些能够轻易地执行。此外,你需要向keychain添加密码,以下载你的静态站点,访问你的数据库dump,这样Interarchy能够找到这些内容。执行这一步的最好方法,是在Interarchy中交互式地访问站点并且确定在检验框中点击了"向 Keychain添加密码"。
如果你没有使用Interarchy,你仍然会发现这个脚本具有价值,因为这个脚本显示了怎样使用SQL查询,从软件程序方面,更新不同的"Wordpress 地址" 和"博客地址" 选项 。
This page is [[WordPress::Category:Stubs|marked]] as incomplete. You can help Codex by expanding it.