
Ubuntu日本語フォーラム
ログインしていません。
初めまして。
9.04+Apache2+VHOSTにて wiki(PHP)が動作していた環境に、昨日RedMineをいれてから、Wikiがアクセスできなくなりました。
具体的には、PHPファイルをダウンロードしてしまいます。
調べてみたところ、
/etc/apache2/mods-available/php5.load の示す soファイルが存在していませんでした。
いままでなんで動いていたんだ?と思いつつ、
aptitude search libapache2-mod-php5 を実行すると、
c libapache2-mod-php5 - server-side, HTML-embedded scripting language (Apache 2 module)
p libapache2-mod-php5filter - server-side, HTML-embedded scripting language (apache 2 filter module)
になってました。
Cの意味がよくわかりませんが、
sudo aptitude install libapache2-mod-php5 を実行しました。
soファイルができたので
sudo a2enmod php5 を実行しました。
何故か passengerもとまっていたので
sudo a2enmod passenger を実行しました。
RedMineは動作しましたが、あいかわらずWIKIは動作しません。
/etc/apache2/mods-available/php5.conf を期待しているように読んでないのかなと思い、
<IfModule mod_php5.c>
aaaa
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>
とかにしてみると、エラーをはいたので、タイプは読んでいると思ってます。
>aptitude search passenger を確認すると、
c libapache2-mod-passenger - Rails and Rack support for Apache2
p passenger-doc - Rails and Rack support for Apache2 - Documentation
上記のように、Cがついてました。
passengerは、gem install passenger を行った記憶がありますが、aptitudeも実行したような記憶があります(インストールログをとってませんでした)
今現在、Passengerは動作しますが、phpが動作しません。
sudo a2dismod passenger ; sudo /etc/init.d/apache2 restart しても、WIKIは動作しなくなりました。(正確には RailsBaseURIも削除しました)
いろいろぐぐったのですが、めぼしい情報がなく、たぶん私のなにかしらのちょんぼだと思うのですが、どうにもわかりません。
aptitude的に共存させないような話になったりするのでしょうか?
8.10時代にはPassengerとPHPは普通に共存してたし、なにかが違うと思うのですが、どういったコマンドで情報が採取できるのかちょっとわかりませんでした。
誠に申し訳ありませんが、なにか情報があれば教えてください。
よろしくお願いします。
オフライン
passenger についてはよく知りませんが、ごく一部についてだけ回答します
acornsさん による投稿:
aptitude search libapache2-mod-php5 を実行すると、
c libapache2-mod-php5 - server-side, HTML-embedded scripting language (Apache 2 module)
p libapache2-mod-php5filter - server-side, HTML-embedded scripting language (apache 2 filter module)
になってました。
Cの意味がよくわかりませんが、
:
:
>aptitude search passenger を確認すると、
c libapache2-mod-passenger - Rails and Rack support for Apache2
p passenger-doc - Rails and Rack support for Apache2 - Documentation
上記のように、Cがついてました。
aptitude search で表示されるリストの各行の先頭1文字の意味は以下の通りです
i - パッケージがインストール済みで、その依存関係がすべて満たされています。
c - パッケージは削除されましたが、設定ファイルがまだ残っています。
p - パッケージとその設定ファイルがすべて削除されました。またはインストールされたことがありません。
v - パッケージが仮想パッケージです。
B - パッケージに壊れた依存関係があります。
u - パッケージは展開済みですが設定が行われていません。
C - 設定未完了です。つまりパッケージの設定が中断されました。
H - インストール未完了です。つまりパッケージのインストールが中断されました。
http://dolphin.c.u-tokyo.ac.jp/~nori1/a … urrentFlag より抜粋
ところで、aptitude search 'libapache2-mod-(php5|passenger)' の結果はどうなっていたのでしょう
質問の内容からは、libapache2-mod-php5 と libapache2-mod-passenger のふたつのパッケージのインストール状態を同時に調べたかどうかが読み取れません
これらふたつのパッケージが何らかの理由で共存できない状況に陥っているのか、別の原因なのか、
現時点で提示されている情報からは判断が付きません
オフライン
それぞれのlibapache2-*なパッケージで依存関係を調べてみましょう。
apache2-mpm-workerとapache2-mpm-preforkでぶつかってませんか?
たぶんうまく動いていたのは gem install passenger のほうで、
1)今回パッケージでいれてしまったので依存関係で mpm-prefork が削除された
2)phpが動かない
3)phpをパッケージで入れ直し
4)結果、mpm-workerが削除
5)passengerが動かない
以下ループ
という状況なのでしょう。
このような同居をする場合はどちらかに合わせるしかありませんので、 gem install passengerを再度されたほうが無難かもしれません。
オフライン