1
4

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.

EC2でRedmineを構築する手順

Last updated at Posted at 2017-09-29

Redmineを構築する手順

Version

Package Version
Redmine 3.4.2
Ruby 2.4.2
Apache 2.4.27
Passenger 5.1.8
Rails 5.1.4
MySQL 5.6.37

アプリケーションのディレクトリ構成

Name Directory
Redmine /opt/local/redmine/src
rbenv /usr/local/src/.rbenv/

設定ファイル

Name Directory
Passenger /etc/httpd/conf.d/passenger.conf
Redmine     /etc/httpd/conf.d/redmine.conf
Database     /opt/local/redmine/src/latest/config/database.yml
SMTP      /opt/local/redmine/src/latest/config/configuration.yml

===============================

準備

必要なものをインストール

$ yum -y install selinux-policy-targeted policycoreutils-python
$ yum -y install gcc kernel-devel kernel-headers gcc-c++ glibc-headers openssl-devel

# gitのインストール
$ yum install git

# RubyとPassengerのビルドに必要なヘッダファイルなどのインストール
$ yum install readline-devel libxml2 libxslt libxml2-devel libxslt-devel
$ yum install curl-devel

# redmineのビルドに必要なヘッダファイルなどのインストール
$ yum install ImageMagick ImageMagick-devel

必要なディレクトリ作成

$ mkdir -p /opt/local/redmine/src

SELinux security設定

$ vim /etc/sysconfig/selinux
@@ -4,7 +4,7 @@
 #     enforcing - SELinux security policy is enforced.
 #     permissive - SELinux prints warnings instead of enforcing.
 #     disabled - No SELinux policy is loaded.
-SELINUX=enforcing
+SELINUX=disabled
 # SELINUXTYPE= can take one of these two values:
 #     targeted - Targeted processes are protected,
 #     mls - Multi Level Security protection.

httpd24をインストール

$ yum install httpd24 httpd24-devel

$ chown -R apache. /var/log/httpd/
$ chkconfig httpd on

$ httpd -v
# バージョンより値が違い
Server version: Apache/2.4.27 (Amazon)
Server built:   Sep 15 2017 22:56:01

MySQLをインストール

インストール

$ rpm -ihv http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
$ yum install mysql-server mysql-devel

$ chkconfig mysqld on
$ service mysqld start

設定

# データベース初期設定
$ /usr/bin/mysql_secure_installation
# .....
# Set root password? [Y/n]
# ....

データベース作成

# Redmine用のデータベース作成
$ mysql -uroot -p
mysql> create database redmine default character set utf8;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| redmine            |
+--------------------+
4 rows in set (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON `redmine`.* TO 'redmine_admin'@'localhost' identified by 'redmine_admin';
mysql> exit;

Rubyをインストール

$ git clone https://github.com/sstephenson/rbenv.git /usr/local/src/.rbenv/

$ echo 'export RBENV_ROOT="/usr/local/src/.rbenv"' >> /etc/profile.d/rbenv.sh
$ echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile.d/rbenv.sh
$ echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh
$ cat /etc/profile.d/rbenv.sh
export RBENV_ROOT="/usr/local/src/.rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init -)"
$ reboot

# 再SSHログイン
$ env | grep RBENV
RBENV_ROOT=/usr/local/src/.rbenv
RBENV_SHELL=bash
$ rbenv --version
# バージョンより値が違い
rbenv 1.1.1-6-g2d7cefe
$ git clone https://github.com/sstephenson/ruby-build.git /usr/local/src/.rbenv/plugins/ruby-build
$ rbenv install -l
...
2.4.0
2.4.1
2.4.2
2.5.0-dev
...
# ruby-2.4.2をインストール
$ rbenv install -v 2.4.2

$ rbenv rehash
$ rbenv global 2.4.2

$ ruby -v
# バージョンより値が違い
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]

Railsをインストール

$ gem update --system
$ gem install nokogiri -- --use-system-libraries
$ gem install bundler --no-rdoc --no-ri
$ gem install --no-ri --no-rdoc rails
$ rbenv rehash

$ rails -v
# バージョンより値が違い
Rails 5.1.4

Passengerをインストール

$ gem install passenger --no-rdoc --no-ri
$ rbenv rehash
$ dd if=/dev/zero of=/swap bs=1M count=1024
$ mkswap /swap
$ swapon /swap

$ passenger-install-apache2-module
# ...
# ...
# ...
# 成功したら、
$ passenger-install-apache2-module --snippet > /etc/httpd/conf.d/passenger.conf
$ cat /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/src/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/src/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/passenger-5.1.8
  PassengerDefaultRuby /usr/local/src/.rbenv/versions/2.4.2/bin/ruby
</IfModule>

Redmineをインストール

$ wget http://www.redmine.org/releases/redmine-3.4.2.tar.gz
$ tar zxvf redmine-3.4.2.tar.gz
$ mv redmine-3.4.2 /opt/local/redmine/src
$ ln -ns /opt/local/redmine/src/redmine-3.4.2 /opt/local/redmine/src/latest
$ ll /opt/local/redmine/src
total 4
lrwxrwxrwx  1 root root   36 Sep 29 19:23 latest -> /opt/local/redmine/src/redmine-3.4.2
drwxrwxr-x 18 1000 1000 4096 Jul 17 03:18 redmine-3.4.2
$ vim /etc/httpd/conf.d/redmine.conf
<VirtualHost *:80>
    Alias /redmine /opt/local/redmine/src/latest/public
    <Directory "/opt/local/redmine/src/latest/public/">
        PassengerAppRoot /opt/local/redmine/src/latest/
        RailsEnv production
        RailsBaseURI /redmine
        Options -MultiViews
        Options Indexes FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Redmineの設定を行う

$ cd /opt/local/redmine/src/latest/config
$ cp database.yml.example database.yml
$ vim database.yml
@@ -6,8 +6,8 @@
   adapter: mysql2
   database: redmine
   host: localhost
-  username: root
-  password: ""
+  username: redmine_admin
+  password: "redmine_admin"
   encoding: utf8
$ cd /opt/local/redmine/src/latest/config
$ cp configuration.yml.example configuration.yml
$ vim configuration.yml
@@ -22,6 +22,23 @@
   #      address: "localhost"
   #      port: 25
   #
+
+
+
+  # ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com
+  #
+  # email_delivery:
+    delivery_method: :smtp
+    smtp_settings:
+      address: "{SMTP_HOST}"
+      enable_starttls_auto: true
+      port: {SMTP_PORT}
+      authentication: :plain
+      domain: "{SERVER_HOST}"
+      user_name: {USER_NAME}
+      password: {USER_PASSWORD}
+
+
   # ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com
   #
   #  email_delivery:

bundle installを行う

$ cd /opt/local/redmine/src/latest
$ 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

Apacheを起動

$ cd /opt/local/redmine/src/
$ chown -R apache. redmine-3.4.2

$ service httpd restart
$ service httpd status
# pidより値が違い
httpd (pid  1201) is running...

画面確認

ブラウザで http://example.com/redmine をアクセスると、トップ画面が出る。

730a1fb2e6d2f8eed4840c8d87cbc16d.png

== end ==

1
4
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
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?