#はじめに
本記事は動画( https://youtu.be/-DrdYw8fHwc )で説明に使用している
スライドを記事化したものです。動画と合わせて御覧ください。
※記事化する際に補足説明を加筆しており、内容は動画のスライドと異なります。
※本記事の内容は2020年3月時点の内容となります。OSやミドルウェア、Dockerのバージョンが異なることで記載通りの内容で完了しない場合があります。
#ミドルウェア構成
- OS : CentOS 7.8
- Webサービス : Apache 2.4.6
- アプリ言語 : Ruby 2.4
- DBサービス : MariaDB 10.4.3
- Redmine : Redmine 4.1
#Dockerfileで下準備
# centos7のイメージを利用する
FROM centos:7
LABEL maintainer=Takemi
SHELL ["/bin/bash", "-o", "pipefail", "-c"]"
# 累積アップデートの実行
RUN yum -y upgrade
#takemiユーザが存在していない場合ユーザ追加する
RUN echo 'make user takemi'
RUN adduser -m takemi;echo "takemi:takemi123" | chpasswd;
#sshのインストール
RUN yum install -y openssh-server
RUN systemctl enable sshd
#Apacheのインストール
RUN yum install -y httpd
RUN systemctl enable httpd
#MariaDBのインストール
RUN curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash
RUN yum install -y MariaDB-server MariaDB-devel MariaDB-shared
RUN systemctl enable mariadb
#ruby インストール準備
RUN yum -y groupinstall "Development Tools"
RUN yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel
RUN yum -y install httpd-devel
RUN yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
WORKDIR /root
RUN curl -O https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
RUN tar xf ruby-2.4.1.tar.gz
WORKDIR /root/ruby-2.4.1
RUN ./configure --disable-install-doc
RUN make
RUN make install
RUN gem install bundler --no-rdoc --no-ri
> docker build -t redmine .
Dockerfileでやってること!
- OSのイメージ構築
- OSのアップデート
- ルートユーザパスワード発行
- 一般ユーザ作成、パスワード発行
- sshのインストール
- Apacheのインストール
- MariaDBのインストール
- Rubyのインストール
#DBの設定
DBのrootユーザの追加
root > mysql
mysql > GRANT ALL PRIVILEGES ON *.* TO 'takemi'@'localhost' IDENTIFIED BY 'takemi123' WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES;
※DBのユーザ名とOSのユーザ名を合わせておくと、OSのログインユーザがmysqlコマンドを実行する時にユーザ名指定を省略することができるようになります。
#Redmineのインストール
root > cd /var/www
root > svn co https://svn.redmine.org/redmine/branches/4.1-stable redmine-4.1
user > cd redmin-4.1
user > cd config
user > cp configuration.yml.example configuration.yml
user > cp database.yml.example database.yml
user > vi database.yml
username: takemi
password: "takemi123"
root > cd /var/www
root > chown -R takemi:takemi redmine-4.1
root > vi /etc/group
takemi:x:1000:apache
root > cd /var/www/redmine-4.1
root > gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'
root > bundle install --without development test --path vendor/bundle
root > bundle exec rake generate_secret_token
root > gem install passenger --no-rdoc --no-ri
root > passenger-install-apache2-module --auto
root > passenger-install-apache2-module --snippet
root > vi /etc/httpd/conf.d/redmine.conf
root > systemctl restart httpd
user > mysql -p
create database redmine default character set utf8;
user > RAILS_ENV=production bundle exec rake db:migrate
user > RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
#Redmineのセットアップ
ブラウザでアクセス!
詳しくは動画で!