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

Source: https://habr.com/ru/post/J80885/


All Articles