conHaサーバへ redmineインストールしてみた

MYSQL
# yum update

Rubyのインストール

RedmineはRubyで作成されてますのでインストールが必要です

※こちらの記事を参考にRubyをインストールしました。
記事の最後にあるbundlerも必要になるのでインストールを忘れずに!

CentOS7にRubyをインストール – Qiitaいつも忘れがちなので、自分用のメモも兼ねてインストール方法を投稿します。 前準備 CentOS7はMinimal ISOでインストール済みであること 必要なパッケージのインストール $ sudo yum -y instal…

svn インストール

SVNがインストールされているか確認する

  • インストールの確認
# yum list installed | grep subversion
  • インストールされていなければインストールする
# yum install subversion
  • バージョン確認
# svn --version

いよいよredmineのインストール

「公式ドキュメントを見てインストール」

RedmineInstall - Redmine
Redmine

インストール場所の作成

# mkdir /var/lib/redmine
# cd /var/lib/redmine

ダウンロード

# svn co https://svn.redmine.org/redmine/branches/4.1-stable redmine-4.1

(R)eject or accept (t)emporarily? ←「t」を選択(証明書を一時的に許可)

ダウンロードできたか確認

# ls
redmine-4.1

MySQLにredmineのテーブルを準備

MySQLにログインをしてデータベースとユーザーを作成する。

CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; ←パスワードを「Celalink2017!」
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

設定ファイルの作成

作業ディレクトリの変更

# cd redmine-4.1

サンプルファイルをコピーして設定ファイルを作成する

# cp config/database.yml.example config/database.yml

設定ファイルの編集

# vi config/database.yml
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "my_password" 

usernameとpasswordを変更

セッションストアシークレットの生成

railsがセッションデータを格納するCookieをエンコードするために使用するランダムキーを生成し、改ざんを防止します。

# yum install mysql-devel
# bundle install
# bundle exec rake generate_secret_token
$ bundle install
Fetching gem metadata from https://rubygems.org/..........
Using rake 12.0.0
Using concurrent-ruby 1.0.5
Using i18n 0.8.6
Using minitest 5.10.3
MariaDB-devel MariaDB-sharedが必要です
$ sudo yum install -y MariaDB-devel MariaDB-shared

$ bundle update
Fetching gem metadata from https://rubygems.org/..........

...

Fetching mysql2 0.4.10
Installing mysql2 0.4.10

...

Fetching turbolinks 5.0.1
Installing turbolinks 5.0.1
Fetching uglifier 4.0.2
Installing uglifier 4.0.2
Fetching web-console 3.5.1
Installing web-console 3.5.1
Bundle complete! 44 Gemfile dependencies, 124 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

初期設定

# RAILS_ENV=production bundle exec rake db:migrate

DBにデフォルトデータを登録する

# RAILS_ENV=production bundle exec rake redmine:load_default_data

// 言語の選択 「ja」を入力する
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] 

ポート開放

# firewall-cmd --add-port=3000/tcp --zone=public

サーバー起動

# bundle exec rails server webrick -e production

※Ctrl + cで停止
※ポートは後で閉じるのでこのまま進んでおkです。

「http://ドメイン:3000」で画面が開けばOK!

ログインできない???

adminユーザーのパスワードをリセットする

admin以外のユーザーにシステム管理者権限を与えていない場合、adminユーザーのパスワードを紛失するとRedmineの管理が行えなくなってしまいます。このような場合、adminユーザーのパスワードを強制的に変更することができます。

手順

Redmineがインストールされているサーバでコマンドプロンプトを開き作業を行います。

1. Redmineのインストールディレクトリに移動

Redmineがインストールされているディレクトリに移動してください。

例:

cd /var/lib/redmine

2. Railsのコンソールを開く

以下のコマンドを実行してRailsのコンソールを開いてください。

bundle exec rails console production

3. adminユーザーに対応するオブジェクトを取得してパスワードを更新

>> User.find_by_login('admin').update!(password: '新パスワード')

4. Railsコンソールを終了

>> quit

作業は以上で完了です。adminユーザーは新しく設定したパスワードでログインできるようになります。

