CentOS5のOpenSSLとcurlを手動更新し動かなくなったyumを直す

公開 | 更新 

Web開発用の CentOS5 サーバをメンテせずに数年放置していたところ、 yum が動かなくなっていたので、時代に取り残されたシステムを今更ながらせめて yum が動くように修復します。

この開発用WebサーバはCentOS5→6へのアップグレード手段が無く環境移行になってしまうことから、更新することもなくそのまま何年も使い続けてきました。最近、本番サーバ側でPHP7系が必要になったことから、開発サーバでテストしてみようとPHPのアップグレードをしてみようと思い立ったわけです。まずは現状確認から。

OpenSSL辺りが古すぎてyumが動かないようなので、OpenSSLを手動でソースからコンパイルして入れるしかありません。

まずは現状確認(何もかもが恐ろしく古い)。

 

1.perlを更新

このままではperlがあまりにも古すぎて、OpenSSL現行版をmake config時に次のようなエラーで終了してしまいます。

CPANサイトより執筆当時最新版の v5.32.1をダウンロードしますが、こちらのSSLが古いのでhttpsは不可。httpでダウンロードしました。

ダウンロードしたパッケージを展開し、./configure, make ,make installと進めます。

この新しいperlにリンクを張り直してデフォルトとします。

尚、本項では次の記事に助けられました(Great Tnx!!)。

 

2.OpenSSLを更新

OpenSSL公式サイトより、執筆当時最新版v1.1.1iのパッケージをダウンロードします(こちらはhttpsでも通りました)。

ダウンロードしたパッケージを展開し、./configure, make ,make installと進めますが、CPU環境によってはかなり時間が掛かるので、気長に待ちましょう。

 

3.curlを更新

curl公式サイトから、執筆当時最新版v7.75のパッケージをダウンロードしようとしますが、https, http共に通りません。仕方ないので、別の母艦PCでダウンロードしてからSCPで転送しました。

転送したパッケージを展開し、./configure, make ,make installと進めます。こちらは一瞬とはいきませんでしたが、OpenSSLほどの時間はかかりませんでした。

 

4.レポジトリを整理してyum確認

yumで参照されるレポジトリは、次のように格納されています。

さすがにサポートもとうに切れていることから、特にサードパーティのレポジトリはリンク切れになっていないか、repoファイル内で次のようにデフォルト無効化してから、yumを完走させます。

最後にキャッシュをクリアしてからyumを更新し、エラー無く完走することを確認出来ました。

次回はそもそもの命題である、PHPのバージョンアップを試みる予定ですが、ソースから入れるのであればサーバごとリプレースするつもりでいるので、yumでCentOS5用に使えるレポジトリが有るかどうかにかかっています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA