SSL証明書設置 (Apache2.4 + mod_ssl)
o_wani
owani.net#stay.hungry
CentOS7
にApache2.4
という構成のサーバがある。今回はそこでrails4.2.5
を動かすことになったので最新のpassenger5
系で、railsプロジェクトを動かす手順は前回記載した。今回はproductionモード(本番公開)で動かす手順を記載する。
今回は以下の環境がすでに出来ている状態から行う。
今回のサーバ構成
- CentOS 7
- Rails 4.2.5.1
- ruby 2.3.0
- Apache 2.4.6
- Passenger 5.0.24
passenger-devel
のインストールpassengerのバージョン確認。
1.$ passenger-config --version
2.Phusion Passenger 5.0.25
passenger-develのインストール。
1.$ sudo yum install passenger-devel-5.0.25
rake secret
でkey作成1.$ RAILS_ENV=production rake secret
2.3u8fjeiofj8fgu44a3jjvodkjfvdsmfe90ut3490t4jvhb099aa5m64ty2967hh5fq5
/etc/profile
の修正/etc/profile
の編集
1.$ sudo vi /etc/profile
最後の行に以下の内容を追加。
1.export SECRET_KEY_BASE=3u8fjeiofj8fgu44a3jjvodkjfvdsmfe90ut3490t4jvhb099aa5m64ty2967hh5fq5
.bash_profile
の修正1.$ vi ~/.bash_profile
最後の行に以下の内容を追加。
1.export SECRET_KEY_BASE=3u8fjeiofj8fgu44a3jjvodkjfvdsmfe90ut3490t4jvhb099aa5m64ty2967hh5fq5
ターミナルを一回ログアウトし、ログイン。
1.$ echo $SECRET_KEY_BASE
2.3u8fjeiofj8fgu44a3jjvodkjfvdsmfe90ut3490t4jvhb099aa5m64ty2967hh5fq5
/etc/httpd/conf.d/vhost.conf
へRailsEnv production
の追記
1.<VirtualHost *:80>
2....
3.RailsEnv production
4....
5.</VirtualHost>
圧縮した、CSSやjsや画像が出来あがる。
1.$ bundle exec rake assets:precompile RAILS_ENV=production
Apacheを再起動する。
1.$ sudo /etc/init.d/httpd restart
productionモードで画像が表示されなくなったので、自分の場合、app/assets/images
の画像をpublic/assets
にコピーして対応した。あとで、ちゃんとした対応を調べよう。
productionモードのほうがパフォーマンスも高く、404のときもエラーではなく404ページが表示されるようになる。
参考サイト:
How to solve error “Missingsecret_key_base
for ‘production’ environment” on Heroku (Rails 4.1)