RedmineOnVpsCloud¶
- Table of contents
- RedmineOnVpsCloud
NTT PC CommunicationsのVPSクラウドの360円(税抜)サーバにRedmineをインストールしてみた記録です。
これを書いたときの各種ソフトのバージョン¶
仮想マシンOS | CentOS 6.5 |
Apache(RPM) | 2.2.15-56.el6.centos.3 |
PostgreSQL(RPM) | 9.6.1-1PGDG.rhel6 |
Ruby | 2.3.3 |
Redmine | 3.3-stable |
セキュリティグループのルール
tcp:22,22,ip4:0.0.0.0/0 tcp:80,80,ip4:0.0.0.0/0 tcp:443,443,ip4:0.0.0.0/0 icmp:-1,-1,ip4:0.0.0.0/0
インスタンスを作ってログインできた後の設定¶
基本的に、 http://blog.redmine.jp/articles/3_2/install/centos/ に従います。
yum update
SELinuxは最初からDisableになっているようです。
firewalldはCentOS6.5では動いていないようです。
zramを使う¶
RAMが512MBしかないので、zramを使って極力ディスクへのスワップを防ぎます。
CentOS 6.x / RHCE 6 / RedHat 6 zram compression を参考にします。ただし、64行目あたりは同ページのel_esさんのコメントにあるように
orig=$(< $i/orig_data_size) echo "$i: original $orig compressed $compr ratio $(($orig*100/$compr)):1"
にしないとまともに動かないので注意。
一般ユーザを作る¶
rootでRuby等のビルドをするのはなんか気持ち悪いので、Rubyのインストールに先立って一般ユーザを作ります。
adduser <適当なユーザ名> passwd <適当なユーザ名>
さらに、http://d.hatena.ne.jp/a__z/20071011 を参考に、sudoを行えるようにします。
/usr/local/binのコマンドをsudoで使いたいので、 http://blog.thingslabo.com/archives/000395.html を参考に、secure_path に /usr/local/bin を追記してください。
ただし、一般ユーザを作ったとしてもrootでしかSSHでログインできないようなので、一般ユーザとして作業したいならば、いったんrootでログインしてから su -l ユーザ名
します。
Redmineを動かす準備¶
必要なパッケージのインストール¶
最新のPostgreSQLを使いたかったので、 http://blog.redmine.jp/articles/3_2/install/centos/ の内容を少しアレンジしています。
yum -y groupinstall "Development Tools" yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel yum -y install httpd httpd-devel yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
PostgreSQLのインストール¶
VPSクラウドのCentOS6.5イメージでは最初から8.4.20がインストール済みのようなので、それをアンインストールします。
yum remove postgresql-server yum remove postgresql yum remove postgresql-libs
9.6をインストールします。 http://weblabo.oscasierra.net/postgresql-installing-postgresql9-centos6-1/ を参考にしましょう。ただし、yum -y localinstall するのは https://yum.postgresql.org/repopackages.php から PostgreSQL 9.6 の CentOS 6 - x86_64 のリンクを拾ってきて、
yum localinstall https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
のようにします。そのあと以下を実行します。
yum install postgresql96-server yum install postgresql96-devel
Rubyのインストール¶
これ以降は一般ユーザで作業しているものとして記述します(一般ユーザになるには、 su -l ユーザ名 を使います)。
Redmine3.3を使いたいのでRuby2.4は使えず、Rubyは2.3にします。なお、Redmineのバージョンと依存ソフトバージョンの対応は http://www.redmine.org/projects/redmine/wiki/redmineinstall に書いてあります。
curl -O https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz tar xf ruby-2.3.3.tar.gz cd ruby-2.3.3 export cflags='-march=native' export cxxflags=$cfags ./configure --disable-install-doc make sudo make install
bundlerのインストールは http://blog.redmine.jp/articles/3_2/install/centos/ をそのままやってください。
PostgreSQLの設定¶
sudo service postgresql-9.6 initdb sudo chkconfig postgresql-9.6 on sudo service postgresql-9.6 start sudo su #rootになる cd /var/lib/pgsql/9.6 sudo -u postgres /usr/pgsql-9.6/bin/createuser -P redmine (パスワードは適当に設定) sudo -u postgres /usr/pgsql-9.6/bin/createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine exit #一般ユーザに戻る
Redmineのインストール¶
http://blog.redmine.jp/articles/3_2/install/centos/ の
Redmineのインストール
Redmineの初期設定と初期データ登録
Passengerのインストール
Apacheの設定
をほぼそのままなぞります。
- 注意点
- Redmineは3.3を入れるので http://svn.redmine.org/redmine/branches/3.3-stable を指定します。
- rootでbundleすると怒られるので、/var/lib/redmineは一般ユーザが書き込めるようにします。svn coした後、 chown -R ユーザ名:ユーザ名 /var/lib/redmine です。
- bundleを実行する前に、PATH=/usr/pgsql-9.6/bin:$PATH してpg_configにパスを通す必要があります。
- service httpd start したときにServerNameを設定しろと怒られた場合は、 /etc/httpd/conf/httpd.conf を編集して、ServerName hogehoge.dip.jp を追加します。
- systemctl enable httpd の代わりに chkconfig httpd on します。
RAILS_ENV=production bundle exec rake db:migrate に失敗するのを防ぐには以下のようにします。
- /var/lib/pgsql/9.6/data/pg_hba.conf を修正して、ADDRESSが 127.0.0.1/32 と ::1/128 の行末の「ident」を「md5」に変えます。
- sudo service postgresql-9.6 restart
テストその1¶
この時点でApache2が動いているので、ブラウザから http://<割り当てられたIPアドレス> に接続すればテストページが見られるはずです。
Apacheチューニング¶
https://centossrv.com/apache.shtml を読んで、適当にチューニングします。
Redmineの設定¶
http://blog.redmine.jp/articles/3_2/install/centos/ の Apache上のPassengerでRedmineを実行するための設定 をなぞります。
パターン2: サブディレクトリでRedmineを実行 のほうに従ってください。
テストその2¶
この時点でRedmineが動いているので、ブラウザから http://<割り当てられたIPアドレス>/redmine に接続すればRedmineのホームが見られるはずです。
インストール完了後の初期設定¶
http://blog.redmine.jp/articles/3_2/install/centos/ の インストール完了後の初期設定 をなぞります。
ただし、別のサーバで運用していたRedmineのバックアップを今構築したサーバにリストアするならこのタイミングです。
https通信を行えるようにする¶
平文でパスワードのやり取りをするのは危ないので、httpsで通信できるようにします。
ieserver.netに登録¶
証明書を作るのに先立って、インターネットから見えるホスト名とドメイン名を決めておく必要があります。
ドメイン名を取得するとお金がかかるので、ここではwww.ieserver.netの無料ダイナミックDNSサービスを利用します。
まずは適当なWindowsPCなどで「新規ユーザ登録」を済ませてください。
そのあと、VPSクラウドの仮想マシン上からDDNSのアドレス割り当てを修正します。
VPSクラウドはIPアドレスが変更されないので、アドレス割り当てはいちどでよいため、「IPアドレス更新サンプルスクリプト」を使う必要はありません。
yum install lynx でテキストウェブブラウザをインストールし、lynxでiesever.netにアクセスして「IP登録」ボタンを押します。
手順
- sudo yum install lynx
- lynx https://ieserver.net
- ユーザ名(サブドメイン名)、ドメイン名、パスワードを入力して「IP登録」を押す
- キーボードのqを押してlynxを終了させる
DDNSのデータベースが書き換わるには4分程度かかるようです。経過後に、pingで応答があるか確かめてみましょう。
備考¶
- VPS ClowdのCentOS6.5イメージでは、zswapは使用できないみたい。(sys/modulesにzswapが見当たらない)
- zramは使用できる。(modprobeでzramが見つかる)
Count of this page : 170
Updated by mole lord about 2 years ago · 1 revisions