SinatraアプリをCentOSで動かす
ImageMagick を使うのでインストール。
[takatoh@aybesea ~]$ sudo yum install ImageMagick
GitHub から clone。
[takatoh@aybesea ~]$ cd w
[takatoh@aybesea w]$ git clone git@github.com:takatoh/sombrero.git
依存するライブラリをインストール。bundler はインストール済み。
[takatoh@aybesea w]$ cd sombrero
[takatoh@aybesea sombrero]$ bundle install
設定ファイルを作る。実験なのでデフォルトのまま。
[takatoh@aybesea sombrero]$ cp config.yaml.example config.yaml
アプリのセットアップ。データベースや必要なディレクトリなど。
[takatoh@aybesea sombrero]$ rake setup
これで一応の準備は済んだはず。rackup してみる。
[takatoh@aybesea sombrero]$ bundle exec rackup config.ru
これで localhost:9292 で待ち受ける。ブラウザで確認したら OK だった。 外部からアクセスするにはポートを開けてやる必要がある。
[takatoh@aybesea sombrero]$ sudo firewall-cmd --add-port=9292/tcp --zone=public --permanent
[sudo] takatoh のパスワード:
success
さらにアプリを起動するときにも -o 0.0.0.0 オプションが必要。これは Sinatra の仕様。
[takatoh@aybesea sombrero]$ bundle exec rackup -o 0.0.0.0 config.ru
これでアクセスできるはず…できないな。 firewalld をリスタートさせてみる。
[takatoh@aybesea sombrero]$ sudo systemctl restart firewalld
[sudo] takatoh のパスワード:
[takatoh@aybesea sombrero]$ sudo firewall-cmd --list-ports
9292/tcp
今度は大丈夫。外部からもアクセスできて、期待どおりに動作していることが確認出来た。
