CentOS6.6をftp.riken.jpのリポジトリよりminimum構成でインストールした後の状態から始めます。
コマンドを実行するユーザはrootである前提で書いてますので、それ以外のユーザで実行する場合はsudoしてください。
あとProxyの必要ない環境を前提としていますので、万が一Proxyの内側でやらなければならないという時にはyumとwgetのProxyの設定はご自分で行ってください。
やること
sshdのセットアップ
準備ではありますが本質ではないので省略します。
PermitRootLogin noとかPortとか設定すれば良いでしょう。
iptablesのセットアップ
これも省略します。
sshdが使うポートとapacheが使うポート、ループバック、ESTABLISHEDとRELATEDを許可してあげてあとは全てDROPしてしまって良いでしょう。
rubyのセットアップ
まず、色々取ってくるためにwgetをyumで取得します。
URL打つのが面倒だったらLynx(CUIで動くWebブラウザ)使ってしまっても良いかもしれません。
yum install wget
Rubyの動作にはyamlが必要なので取得します。
ソースコンパイルしても良いのですが怠けてepelリポジトリから貰ってくることにします。
epel便利だからきっと他にも使うことがあるかもしれないですし。
cd ~ wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm yum install libyaml-devel
Ruby2.1.6のソースコードを公式Webからダウンロードします。
CentOSのリポジトリからyumで取得すると未だに1.8.7が落ちてくるのでさすがにちょっと…
取得したらtarで展開してその中に移動します。
wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz tar -zxvf ruby-2.1.6.tar.gz cd ruby-2.1.6
実はCentOSのminimum構成ってgccが入っていないので取得します。
makeは最初から入ってるのに何故…?
yum install gcc ./configure make install
apacheとどどんとふのセットアップ
apacheをインストールします。
どどんとふはzipで配布されているのでunzipも。
yum install httpd unzip
どどんとふをダウンロードして、unzipで展開します。
cd ~ wget http://www.dodontof.com/Download/DodontoF_release/DodontoF_Ver.1.46.00_MASTERPIECE.zip unzip DodontoF_Ver.1.46.00_MASTERPIECE.zip
どどんとふの必要ファイルを設置します。apacheのvirtual hostとかでDocumentRootを変える必要がある場合は/var/wwwの部分を適宜読み替えてください。
cd DodontoF_Webset mv * /var/www/
これが今回一番のハマりポイントだったんですが、SELinuxの関係でファイルのセキュリティコンテクストを弄らなければならなかったのでそのためのツールをyumから取得します。
yum install policycoreutils-python
chownでどどんとふのファイルたちの所有権をapacheに移します。
chconでhttpdが読める様にセキュリティコンテクストを変更します。
cd /var/www chown -R apache:apache public_html/ saveData/ chcon -R -t httpd_sys_content_t public_html/ saveData/
httpdの設定が置いてあるディレクトリに移動し、設定を書き換えます。
cd /etc/httpd/conf vi httpd.conf
以下がその内容。
DocumnetRootの変更
DocumentRoot "/var/www/html"
-> DocumentRoot "/var/www/public_html"
CGIスクリプトの有効化と、その拡張子にrbを追加
#AddHandler cgi-script .cgi
-> AddHandler cgi-script .cgi .rb
DocumnetRootの変更に伴う設定対象の修正
<Directory "/var/www/html/">
-> <Directory "/var/www/public_html/">
どどんとふ設置ディレクトリのデフォルトファイルを変更
以下を空いてる場所に追記
<Directory "/var/www/public_html/DodontoF/">
DirectoryIndex DodontoF.swf
</Directory>
Rubyバイナリの場所を確認し、DodontoFServer.rbを書き換えます。
文字コードを指定する-KオプションはRubyの1.8系までのもので、今回使う2.1.6では-Eオプションを使うのでそこも修正します。
which ruby
=>/user/local/bin/ruby
cd /var/www/public_html/DodontoF/
vi DodontoFServer.rb
#!/user/local/bin/ruby -Ku
-> #!/user/local/bin/ruby -EUTF-8
どどんとふの実行ファイルに実行可能権限を付けます。
chmod 700 DodontoF*.rb
httpdをstartします。
service httpd start
ここまででとりあえず動くはずです。
が、セキュリティとか色々穴だらけなので実際に公開するにはもう少しいじる必要があるでしょう。
具体的にはDocumentRootにアクセスするとindex.htmlがないのでCentOS+apacheのデフォルトページが表示されてしまう、400番台のエラーページがデフォルトになのでOSとapacheバージョンがばれる、などなど。