通常のパスワードリセット手順

前述の手順はRedmineにシステム管理者権限を持ったユーザーでログインできなくなった場合など非常時の手順です。

システム管理者権限を持ったユーザーでログインできる場合は、Redmineの「管理」→「ユーザー」開き各ユーザーの編集画面で新しいパスワードを設定できます。

Unicornのインストール

# vim Gemfile // gem “unicorn”を追加
# bundle update

動作確認

# bundle exec unicorn_rails -l 3000 -E production

※Ctrl + cで停止
※ここでもう一度画面が開くことを確認!

ポート閉じる

# firewall-cmd --reload

Service登録用のファイルを作成

# vi config/unicorn.rb

※コピペしてOKですがパスだけ適宜置き換えてください

# -*- coding: utf-8 -*-
# Unicorn設定ファイル
worker_processes 2

listen "/var/lib/redmine/redmine-4.1/tmp/sockets/redmine.sock", :backlog => 32
timeout 30
pid "/var/lib/redmine/redmine-4.1/tmp/pids/redmine.pid"

stderr_path '/var/lib/redmine/redmine-4.1/log/unicorn.stderr.log'
stdout_path '/var/lib/redmine/redmine-4.1/log/unicorn.stdout.log'

preload_app true
check_client_connection false

before_fork do |server, worker|
  # Railsでpreload_appをtrueにしているときは強く推奨
  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.connection.disconnect!
end

after_fork do |server, worker|
  # Railsでpreload_appをtrueにしているときは必須
  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.establish_connection

  begin
    uid, gid = Process.euid, Process.egid
    # user, group = "redmine", "redmine"
    # ENV["HOME"] = "/home/redmine"
    target_uid = Etc.getpwnam(user).uid
    target_gid = Etc.getgrnam(group).gid
    worker.tmp.chown(target_uid, target_gid)
    if uid != target_uid or gid != target.gid
      Process.initgroups(user, target_gid)
      Process::GID.change_privilege(target_gid)
      Process::UID.change_privilege(target_uid)
    end
  rescue
    if RAILS_ENV = "development"
      STDERR.puts "could not change user, oh well"
    else
      STDERR.puts "could not change user, oh well"
      raise e
    end
  end
end

サービス起動用ファイル作成

# vi /usr/lib/systemd/system/redmine.service

※こちらもパスにご注意ください

[Unit]
Description=Redmine Unicorn Server

[Service]
WorkingDirectory=/var/lib/redmine/redmine-4.1/
Environment=RAILS_ENV=production
SyslogIdentifier=redmine
PIDFile=/var/lib/redmine/redmine-4.1/tmp/pids/unicorn.pid

# /usr/localのrbenvにパスを通す
ExecStart=/usr/local/rbenv/shims/bundle exec "unicorn_rails -c /var/lib/redmine/redmine-4.1/config/unicorn.rb -E production" 
ExecStop=/usr/bin/kill -QUIT $MAINPID
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target
// 起動確認
# systemctl start redmine

// 動作確認
# systemctl status redmine

// activeになっていることを確認
● redmine.service - Redmine Unicorn Server
   Loaded: loaded (/usr/lib/systemd/system/redmine.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-06-16 10:31:16 JST; 11s ago
 Main PID: 3700 (ruby)
   CGroup: /system.slice/redmine.service
           ├─3700 unicorn_rails master -c /var/lib/redmine/redmine-4.1/config/unicorn.rb -E production
           ├─3733 unicorn_rails worker[0] -c /var/lib/redmine/redmine-4.1/config/unicorn.rb -E production
           └─3734 unicorn_rails worker[1] -c /var/lib/redmine/redmine-4.1/config/unicorn.rb -E production

Jun 16 10:31:16 118-27-39-108 systemd[1]: Started Redmine Unicorn Server.

// 自動起動の設定
# systemctl enable redmine

最後に

これでフリーランスの弟子たちとのコミュニケーションできるぞ!

MYSQL
スポンサーリンク
sutaruhinをフォローする
システム・スタルヒン合同会社
タイトルとURLをコピーしました