「自宅サーバでrailsサンプルを動かしたい」5

公開

 状態:  閲覧数:16,872  投稿日:2008-06-17  更新日:
■.今回のミッション……公開しているrailsサンプル(ドメイン1、2)に引き続き新たな「rails×SQLite3サンプル」(ドメイン3)を公開したい


■.結論……HOSTSファイルの設定が必要


■.手順
▼1.世界的無料転送URLサービス(リダイレクションサービス)Good.toで、無料ドメイン取得。
http://good.to/
※XREAのサブドメイン取得後に、自宅サーバ公開用として設定するやり方は不明。問い合わせたところサポート対象外との回答
※dyndnsは取得済。無料は1ドメインのみ。
※NO.IPも取得済。無料は1ドメインのみ。
※DotTkは取得設定後、ブラウザ上の表示確認まで終えたが、Yahoo!登録時に「入力されたURLにアクセスできません」とエラーメッセージが出現し登録完了することが出来ないため、止むを得ず使用を見送る。理由は不明

▼2.「rails×SQLite3サンプル」enqueteが、ローカル(Windows×rails1.2)で正常に動作することを確認

▼3.サーバ(Fedora7×rails2.0)var/www/html/enqueteへ移動

▼4.HOSTSファイルの設定
該当サイトへローカルマシンから名前解決の接続を行うために、hostsファイルを開き、下記記述を追加
▽変更対象ファイルhosts(拡張子なし)の場所
C:\WINDOWS\system32\drivers\etc\hosts
▽追加記述内容
サーバIPアドレス ドメイン3

▼5.ドキュメントルートの追加……etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerName ドメイン3
DocumentRoot /var/www/html/enquete/public
</VirtualHost>

▼6.ブラウザで確認(http://ドメイン3/)……403エラー
SELinuxをPermissiveへ変更すると、正常に表示されることを確認
▽システム-管理-SELinux Management
・System Default Enforcing Mode……Enforcing→Permissive
・Current Enforcing Mode……Enforcing→Permissive

▼7.該当ディレクトリ(enquete)以下のタイプラベルを確認
・該当ディレクトリ(enquete)のプロパティを開きアクセス権タブをクリック。
下に表示されているSELinux Contextが、「Read from all httpd scripts and the daemon」を選択していないこと、また、プルダウンメニューの中に、この項目自体がないことを確認。
ディレクトリにSELinuxのタイプラベルが割り当てられていない。
・通常、SELinuxはディレクトリやファイルに「タイプ」と呼ばれるラベルを割り当てて管理している。このラベルがないとapacheはディレクトリやファイルにアクセスできない。
(新しくディレクトリを作成すると、その親ディレクトリからポリシーを継承するルールとなっている)

▼8.該当ディレクトリ(enquete)以下のタイプラベルを初期化し、タイプラベルの付け直しを行う
[root@]# getenforce //現在のモードをみる
Enforcing
[root@]# restorecon -R /var/www/html/enquete //特定のディレクトリタイプの変更をする。-R はrecursive
[root@]# cd /var/www/html/enquete //カレントディレクトリを移動
[root@]# ls -Z //タイプをlsコマンドの「-Z」オプションで閲覧
[root@]# chcon system_u:object_r:httpd_sys_content_t /var/www/html/enquete -R
[root@]# chmod 711 /var/www/html/enquete
[root@]# ls -Z //該当ディレクトリが、下記状態となっていることを確認
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t enquete
▼GUIでも確認
▽該当ディレクトリ選択後、ツールバー表示を選択し、再読み込み(R)をクリック
▽該当ディレクトリ(enquete)のプロパティを開きアクセス権タブをクリック
・所有者:root
・フォルダのアクセス権:作成と削除
・ファイルのアクセス権:---
・グループ:root
・フォルダのアクセス権:いいえ一覧,いいえ作成/削除,アクセス
・ファイルのアクセス権:---
・その他
・フォルダのアクセス権:いいえ一覧,いいえ作成/削除,アクセス
・ファイルのアクセス権:---
・実行:-
・SELinux Context:Read from all httpd scripts and the daemon


●参考
モードの切り替え
# setenforce 0  // Permissiveモードになる
# setenforce 1  // enforcingモードになる

※なお、該当フォルダの表示を再読み込みしなければ、「Read from all httpd scripts and the daemon」を選択することが出来ない。


■今後の課題
1.MySQLと対応したrailsサンプルを動かす

2.rails1.2系のサンプルを2.0系へとカスタマイズして公開

3.railsサンプル(ドメイン1・2・3)以外のドキュメントルートの確保(以前は動作していたMovableTypeの確認など)

4.サブバージョンの導入……Samba経由ではなく、サーバへコミット出来るような設定を行う


■参考url
▼HOSTSファイルの設定 - Windows関連 - 自宅サーバーでやってみよう!!
http://vine-linux.ddo.jp/windows/hosts.php

▼バーチャルホストの設定- Apacheの設定 - 自宅サーバーの構築 - 自宅サーバーでやってみよう!!
http://vine-linux.ddo.jp/linux/apache/virtualhost.php


「自宅サーバーでrailsサンプルを動かしたい」4

「レンタルサーバーでrailsアプリを動かしたい」1



週間人気ページランキング / 6-11 → 6-17
順位 ページタイトル抜粋 アクセス数
1 Aptana カテゴリー 1
2025/6/18 1:01 更新