serversman@vps上でrailsを導入するまでのメモ3(apache,sqlite,git)
・前回
http://d.hatena.ne.jp/alpha_neet/20110227/1298809212
特に注釈がない限りはrootで作業してます
作業用アカウントを作成
useradd work
passwd work
-g wheel を追加してないのでsudoできないので注意。
あとsshを設定してないのでログインはadminから入ってsu - workにしないといけない。
でも多分せきゅりちー的にはこっちの方がいい気がする
su root も出来ないとかにするとさらに良さそうだけど、めんどいので今回はパス。
chmod 755 /home/work
ブラウザからアクセスする時のために作業ディレクトリのパーミッションを変更。
あまりセキュリティ的によろしくない方法らしい。
railsで雛形を作成
さっき作ったアカウントで作業します。
rootでやるとブラウザで見たときPermission deniedが出ます。
su - work
mkdir public_html
cd public_html
rails new bbs
apache上でrailsを走らす
gem install passenger
yum install gcc-c++
yum install curl-devel
yum install openssl-devel
yum install zlib-devel
yum install httpd-devel
yum install apr-devel
yum install apr-util-devel
既にインストールしているものもあるけどしれないけど問題ないのでスルーで
cd ~/src/ruby-1.8.7-p302/ext/openssl/
ruby extconf.rb
make
make install
passenger-install-apache2-module
しばらく意味不明なログが流れた後最後の方に設定ファイルを吐き出します
バージョンやパスが違うから必ず自分のターミナル上からコピーすること。
LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.3/ext/apache2/mod_passenger.so PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.3 PassengerRuby /usr/local/ruby/bin/ruby
rails専用の設定ファイルを作って上記の設定をコピペする
Enterを押すと別の設定ファイルも吐き出す
ServerName www.yourhost.com DocumentRoot /somewhere/public # <-- be sure to point to 'public'! AllowOverride all # <-- relax Apache security settings Options -MultiViews # <-- MultiViews must be turned off
これも専用の設定ファイルを作って以下のように変更する
rails用の設定に RailsEnv development の追加を忘れないようにする。
Listen 8000RailsEnv development ServerName IPアドレスを直打ちかURL DocumentRoot /home/work/public_html/bbs/public AllowOverride all Options -MultiViews
apacheを再起動する。
/etc/init.d/httpd restart
http://IPアドレスかURL:8000
にアクセスしてrailsの初期ページが表示されれば成功
apacheの再起動時のエラーの対処
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
再起動時に上記のようなエラーが出た場合は以下のように変更を加える
vim /etc/hosts
127.0.0.1 localhost.localdomain localhost ↓ 127.0.0.1 dacelo localhost.localdomain localhost
#ServerName www.example.com:80 ↓ #ServerName www.example.com:80 ServerName dacelo:80
apacheを再起動してエラーが出なくなっていたら成功
/etc/init.d/httpd restart
sqlite3のインストール
gem install sqlite3-ruby
をしたら
sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade!
とでる。yumの最新のsqliteは3.3.6なので仕方ないので手動でインストール
cd ~/src
wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz
tar zxf sqlite-autoconf-3070500.tar.gz
cd sqlite-autoconf-3070500
./configure
make
make install
ターミナルを再起動して(しなくてもいいのかも)
which sqlite3
sqlite3 -version
の表示がそれぞれ
/usr/local/bin/sqlite3
3.7.5
となっていれば成功
最後の確認
http://IPアドレスかURL:8000
をブラウザで開いてrailsのトップページのAbout your application’s environmentのリンクをクリックして
現在動いているのrubyやrailsのバージョンが表示されれば成功
もしエラーが出てたらエラーメッセージも表示されるのでそのメッセージをぐぐって解決してください
お疲れ様です。
gitのインストール
を開いて最後に以下のように追加
[dag] name=Dag RPM Repository for Redhat EL5 baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1 gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
yum install git
が出来るようになっていれば成功
参考URL
・Apacheのエラーの対処
http://blog.dacelo.info/apache/entry-713.html
・sqlite3のインストール方法
http://memo.yomukaku.net/entries/154
・apache上でrailsを動かす時の注意点
http://d.hatena.ne.jp/ginpei/20100522/rails_on_apache
・yum install git をする方法
http://d.hatena.ne.jp/uk_oasis/20090807/1249633626