Rails 2.3.5 + mod_rails + OSX TigerのMAMP

奇妙なことですが、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/3



mkdir -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.html



sudo 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.html



sudo 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に移動し、喜んで(願っています)、すべてが正常に動作することを確認できます



All Articles