いつもこの設定をするのに時間がかかるので、メモしておきます
centOSにrails,passengerのインストール手順(前提条件としてはアッパチはインストールしている)
1.インストール いろいろインストールしておかないとpassengerをインストールすときにエラーがでる。(多分この程度でいけると思う)
8.ファイヤーウオールで443を開ける
9.アパッチの再起動
10.アクセス https://www.hillclimb.com/rails/store
このときにpassengerでエラーが出る事があります。そのときはアパッチのログやrailsプロジェクトのログをみれば大抵何が悪いかわかります。それでもわからない時はdevelopmentの設定を使って起動してみてください。多分問題は無く起動します。そこでどの設定が関係しているかを順番に潰していく方法かな。。
1.インストール いろいろインストールしておかないとpassengerをインストールすときにエラーがでる。(多分この程度でいけると思う)
# yum -y install readline-devel.x86_64 # yum -y install zlib-devel.x86_64 # yum -y install sqlite-devel # yum -y install curl # yum -y install curl-devel # yum -y install openssl-devel # yum -y install httpd-devel openssl openssl-devel apr-devel2.rubyのインストール
# bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) # source /etc/profile.d/rvm.sh //一応1.9.3をインストール # rvm install 1.9.3 # gem install rails # gem install passenger # passenger-install-apache2-module 途中に出てくるLoadModule.....をメモしておく3.railsプロジェクトをサーバーにコピー
3.1Gemfile のtherubyracer のコメントを外す 3.2/var/www/railsにプロジェクトをコピー 例:storeの場合 /var/www/rails/store 3.2シンボリックリンクを張る 例:storeの場合 cd /var/www/html/rails ln -s /var/www/rails/store/public store4.http設定ファイルの追加
/etc/httpd/conf.d/rails.confを作成 *3でメモした物を貼付ける *RailsBaseURIをセットする 例:storeの場合 LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p374/gems/passenger-3.0.19/ext/apache2/mod_passenger.so PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p374/gems/passenger-3.0.19 PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p374/ruby RailsBaseURI /rails/sotre 注意:LoadModule以降の内容は環境によって違います。5.コンパイル
bundle install rake db:migrate RAILS_ENV=production rake assets:precompile6.SSL証明書作成
# cd /etc/pki/tls/certs # make server.key umask 77 ; \ /usr/bin/openssl genrsa -aes128 2048 > server.key Generating RSA private key, 2048 bit long modulus ......................................................++++++ .............++++++ e is 61251 (0x10001) Enter pass phrase:# パスフレーズ設定 Verifying - Enter pass phrase:# 再入力 # 秘密鍵からパスフレーズを削除 # openssl rsa -in server.key -out server.key Enter pass phrase for server.key:# パスフレーズ入力 writing RSA key # # make server.csr umask 77 ; \ /usr/bin/openssl req -utf8 -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:JP# 国 State or Province Name (full name) [e]:OSAKA # 地域(県) Locality Name (eg, city) [Default City]:OSAKA# 都市 Organization Name (eg, company) [Default Company Ltd]:ABC # 組織名 Organizational Unit Name (eg, section) []:develop # 組織の部門名 Common Name (eg, your server's hostname) []:www.hillclimb.com # サーバーのFQDN Email Address []:xxx@hillclimb.com# 管理者アドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:# 空Enter An optional company name []:# 空Enter # # openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 # 有効期限が10年の自己署名証明書を作成 Signature ok subject=/C=JP/ST=Hiroshima/L=Hiroshima/O=GTS/OU=Server World/CN=www.hillclimb.com/emailAddress=xxx@hillclimb.com Getting Private key # chmod 400 server.* //これをしないとアパッチ起動時にパワードを聞かれる # cp -p server.key server.key.org # openssl rsa -in server.key.org -out server.key7.ssl インストールと設定
# yum -y install mod_ssl # vi /etc/httpd/conf.d/ssl.conf # 77行目:行頭の#を削除 DocumentRoot "/var/www/html" # 78行目:#を削除しサーバー名指定 ServerName www.server.world:443 # 105行目:証明書指定 SSLCertificateFile /etc/pki/tls/certs/server.crt # 112行目:鍵ファイル指定 SSLCertificateKeyFile /etc/pki/tls/certs/server.key
8.ファイヤーウオールで443を開ける
9.アパッチの再起動
10.アクセス https://www.hillclimb.com/rails/store
このときにpassengerでエラーが出る事があります。そのときはアパッチのログやrailsプロジェクトのログをみれば大抵何が悪いかわかります。それでもわからない時はdevelopmentの設定を使って起動してみてください。多分問題は無く起動します。そこでどの設定が関係しているかを順番に潰していく方法かな。。
0 件のコメント:
コメントを投稿