ConoHa VPS

ConoHa VPSでRail環境を簡単に作成する【テンプレート使用】

ConoHa VPSでRailsが使える環境が欲しいんだけど?

テンプレート使えば簡単ですよ。

この記事ではConoHa VPSでRuby on Railsの環境を簡単に作るべく、テンプレートを使って作っていきたいと思います。

記事の内容

  • ConoHa VPSでサーバーを立てる
  • Railsテンプレートで作成したサーバーを確認する
  • ブラウザからアクセスして確認する

ConoHa VPSでRails環境が欲しかったら見てみてください。

ConoHa VPSでRails使えるようにしていきましょう。

ConoHa VPSでサーバーを立てる

まずはConoHa VPSでサーバーを立てます。自分は今契約しているものがあるので、それを使ってやりますがまだ契約していない場合はまずはここからです。

ConoHa VPSから申し込むと最大1ヶ月無料で使える700円分クーポンがプレゼントされるようです。

ConoHa VPSに申し込む

申し込み画面はこんな感じです。Railsのようなアプリケーションを公開したりしたいならサービスにはVPSを選びましょう。

  • VPS割引きっぷ・・・3ヶ月以上使う場合は利用すると安い
  • プラン・・・メモリによって変わってくる(最低でも1GBがおすすめ)

イメージタイプはCentOSやUbuntuなどのOSも選ぶことができるんだけど、アプリケーションのテンプレートもあります。テンプレートを使えばすぐにアプリケーションを動く環境を用意してくれる。

今回はRuby on Railsを使っていきます。

ポイント

サーバーの再構築はできるから、気に入らなかったらCentOS入れたり別のテンプレート使ったりっていうことができます。

  • rootパスワード・・・好きなrootパスワード
  • ネームタグ・・・管理画面に表示されるサーバーの名前

オプションは何か設定したいものがあれば設定しておきましょう。SSH Keyはここで作っておくと楽です。

選択していくだけでサーバー構築ができるから楽ですね。

サーバー再構築の場合

既にConoHa VPSを使っていて、今のサーバーを再構築したい場合はサーバーをシャットダウンしてから[サーバー再構築]を行うことができます。

再構築する際も同じようにOSやテンプレートを選ぶことができる。

Railsテンプレートで作成したサーバーを確認する

サーバーを立てたら、接続して確認してみます。コンソールからでもいいんだけど、使いづらいのでSSH接続してからやることをおすめします。

ConoHa VPS

ConoHa VPSでSSH接続する方法とおすすめ設定を紹介します。

2022/8/2  

今回はそんなConoHa VPSでSSH接続する方法を書いていきたいと思います。 SSH接続する方法を見ていくんですが、後半ではセキュリティ面を意識してrootユーザーではSSH接続できないようにして ...

見てみるとrubyもrailsも入っていますね。

root@xxx.xx.x.xxx:~# ruby -v
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-linux]

root@xxx.xx.x.xxx:~# rails -v
Rails 7.0.2.3

root@xxx.xx.x.xxx:~# rbenv -v
rbenv 1.2.0-14-gc6cc0a1

OSも確認してみるとUbuntuでした。

root@xxx.xx.x.xxx:~# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"

データベースも確認する

データベースの中身も確認してみるとこんな感じでした。

$ mysql -uroot
# ユーザー確認
$ select user, host from mysql.user;
+-------------+-----------+
| User        | Host      |
+-------------+-----------+
| mariadb.sys | localhost |
| mysql       | localhost |
| rails_user  | localhost |
| root        | localhost |
+-------------+-----------+
4 rows in set (0.007 sec)

# DB確認
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| rails_development  |
| rails_production   |
| sys                |
+--------------------+
6 rows in set (0.001 sec)

# テーブルの中身確認
$ use rails_production;
Database changed
$ MariaDB [rails_production]> show tables;
Empty set (0.001 sec)

すでにrails_developmentとrails_productionっていうのがありますね。ユーザーもrails_userっていう奴がいました。

初期パスワード等はSSH接続時に表示される

SSH接続すると以下のようにMySQLの情報が表示されます。パスワードも表示されますね。

