<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YY in Limbo 混沌海狂想 &#187; Ruby on Rails</title>
	<atom:link href="http://www.limboy.com/category/coder/ror/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.limboy.com</link>
	<description>这里既空虚又充实，没有规则，没有约束，创造来自思考，生存依赖想像，现实源自梦想</description>
	<lastBuildDate>Sat, 21 Aug 2010 14:24:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在Leopard里配置rails+php+apache+mysql</title>
		<link>http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/</link>
		<comments>http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 04:21:37 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/</guid>
		<description><![CDATA[上上周在lex的怂恿下升级到了Leopard，最后花了3天时间，备份数据用了一台macbook pro加一只80g移动硬盘，重装4遍，到现在总算稳定下来了，不过还有一个bug未解决（期待10.5.1补丁）……
在Leopard里，很多开源代码都升级到了最新版，比如Python 2.5.1，PHP 5.2.4，Ruby 1.8.6，Apache 2.2，更棒的是，这次系统里直接集成了ruby on rails，包括Mongrel和Capistrano，据说还做过优化……
以前在mac里配置ROR，我是按照Dan Benjamin的《Building Ruby, Rails, Subversion, Mongrel, and MySQL on Mac OS X》来做的，安装ruby,gem之类的东西都是依靠MacPorts（osx里的包管理系统），而MacPorts安装的程序都在/opt/local里，独立于系统环境……
作为一个完美主义者，一定不能容忍自己心爱的系统里有任何兀余的代码，所以，这一次我希望能在leopard已经集成的代码基础上，搭建rails+php+apache+mysql的开发环境……
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
首先搞定apache，在配置面板里的“共享”中，选中&#8221;web共享&#8221;，就可以启动apache。默认的http://localhost指向/Library/WebServer/Documents，如果想修改成自己的目录，比如/Users/dexteryy/Sites/www，最简单的方法是直接改掉httpd.conf里的DocumentRoot
httpd.conf是放在/etc/apache2/里的，除了DocumentRoot，还要记得把下面两行代码前的注释删掉：
LoadModule php5_module        libexec/apache2/libphp5.so
LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
然后是php.ini，系统默认在/etc里放了一个php.ini.default，把它copy一份，改名为php.ini
php.ini里有一个关于mysql的地方要注意，leopard好像修改过mysql.sock的位置，所以要修改以下两行：
mysql.default_socket = /private/tmp/mysql.sock
mysqli.default_socket = /private/tmp/mysql.sock
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
然后安装最新的mysql，我下载的是mysql-5.0.45-osx10.4-i686.dmg。其中的MySQLStartupItem.pkg和mysql.prefpane都不用安装了，因为这两个东西目前都不起作用-___-b
以前启动mysql都是用这个命令：
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
但是在leopard里，这个东西好像失效了，只好用这个命令来启动
sudo /usr/local/mysql/bin/safe_mysqld
如果要自动启动mysql，可以用以下方法：
在/Library/LaunchDaemons/里新建一个叫com.mysql.mysqld.plist的文件：
&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62;
&#60;!DOCTYPE&#160;plist PUBLIC &#34;-//Apple//DTD PLIST 1.0//EN&#34; &#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#34;&#62;
&#60;plist&#160;version=&#34;1.0&#34;&#62;
&#60;dict&#62;
&#160; &#160; &#60;key&#62;KeepAlive&#60;/key&#62;
&#160; &#160; &#60;true/&#62;
&#160; &#160; &#60;key&#62;Label&#60;/key&#62;
&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/leopard_box200jpg/' rel='attachment wp-att-154' title='leopard_box200.jpg'><img src='http://www.limboy.com/wp-content/uploads/2007/11/leopard_box200.jpg' alt='leopard_box200.jpg' style="float:left;margin:0 10px 5px 0;width:150px;" /></a>上上周在lex的怂恿下升级到了Leopard，最后花了3天时间，备份数据用了一台macbook pro加一只80g移动硬盘，重装4遍，到现在总算稳定下来了，不过还有一个bug未解决（期待10.5.1补丁）……</p>
<p>在Leopard里，很多开源代码都升级到了最新版，比如Python 2.5.1，PHP 5.2.4，Ruby 1.8.6，Apache 2.2，更棒的是，这次系统里直接集成了ruby on rails，包括<a href="http://mongrel.rubyforge.org/">Mongrel</a>和Capistrano，据说还做过优化……</p>
<p>以前在mac里配置ROR，我是按照Dan Benjamin的<a href="http://hivelogic.com/narrative/articles/ruby-rails-mongrel-mysql-osx">《Building Ruby, Rails, Subversion, Mongrel, and MySQL on Mac OS X》</a>来做的，安装ruby,gem之类的东西都是依靠<a href="http://www.macports.org/">MacPorts</a>（osx里的包管理系统），而MacPorts安装的程序都在/opt/local里，独立于系统环境……</p>
<p>作为一个完美主义者，一定不能容忍自己心爱的系统里有任何兀余的代码，所以，这一次我希望能在leopard已经集成的代码基础上，搭建rails+php+apache+mysql的开发环境……<span id="more-153"></span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>首先搞定apache，在配置面板里的“共享”中，选中&#8221;web共享&#8221;，就可以启动apache。默认的http://localhost指向/Library/WebServer/Documents，如果想修改成自己的目录，比如/Users/dexteryy/Sites/www，最简单的方法是直接改掉httpd.conf里的DocumentRoot</p>
<p>httpd.conf是放在/etc/apache2/里的，除了DocumentRoot，还要记得把下面两行代码前的注释删掉：</p>
<p>LoadModule php5_module        libexec/apache2/libphp5.so<br />
LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>然后是php.ini，系统默认在/etc里放了一个php.ini.default，把它copy一份，改名为php.ini</p>
<p>php.ini里有一个关于mysql的地方要注意，leopard好像修改过mysql.sock的位置，所以要修改以下两行：</p>
<p>mysql.default_socket = /private/tmp/mysql.sock</p>
<p>mysqli.default_socket = /private/tmp/mysql.sock</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>然后安装最新的mysql，我下载的是mysql-5.0.45-osx10.4-i686.dmg。其中的MySQLStartupItem.pkg和mysql.prefpane都不用安装了，因为这两个东西目前都不起作用-___-b</p>
<p>以前启动mysql都是用这个命令：</p>
<p>sudo /Library/StartupItems/MySQLCOM/MySQLCOM start</p>
<p>但是在leopard里，这个东西好像失效了，只好用这个命令来启动</p>
<p>sudo /usr/local/mysql/bin/safe_mysqld</p>
<p>如果要自动启动mysql，可以用以下方法：</p>
<p>在/Library/LaunchDaemons/里新建一个叫com.mysql.mysqld.plist的文件：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;?</span><span style="color: Green;">xml</span><span style="color: Gray;"> </span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">encoding</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">?&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Gray;">!</span><span style="color: #00008b;">DOCTYPE</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">plist</span><span style="color: Gray;"> </span><span style="color: #00008b;">PUBLIC</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">-//Apple//DTD PLIST 1.0//EN</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.apple.com/DTDs/PropertyList-1.0.dtd</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">plist</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">dict</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">KeepAlive</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">true</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Label</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">com.mysql.mysqld</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Program</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">/usr/local/mysql/bin/mysqld_safe</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">string</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">RunAtLoad</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">key</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">true</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">dict</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">plist</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>修改权限：<br />
sudo chown root /Library/LaunchDaemons/com.mysql.mysqld.plist</p>
<p>ok了……注意，如果安装过MySQLStartupItem.pkg，最好把MYSQLCOM直接删掉：</p>
<p>sudo rm -R /Library/StartupItems/MYSQLCOM</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>ruby on rails已经完美的集成了，不需要做任何设置，除了跟mysql的绑定……</p>
<p>sudo gem install mysql &#8212; &#8211;with-mysql-dir=/usr/local/mysql</p>
<p>选择3……</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>现在可以新建rails的项目了，在终端里进入刚才设置的DocumentRoot目录，输入/rails rails_test</p>
<p>然后启动服务器：<br />
rails_test/script/server</p>
<p>命令执行后不要关闭终端窗口（会关闭服务器），leopard的终端现在支持标签了，苹果键＋T，继续做别的事情……</p>
<p>现在访问http://localhost:3000/ ，就可以看到rails项目的页面了……</p>
<p>这里启动的服务器是Mongrel，实际上可以把它跟apache整合到一起，用apache接受浏览器的请求，利用反向代理功能转发给Mongrel，这样就不需要用3000端口，直接用这样的地址就可以访问rails的页面：http://localhost/rails_test</p>
<p>方法很简单，找到刚才的httpd.conf，在最下面加入：</p>
<p>ProxyPass /rails_test http://localhost:3000</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;完美主义者的分割线&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>以上是我目前搭建的一个简单的rails+php+apache+mysql开发环境，可能还有其他问题，在具体使用中慢慢改……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2007/11/14/rails_php_apache_mysql_on_leopard/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
