プロが教える店舗&オフィスのセキュリティ対策術

Windows7 64bit にVirtual boxとVagrantを利用してCentOS6.9の環境でApacheを動かしています。
Apache2.2.3をApache2.4に変えてから、ブラウザで確認すると、it works! と確認できましたが、phpが動いておらず、アクセスするとコードのまま表示されることとなりました。

phpをインストールすれば、問題が解決できるような記事を目にしましたので、
php5.6より7.0へバージョンアップしようと、試みましたが、トランザクションの確認エラー(下記に)でコンフリクトしているというメッセージが表示されました。この場合、httpd-2.2.15-59.el6.centos.x86_64 というのを削除すればよいのかと思ったので、sudo yum remove -y httpd を実行しました。当然httpdを削除したので、it works! とは表示されなくなりましたが、なので再び、 sudo yum install -y httpd でインストールを試みましたが、再度、トランザクションの確認エラーが表示されるので、進まなくなりました。
この場合の解決方法を知っていましたら教えてください。

------------------------------------------------
トランザクションの確認エラー
file /etc/httpd/conf.d/README from install of httpd-2.2.15-59.el6.centos.x86_64 conflicts with file from package httpd24u-filesystem-2.4.25-4.ius.centos6.noarch

A 回答 (4件)

標準以外のパッケージを入れる場合は気を付けないとハマるんですが…。



とりあえず、そのままOS再起動してみてもapache2.4は起動しませんか?
    • good
    • 0
この回答へのお礼

ありがとうございます。試しましたが、起動しませんでした。。。

お礼日時:2017/06/10 15:18

2.2と2.4系は設定が違って微妙にややこしいですからね。


エラー読むと2.2が残ってることで悪さしてるようにも思いますが、これだけで対処はわからないです。
    • good
    • 0
この回答へのお礼

ありがとうございます。サーバー構築がこれほど複雑なものだとは思いませんでした。

お礼日時:2017/06/10 15:19

実際にCentOS6.9で試してはいませんが……



>Apache2.2.3をApache2.4に変えてから

で、CentOS標準のhttpd-2.2.15とiusがリリースしているhttpd24u-2.4.25がインストールされた状態になります。
この時にいくつかのファイルがhttpd24u-2.4.25のものに置き換えられたと思われます。
# バージョン番号的に上なので、警告もなく置き換えられた…か、警告を無視したかのどちらか。

で、httpd24u-2.4.25のものに変わった際に、httpdはリスタートしていると思われます。

>sudo yum remove -y httpd を実行しました。

で、httpd-2.2.15が削除され、httpd24u-2.4.25の一部のファイルは道連れで削除されたものと思われます。
httpd起動用の/etc/rc.d/init.d/httpdも道連れになったのでしょう。
# 何故か、双方のパッケージにある/etc/httpd/conf.d/READMEは残ったようですが。

>再び、 sudo yum install -y httpd でインストールを試みましたが

で、半端に残っているhttpd24u-2.4.25のファイルと衝突しているよ!?
どうすんの!!
と言われているのでしょう。

httpd24u-2.4.25を強制再インストールして、パッケージの状態を揃える必要があるかと思われます。

こういう症状が、非公式リポジトリ(非公式パッケージ)を使うと発生します。
思いっきり楽しんで下さい。
    • good
    • 2
この回答へのお礼

ありがとうございます。このあたりのあらすじが自分で操作しておいて知識がないせいで、理解していませんでした。とても勉強になります。再インストールしたら、It works! と表示できるようにはなりました。 ただphpが使えないとう状態です。このあたりも調べて、わからなかったら再び質問したいと思います。

お礼日時:2017/06/10 15:18

まずは、現状確認です。

下記コマンドを実行したら、現在インストールされている httpd で始まるパッケージ名が表示されます。

rpm -qa httpd\*

おそらく、下記コマンドで Apache 2.4 の再インストールはできるでしょう。

sudo yum remove httpd\*
sudo yum install httpd24u

パッケージ名の httpd と httpd24u は別物です。混同しないように。

むやみに -y オプションは付けない方が良いです。

remove の際に依存パッケージが削除されるので、再インストールが必要なものがあるかも知れません。
    • good
    • 1
この回答へのお礼

ありがとうございます。おっしゃるような方法で解決しました。最近、サーバーの勉強をしはじめたばかりなので、とても勉強になります。ただ、どこかをいじると、どこかが狂ってきている見たいになってきたので、これまた辛い状況です。

お礼日時:2017/06/10 15:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!