【tech】ubuntu18.04 Redmine4をNginxで動かす手順メモ



以前redmine4をインストールする手順のメモをblogに書き残していましたが、
最近nginxを触ってみたいと思っていたので、Nginxで動かしてみた手順のメモです!

動画作りました!

・環境


ubuntu18.04 (minimal) on VirtualBox
(IP:192.168.56.150)
WEB:Nginx
DB:MySQL
MySQLDB rootユーザPW:RootPW123!
Redmine用DB名:redmine
RedmineDB ユーザ:redmine
Redmineuser PW:Redmine123!


私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

それでは手順です!



・rootになる
sudo su

・アップデート
apt-get update

・Redmine関係のPKGインストール
apt-get install -y net-tools curl mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev git-core subversion

・GPGキーのインポート
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

・rvmのダウンロード
curl -sSL https://get.rvm.io | bash -s stable

・rvmの展開
source /etc/profile.d/rvm.sh

・rvmのインストール
rvm install 2.6.0

・rvmのリロード
source /usr/local/rvm/scripts/rvm

・.bashrcへ追記
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc

・./bashrcのリロード
source ~/.bashrc



・ver確認
ruby -v
rvm -v

・MySQLモードへ以降
mysql -u root -p
 →PW:Root123!

・Redmine用データベースの作成
create database redmine;
create user redmine@localhost identified by 'Redmine123!';
grant all privileges on redmine.* to redmine@localhost identified by 'Redmine123!';
flush privileges;
exit

・Passengerのインストール
gem install passenger -N

・Nginxのインストール
passenger-install-nginx-module

・ディレクトリの移動
cd /opt/nginx/

・ディレクトリの移動
cd conf/

・configファイルの作成
vi nginx.conf
→23行目に下記設定追加


