Project

General

Profile

Actions

RedmineOnAlphaRacksVps

AlphaRack'sの768MB VPS(12ドル/年)にRedmineをインストールしてみた記録です。

これを書いたときの各種ソフトのバージョン

仮想マシンイメージ Centos 7 64bit
OS CentOS Linux release 7.3.1611 (Core)
Kernel 2.6.32-042stab120.19
Apache(RPM) 2.4.6-45.el7.centos.4
PostgreSQL(RPM) 9.2.18-1.el7
Ruby 2.3.3
Redmine 3.3-stable

仮想マシンを作ってログインできた後の設定

基本的に、 http://blog.redmine.jp/articles/3_3/install/centos/ に従います。

CentOSの設定

SELinuxは最初からDisableになっているようです(/etc/sysconfig/selinuxがない)。

firewallにhttp用の穴を開ける設定は、firewall-cmdでなくて /etc/sysconfig/iptables の編集で行えます。

必要なパッケージのインストール

書いてあるそのまま

Rubyのインストール

書いてあるそのまま

PostgreSQLの設定

データベース名とユーザ名が同一だと、どちらを指しているのかわかりづらくなるので、
データベース名を「redminedb」、ユーザ名を「redmine」にします。
pg_hba.confは
host redminedb redmine ...
host redminedb redmine ...
になります。

合わせて、Redmine用データベースの作成は
sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redminedb
に変えます。

Redmineのインストール

database.ymlでは以下のようにdatabaseを redminedb に変えます。

production:
  adapter: postgresql
  database: redminedb
  host: localhost
  username: redmine
  password: "********"
  encoding: utf8

Redmineの初期設定と初期データ登録

書いてあるそのまま

「PG::ConnectionBad: FATAL: ユーザ"redmine"のIdent認証に失敗しました」と言われるときは、/var/lib/pgsql/data/pg_hba.confを見直してください。
「host redminedb redmine ...」は、「host all all ...」よりも上(ファイルの先頭に近い側)にないとダメなようです。

Passengerのインストール

書いてあるそのまま

Apacheの設定

書いてあるそのまま

Apache上のPassengerでRedmineを実行するための設定

service httpd configtest は失敗します。restartは、confファイルが正しければ動作します。


そのほか、必要なこと

/etc/sysconfig/iptables を編集して、80番と443番への接続を許可します。
そのあと、 sudo systemctl reload iptables で新しい設定を有効にします。

この時点でApache2.4が動いているので、ブラウザから http://<割り当てられたIPアドレス> に接続すればApacheのテストページが見られるはずです。
また、Redmineが動いているので、ブラウザから http://<割り当てられたIPアドレス>/redmine に接続すればRedmineのホームが見られるはずです。

注意点

  • systemctl start httpd したときにServerNameを設定しろと怒られた場合は、 /etc/httpd/conf/httpd.conf を編集して、ServerName hogehoge.dip.jp を追加します。

Apacheチューニング

https://centossrv.com/apache.shtml を読んで、適当にチューニングします。

インストール完了後の初期設定

http://blog.redmine.jp/articles/3_3/install/centos/ の インストール完了後の初期設定 をなぞります。
ただし、別のサーバで運用していたRedmineのバックアップを今構築したサーバにリストアするならこのタイミングです。

Redmineのバックアップをリストアする

https通信を行えるようにする

平文でパスワードのやり取りをするのは危ないので、httpsで通信できるようにします。

ieserver.netに登録

証明書を作るのに先立って、インターネットから見えるホスト名とドメイン名を決めておく必要があります。
ドメイン名を取得するとお金がかかるので、ここではwww.ieserver.netの無料ダイナミックDNSサービスを利用します。

まずは適当なWindowsPCなどで「新規ユーザ登録」を済ませてください。
そのあと、VPSクラウドの仮想マシン上からDDNSのアドレス割り当てを修正します。

AlphaRack'sのVPSはIPアドレスが変更されないので、アドレス割り当てはいちどでよく、「IPアドレス更新サンプルスクリプト」を使う必要はありません。
yum install lynx でテキストウェブブラウザをインストールし、lynxでiesever.netにアクセスして「IP登録」ボタンを押します。

手順

  1. sudo yum install lynx
  2. lynx https://ieserver.net
  3. ユーザ名(サブドメイン名)、ドメイン名、パスワードを入力して「IP登録」を押す
  4. キーボードのqを押してlynxを終了させる

DDNSのデータベースが書き換わるには4分程度かかるようです。経過後に、pingで応答があるか確かめてみましょう。

Lets's Encryptについて

~.dip.jpだと「既にたくさんのドメインが登録されているので要求を受け付けない」と出てきたのですが、~.orz.hmだとLet's Encryptから証明書の取得ができました(2017/5/20調べ)。それがダメだったら、オレオレ証明書を使う方法を検討してください。

ApacheにSSL接続をするための方法

Apacheのチューニング

/etc/httpd/conf.modules.d/00-mpm.conf をいじってworkerにしたほうがよいです。


Count of this page : 500

Updated by mole lord about 2 years ago · 1 revisions