F1大好きな、インチキ技術者の日記

F1大好きなインチキ技術者が情報を発信して、自分を変えようとしている日記です

CentOS 5.11 で SPDYを使いたい(その2 - GCCバージョンアップからの目的達成編)

前回の続き・・・

この投稿は、2014年11月06日にQiitaに投稿した物です。 前回無事にApacheのバージョンアップができたので喜び勇んでmod_spdyをインストールした。 でも、ここでもつまずいたのでログを残しておきます。

mod_spdyのインストール

rpm持ってきてインストールするだけ簡単簡単!

$ wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_x86_64.rpm
$ sudo rpm -U mod-spdy-beta_current_x86_64.rpm
$ sudo service httpd restart

と思って速攻導入してみたら・・・Apacheが起動しない・・・ 以下がエラーの内容

Starting httpd: httpd: Syntax error on line 214 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf.d/spdy.conf: Cannot load /usr/lib64/httpd/modules/mod_spdy.so into server: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib64/httpd/modules/mod_spdy.so)
[FAILED]

どうやら、/usr/lib64/libstdc++.so.6が古いためGLIBCXX_3.4.11が無いというエラーのようだ・・・困った。 確認したら確かにない・・・

$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_FORCE_NEW

調査の結果GCCを新しくすれば良いようだが、ここはCentOS 5。yumで簡単にとはいかない・・・ 渋々ソースからコンパイルした 手順は、以下のページをそのままそっくり実行した。唯一の違いはバージョンが4.6.3って事くらい。

https://gcc.gnu.org/wiki/InstallingGCC

あと、makeに2時間くらい掛かりました・・・

GCCのビルド&インストールが完了したところで、インストールディレクトリをみると新しいlibstdc++.so.6.0.16ができてた。 念のため、中身も確認

$ strings $HOME/gcc-4.6.3/lib64/libstdc++.so.6.0.16 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

できてる! あとは、/usr/lib64にコピーしてシンボリックリンク作れば!

$ cp $HOME/gcc-4.6.3/lib64/libstdc++.so.6.0.16 /usr/lib64
$ ln -s libstdc++.so.6.0.16 libstdc++.so.6

ここまでやって、Apacheを再起動したら無事にSPDYが利用可能となりました!

CentOS 6を使えば本当に簡単に導入できるSPDYですがCentOS 5だとちょっと面倒でした。

CentOS 5.11 で SPDYを使いたい(その1 - Apacheバージョンアップ編)

はじめに

この投稿は、2014年11月05日にQiitaに投稿した物です。 お仕事の都合でCentOS 5.11(x64)のApacheでWebサーバを立てているのですが、どうしてもmod_spdyを利用したかったのでいろいろと作業しまました。そのログです。

mod_spdyのシステム要件

mod_spdyのrpmパッケージをダウンロードできるサイトmod_spdy — Google Developersで確認したところ要件は以下の2つのみ

System Requirements ・Apache 2.2 (≥2.2.4) ・mod_ssl enabled

mod_sslはすでに有効なので、Apacheのバージョンを確認した

# httpd -v
Server version: Apache/2.2.3
Server built:   Sep 16 2014 11:05:09

要件満たさず・・・ というわけで早速、Apacheのバージョンアップから!

Apacheのバージョンアップ

普通にyumしても最新版なので、CentALTリポジトリを有効にしてApacheをバージョンアップすることにした

まずは、リポジトリを使えるように・・・っと

# rpm -Uvh http://mirror.sysadminguide.net/centalt/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm

これで、CentALTリポジトリからApacheインストールできると思いきや、なんと403になる。。。

# yum --enablerepo=CentALT update httpd
Loaded plugins: fastestmirror
http://centos.alt.ru/repository/centos/5/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 403: Forbidden
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: CentALT. Please verify its path and try again

調査したところ、ミラーサイトを指定しなければいけないようなので速攻対応

# vi /etc/yum.repos.d/centalt.repo
[CentALT]
name=CentALT Packages for Enterprise Linux 5 - $basearch
#baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
baseurl=http://mirror.sysadminguide.net/centalt/repository/centos/5/$basearch/
enabled=0
gpgcheck=0

baseurlのみ変更し、いざ再実行!

# # yum --enablerepo=CentALT update httpd
Dependencies Resolved

========================================================================================
 Package                              Arch         Version           Repository    Size
========================================================================================
Updating:
 httpd                                x86_64       2.2.27-1.el5      CentALT      1.3 M
Installing for dependencies:
 apr-util-ldap                        x86_64       1.4.1-1.el5       CentALT       14 k
 httpd-tools                          x86_64       2.2.27-1.el5      CentALT       68 k
Updating for dependencies:
 apr-util                             x86_64       1.4.1-1.el5       CentALT       80 k
 httpd-devel                          x86_64       2.2.27-1.el5      CentALT      146 k
 httpd-manual                         x86_64       2.2.27-1.el5      CentALT      1.1 M
 mod_ssl                              x86_64       1:2.2.27-1.el5    CentALT       91 k

Transaction Summary
========================================================================================
Install       2 Package(s)
Upgrade       5 Package(s)

Total download size: 2.7 M
Is this ok [y/N]: 

おおっ!無事にApache 2.2.27がリストアップされています! そのまま"y"を押すと無事にバージョンアップされました!

# httpd -v
Server version: Apache/2.2.27 (Unix)
Server built:   Apr  9 2014 23:20:37

やったね(^_^)v

長くなったのでmod_spdyのインストールは次の投稿で・・・

プライバシーポリシー・問合せ