joppotjoppotコピペで絶対動く。2016年1月5日Tweet概要みなさんこんにちはcandleです。今回はredmineをec2上で使用する方法を紹介します。redmineはrailsで作られたwebアプリケーションです。railsで作られているということは、必然的にec2ではrailsが動く環境を作ってあげる必要があります。前提知識ある程度awsを使い慣れている。セキュリティグループやec2の立ち上げなどはここでは解説しない。linuxコマンドをある程度理解しているrubyをインストールするec2を立ち上げたら、sshでログインします。yumをupdateします。updaterailsとかで使用するパッケージをインストールします。zlib-devel次にrubyのバージョンを管理できるrbenvをインストールします。/usr/localにrbenvをインストールします。/usr/local/rbenvrbenvフォルダ以下全てのユーザー権限をrootからec2-userに変更します。/usr/local/rbenvインストールしたrbenvを使う為/etc/profileを書き換えますが、バックアップを取っておきます。/etc/profile.ORG/etc/profileの最後に以下を記述します。-)"rbenvはこれだけではrubyを管理できないので、ruby-buildのプラグインをインストールします。/usr/local/rbenv/plugins/ruby-buildrbenvをリフレッシュします。rehashこれでrbenvのインストールは完了しました。rbenvと入力して「/usr/local/rbenv/bin/rbenv」と出れば成功です。railsは外部ライブラリを扱う為にgemという管理ツールを使用します。gemの設定をしないといらないリファレンスをインストールしてしまいます。/home/ec2-user/に.gemrcファイルを作り、以下を記述します。--no-documentrubyをrbenvを使用してインストールします。redmineはちょっと前まで、rubyのバージョンんが2.0.0のみ対応してましたが、redmine3.2からrubyのバージョンが2.2.3になりました。2.2.3をインストールします。rehashrailsをインストールするgemでbundlerとnokogiri、railsをインストールします。bundlerはrailsのgemを管理するものです。nokogiriはec2の問題で、オプションをつけてあらかじめインストールしておかないと動きません。以下を実行しましょう。rehashこれでrailsがインストールできました。nginxをインストールするnginxはrailsを動かす動かす為に必要です。onnginxをインストールできました。mysqlをインストールするredmineのデータベースの使用はmysqlをec2にインストールするかawsのサービスのRDSを使うかの選択肢があります。本当に業務とかで使うならrdsにする方をお勧めします。今回はec2にmysqlをインストールして、使用します。onmysqlのrootユーザーを使うのはよろしくないので、ユーザーを作成します。mysqlにログインします。パスワードは無しでログインします。-pユーザーを作成します。redmine_productionデータベースを扱う為のredhogehogeというユーザーを作成しました。パスワードは長めに20文字くらいで作りました。パスワードは同じにしないでください。OPTION;redmineのダウンロードと環境構築redmineの3.2.0をダウンロードします。nginxの公開ディレクトリである/usr/share/nginx/に移動して、プロジェクトをgithubからダウンロードします。https://github.com/redmine/redmine/archive/3.2.0.zipダウンロードしたzipを解凍します。zipファイルの削除とディレクトリ名を変更します。redmineredmine以下の権限がrootだと設定が面倒なので、ec2-user権限に変更します。./redmine次にデータベースに接続する為の設定をするのでredmineフォルダのconfigに移動します。./redmine/configdatabase.yml.exampleをコピーします。database.ymlそしたら、database.ymlを開いて、一番上のmysqlのproductionの所を以下の様に書き換えます。ユーザー名とパスワードは先ほど作成したものを使います。utf8データベースの設定はできました。次に、redmineの設定を行います。これは同じくconfigフォルダの中に、「configuration.yml.example」というファイルがあるので、これをコピーして作成します。localhost」の所ぐらいです。"example.com"これで保存しましょう。今はconfigフォルダにいるので1つ上のredmineフォルダに移動してgemをインストールします。vendor/bundlegemがインストールされたら、セッションのシークレットトークンを生成します。以下のコマンドだけで作られます。generate_secret_token私の場合は以下の警告がでましたが問題ないでしょう。“inodot”redmineのデータベースを作成します。RAILS_ENV=productionredmineのデータベースはまだ空なので、migrationファイルを反映してテーブルとカラムを作成します。RAILS_ENV=productionredmineはrailsアプリケーションです。railsをnginxで動かすにはunicornというを使用します。redmineフォルダの中にあるGemfileに以下を追加します。installunicornの起動や停止を行うrakeスクリプトを作成します。redmineフォルダの「lib/tasks」ディレクトリにunicorn.rakeファイルを作成し、以下を記述します。unicorn.rake作成したunicorn.rakeに以下を記述します。endend次にunicornの設定ファイルを作ります。redmineのconfigフォルダの中にunicorn.rbを作成して以下を記述します。ActiveRecord::Base.establish_connectionendこれでunicornの設定が終わりました。続いてnginxのrailsの設定をします。/etc/nginx/conf.dに移動します。/etc/nginx/conf.dredmine.confを作成します。}}これで保存します。nginxをrestartします。restart続いて、unicornを起動します。redmineフォルダの権限をec2-userとグループをnginxにします。unicorn:startもしも、エラーが出た場合は以下の問題です。true」をコメントアウトしてください。これはメモリが足りない場合によく起こります。/tmpディレクトリにあるunicorn.pidとunicorn.sockが古かったりするとうまく起動できない場合が有ります。その時はこの2つのファイルを削除してください。後はサーバにアクセスすれば動きます。サーバーへのアクセスはec2のグローバルIPアドレスでもおそらくアクセスできます。nginxの設定ではドメインを「redmine-test.com」としました。dnsを設定しない場合は、自分のパソコンのhostsにec2のグローバルIPアドレスとredmine-test.comをひも付けてあげればブラウザからアクセスできます。まとめ私は3回ほど、サーバを立てるのに失敗して、できました。以外にきれいにサーバを作るって大変ですよね。スポンサードリンク「為になったなぁ」と思ったら、シェアお願いします。コメントをキャンセルメールアドレスが公開されることはありません。みなさんこんにちはcandleです。AMIのnginx上でバーチャルホストを使う場合の設定をやってみたいと思います。みなさんこんにちはcandleです。今回はfabricを使ってvagrant上のvmにアクセスする方法を紹介します。みなさんこんにちはcandleです。今回はapache2.4でバーチャルホスト毎に環境変数を定義して、それをphp側で受け取る方法を紹介します。みなさんこんにちはcandleです。今回はmysqlの管理者を加える方法です。この記事は別段書かなくても、いくらでもweb上にあるのですが、私がよく使うのでまとめました。みなさんこんにちはcandleです。2014年の後期にmozillaあたりが主導して、無料のssl証明書作ろうという動きがありました。去年の12月にβ版がでたので、早速試してみました。Sansフォントウェイトのcss書き方まとめプロフィールベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。環境設定スポンサードリンクjoppotコピペで絶対動く。