Project

General

Profile

Actions

RedmineOnI83Vps

i-83.netの256MB VPS(4.5ポンド/年)にRedmineをインストールしてみた記録です。

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

仮想マシンイメージ centos-7-x86_64-minimal
OS CentOS Linux release 7.3.1611 (Core)
Kernel 2.6.32-042stab120.11
Apache(RPM) 2.2.15-56.el6.centos.3
PostgreSQL(RPM) 9.6.1-1PGDG.rhel6
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 --zone=public --add-service=http --permanent
の代わりに
firewall-cmd --permanent --add-port <使用可能なポート>/tcp
を使います。

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

書いてあるそのまま

Rubyのインストール

書いてあるそのまま

PostgreSQLの設定

書いてあるそのまま

Redmineのインストール

書いてあるそのまま

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

書いてあるそのまま

Passengerのインストール

「passenger-install-apache2-module --auto --languages ruby」がRAM不足で失敗するようです。

仕方がないので、別のマシン(ローカルなマシンのVirtualBoxの上の仮想マシン等)で「passenger-install-apache2-module --auto --languages ruby」して、それをtarで固めてvpsに持っていって展開します。

passenger-install-apache2-module --auto --languages ruby
のコンパイル結果は /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.1.2/buildout に蓄積されるので、ローカルなマシンで

passenger-install-apache2-module --auto --languages ruby
cd /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.1.2
tar jcf ~/passenger_buildout.tar.bz2 buildout

してpassenger_buildout.tar.bz2を作り、それを何らかの手段(SSH SCP等)でvpsに転送して、展開します。
そのあとvpsで

cd /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.1.2
tar xf ~/passenger_buildout.tar.bz2
sudo  passenger-install-apache2-module --auto --no-compile --languages ruby

してやれば、コンパイル無しでインストールできます。

Apacheの設定

メモリが少ないので、Passengerの設定を変えます。

PassengerMaxPoolSize 1
PassengerMaxInstancesPerApp 1
PassengerPoolIdleTime 3600
PassengerStatThrottleRate 10

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

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

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

書いてあるそのまま


そのほか、必要なこと

80番ポートは使用できないので、使用できるポートを /etc/httpd/conf/httpd.conf の「Listen xx」を書き換えて設定します。
httpd.confを書き換えた後は systemctl restart httpd しましょう。

この時点で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のアドレス割り当てを修正します。

i-83.netの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で応答があるか確かめてみましょう。

ApacheにSSL接続をするための方法
/etc/httpd/conf.d/ssl.conf の 443 を、自分のVPSで使用可能なポートに変更することと、firewallに穴を開けることを忘れないでください。

Apacheのチューニング

メモリが少ないので、/etc/httpd/conf.modules.d/00-mpm.conf をいじってworkerにしたほうがよいです。

また、/etc/httpd/conf.d/mpm.conf を作成し、

<IfModule mpm_worker_module>
 ServerLimit       1
 StartServers      1
 MaxClients       32
 MinSpareThreads   8
 MaxSpareThreads  16
 ThreadsPerChild  32
</IfModule>

と書いて(設定値の有効性は保証できないので自分で調べてください)、あまりたくさんのプロセス・スレッドを起動しないようにしたほうが良いでしょう。

備考

  • i-83.netのVPSではzswap、zramは使用できない。
  • スワップファイルを作ってそれにswaponしようとしても失敗する。


Count of this page : 359

Updated by mole lord about 2 years ago · 1 revisions