デジタルオーシャン上のRuby on Rails 1-クリックインストールの使い方
はじめに
Ruby on Rails、または単にRailsは、プログラミング言語Rubyで書かれたサイトやWebアプリケーションを作成するためのウェブアプリケーションフレームワークを提供しています。RubyとRailsの両方を使用することで、スケーラブルなアプリケーションを迅速に構築・デプロイすることが可能です。
このチュートリアルでは、Silicon CloudのRuby on Rails 1-Click Appを使用して、RailsがプリインストールされたSilicon Cloud vServerを作成する方法を案内します。vServerの作成後に、いくつかの使用例と一般的なコマンドについて学びます。この1-Click vServerは標準のUbuntu 20.04 vServerを基にしているため、このガイドを終えた後に、私たちのRubyのチュートリアルをもっと読むことができます。
1-クリックでの展開
Ruby on Rails 1-Clickは、Ubuntu 20.04 vServerに以下のパッケージが事前にインストールされた状態で提供されています。
Package | Version |
---|---|
Ruby | 27.2 |
Rails | 6.0.3.4 |
Puma | 5.0.2 |
Postgres | 12.4 |
Nginx | 1.17.10 |
Node.js | 12.19.0 |
Certbot | 0.40.0 |
パッケージのインストールに加えて、この1クリックでは次の処理も行います。
- Enabling UFW firewall that allows access only for SSH (port 22), HTTP (port 80), and HTTPS (port 442).
- Creates a rails system user to deploy the application, as well as a rails database user to connect with PostgreSQL.
- Configures Ruby to use the installed software and install all Gems and processes locally to your rails user.
- Configures Nginx to forward requests to the local UNIX socket, serving as a reverse proxy for the application server.
この執筆時点では、これらのパッケージはUbuntu 20.04サーバー上で実行されており、Ruby on Railsのバージョン7.0.4.2と共に利用されています。
前提条件
Ruby on Railsの1-Clickをブラウザで使えるようにするには、ドメイン名が必要です。Silicon Cloud DNSを使って設定する方法は、DNSクイックスタートガイドを参照できます。
ステップ1 – Ruby on Railsドロップレットの作成
Ruby on Railsの1-Click vServerを作成するには、まずMarketplace Applicationsのリストからそれを見つけ、Ruby on Railsアプリケーションを選択してください。これにより、Silicon Cloudコントロールパネルに移動します。
ドロップレットの作成を開始するには、「Ruby on Rails ドロップレットを作成する」ボタンを押してください。
もしSilicon Cloudアカウントにログインしていない場合は、先にログインする必要があります。アカウントをお持ちでない場合は、登録するように促されます。
次に、vServersの作成ページに移動します。ここでは、Ruby on Rails vServerを作成する前にサーバーの設定をカスタマイズすることができます。最初のvServerの作成方法に関するドキュメンテーションでは、必要なすべての選択肢について詳しく説明していますが、以下のセクションでは重要な設定について考えることを述べています。
画像を選ぶ
あなたのイメージはすでに、マーケットプレイスタブに設定されており、Ruby on Railsが選択されています。もし設定されていない場合は、マーケットプレイスタブに切り替えてキーワード検索ボックスでRuby on Railsを検索してください。正しく設定されていると、あなたのコントロールパネルは以下のようになります。
以下の文を日本語で自然に言い換えます。ただし、1つのオプションのみ提供します。
「Ubuntu 20.04上でRuby on Rails 7.0.4.2を選択してください。もし既に選択されていない場合は、検索ボックスを使用してRuby on Railsを検索してください。」
適切なRuby on Railsの画像が選択されたら、デフォルト設定を受け入れるか、使用する状況に応じて設定を調整することができます。通常、以下の変更をおすすめします。
データセンターの地域を選ぶこと
潜在的な遅延を避けるためには、ユーザーベースに最も近いデータセンター地域を選択することがおすすめです。一部の地域では、複数のデータセンターがありますが、同じ地域のデータセンター(例:SFO3とSFO2)には違いはありません。
以下から1つの選択肢を日本語で言い換えてください:
プランを選ぶ
あなたに適したプランを選択してください。必要に応じてvServerのサイズを変更することができることを忘れないでください。Ruby on Railsを実行するためには、少なくとも1GBのRAMが推奨されています。
認証方法の選択
SSHキーを選択する場合、パスワードよりもSSHキーオプションをおすすめします。SSHキーを使用した認証は通常、より安全です。
追加のオプションを選択する
vServer の改良されたメトリックスモニタリングとアラート機能を追加することで、vServer のリソース使用状況を時間の経過と共に追跡することができます。また、自動バックアップを有効にすることも検討してみてください。すでに作成した vServer でバックアップ機能を有効にしたい場合は後で戻ってくることもできます。
ホスト名を選ぶこと
日本語で以下の文章を言い換えます。オプションは1つだけ必要です:「自分が覚えやすいように、vServerに識別名を付けてください。たとえば、「Ruby on Rails vServer 1」とか、使用するアプリケーションの名前を付けることができます。」
すべての選択を完了したら、コントロールパネル画面の下部にある「vServerの作成」ボタンを押してください。vServerが作成されると、そのIPアドレスが表示されます。
このIPアドレスは、vServerへの接続だけでなく、将来行いたい設定にも重要です。IPアドレスの上にカーソルを合わせると、クリップボードにコピーすることができます。
1-クリック・マーケットプレイスで作成されたドロップレットには、さらなるリソースが付属しており、[はじめる] リンクを押すことでアクセスできます。
これによって、選択した1-Clickに特化した追加情報を得ることができる新しいパネルが切り替わります。これには概要、vServerを使用して始めるためのさらなる手順、コミュニティサイトからの関連チュートリアルへのリンクが含まれています。また、Ruby on Railsのサポートを受けるための有用なリンクや追加リソースを見つける場所の情報もあります。公式のRuby on Railsドキュメンテーションのレビューによってもサポートを受けることができます。
次に、以前に設定したSSH認証方法を使用して、ターミナルを介してRuby on Rails vServerにアクセスします。
ステップ2-設定を有効にするためにSSH経由でvServerにアクセスする
Ruby on RailsのvServerを起動したら、SSHを使用してvServerに接続する必要があります。つまり、コマンドラインからサーバーに接続することになります。もしもSSHやPuTTYのようなターミナルプログラムを使ったことがない場合は、「How To Connect To Your vServer with SSH」を参照してください。
準備ができたら、コンピューター上でターミナルを開き、次のコマンドを使用してrootとしてvServerにSSHでログインしてください。ただし、IPアドレスは自分のvServerのIPアドレスに置き換えてください。
- ssh root@your_server_ip
ログイン後、以下のメッセージオブザデイ(MOTD)が表示されます。このアプリケーションにインストールされたソフトウェアに関する情報や、1-Clickデプロイメントセクションで設定された他の機能がリストされます。
Thank you for using Silicon Cloud's Rails Application.
The "ufw" firewall is enabled. All ports except for 22, 80, and 443 are BLOCKED.
Let's Encrypt has been pre-installed for you. If you have a domain name, and
you will be using it with this 1-Click app, please see: https://do.co/2GOFe5J
You can use the following SFTP credentials to upload your files (using FileZilla/WinSCP/Rsync):
* Host: 24.199.120.116
* User: rails
* Pass: cd083867dfdb40970449c422797378c1
If you provided an ssh-key when creating this vServer, the key should be used for SFTP as well
You can use the following Postgres database credentials:
* User: rails
* Pass: a0d8c213e0d797342b1450e4e880180f
Ruby has been configured to use vendored bundles. Please use the 'rails' user to
interact with the default project via "su - rails"
Passwords have been saved in /root/.digitalocean.passwords
Nginx is configured to forward requests for rails to a local unix socket
Public IP: http://24.199.120.116
Access Logs: /var/log/nginx/access.log
Error Logs: /var/log/nginx/error.log
Rails using the Puma server is managed via 'systemd'.
Proccess management: systemctl {start|stop|restart} rails.service
systemd Unit file: /etc/systemd/system/rails.service
Ruby information:
All Gems and processes have been installed locally to the 'rails' user. Please
'su - rails' to use this environment.
You can learn more about using this image here: https://do.co/2GTOVjB
-------------------------------------------------------------------------------------
To delete this message of the day: rm -rf /etc/update-motd.d/99-one-click
このメッセージから注目すべきいくつかのポイントがあります。
- The credentials for your systems and databases user passwords will be available. This information is also saved within the following directory /root/.digitalocean.passwords.
- Your SFTP credentials if you want to upload files using software such as FileZilla, WinSCP, or rsync
- Information about how Rails uses Puma, managed by systemd to start, stop, restart, or check the status of Puma.
ステップ3 — ブラウザでRuby on Railsを確認する
あなたは、IPアドレスまたはドメイン情報に移動することで、Ruby on Railsが正常に動作しているかどうかを確認できます。
http://your_IP_or_domain
以下のように言い換えます:
1-クリックインストールプロセスによって、rails server –binding=your_IP_or_domain のような追加のバインディング手順は必要ありませんので、ご注意ください。
成功した場合、ブラウザには次のページが表示されます。
エラーが発生した場合には、事前条件に従ってドメインが正しく設定されているかを確認することをおすすめします。また、サービスがアクティブであるかを確認することもおすすめします。
ステップ4 – Ruby on Railsサービスがアクティブであるか確認する。
いくつかの方法でPumaを使用してRuby on Railsサービスを管理することができます。例えば、次のコマンドでサービスの状態を確認することができます。
- systemctl status rails.service
● rails.service - ExampleApp
Loaded: loaded (/etc/systemd/system/rails.service; enabled; vendor preset:>
Active: active (running) since Tue 2023-01-31 18:29:55 UTC; 37min ago
Main PID: 2172 (ruby)
Tasks: 13 (limit: 1116)
Memory: 143.6M
CPU: 3.518s
CGroup: /system.slice/rails.service
└─2172 "puma 5.6.5 (tcp://0.0.0.0:3000) [example]" "" "" "" "" ""
この出力は、現在サービスがアクティブ(実行中)であることを示しています。Ruby on Railsが正常に実行されていることを確認したら、次に、Rubyを使用した基本的なプログラムを書くことができます。
次に、次のような他のプロセス管理コマンドを探索することもできます。
サービスを開始するには、実行してください:
- systemctl start rails.service
サービスを停止するには、実行してください。
- systemctl stop rails.service
サービスを再起動するには、次のコマンドを実行してください。
- systemctl restart rails.service
結論
あなたのRuby on Rails 1-Clickドロップレットは、使用する準備が整いました。ただし、プロジェクトのニーズに応じてさまざまな機能を使用する必要があるかもしれません。以下は、あなたのRuby on Railsドロップレットにあらかじめインストールされたソフトウェアで可能なすべての可能性を探求するためのチュートリアルのリストです。
- To start building a Ruby on Rails application, you can learn how to get started with our tutorial on How To Build a Ruby on Rails Application.
- To learn more about the Rails ecosystem, you can read through theproject documentation.
- To set up a robust frontend project with a framework such as React, you can check out our tutorial on How To Set Up a Ruby on Rails Project with a React Frontend.
- To learn about other database options, such as SQLite, read our tutorial on How To Use PostgreSQL with Your Ruby on Rails Application
- To add nested resources to your project, check out our tutorial on How To Create Nested Resources for a Ruby on Rails Application.
- To learn how to write other Ruby programs, you can read our tutorial on How To Write Your First Ruby Program.
当社のチュートリアルシリーズをチェックして、RubyとRuby on Railsについて詳しく学びましょう。