前々回
apache+passenger+sinatraにて、
環境を構築しましたが、
コンテンツの置き場所が
/root/
で、権限がo+x
のままだと、プログラムの作成、編集が、面倒です。
また、
/root/の権限がそのままというのも、
少々不安な感じがします。
このため、コンテンツの置き場所を
/home/(user)/sina
に変更するしてみましょう
ユーザ権限にて
cd pwd ・結果表示 /home/(user)
cd mkdir sina cd sina echo "#coding: utf-8" >app.rb echo "require 'sinatra'" >>app.rb echo "get '/' do" >>app.rb echo "'Hello World'" >>app.rb echo "end" >>app.rb echo "require File.expand_path(File.dirname(__FILE__)) + '/app'" >config.ru echo "run Sinatra::Application" >>config.ru mkdir public mkdir tmp touch tmp/always_restart.txt
/etc/httpd/conf/httpd.confを変更
su
権限にて
ファイル
/etc/httpd/conf/httpd.conf
DocumentRoot /root/sina/public
の部分を
DocumentRoot /home/(user)/sina/public
に変更
vi /etc/httpd/conf/httpd.conf
/etc/rc.d/init.d/httpd restart curl 'http://localhost/'
しかし、エラーになる
エラーの内容を確認
apacheのエラーログの場所を探す
find / -name error_log ・結果表示 /var/log/httpd/error_log
エラーの内容を確認する
cat /var/log/httpd/error_log
・内容表示 : Could not find rake-11.2.2 in any of the sources (Bundler::GemNotFound) :
/home/(user)/ap/public
にも、Bundlerなどが必要・・・・・
.Bundler(隠しファイル)
なども、必要なので
一括複写する
cp -R /root/sina /home/(user)/sina
はじめから、こうすればよかった。。。
apacheの再起動
/etc/rc.d/init.d/httpd restart
確認
curl 'http://localhost/'
うまくいった。
suで、複写したので、
home側での権限などが心配なので、
ユーザ権限にもどって、作りなおしてみる
$cd
$cp -R /home/(user)/sina /home/(user)/sinatra
/etc/httpd/conf/httpd.conf
の
DocumentRoot /home/(user)/sina/public
を
DocumentRoot /home/(user)/sinatra/public
に変更し、apache再起動
/etc/rc.d/init.d/httpd restart
表示確認
curl ‘http://localhost/’
うまくいった。