きりょうです。個人メモとMarkdownのお試しを兼ねています。
awsでcodeigniterを動かします。(ド初心者向け)
インスタンスIPがわかってて、秘密鍵でアクセスまでできる状況まで想定してます。
- aws、出来立てホヤホヤのインスタンスにコマンドラインでアクセスします
- lamp環境設定
- ⬆︎の最後の方に出てくるsqldの設定
- vi /etc/httpd/conf/httpd.conf 編集(これを変えないと.htaccessが効かない)
DocumentRoot "/var/www/html" //お好みのドキュメントルート
<Directory /var/www/html> //ドキュメントルートと一緒
AllowOverride All //NONEをALLにかえる
</Directory>
注意* mod_rewriteは超ひっかかりました。
.htaccess設定してるはずなのにmod_writeが動いてないんじゃないのコレっていう時は、まずmod_rewriteを確かめます。
僕の場合httpd.confの一番下の行に
LoadModule rewrite_module modules/mod_rewrite
の一文を追加しました。
service httpd restartをかけたら、
ターミナルに「お前LoadModuleしてるけどもうリライトモジュール持ってんぞ、再起動はOK」みたいな一言付け加えられた英語を吐き捨てられて再起動されました。
ので、LoadModuleは消しました。
/etc/httpd/moduleの中にmod_rewrite.soがあればオッケーみたいです。
最悪一旦.htaccessのことは忘れてwelcomeページだけ出しましょう。
4.codeigniterのconfigファイルのベースURLや.htaccess、データベース設定を変更
5.ファイルアップ(もちろんドキュメントルートにindex.phpが来るように)
http://インスタンスのIP/index.phpでwelcomeページが出た〜(おしまい)
備考
作ったコントローラーをあげたのですが見事にアクセスできませんでした。
htaccessやhttpd.confをいじりまくったのですがどうにもこうにもなので、zipからcodeigniterパッケージを解凍して、再度コントローラー・ビューファイルimagesやjsなどシステムに関わらない部分だけ移し替えてアップしました。
自作コントローラー引っかかった時の確認事項です。
・igniterのconfigのbaseURLは最後にちゃんと'/'が付いているか
・自作したコントローラーの頭文字は大文字か(ローカルでは小文字でも動いてた)
・htdocsを作った場合index.phpのapplicationとsystemの参照先を変更しているか
・ print 'apple pen'; exit;でどのファイルまで行っているか確認
・何回か試して表示されなかったのですが新規にコントローラーを作成してプログラムだけコピペしたらつきました。なんだったんだ。。。
とりま以上です