奇妙なことですが、mod_railsを使用してOS Xにレールをインストールすることに関するわかりやすいマニュアルは見つかりませんでした。Apache用の新しい(比較的)モジュールで、デプロイ時の頭痛を軽減します。 すべてのマニュアルは何とか時代遅れで、Mongrel、FastCGIの順に古くなっています。 奇妙なことに、これは複雑なことではありませんでした-古いチュートリアルといくつかの新しいアクションから一種のゾンビが判明しました。
動作するにはXcode(トラの最後の2.5)が必要です-デフォルトではインストールされませんが、Mac OS Xインストールディスクにあるか、AppleのDeveloper Connectionから
developer.apple.comからダウンロードできます。 すべてのコマンドは端末で入力する必要があります-/プログラム/ユーティリティ(/アプリケーション/ユーティリティ)にあります。 また、ファイルの編集(コンソールのmateコマンド)にTextmateを使用していますが、これもデフォルトではないため、viまたはpicoを使用できます。
次の2点に注意してください。
1)すべてをOSX 10.4に配置します。Leopardsとの特別な違いはないはずですが、REE 1.8.7.xxxが動作を拒否していることに気付きました(MRIのバグにより
redmine.ruby-lang.org/issues/show / 405 )
2)特にmod_railsをphpと並列に配置して、お互いが隣同士で平和に暮らせるようにします
パートI.通常のMAMP環境の準備
1)macportを配置します。www.macports.org/install.phpリンクからGUIを使用してダウンロードし、コンソールにインストールします。
sudo port selfupdate
2)Apacheを置くsudo port install apache2
sudo ln -s /opt/local/apache2/bin/apachectl /opt/local/bin/apache2ctl
3)httpd.confのDocumentRootを変更して、必要なフォルダーを指すようにします。
Railsフォルダーをホームディレクトリに作成し、その中にドキュメントルートとしてpublic_htmlを作成しました。
〜/ Railsですべてのアプリケーションを作成し、public_htmlでリンクします。
sudo mate /opt/local/apache2/conf/httpd.conf
# --- httpd.conf --- #
DocumentRoot "/Users/ikido/Rails/public_html"
<Directory "/Users/ikido/Rails/public_html">
# --- httpd.conf --- #
4)mysqlを入れましょうsudo port install mysql5-server
sudo -u mysql mysql_install_db5
sudo ln -s /opt/local/bin/mysql5 /opt/local/bin/mysql
# Mysql
/opt/local/lib/mysql5/bin/mysqld_safe &
# ,
/opt/local/lib/mysql5/bin/mysql_secure_installation
5)php5を置くsudo port install php5 +apache2 +mysql5
cd /opt/local/apache2/modules
sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so # php5
6)httpd.confを編集します。sudo mate /opt/local/apache2/conf/httpd.conf
# --- httpd.conf --- #
<IfModule mime_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
# --- httpd.conf --- #
7)すべてが機能することを確認します。echo "<? phpinfo(); ?>" > /Users/ikido/Rails/public_html/index.php
sudo apache2ctl start
localhostブラウザを確認します。phpinfoページがあるはずです
パートII 次に、Ruby環境を配置します
1)ルビーを入れるsudo port install ruby
2)ルビジェムを入れるmacportsは古いバージョンなので、ソースから取得します
docs.rubygems.org/read/chapter/3mkdir -p /opt/src/
cd /opt/src/
curl -O files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.3.5.tgz
tar zxf rubygems-1.3.5.tgz
cd rubygems-1.3.5
sudo ruby setup.rb
4)レールを置くsudo gem install rails --include-dependencies
5)mysqlで束を置きますsudo gem install mysql -- --with-mysql-dir=/opt/local/lib/mysql5/
6)mod_railsを設定するwww.modrails.com/install.htmlsudo gem install passenger
sudo passenger-install-apache2-module --apxs2-path /opt/local/apache2/bin/apxs
7)httpd.confを編集し 、インストーラーが提供したものを挿入します。
www.modrails.com/documentation/Users%20guide%20Apache.htmlsudo mate /opt/local/apache2/conf/httpd.conf
# --- httpd.conf --- #
LoadModule passenger_module /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-2.2.9
PassengerRuby /opt/ruby-enterprise/bin/ruby
# --- httpd.conf --- #
8) DocumentRootを指定した後にRailsBaseUriを作成する各アプリケーションの
httpd.confを修正します (したがって、このディレクティブはvhostsでも機能します)。 Railsenv-オプション。ここでは、デフォルトで使用する環境を示します。
# --- httpd.conf --- #
DocumentRoot "/Users/ikido/Rails/public_html"
RailsBaseURI /testapp
RailsBaseURI /someotherapp
RailsEnv development
# --- httpd.conf --- #
8)レール上にあることを確認します -テストアプリケーションを作成します
cd ~/Rails
rails -d mysql testapp
ln -s /Users/ikido/Rails/testapp/public/ public_html/testapp
cd testapp
mate config/database.yml # mysql
rake db:create
script/generate scaffold test
rake db:migrate
sudo apache2ctl restart
これ
で、ブラウザで
localhost / testapp / testsに移動し、喜んで(願っています)、すべてが正常に動作することを確認できます