#参考サイト
es2の設定
・(デプロイ編①)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで
・Linuxグループ作成方法!groupaddで意外とすぐできる
・usermodコマンドについて詳しくまとめました 【Linuxコマンド集】
apacheインストール
・Red Hat
passengerインストール
・phusion/passenger - Github
mysqlインストール
・CentOS7.3 に MySQL5.7 をインストールした時のメモ - Qiita
apache,rbenvインストール参考サイト
・EC2にRails5環境を構築する - Qiita
getの設定
・[Git]
(https://git-scm.com/book/ja/v2/Git%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-SSH-%E5%85%AC%E9%96%8B%E9%8D%B5%E3%81%AE%E4%BD%9C%E6%88%90)
・GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ - Qiita
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!エラー
・SSH接続エラー回避方法:.ssh/known_hostsから特定のホストを削除する/削除しないで対処する3つの方法 - Qiita
バージョン
アプリケーション | version |
---|---|
AMI | Amazon Linux 2 |
Ruby | 2.5.3 |
Rails | 5.2.3 |
Apache | 2.4.41 |
MySQL | 5.7 |
Passenger | 6.0.4 |
#インスタンス設定
・ユーザの作成
$ sudo adduser <ユーザ名>
$ sudo passwd <ユーザ名>
$ sudo visudo
##vim~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
root ALL=(ALL) ALL # の下に追記
<ユーザ名> ALL=(ALL) NOPASSWD:ALL
##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ su - <ユーザ名>
・グループの作成、グループにユーザ追加
$ sudo groupadd <グループ名>
$ tail /etc/group
$ sudo usermod -g <グループ名> <ユーザ名>
$ id <ユーザ名>
・タイムゾーンを日本時間に設定
$ date
$ sudo cp -r /usr/share/zoneinfo/Japan /etc/localtime
$ sudo vim /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=true
$ date
apacheインストール
・apacheインストール
$ sudo yum -y update
$ sudo yum -y install httpd
$ sudo systemctl start httpd
$ sudo systemctl status httpd
$ sudo systemctl enable httpd.service
$ httpd -version
mysqlインストール、設定
・mysqlインストール
$ sudo yum -y install mysql-devel
$ sudo yum -y localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
$ sudo yum info mysql-community-server
$ sudo yum -y install mysql-community-server
$ mysqld --version
・mysqlの設定
$ sudo systemctl start mysqld
$ sudo systemctl status mysqld
$ sudo systemctl enable mysqld
$ sudo cat /var/log/mysqld.log | grep password
$ sudo mysql_secure_installation
$ mysql -u root -p
# ポリシー変更してパスワードの変更
mysql> SHOW VARIABLES LIKE 'validate_password%';
mysql> set global validate_password_length=6;
mysql> set global validate_password_policy=LOW;
mysql> use mysql
mysql> update user set authentication_string=password('パスワード') where user='root';
mysql> flush privileges;
Gitのインストール、設定
gitのインストール
$ sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum -y install git2u yum-utils
$ sudo yum-config-manager --disable ius
$ git --version
# git flow install
$sudo curl -OL https://raw.githubusercontent.com/nvie/gitflow/develop/contrib/gitflow-installer.sh
$ sudo bash gitflow-installer.sh
$ git-flow
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
$ ll -al
$ cd .ssh
$ ssh-keygen
$ cat <キー名>.pub
# 公開鍵をgithubに登録
# キーを命名した場合↓
$ sudo vi config
##vim~~~~~~~~~~~~~~~~~~~~~~~~
Host github github.com
HostName github.com
IdentityFile ~/.ssh/<キー名>
User git
##~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ ssh -T git@github.com
#rbenvインストール手順
・rbenv install
$ sudo yum install -y gcc gcc-c++ openssl-devel readline-devel
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ cat ~/.bash_profile
$ source ~/.bash_profile
$ rbenv -v
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ rbenv install -l
Railsアプリをインスタンス上に配置、立ち上げまで
$ sudo mkdir /sample
$ chown <ユーザ名>:<グループ名> /sample/
$ cd /sample
$ mkdir rails
$ cd rails
$ git clone <クローンするアプリ>
・Rubyのバージョン確認
$ cd <アプリのパス>
$ cat .ruby-version
・rubyのインストール
$ rbenv install -v 2.5.3
$ rbenv rehash
$ rbenv global 2.5.3
$ ruby -v
・bundlerのインストール
$ cat Gemfile.lock
##cat~~~~~~~~~~~~~~~~~
BUNDLED WITH
2.0.2
##~~~~~~~~~~~~~~~~~~~~
$ gem install bundler -v 2.0.2
・ railsアプリ立ち上げ
$ bundle install --path vendor/bundle
$ bundle exec rails db:create
$ bundle exec rails db:migrate
$ bundle exec rails s -d
$ ps aux | grep puma
$ curl http://localhost:3000
$ $ kill -9 <pumaのプロセスid>
Passengerのインストール
・passengerのインストール
$ gem install passenger
$ passenger-install-apache2-module
apache設定
$ sudo vim /etc/httpd/conf.d/sample.conf
##vim~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<VirtualHost *:80>
ServerName <ip または ドメイン>
DocumentRoot /sample/rails/<アプリ名>/public
RackEnv production
<Directory /sample/rails/<アプリ名>/public>
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
# passengerのモジュールインストール時に出でくるものを貼る
LoadModule passenger_module /home/*****/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/*****/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/passenger-6.0.4
PassengerDefaultRuby /home/*****/.rbenv/versions/2.5.3/bin/ruby
</IfModule>
##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ sudo systemctl restart httpd
でブラウザーからアクセスするとアプリが立ち上がっていると思います。