サポート終了したCentOS5 に Redmine3.3.3 をbitnami のインストーラーでインストール

#サポート終了したCentOS5 に最新の Redmine 3.3.3 を bitnami でインストールする。

つい先日、公式サイトのサポートが終了した CentOS5 に
Redmine の 3.3.3 を bitnami のインストーラーでインストールしてみました。

普通に実行すると 「GLIBCXX.3.4.9 以上で無いとダメだよ」と怒られるのを回避してなんとか使えるようにする。
という「誰がそんな古いOSでredmine 使いたがるの？」とか
「CentOS7に変えればサクッと入るやん」 と言われるような
無駄かもしれない情報。

***
##環境
+ Windows10 上で vagrant init bento/centos-5.11 として VirtualBOX に作成した CentOS 5.11 x86-64(最終版)
+ ゲストのメモリは1GB
+ ゲストの HDD はデフォルトの40GB (実際に使ってるのは3.5GB前後)
+ bitnami-redmine-3.3.3.0-linux-x64-installer.run

***

##Yum を使えるようにする。
サポート終了に伴ってCentOS5 で yum が使えなくなってしまいました。
[EOL になった CentOS の yum 設定を変更する](https://blog.cles.jp/item/4937)の記事を参考に設定 [^1] 
(これに気付くまで CentOS5のCD9枚組をVPSに放り込んで createrepo したりしてました)

```Bash
sudo su -
cd /etc/yum.repos.d
sudo sed -i -e 's/^mirrorlist=/#mirrorlist=/' -e 's/^#baseurl=/baseurl=/' -e 's@mirror.centos.org/centos@vault.centos.org@' -e 's/$releasever/5.11/' -- /etc/yum.repos.d/CentOS-Base.repo 
``` 

##必要となるモジュールの組み込み
***
###libstdc++.so.6
CentOS6,7 だと yum で標準で入るもので問題無いのですが
CentOS5 だと GLIBXX_3.4.8 までしか使えないのでインストール時にエラーとなります。
インストーラーのバージョン判定：/usr/lib にある 32bit 版の libstdc++.so.6
実際の使用(Apache/MySQL etc) ：/usr/lib64にある 64bit 版の libstdc++.so.6
となっているようです。

ソースからコンパイルするのも時間の無駄なので
今回は安直な方法で済ませます。

余談ですが事前に gcc でコンパイルも試した際の結果ものせておきます。
・最近の gcc は/.contrib/download_prerequisitesで関連ファイルを
　事前にダウンロードしておくスクリプトまで用意されてるようです。
・それでもCorei7 SSDのVM環境では、コンパイルに2時間近く掛かってしまってました。
・元々のファイルは 1MB弱なのに 6MB ぐらいのが出来てしまいました。
・64bit版は作ってくれましたが 32bit のは作ってくれませんでした。
という事で、下記の安直な方法でインストールしていきます。
***
####libstdc++.so.6 32bit 版
[CentOS5.5 と Firefox4.0](http://mrs.suzu841.com/tebiki/firefox4/)の記事を参考に libreoffice から libstdc++.so.6 だけを取り出します。[^2]
入手先はこちら
http://www.filewatcher.com/m/libreoffice3-ure-1.7.0-202.i586.rpm.3881130-0.html
適当なフォルダにコピーした後、既存のシンボリックを削除して、同じ名前で保存します。

```Bash
rpm2cpio libreoffice3-ure-1.7.0-202.i586.rpm | cpio -id
sudo rm /usr/lib/libstdc++.so.6
sudo cp opt/libreoffice/ure/lib/libstdc++.so.6 /usr/lib
strings /usr/lib/libstdc++.so.6 | grep GLIBC
```
画面の表示に GLIBCXX_3.4.9 が含まれている事を確認しておきます。
***
####libstdc++.so.6 64bit版
上記のファイルの64bit版は、下記に見つかりました。
http://www.filewatcher.com/m/LibO_3.4.5_Linux_x86-64_install-rpm_en-US.tar.gz.168834387-0.html
解凍した中に libreoffice3.4-ure-3.4.5-502.x86_64.rpm というファイルがあるので
適当なディレクトリにコピー後

```Bash
rpm2cpio libreoffice3.4-ure-3.4.5-502.x86_64.rpm | cpio -id
sudo rm /usr/lib64/libstdc++.so.6
sudo cp opt/libreoffice3.4/ure/lib/libstdc++.so.6 /usr/lib64
string /usr/lib64/libstdc++.so.6 | grep GLIBC
```

こちらも GLIBCXX_3.4.9 がインストールされている事を確認しておきます。
***
### perl-Data-Dumper
mysql_install_db が sh から perl に変更された為にインストールする必要があります。
こちらも CentOS6/7 なら yum で簡単に入りますが
CentOS5 では rpm でいれる事になります。
http://rpm.pbone.net/index.php3/stat/4/idpl/21890402/dir//com/perl-Data-Dumper-2.125-4.2.x86_64.rpm.html
上のファイルをダウンロード後

```Bash
rpm -ivh perl-Data-Dumper-2.125-4.2.x86_64.rpm
```
でインストールしておきます。
***
## bitnami で redmine をインストールする。

bitnami の公式サイトからインストーラーをダウンロードします。
https://bitnami.com/stack/redmine/installer

あとはインストーラーの指示に従って入力していくだけです。
ここから先は、大勢の方が画像付きで解説されているので省略しますが
諸般の事情で安易にサーバーのバージョン変更出来ないような方でも
これで安心して最新の redmine 使えるようになりますね^^

にしてもサポート終了した時点で
CentOS7かUbuntu16あたりに乗り換えた方が
別の意味では安心ですが...^^;
***
##インストール完了後の環境
redmine 3.3.3.0
Ruby 2.2.10
Rails 4.2.8
Bundler 1.14.5
Apache 2.4.25
MySQL 5.6.35
php 5.6.30

***
[^1]: EOL になった CentOS の yum 設定を変更する https://blog.cles.jp/item/4937
[^2]: CentOS5.5 と Firefox4.0 http://mrs.suzu841.com/tebiki/firefox4/