Welcome to Rails application!

Sample Application:       /home/rails/sample
Unicorn systemd.service : /usr/lib/systemd/system/unicorn_sample_app.service
URL:                      http://160.xxx.xx.xxx/sample/
MySQL root password:      mfYUl1WYa2cBA
MySQL rails user name:    rails_user
MySQL rails user pass:    VeeR4vee
MySQL rails DB(dev) name: rails_development

今回は試しにこのパスワードを使ってやってみます。

ブラウザからアクセスしてみる

IPアドレスをブラウザに入力してアクセスしてみるとRailsのページが表示されました。

おー、最初から動くようになってるのね。

そうだね、ちょっと中身見てみましょう。

最初から動くということはWebサーバーやアプリケーションサーバーなど動いていると思うので見てみましょう。

Nginxが入っている

まずWebサーバーですがNginxが起動していますね。

$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-11-28 11:28:06 JST; 19min ago

ポートの確認

アクセスできるということは、firewall的なもので指定していると思うので確認してみます。firewalldはなかったのでufwでした。OSがUbuntuでしたからね。

$ ufw status
Status: active

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
22                         ALLOW       Anywhere
80 (v6)                    ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)

80番とSSH接続の22番だけ許可されていますね。

Unicornも入っている

Nginxの設定ファイルのsample.confっていうのがあったので見てみるとこうですね。

$ cat /etc/nginx/conf.d/sample.conf
server {
    listen       80;

    location ~ ^/sample/assets/(.*) {
        alias /home/rails/sample/public/assets/$1;
    }

    location / {
        proxy_pass http://unicorn;
    }
}

多分unicorn動いているので見てみると動いています。

$ ps -ef | grep unicorn | grep -v grep
rails      11620       1  0 11:29 ?        00:00:02 unicorn master -c /home/rails/sample/config/unicorn.rb -l0.0.0.0:8080
rails      11662   11620  0 11:29 ?        00:00:00 unicorn worker[0] -c /home/rails/sample/config/unicorn.rb -l0.0.0.0:8080
rails      11663   11620  0 11:29 ?        00:00:00 unicorn worker[1] -c /home/rails/sample/config/unicorn.rb -l0.0.0.0:8080
rails      11664   11620  0 11:29 ?        00:00:00 unicorn worker[2] -c /home/rails/sample/config/unicorn.rb -l0.0.0.0:8080
rails      11666   11620  0 11:29 ?        00:00:00 unicorn worker[3] -c /home/rails/sample/config/unicorn.rb -l0.0.0.0:8080

アプリケーションの場所

/home/rails/sampleがアプリケーションの場所なので、初期状態のアプリケーションを確認したかったらみてみるといいですよ。

$ cd /home/rails/sample

確認した環境

Railsテンプレートを使って作ったサーバーの環境としてはこんな感じでした。

  • OS・・・Ubuntu(20.04.4 LTS)
  • Rails・・・7.0.2.3
  • Ruby・・・3.1.1p18
  • Webサーバー・・・Nginx
  • アプリケーションサーバー・・・Unicorn

Railsっていう感じの構成ですね。ちなみにrbenvも入っていました。

カスタマイズして公開することは簡単そう

既にRailsアプリケーションが動く環境は用意されているので、初期状態のアプリケーションを編集して公開したり、自分のアプリをアップロードして公開したりっていうことは最初から構築するよりも楽にできそうです。

作成したオリジナルのRailsアプリケーションを公開する時にはRailsテンプレート使ってやってみてもいいですね。

ドメインを割り当ててSSL化して公開する場合

ドメインを割り当ててSSL化して公開したい場合は、以下の記事でやっているのでよかったら参考にしてみてください。

ConoHa VPS

ConoHa VPSでSSL化を行う【お名前.com/Nginx/アルファSSL】

2022/11/28  

そんな疑問を解消するために、この記事ではConoHa VPSで設定したドメインをSSL化する方法を書いていきます。 ConoHa VPSでSSL化したい方は参考にしてみてください。ちなみにですが、今回 ...

  • この記事を書いた人

管理人

各VPSの使い方を紹介します。

-ConoHa VPS