Ruby on Rails(RoR)、または短い「rails」は、MVC(Model-View-Controller)の概念に従ったRubyで記述されたサーバー側のWebアプリケーションフレームワークです。 RoRは、OpenSourceMITライセンスの下でリリースされています。 Railsは、データベース、Webサービス、およびWebページのデフォルトの構造を提供します。 Railsは広く使用されており、これまでに3000人以上がRailsプロジェクトにコードを提供しており、Github、Airbnb、SoundcloudなどのRailsに基づく多くのアプリケーションがあります。
このチュートリアルでは、CentOS7にRailsをインストールする方法を示します。PostgreSQLデータベースを使用してRubyon Railsをインストールおよび構成してから、Railsを使用して最初のプロジェクトを作成します。
前提条件
- CentOS7オペレーティングシステムを搭載したサーバー
- root権限
RVMまたはRubyバージョンマネージャーは、Rubyのインストールを管理するためのBashとRubyに基づくコマンドラインツールです。 RVMを使用すると、同じサーバーに複数のrubyバージョンを同時にインストールして構成し、複数のruby環境で作業できるようになります。
curlコマンドがシステムにインストールされていることを確認してください。
yum install curl
このステップでは、安定したRVMバージョンをインストールします。 RVMのインストールを開始する前に、リポジトリキーをダウンロードし、gpgコマンドを使用してインポートする必要があります。
curl -sSL https://rvm.io/mpapis.asc | gpg --import-
次に、RVMをインストールします。
curl -sSL https://get.rvm.io | bash -s stable --ruby
このコマンドは、最初に必要なパッケージ(パッケージの依存関係)をインストールしてから、最新の安定した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
次に、Ruby2.3.1をシステムのデフォルトのRubyバージョンにします。
rvm --default use ruby-2.3.1
以下のコマンドでRubyのバージョンをチェックして、上記の手順が成功したことを確認します。
ruby -v
Railsは、RailsアセットパイプラインをコンパイルするためにJavaScriptランタイムを必要とします。 Ubuntu LinuxでのRails開発の場合、JavascriptランタイムとしてNodejsをインストールするのが最善です。
nodesourceリポジトリからnodejsをインストールします:
curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash-
yum -y install nodejs
ノードとnpmがシステムに正常にインストールされたことを確認します。
node -v
npm -v
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 5.0.0
Ruby2.3.1を搭載したCentOS7にインストールされたRails5.0。
このステップでは、Rails開発用にPostgreSQLを準備します。 Ruby on Railsは、MySQL、SQLite(デフォルト)、PostgreSQLなどの多くのデータベースをサポートしています。このガイドのデータベースとしてPostgreSQLを使用します。
次のyumコマンドを使用してPostgreSQLをインストールします:
yum -y install postgresql-server postgresql-devel postgresql-contrib
次に、initdbコマンドを使用してデータベースサーバーを初期化する必要があります。
postgresql-setup initdb
デフォルトでは、CentOSサーバー上のPostgreSQLはパスワードベースの認証を許可していません。パスワードを使用したログインを許可するには、RoRインストールのPostgreSQL構成を編集する必要があります。
pg_hba.confをvimで編集します:
vim /var/lib/pgsql/data/pg_hba.conf
認証方法をmd5に変更します。
#IPv4ローカル接続:
host all 127.0.0.1/32 md5
#IPv6ローカル接続:
host 15ファイルを保存してから、「postgresql」サービスを開始します。
systemctl start postgresqlPostgresqlはポート5432のローカルホストIPアドレスで実行されています。以下のコマンドで確認できます:
netstat -plntu
systemctl status postgresql
インストールが完了したら、suを使用してシェルのpostgresユーザーになり、postgresqlシェル(psql)にアクセスします。
su --postgres
psql以下のコマンドを使用して、postgresユーザーの新しいパスワードを設定します。
\ password postgres
新しいパスワードを入力してください:次に、次のコマンドを使用して、Rails開発用の「rails-dev」という名前の新しいロールを作成します。
createdbログインパスワード'aqwe123'を使用してロールrails_devを作成します;新しい役割を確認すると、新しい役割が作成されていることがわかります:
\ duRails開発用のPostgreSQLデータベースとユーザーが作成されました。
ステップ7-RailsとPostgreSQLを使用して最初のアプリケーションを作成する railsコマンドを使用して最初のアプリケーションを簡単に作成できます。
PostgreSQLをデフォルトのデータベースとして使用して新しいアプリケーションを作成します。
rails new myapp -d postgresqlこのコマンドは、新しいディレクトリ「myapp」を作成し、RailsがPostgreSQLデータベースに接続するために必要な「pg」gemを含む新しいgemをインストールします。
'newapp'ディレクトリに移動し、configディレクトリのdatabase.ymlファイルを編集します。
cd myapp /
vim config / database.yml開発セクションで、32行目のコメントを外し、手順6で作成した役割を設定します。
ユーザー名:rails_dev35行目にrails_devユーザーパスワードを設定します。
パスワード:aqwe123データベースホスト構成の40行目と44行目のコメントを外します。
ホスト:localhost
ポート:5432次に、テストセクションに移動し、以下に新しい構成を追加します。
データベース:myapp_test
ホスト:localhost
ポート:5432
ユーザー名:rails_dev
パスワード:aqwe123ファイルを保存してエディタを終了します。
次に、railsコマンドを使用してデータベースを生成します。
rails db:setup
rails db:migrate次に、以下のコマンドを使用してRailsサーバーを起動します。
rails s -b 192.168.33.10 -p 8080
Webブラウザーを開き、ポート8080のサーバーIPアドレス(192.168.33.10:8080)にアクセスします。
ターミナルに戻ります。 PostgreSQLデータベースと対話するための新しいスキャフォールドを作成します。
以下のコマンドを入力します:
rails gscaffold投稿タイトル:stringbody:text
rake db:migrateRailsサーバーを再度実行します。
rails s -b 192.168.33.10 -p 8080サーバーにアクセスします:192.168.33.10:8080/投稿
PostgreSQLを使用してRubyonRailsで記述された単純なCRUDインターフェースが表示されます。
リンク
- https://www.ruby-lang.org/en/
- http://guides.rubyonrails.org/
- https://www.postgresql.org/docs/
Cent OS