centOS7のapache2.4.6を削除して最新版をインストールしよう
CentOS7にデフォで入っているapache2.4.6(httpd)はちょっと古いので、なるべく最新版にしましょう。特にhttp2とかやりたい人は必須らしいです!
ただ、バイナリからインストールするのはちょっと怖いし、バージョンアップもお手軽なパッケージからインストールしたいのが人の子の性...。なので、以下の手順でインストールします。
- IUSリポジトリをインストール
- 現在のhttpdの削除
- IUSリポジトリから、apache2.4.35のインストールをする
IUSリポジトリのインストール
centOS7の方は最初から入っているかもしれません...
sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
現在のhttpdの削除と、IUSからapache2.4の最新版をインストールする
ここで、依存関係のあるパッケージが削除されますので、メモっておきます。私の場合はhttpd-tools
とpython36u-mod_wsgi
が依存関係にあったため削除しました。
sudo yum remove httpd
kiwi@118-27-32-60:~$ sudo yum install httpd --disablerepo=base --disablerepo=updates --enablerepo=ius
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* epel: ftp.riken.jp
* epel-debuginfo: ftp.riken.jp
* epel-source: ftp.riken.jp
* extras: ftp.iij.ad.jp
* ius: mirrors.kernel.org
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd24u.x86_64 0:2.4.35-1.ius.centos7 を インストール
--> 依存性の処理をしています: httpd24u-tools = 2.4.35-1.ius.centos7 のパッケージ: httpd24u-2.4.35-1.ius.centos7.x86_64
--> 依存性の処理をしています: httpd24u-filesystem = 2.4.35-1.ius.centos7 のパッケージ: httpd24u-2.4.35-1.ius.centos7.x86_64
--> 依存性の処理をしています: httpd24u-filesystem = 2.4.35-1.ius.centos7 のパッケージ: httpd24u-2.4.35-1.ius.centos7.x86_64
--> 依存性の処理をしています: libapr15u-1.so.0()(64bit) のパッケージ: httpd24u-2.4.35-1.ius.centos7.x86_64
--> 依存性の処理をしています: libapr15uutil-1.so.0()(64bit) のパッケージ: httpd24u-2.4.35-1.ius.centos7.x86_64
--> 依存性の処理をしています: libnghttp2.so.14()(64bit) のパッケージ: httpd24u-2.4.35-1.ius.centos7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ apr15u.x86_64 0:1.5.2-2.ius.centos7 を インストール
---> パッケージ apr15u-util.x86_64 0:1.5.4-3.ius.centos7 を インストール
---> パッケージ httpd24u-filesystem.noarch 0:2.4.35-1.ius.centos7 を インストール
---> パッケージ httpd24u-tools.x86_64 0:2.4.35-1.ius.centos7 を インストール
---> パッケージ libnghttp2.x86_64 0:1.31.1-1.el7 を インストール
--> 衝突を処理しています: httpd24u-tools-2.4.35-1.ius.centos7.x86_64 は httpd-tools < 2.4.35 と衝突しています
--> 依存性解決を終了しました。
エラー: httpd24u-tools conflicts with httpd-tools-2.4.6-80.el7.centos.1.x86_64
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest
# 依存関係のエラーが出た場合、解決する
sudo yum remove httpd-tools python36u-mod_wsgi
sudo yum remove httpd
デフォルトだとbase
やupdates
を参照してしまうので、--disablerepo
のオプションで無効化します。
また、IUSの利用を強制する場合、--enablerepo
オプションで有効化します。
sudo yum install httpd --disablerepo=base --disablerepo=updates --enablerepo=ius
httpd.conf
初期設定では新しいhttpd.conf
に置き換わっているので、前まで使っていたhttpd.conf
に戻しましょう。
httpd
の削除時だかインストール時に(適当)yum
が/etc/httpd/conf/httpd.conf
をバックアップしておいてくれるので、それに戻しておきます。
cd /etc/httpd/conf
sudo mv httpd.conf.rpmsave httpd.conf
httpdの起動
自動起動とデーモンの起動を設定します。失敗した場合、ログを確認するなり、systemctl status httpd
で調べましょう
sudo systemctl enable httpd
sudo systemctl start httpd
終わり!
Author And Source
この問題について(centOS7のapache2.4.6を削除して最新版をインストールしよう), 我々は、より多くの情報をここで見つけました https://qiita.com/kiwi-bird/items/dddfbdcce1f75dd43369著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .