制作部の里山です。
弊社もクラウドの波に乗るべく、
案件で使っているRedmineをAWSに乗っけようとしているのですが、
取り敢えずサーバーを立てるところまで完了しました。
【前提環境】
Amazon Linux AMI
Nginx 1.6
MySQL 5.5
httpを強制https化
という部分の環境構築まで完了したので、
メモを兼ねてブログに乗っけようと思います。
以下、AWSから適当なスペックのEC2インスタンスを立ち上げ終わっているものとして記載。
【お約束】
# yum update
【RedmineJPの案内に従い色々インストール】
# yum -y groupinstall "Development Tools" # yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel # yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
【Ruby関係】
※任意のディレクトリに移動しておく※
■Rubyのインストール
# curl -O http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz # tar xvf ruby-2.1.5.tar.gz # cd ruby-2.1.5 # ./configure --disable-install-doc # make # make install
【MySQLの設定】
■MySQLのインストールと実行&初期起動の設定
# yum install mysql-server # sudo service mysqld start # chkconfig mysqld on
■MySQLのキャラセット調整と初期設定コマンド実行
# vi /etc/my.cnf ----------------------------- [mysqld] character-set-server=utf8 [mysql] default-character-set=utf8 # mysql_secure_installation -----------------------------
【nginxの設定&自己証明書の作成と設定】
■nginxのインストールと実行&初期起動の設定
# yum install nginx # sudo service nginx start # chkconfig nginx on
■自己証明書の発行
※任意のディレクトリに移動しておく※
# openssl genrsa -des3 -out server.key 2048 # openssl req -new -key server.key -out server.csr # cp server.key server.key.org # openssl rsa -in server.key.org -out server.key # openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
■nginxののconfig設定(/etc/nginx/nginx.conf)
# vi nginx.conf
-----------------------------
(省略)
server {
listen 80;
server_name localhost;
#root /projects/htdocs;
#add to https redirect
return 301 https://$host$request_uri; ※httpでアクセスされたらhttpsへのリダイレクト
(省略)
server {
listen 443;
server_name localhost;
root /projects/htdocs; ※ログの出力先を設定
ssl on;
ssl_certificate /etc/nginx/cert/server.crt; ※SSL証明書のパスを設定
ssl_certificate_key /etc/nginx/cert/server.key; ※SSL証明書のパスを設定
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
}
}
(省略)
-----------------------------
という感じに設定しておき、適当なファイルをドキュメントルートに配置しておけば、
httpでもhttpsでも、強制的にhttpsでアクセスできるようになります。
次回はRedmineのインストールとかUnicornの設定など。
では。