站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:MacOS X Local Mirror
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
下面是我怎样在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 你可能要将这个像根目录一样编辑。一种方法是打开一个终端部分,并且输入<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 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: [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 *> DocumentRoot /Users/alastair/Sites/example.com ServerName example.mirror <Directory "/Users/alastair/Sites/example.com"> Options FollowSymLinks AllowOverride All </Directory> </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>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 如果目录不存在的话,再创建一个目录: $ 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 | | 测试 | +----------+ 2 rows in set (0.00 sec) mysql> \q Bye 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'; 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+ 更新: 我<em>认为</em> <code>密码</code> 方法 (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称为<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 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 地址" 和"博客地址" 选项 。 {{Stub}}
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Stub
(
编辑
)