Ruby on Rails(RoR)は、MITライセンスの下で公開されているオープンソースのWebアプリケーションフレームワークです。 Ruby on Rails、またはrailsはRubyで記述されており、MVC(Model-View-Controller)の概念に従ったサーバー側のWebアプリケーションフレームワークです。 Railsは、データベース、ウェブサービス、ウェブページのデフォルトの構造を提供しています。 3000人を超える開発者がRailsフレームワークにコードを提供しており、Github、Airbnb、Soundcloudなど、Railsに基づく多くの有名なアプリケーションがあります。
このチュートリアルでは、ubuntu16.04LTSにRubyonRailsをインストールする方法を紹介します。 PostgreSQLデータベースを使用してRailsをインストールおよび構成する方法と、Railsを使用して新しい最初のプロジェクトを作成する方法を説明します。
前提条件
- Ubuntu16.04サーバー。
- root権限。
RVMまたはRubyバージョンマネージャーは、Rubyのインストールを管理するためのBashおよびRubyに基づくコマンドラインツールです。 RVMを使用すると、1つのシステムに複数のrubyバージョンをインストールして構成できます。
このステップでは、安定したRVMバージョンをインストールし、gpgコマンドを使用してリポジトリキーを追加します。
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
RVM安定版をインストールします。 curlコマンドがシステムにインストールされていることを確認してください。
curl -sSL https://get.rvm.io | bash -s stable --ruby
このコマンドは、RVMインストールに必要なパッケージをインストールしてから、最新の安定したRVMバージョンをダウンロードしてインストールします。
これで、最初に以下のコマンドを実行してRVMの使用を開始できます。
source /usr/local/rvm/scripts/rvm
Rubyの現在の安定バージョンは2.3.1です。 rvmコマンドを使用してインストールし、システムのデフォルトのルビーバージョンにします。
rvmを最新の安定バージョンに更新してから、Ruby2.3.1バージョンをインストールします。
rvm get stable --autolibs=enable
rvm install ruby-2.3.1
次に、2.3.1をシステムのデフォルトのルビーバージョンにします。
rvm --default use ruby-2.3.1
次に、以下のコマンドでルビーのバージョンを確認します。
ruby -v
Railsは、RailsアセットパイプラインをコンパイルするためにJavaScriptランタイムを必要とします。 Ubuntu LinuxでのRails開発の場合、JavascriptランタイムとしてNodejsをインストールするのが最善です。
nodesourceリポジトリからnodejsをインストールします:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install -y nodejs
RubyGemsはRubyパッケージマネージャーです。 gemが付属しています コマンドラインツールであり、Rubyをシステムにインストールすると自動的にインストールされます。
gemのバージョンを更新して確認してください:
gem update --system
gem -v
これはオプションです。以下の.gemrcファイルに新しい行を追加することで、すべてのgemインストールにドキュメントをインストールすることを無効にできます。
echo "gem: --no-document" >> ~/.gemrc
以下のgemコマンドを使用してRubyonRails5をインストールします。
gem install rails -v 5.0.0
インストールが正常に終了したら、レールのバージョンを確認します。
rails -v
そして、railsバージョンの結果が表示されます:
Rails 5.0.0
Rails5.0はRuby2.3.1を搭載したUbuntu16.04にインストールされています。
このステップでは、Rails開発用にPostgreSQLを準備します。 Ruby on Railsは、MySQL、SQLite(デフォルト)、PostgreSQLなどの多くのデータベースをサポートしています。このガイドのデータベースとしてPostgreSQLを使用します。
aptコマンドを使用してPostgreSQLとその他の必要なパッケージをインストールします:
apt-get -y install postgresql postgresql-contrib libpq-dev
インストールが完了したら、postgresユーザーにログインし、postgresqlシェルにアクセスします。
su - postgres
psql
以下のコマンドを使用して、postgresユーザーに新しいパスワードを入力します。
\password postgres
Enter new password:
次に、以下のコマンドを使用して、Rails開発用の「rails-dev」という名前の新しいロールを作成します。
create role rails_dev with createdb login password 'aqwe123';
ユーザーの新しいパスワードを設定し、ユーザーが作成されたことを確認します。
新しい役割を確認すると、新しい役割が作成されていることがわかります。
\du
Rails開発用にPostgreSQLデータベースが準備されました。
Ruby on RailsまたはRailsにはコマンド「rails」が付属しており、そのコマンドを使用して最初のアプリケーションをブートストラップできます。
PostgreSQLをデフォルトのデータベースとして使用して新しいアプリケーション「myapp」を作成します。
rails new myapp -d postgresql
このコマンドは、新しいディレクトリ「myapp」を作成し、RailsがPostgreSQLデータベースに接続してそのディレクトリに接続するために必要なpggemを含む新しいgemをインストールします。
次に、「myapp」ディレクトリに移動し、configディレクトリのdatabase.ymlファイルを編集します。
cd myapp/
vim config/database.yml
開発セクションで、32行目のコメントを外し、手順6で作成した役割を入力します。
username: rails_dev
35行目にrails_devユーザーパスワードを設定します。
password: aqwe123
データベースホスト構成の40行目と44行目のコメントを外します。
host: localhost
port: 5432
次に、テストセクションに移動し、以下に新しい構成を追加します。
database: myapp_test
host: localhost
port: 5432
username: rails_dev
password: aqwe123
保存して終了します。
次に、railsコマンドを使用してデータベースを生成します。
rails db:setup
rails db:migrate
次に、以下のコマンドを使用してRailsサーバーを起動します。
rails s -b 192.168.1.110 -p 8080
Webブラウザーを開き、ポート8080(192.168.1.110:8080)のサーバーIPアドレスにアクセスします。
ターミナルに戻り、PostgreSQLデータベースとやり取りするための新しいスキャフォールドを作成します。
以下のコマンドを入力します:
rails g scaffold Post title:string body:text
rake db:migrate
Railsサーバーを再度実行します。
rails s -b 192.168.1.110 -p 8080
サーバーにアクセスします:192.168.1.110:8080/posts
PostgreSQLを使用したRubyonRailsで簡単なCRUDが表示されます。