【ハンズオン】Redmineサーバーを建てる

yuki476さん主催

目的:Redmineサーバーを建てる

必要になったので自宅にRedmineを建てる過程を配信して、 ついでにハンズオンセッションにする。環境は以下を使用。 CentOS 7.5 Redmine 3.4.8 ApacheではなくNginxに載せる

公式

http://blog.redmine.jp/articles/3_4/install/centos/ 

構築

  • 開発ツールのインストール
yum -y groupinstall base "Development tools" --setopt=group_package_types=mandatory,default,optional
yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel
yum -y install postgresql-server postgresql-devel
yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts

Nginxで動かすのでApacheは入れません

  • git で rbenvを取ってくる
git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv
  • rbenvがver.切り替えなどに使うためのディレクトリ作成。
mkdir /usr/local/rbenv/shims mkdir /usr/local/rbenv/versions

rbenvのパスを通す

echo 'export RBENV_ROOT=/usr/local/rbenv' | sudo tee -a /etc/profile.d/rbenv.sh echo 'export PATH="$RBENV_ROOT/bin:$PATH"' | sudo tee -a /etc/profile.d/rbenv.sh echo 'eval "$(rbenv init -)"' | sudo tee -a /etc/profile.d/rbenv.sh

追加したパスをロードする

source /etc/profile.d/rbenv.sh rbenv -v rbenv 1.1.1-40-g483e7f9

visudoで追加①

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims

visudoで追加②

Defaults env_keep += "RBENV_ROOT"
git clone https://github.com/rbenv/ruby-build.git /usr/local/rbenv/plugins/ruby-build
sh /usr/local/rbenv/plugins/ruby-build/install.sh
rbenv install -l | grep 2.4

Ruby 2.4.5 のインストール

rbenv install 2.4.5
rbenv global 2.4.5
cd /usr/local/
gem install bundler -v 2.0.0
gem update --system
gem list --local

PostgreSQLの初期設定 postgresql-setup initdb 自動起動にしてスタート

systemctl enable postgresql.service systemctl start postgresql.service

postgresql操作のため移動

cd /var/lib/pgsql

Redmine用ユーザを追加

sudo -u postgres createuser -P redmine

Redmine用ユーザを作成する時のパスワードは後で使うので忘れないように

psgreの設定追加

cat data/pg_hba.conf | grep redmine

Redmine用DBの作成

sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine

git を使ってRedmineを取ってくる

git clone https://github.com/redmine/redmine.git /var/lib/redmine

ver.指定するためディレクトリ移動

cd /var/lib/redmine/

ローカルにブランチ 3.4-stableを切ってリモートの3.4に紐付ける

git branch 3.4-stable origin/3.4-stable

作ったローカルの 3.4-stableに移動

git checkout 3.4-stable

ブランチについてはこれでも可能?(ブランチ指定で取得)

git clone --depth 1 -b 3.4-stable https://github.com/redmine/redmine.git /var/lib/redmine
/var/lib/redmine/config でexampleをコピーして設定ファイルを作る cp configuration.yml.example configuration.yml

メール通知設定はしないので configuration.ymlはそのまま

DBとの接族ファイルを作成

cp database.yml.example database.yml

DB接続の設定

cp database.yml.example database.yml
vim database.yml
cat database.yml

Password: の設定値は

Redmine用ユーザを追加 sudo -u postgres createuser -P redmine

で設定したパスワードと一致させる

production adapter: postgresql database:redmine host:localhost username:redmine password:"postgres"
rbenv rehash

gemパッケージのインストール

rbenv exec bundle install --without development test --path vendor/bundle

セッション改ざん防止用秘密鍵の作成

rbenv exec bundle exec rake generate_secret_token

一度 postgreを再起動

systemctl restart postgresql.service
RAILS_ENV=production rbenv exec bundle exec rake db:migrate

DBにデフォルトデータをロード

RAILS_ENV=production REDMINE_LANG=ja rbenv exec bundle exec rake redmine:load_default_data

DBにデフォルトデータをロード

RAILS_ENV=production REDMINE_LANG=ja rbenv exec bundle exec rake redmine:load_default_data
cat /etc/yum.repos.d/nginx-mainline.repo
[nginx-mainline] name=nginx mainline-repository baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1

yumでインストール

yum install nginx
yum install passenger
Passenger root /usr/share/passenger//phusion_passenger/locations.ini Passenger_ruby /usr/local/rbenv/versions/2.4.5/bin/ruby /etc/nginx/conf.d/passenger.confの中身↓ passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /usr/local/rbenv/versions/2.4.5/bin/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; Firewallに HTTP許可 firewall-cmd --add-service=http

本日時点では成功せず、後日Qiitaにまとめる!