62255


いつもお世話になっています。  
下記の質問についてご存知の方がいらっしゃいましたらご教示を願います。

* * *

## 【質問の主旨】

既存のApacheを削除せずに最新のApacheをアップデートする方法を教えてください。

## 【質問の補足】

### 1.

現在、自分が運営しているサイトの1つにはWebサーバーとしてApache2.4.6を使っています。  
ネットワークのプロトコルをHTTP/1.1からHTTP/2に変更したいと考えていますので、iusレポジトリを使ってApacheのバージョンを最新にしたいと考えています。

### 2.

現在、サイトで使用しているサーバーの環境は以下のとおりです。サーバーはさくらインターネットの「さくらのVPS」を使用しています。

[code]

    $ cat /etc/redhat-release
    CentOS Linux release 7.6.1810 (Core) 
    
    $ httpd -v
    Server version: Apache/2.4.6 (CentOS)
    Server built:   Nov  5 2018 01:47:09
    
    $ yum list epel-release
    ...
    epel-release.noarch         7-11            @epel
    
    
[/code]

### 3.

実際に実行したコマンドとその結果は以下のとおりです

[code]

    # yum -y install "https://centos7.iuscommunity.org/ius-release.rpm"
    ...
    インストール中          : ius-release-2-1.el7.ius.noarch                                                         1/1 
      検証中                  : ius-release-2-1.el7.ius.noarch                                                         1/1 
    
    インストール:
      ius-release.noarch 0:2-1.el7.ius                                                                                     
    
    完了しました!
    
    # rpm -ivh https://centos7.iuscommunity.org/ius-release.rpm
    
    ...
    
    --> 衝突を処理しています: httpd24u-tools-2.4.41-1.el7.ius.x86_64 は httpd-tools < 2.4.41-1.el7.ius と衝突しています
    --> 衝突を処理しています: httpd24u-2.4.41-1.el7.ius.x86_64 は httpd < 2.4.41-1.el7.ius と衝突しています
    --> 衝突を処理しています: 1:httpd24u-mod_ssl-2.4.41-1.el7.ius.x86_64 は mod_ssl < 1:2.4.41-1.el7.ius と衝突しています
    --> 衝突を処理しています: httpd24u-devel-2.4.41-1.el7.ius.x86_64 は httpd-devel < 2.4.41-1.el7.ius と衝突しています
    --> 依存性解決を終了しました。
    エラー: httpd24u-tools conflicts with httpd-tools-2.4.6-88.el7.centos.x86_64
    エラー: httpd24u-devel conflicts with httpd-devel-2.4.6-88.el7.centos.x86_64
    エラー: httpd24u-mod_ssl conflicts with 1:mod_ssl-2.4.6-88.el7.centos.x86_64
    エラー: httpd24u conflicts with httpd-2.4.6-88.el7.centos.x86_64
     問題を回避するために --skip-broken を用いることができます。
     これらを試行できます: rpm -Va --nofiles --nodigest
    
    
[/code]

2つめのコマンドである`rpm -ivh https://centos7.iuscommunity.org/ius-
release.rpm`を実行するとエラーが表示されます。

### 3.

下記のブログを読むと衝突を回避するために下記のコマンドを実行する必要があると書かれています。

[code]

    # yum remove httpd
    
[/code]

<https://note.com/yadoyan/n/n84b4d2c336f3>  
<https://www.rem-system.com/httpd-ius-install/>

### 4.

ですがApacheを更新したいとサーバーはWordPressサイトの本番環境として使っていて、PHPのアンイストールなどの作業はしたくないと考えています。いわゆる「上書き」のような感じでApacheを更新したいと考えています。

* * *

以上、ご確認のほどよろしくお願い申し上げます。


CC BY-SA 4.0
2020-01-11T09:09:21.353
62154
2020-01-15T06:59:38.623
2020-01-15T06:59:38.623
3060
32232
question
linux centos apache yum
本番環境で運用している既存のApacheを削除せずに最新のApacheにアップデートする方法を教えてください。


teratailで同じ質問をしました。質問に対する結論としては「上書きのようなことはおそらくできない」ということでした。下記のリンクをクリックすると回答をいただいた方のコメントを確認することができます。

<https://teratail.com/questions/235075#reply-342151>


CC BY-SA 4.0
2020-01-15T06:23:11.280
62253
2020-01-15T06:23:11.280
32232
62154
answer


IUS リポジトリで提供されている httpd は base リポジトリのパッケージと競合するように設定されているので上書きインストールはできません。

  * [httpd24u-2.4.39-1.ius.centos7.x86_64.rpm](https://centos.pkgs.org/7/ius-x86_64/httpd24u-2.4.39-1.ius.centos7.x86_64.rpm.html)

rpm の仕組みとして、 **Conflicts** の項目で 古いバージョンインストールされている場合は競合を起こすようになっている。

  * [httpd-2.4.6-90.el7.centos.x86_64.rpm](https://centos.pkgs.org/7/centos-x86_64/httpd-2.4.6-90.el7.centos.x86_64.rpm.html)

base リポジトリのパッケージは特に Conflicts は指定されていない。

* * *

今回のケースであれば

  * (必要に応じて) 既存環境の設定等をバックアップ
  * 既存の httpd を停止、アンインストール
  * IUS から httpd24u のインストール

という手順を踏むしかないでしょう。


CC BY-SA 4.0
2020-01-15T06:49:01.443
62255
2020-01-15T06:49:01.443
3060
62154
answer