0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS7.4にRedmine3.4.3+PostgreSQL9.2.23をインストール

0
Last updated at Posted at 2018-01-05

Redmineの構築に携わったので、その際の手順を備忘録として投稿します。
初Markdownなので見辛いかも。。。

概要

CentOS7.4にRedmine3.4.3+PostgreSQL9.2.23をインストールするまでの設定手順を記載します。
(インストール自体はhttp://blog.redmine.jp/articles/3_4/install/centos/ の通りに実施してます。)

CentOSの設定

SELinuxの無効化

誤って SELINUXTYPE=targeted を変更しないように注意。

/etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

OS再起動し、SELinuxが無効になっていることを確認する。

$ restart
$ getenforce
Disabled
と出力されればOK

Firewallの設定

httpを許可
$ firewall-cmd --add-service=http --permanent

プロキシの設定

社内ネットワーク等に設置する場合はプロキシの設定が必要。

/etc/profile/
PROXY='プロキシアドレス:ポート番号'
export http_proxy=$PROXY
export HTTP_PROXY=$PROXY
export https_proxy=$PROXY
export HTTPS_PROXY=$PROXY
export no_proxy='localhost,127.0.0.1'
export NO_PROXY="$no_proxy" 

$ source /etc/profileで反映させます。

yumのプロキシ設定

/etc/yum.conf
proxy=http://プロキシアドレス:ポート番号
を追記

Redmineのインストール

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

Apacheとヘッダファイルのインストール/自動起動
$ yum -y install httpd httpd-devel
$ systemctl start httpd.service
$ systemctl enable httpd.service
開発ツールのインストール
$ yum -y groupinstall "Development Tools"
RubyとPassengerのビルドに必要なファイルなどのインストール
$ yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel
PostgreSQLのインストール
$ yum -y install postgresql-server postgresql-devel
ImageMagickとヘッダファイル・日本語フォントのインストール¶
$ yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts

Rubyのインストール

Rubyのソースコードをダウンロードしてきます。
curl -O https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.gz

Rubyをビルドしていきます。

$ tar xvf ruby-2.4.2.tar.gz
$ cd ruby-2.4.2
$ ./configure --disable-install-doc
$ make
$ make install
$ ruby -v
Rubyのバージョンが表示されればインストール完了

bundlerが必要なのでインストールします。
$ gem install bundler --no-rdoc --no-ri

PostgreSQLの設定

Redmineで利用するPostgresSQLの設定を行います。

データベースクラスタの新規作成
# postgresql-setup initdb

RedmineからPostgreSQLに接続するための設定を追加

/var/lib/pgsql/data/pg_hba.conf
# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records.  In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.
host    redmine         redmine         127.0.0.1/32            md5
host    redmine         redmine         ::1/128                 md5

PostgreSQLの起動および自動起動の設定

$ systemctl start postgresql.service
$ systemctl enable postgresql.service

Redmine用SQLユーザーの作成

$ cd /var/lib/pgsql
$ sudo -u postgres createuser -P redmine

Redmine用データベースの作成

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

Redmineのインストールと設定

RedmineをDLする

$ svn co https://svn.redmine.org/redmine/branches/3.4-stable /var/lib/redmine

/var/lib/redmineがインストール先なので、必要であれば変更する。

データベースへの接続設定
設定ファイルを新規作成する。

/var/lib/redmine/config/database.yml
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "データベースのパスワード" 
  encoding: utf8

メール送信の設定をします。
設定ファイルを新規作成する。

/var/lib/redmine/config/configuration.yml
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: メールサーバのIPアドレス
      port: 25
      domain: ドメイン名

rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

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

$ cd /var/lib/redmine
$ bundle install --without development test --path vendor/bundle

セッション改ざん防止用秘密鍵の作成
$ bundle exec rake generate_secret_token

データベースのテーブル作成
$ RAILS_ENV=production bundle exec rake db:migrate

デフォルトデータの登録
$ RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data

Passengerのインストール

gem install passenger --no-rdoc --no-ri -p http://プロキシアドレス:ポート番号

-pはプロキシを指定する。プロキシ環境下でないのであれば-pは指定不要

PassengerのApache用モジュールのインストール
$ passenger-install-apache2-module --auto --languages ruby

Apache用設定内容の確認

$ passenger-install-apache2-module --snippet

出力された内容をメモしておく

Apacheの設定

Apacheの設定をしていく
Redmine以外のWebアプリは動作させないため、ドキュメントルートはRedmineにしておく。

/etc/httpd/conf/httpd.conf
#DocumentRoot "/var/www/html" 
DocumentRoot "/var/lib/redmine/public" 

redmine用の設定ファイルを作成する
前項でメモした内容を使用する。

/etc/httpd/conf.d/redmine.conf
# Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。
# Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。
<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

# Passengerの基本設定。
# passenger-install-apache2-module --snippet で表示された設定を記述。
# 環境によって設定値が異なるため以下の5行はそのまま転記せず、必ず
# passenger-install-apache2-module --snippet で表示されたものを使用すること。
#
LoadModule passenger_module /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.11/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.11
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>

# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
# 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。
PassengerMaxPoolSize 60
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerStatThrottleRate 10

Header always unset "X-Powered-By" 
Header always unset "X-Runtime"

Apacheの起動および自動起動の設定

$ systemctl start httpd.service
$ systemctl enable httpd.service

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

$ chown -R apache:apache /var/lib/redmine

apache再起動

$ service httpd configtest
$ systemctl restart httpd.service

以上

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?