Ubuntu Serverにおけるapacheの設定ファイル

apache の設定ファイルは、ずっと httpd.conf だとばかり思っていた。たとえば

MacPorts で作った環境なら
/opt/local/apache2/conf/httpd.conf

xampp 環境なら
/applications/xampp/xamppfiles/etc/httpd.conf

といったように。(実際、これらのファイルを編集して色々と設定の変更を行っていた)

でも、VMware Fusion にインストールした Ubuntu Server の場合は違った。httpd.conf はあるにはあるけれど、空だし。(場所は/etc/apache2/httpd.conf)

今勉強している CodeIgniter のソースをこの Ubuntu Server にもっていくと、どうにもうまく mod_rewrite が働かなくて、肝心のページが 404 で見つからない状態。MacPorts や xampp 環境で対応していた処理(記述)を Ubuntu 上でもしたけれど(httpd.conf への書き込み)結果は変わらず。mod_rewrite が働いていない模様。

たまたま見つけた blog エントリで、初めて見るものがあったので、これを試したら見事成功した。ようは、単純に「設定を変更するための設定ファイルを間違えていた」ということだった。

他の Linux ディストリビューションは知らないけれど、Ubuntu においては、apache の設定ファイルは
/etc/apache2/sites-available/default

ということだった。(Ubuntu の Apache で、PHP を有効にする方法

$ sudo vim /etc/apache2/sites-available/default

で、このファイルを開いて以下の部分の「AllowOverride」を「All」にし、apache を再起動。

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All # この部分がデフォでは None だった
Order allow,deny
allow from all
</Directory>

前述の参照 blog エントリにあった +ExecCGI とか、DirectoryIndex index.php とかの部分は、別に関係ないようだったので記述しなかった。(AllowOverride の部分だけしか変更しなかった)

これで apache にインストールした mod_rewrite と、CodeIgniter のディレクトリに配置した .htaccess(後述)の設定が有効になって

http://IPアドレス/CodeIgniter/コントローラ名

に、きちんとアクセスできるようになった。

/var/www/CodeIgniter/.htaccess の内容

RewriteEngine on
RewriteCond $1 !^(index\.php|css|user_guide|.+\.gif$|.+\.jpg$|.+\.png$|.+\.js$)
RewriteRule ^(.*)$ /CodeIgniter/index.php/$1 [L]

と思ったら、やっぱり駄目だった。
チュートリアルで作成したページ遷移がうまく働かない。
(あとでちゃんとエクスポートのやり方を読みながらやってみよう)

07/06/2009 追記:解決
チュートリアルで作成したコンタクトフォームの画面遷移を正常な状態にすることが出来た。なんてことはなくて、CodeIgniter の設定ファイルでの base_url の指定のせいだった。local における xampp 環境では「localhost」で良かったんだけど、仮想マシン上で実行する場合にはここを適宜変更しておかないと(IPアドレス直指定) local のほうへ繋ぎにいってしまう。なので、ここ設定部分を以下のように変更する。

/var/www/CodeIgniter/system/application/config/cofig.php

$config['base_url'] = “http://localhost/CodeIgniter/”;

$config['base_url'] = “http://Ubuntu Server の IPアドレス/CodeIgniter/”;

Ubuntu Server の IPアドレス部分は、Ubuntu 上でコマンド「ifconfig」を打つことで知ることが出来る。

 

Tags:

Comments: 2

Leave a reply »

 
  • 参考になりました。
    どうもありがとうございます!(・∀・)

     
     
     
  • showjin

    It’s my pleasure(・∀・)

     
     
     
  • Leave a Reply
     
    Your gravatar
    Your Name
     
     
     

    コメントリンクを nofollow free に設定することも出来ます。