include vhost/*.conf;




・ディレクトリの作成
mkdir -p /opt/nginx/conf/vhost

・ディレクトリの移動
cd /opt/nginx/conf/vhost/

・redmine用のconfig作成
vi redmine.conf

→下記設定の記述

 server {
        listen       80;
        server_name  www.kusomemo.tokyo;

        root /var/www/redmine/public;
        passenger_enabled on;
        client_max_body_size      10m; # Max attachemnt size

        \# redirect server error pages to the static page /50x.html
        \#
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }




・ディレクトリ移動
cd /lib/systemd/system/

・サービスの定義
vi nginx.service
→下記設定を記述


[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target


・systemdのリロード
systemctl daemon-reload

・Nginxの起動
systemctl start nginx

・Nginxの自動起動設定
systemctl enable nginx

・portの確認
netstat -plntu | grep nginx

Redmineのインストール




・ディレクトリの作成
mkdir -p /var/www/redmine

・ディレクトリの移動
cd /var/www

・Redmineのダウンロード
svn co https://svn.redmine.org/redmine/branches/4.0-stable redmine
→下記メッセージが表示されたら「T」→「Enter」
 ※まれにERRORになりましたが、もう一度同じコマンドを
  入力したら何故かダウンロードできました。


Error validating server certificate for 'https://svn.redmine.org:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: svn.redmine.org
- Valid: from Sun, 08 Jan 2017 00:00:00 GMT until Wed, 08 Jan 2020 23:59:59 GMT
- Issuer: Gandi, Paris, Paris, FR
- Fingerprint: ab:f1:c8:b7:69:a6:99:bd:20:c1:59:a4:5f:60:9e:27:2d:81:82:b7
(R)eject, accept (t)emporarily or accept (p)ermanently?


・ディレクトリの移動
cd redmine

・サンプルファイルのコピー
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml

・ymlファイルの編集
vi config/database.yml
→DB「redmine」のユーザ名・パスワードを編集

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "Redmine123!"
  encoding: utf8




・ディレクトリの作成
mkdir -p tmp tmp/pdf public/plugin_assets

sudo chown -R www-data:www-data files log tmp public/plugin_assets

sudo chmod -R 775 files log tmp public/plugin_assets

・bundlerのインストール
gem install bundler
bundle install --without development test

・トークンの作成
bundle exec rake generate_secret_token

・DBの作成
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

「en」→「Enter」
jaだとエラーになりました。。

・Nginxのリスタート
systemctl restart nginx

・firewallの許可
firewall-cmd --add-service=http --permanent

・firewallの再起動
firewall-cmd --reload

ブラウザを立ち上げ「192.168.56.150」へアクセス
画面右上の「ログイン」をクリック。

Login:admin
Password:admin



楽天トラベル

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のRedmineの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】【動画あり】Nginxでredmine4を動かすメモ(CentOS7 Ruby-2.6.0 MySQL5.7)



CentOS8にRedmine4をインストールしてみました!(webrick)

https://kusomemo.tokyo/tech/centos8-redmine4-webrick/

以前redmine4をインストールする手順のメモをblogに書き残していましたが、
最近nginxを触ってみたいと思っていたので、Nginxで動かしてみた手順のメモです!

動画作りました!

・環境


CentOS7.5 (minimal) on VirtualBox
(IP:192.168.56.150)
WEB:Nginx
DB:MySQL
MariaDB rootユーザPW:RootPW123!
Redmine用DB名:redmine
RedmineDB ユーザ:redmine
Redmineuser PW:Redmine123!


私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑

それでは手順です!

・Redmine関連PKGのインストール
yum install -y zlib-devel patch curl-devel ImageMagick-devel openssl-devel httpd-devel libtool apr-devel apr-util-devel bzip2 mysql-devel ftp wget gcc-c++ autoconf readline readline-devel zlib libyaml-devel libffi-devel make automake bison iconv-devel subversion

・GPGキーのインポート
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

・rvmのダウンロード
\curl -sSL https://get.rvm.io | bash -s stable

・rvmの展開
source /etc/profile.d/rvm.sh

・rvmのインストール
rvm install 2.6.0

・rvmのリロード
source /usr/local/rvm/scripts/rvm

・.bashrcへ追記
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc

・./bashrcのリロード
source ~/.bashrc

・ver確認
ruby -v
rvm -v

・MySQLのリポジトリ追加
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

・リポジトリの確認
yum repolist

・MySQLをインストール
yum install -y mysql-server

・MySQLを起動
systemctl start mysqld

・MySQLの自動起動
systemctl enable mysqld

・初期PWの確認
grep 'temporary password' /var/log/mysqld.log


2019-04-12T15:04:04.771898Z 1 [Note] A temporary password is generated for root@localhost: (%lD:&;o=7eu


※この場合「(%lD:&;o=7eu」です

・MySQLモードへ以降
mysql -u root -p

・ユーザの作成
ALTER USER 'root'@'localhost' IDENTIFIED BY 'RootPW123!';

・DBの作成
create database redmine;
create user redmine@localhost identified by 'Redmine123!';
grant all privileges on redmine.* to redmine@localhost identified by 'Redmine123!';
flush privileges;
exit

・Passengerのインストール
gem install passenger -N

・Nginxのインストール
passenger-install-nginx-module

→下記メッセージが表示されたら「Enter」


Welcome to the Phusion Passenger Nginx module installer, v6.0.2.

This installer will guide you through the entire installation process. It
shouldn't take more than 5 minutes in total.

Here's what you can expect from the installation process:

  1. This installer will compile and install Nginx with Passenger support.
  2. You'll learn how to configure Passenger in Nginx.
  3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

Press Enter to continue, or Ctrl-C to abort.


→下記メッセージが表示されたら「!」を入力。
Ruby・Pythonにスペースキーでチェックをつけて「Enter」


Which languages are you interested in?

Use < space > to select.
If the menu doesn't display correctly, press '!'

(*) Ruby
> (*) Python
( ) Node.js
( ) Meteor


上記メッセージが表示されたら「1」→「Enter」
→ダウンロードが始まります。


Automatically download and install Nginx?

Nginx doesn't support loadable modules such as some other web servers do,
so in order to install Nginx with Passenger support, it must be recompiled.

Do you want this installer to download, compile and install Nginx for you?

  1. Yes: download, compile and install Nginx for me. (recommended)
    The easiest way to get started. A stock Nginx 1.15.8 with Passenger
    support, but with no other additional third party modules, will be
    installed for you to a directory of your choice.

  2. No: I want to customize my Nginx installation. (for advanced users)
    Choose this if you want to compile Nginx with more third party modules
    besides Passenger, or if you need to pass additional options to Nginx's
    'configure' script. This installer will 1) ask you for the location of
    the Nginx source code, 2) run the 'configure' script according to your
    instructions, and 3) run 'make install'.

Whichever you choose, if you already have an existing Nginx configuration file,
then it will be preserved.

Enter your choice (1 or 2) or press Ctrl-C to abort: 1


下記メッセージが表示されたら「Enter」


Downloading Nginx...
Verifying Nginx checksum...
Extracting Nginx source tarball...
# tar xzvf /tmp/passenger.1u3rsgk/nginx.tar.gz
nginx-1.15.8/
////////////////////////////
nginx-1.15.8/auto/cc/name
nginx-1.15.8/auto/cc/owc
nginx-1.15.8/auto/cc/sunc


Where do you want to install Nginx to?

Please specify a prefix directory [/opt/nginx]:


下記メッセージが表示されたら「Enter」で完了です。


--------------------------------------------

Nginx with Passenger support was successfully installed.

The Nginx configuration file (/opt/nginx/conf/nginx.conf)
must contain the correct configuration options in order for Phusion Passenger
to function correctly.

This installer has already modified the configuration file for you! The
following configuration snippet was inserted:

http {
...
passenger_root /usr/local/rvm/gems/ruby-2.6.0/gems/passenger-6.0.2;
passenger_ruby /usr/local/rvm/gems/ruby-2.6.0/wrappers/ruby;
...
}

After you start Nginx, you are ready to deploy any number of Ruby on Rails
applications on Nginx.

Press ENTER to continue.


・ディレクトリの移動
cd /opt/nginx/

・ディレクトリの移動
cd conf/

・configファイルの作成
vi nginx.conf
→23行目に下記設定追加


include vhost/*.conf;


・ディレクトリの作成
mkdir -p /opt/nginx/conf/vhost

・ディレクトリの移動
cd /opt/nginx/conf/vhost/

・redmine用のconfig作成
vi redmine.conf

→下記設定の記述

server {
listen 80;
server_name www.kusomemo.tokyo;

root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size 10m; # Max attachemnt size

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

・ディレクトリ移動
cd /lib/systemd/system/

・サービスの定義
vi nginx.service
→下記設定を記述


[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target


・systemdのリロード
systemctl daemon-reload

・Nginxの起動
systemctl start nginx

・Nginxの自動起動設定
systemctl enable nginx

・portの確認
netstat -plntu | grep nginx

・ディレクトリの作成
mkdir -p /var/www/redmine

・ディレクトリの移動
cd /var/www

・Redmineのダウンロード
svn co https://svn.redmine.org/redmine/branches/4.0-stable redmine
→下記メッセージが表示されたら「T」→「Enter」
※まれにERRORになりましたが、もう一度同じコマンドを
入力したら何故かダウンロードできました。


Error validating server certificate for 'https://svn.redmine.org:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: svn.redmine.org
- Valid: from Sun, 08 Jan 2017 00:00:00 GMT until Wed, 08 Jan 2020 23:59:59 GMT
- Issuer: Gandi, Paris, Paris, FR
- Fingerprint: ab:f1:c8:b7:69:a6:99:bd:20:c1:59:a4:5f:60:9e:27:2d:81:82:b7
(R)eject, accept (t)emporarily or accept (p)ermanently?


・ディレクトリの移動
cd redmine

・サンプルファイルのコピー
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml

・ymlファイルの編集
vi config/database.yml
→DB「redmine」のユーザ名・パスワードを編集

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "Redmine123!"
  encoding: utf8

・ディレクトリの作成
mkdir -p tmp tmp/pdf public/plugin_assets

・所有者の変更
sudo chown -R nobody:nobody files log tmp public/plugin_assets

・権限の変更
sudo chmod -R 775 files log tmp public/plugin_assets

・bundlerのインストール
gem install bundler
bundle install --without development test

・トークンの作成
bundle exec rake generate_secret_token

・DBの作成
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

「en」→「Enter」
jaだとエラーになりました。。

・Nginxのリスタート
systemctl restart nginx

・firewallの許可
firewall-cmd --add-service=http --permanent

・firewallの再起動
firewall-cmd --reload

ブラウザを立ち上げ「192.168.56.150」へアクセス

画面右上の「ログイン」をクリック。

Login:admin
Password:admin

※初回のログインはパスワードの変更を求められます。

以上です、無事インストールできましたか?できなかった方はコメントください!

下のRedmineの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】Redmine 4.0をCentOS7へインストールしたメモ



CentOS8にRedmine4をインストールしてみました!(webrick)

https://kusomemo.tokyo/tech/centos8-redmine4-webrick/

Nginx版も作成しました!(動画あり)

新しいバージョンのRedmine4がリリースされたという事で、RedmineのVer3.4もろくに触れていないままですが、いまさら触るよりはと思ってRedmineのVer 4.0を 以前インストールしたRedmineバージョン3.4の手順をもとにinstallしてみました。(なんなくインストールできたのでラッキーです笑)

↓これはRedmine3.4をCentOS7にインストールした動画です。文字でわからない部分は動画でご確認ください!3.4の物ですが、変更点はレッドマインのダウンロード先ディレクトリ指定だけでしたので、問題なく確認できると思います。
動画つくりました!(InstallMovie)

環境


ホストOS:windows10
仮想化:VirtualBox
ゲストOS:CentOS7.5
IF1:NAT接続
IF2:ホストオンリーアダプタ
(192.168.56.150)
PostgresDB:redmine
PostgresUser:redmine
PostgresPW:Redmine123!


私が使っているPC(のメモリが8GBの物)です!
私は今このPCのメモリを現在では32GBにアップグレードして使っています!笑
安くなりましたよねメモリ。SSDも安くなってるので買い換えたいです!笑



手順


・アップデート
yum update -y

・SELINUXの状態を確認
getenforce
→Enforcing

・SELINUXをOFFにする
vi /etc/sysconfig/selinux

・SELINUXの変更を反映するためにリブート
reboot

・SELINUXの状態を確認
getenforce
→Disabled

・firewallにhttpの許可を追加
firewall-cmd --zone=public --add-service=http --permanent

・firewallを再起動
firewall-cmd --reload

・開発ツールのインストール
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

・Apacheヘッダインストール
yum -y install httpd httpd-devel

・フォントインストール
yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts

・Rubyのインストール
curl -O https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz

・Rubyのビルド
tar xvf ruby-2.5.3.tar.gz

cd ruby-2.5.3

./configure --disable-install-doc

make

make install

cd ..

・インストール後の確認
ruby -v

・bundlerのインストール
gem install bundler --no-rdoc --no-ri



PostgresSQLの設定

postgresql-setup initdb

・redmineからアクセス設定
vi /var/lib/pgsql/data/pg_hba.conf
※viは「/Put」で検索できます。


# 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 enable postgresql.service

・PostgreSQLの起動
systemctl start postgresql.service

・ディレクトリ移動
cd /var/lib/pgsql

・redmine用ユーザの作成
sudo -u postgres createuser -P redmine
→PW:Redmine123!

・redmine用DBの作成
sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine

・ディレクトリ移動
cd

・redmineのダウンロード
svn co https://svn.redmine.org/redmine/branches/4.0-stable/ /var/lib/redmine
→拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)? t

・ディレクトリ移動
cd /var/lib/redmine

・設定ファイル作成
vi config/database.yml


production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "Redmine123!"
  encoding: utf8

・Redmineからメールサーバへ接続するための設定
vi config/configuration.yml
※domainはRedmineを実行するFQDN

production:
  email_delivery:
  delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: "kusomemo.tokyo"

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

・gemパッケージのインストール
bundle install --without development test --path vendor/bundle

・REDMINE初期設定、初期データの作成
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 -v 5.1.12 --no-rdoc --no-ri

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

・Apache用設定内容の確認
passenger-install-apache2-module --snippet
→ここで表示された結果を下記ファイルの「#ここから」「#ここまで」の間へ貼り付け

・Apacheの設定
vi /etc/httpd/conf.d/redmine.conf


<directory "/var/lib/redmine/public">

  Require all granted

</directory>
#ここから
LoadModule passenger_module /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<ifmodule mod_passenger.c>

  PassengerRoot /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.1.12

  PassengerDefaultRuby /usr/local/bin/ruby

</ifmodule>
#ここまで

・Apacheの自動起動設定
systemctl enable httpd.service

systemctl start httpd.service

・所有者/グループの変更
chown -R apache:apache /var/lib/redmine

・サブディレクトリでredmineを実行する
※ここではサブディレクトリ手順にしています。
専用サーバの場合はオフィシャルをご確認ください!
vi /etc/httpd/conf.d/redmine.conf
→下記5行をファイルの最下行へ追記

Alias /redmine /var/lib/redmine/public
<location /redmine>

  PassengerBaseURI /redmine

  PassengerAppRoot /var/lib/redmine

</location>

・httpの再起動
systemctl restart httpd

ブラウザから「http://192.168.56.150/redmine」へアクセスする。

インストールできましたか?
出来なかった場合はぜひコメントください!

ログは後日アップ致します!


下のRedmineの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)