【tech】【Movie】KVM環境のCentOS8にnginxでRedmine4を動かすメモ



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

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

apache版もあります!

【tech】CentOS8 (on KVM)にRedmine4をインストールするメモ(Apache版)

そして今回はnginxで動かします!

動画作りました!

・環境


CentOS 8.0 (minimal) on KVM
(IP:192.168.56.101)
WEB:Nginx
DB:MySQL 8
MariaDB rootユーザPW:RootPW123!
Redmine用DB名:redmine
RedmineDB ユーザ:redmine
Redmineuser PW:Redmine123!


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

それでは手順です!

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

・GPGキーのインポート
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

・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/mysql80-community-release-el8-1.noarch.rpm

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

・MySQLを起動
systemctl start mysqld

・MySQLの自動起動
systemctl enable mysqld

・MySQLの初期設定
mysql_secure_installation
→何も入力せずに「Enter」
 PW:Root123!
 それ以降は4回全て「y」でOKです!

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

・DBの作成
create database redmine;

・ユーザの作成
create user redmine@localhost identified by 'Redmine123!';

・権限設定
grant all privileges on redmine.* to redmine@localhost ;

・設定保存
flush privileges;

・mysqlを抜ける
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
ss -ltup | grep nginx


オプション
l:LISTEN状態にあるソケットのみ表示
t:TCPソケットを表示
u:UDPソケットを表示
p:ソケットを使用しているプロセスも表示


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

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

・Redmineのダウンロード
svn co http://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インストール
bundle install --without development rmagick 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
→「Enter」

・Nginxのリスタート
systemctl restart nginx

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

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

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

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

Login:admin
Password:admin

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

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

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



【tech】【Movie】CentOS8 (on KVM)にRedmine4をインストールするメモ(Apache版)



CentOS8がリリースされてから過去にインストールしたOSSのソフトウェアをインストールしていっています。
CentOS8からKVMで仮想化したサーバへインストールしています。
ホストサーバは昔使っていたノートPCにメモリ増設して、CentOS8をインストール、KVMで仮想化しているので、ホストサーバがなくて困っている方もヤフオクなどで古めのcore i7のクアッドコアのPCなどをゲットしてぜひ遊んでみて下さい!笑

ノートPCにKVM環境を構築した手順のメモです(動画もあります!)

【tech】【動画あり】CentOS8でKVMの仮想化環境構築vBridgeの作成メモ



それではさっそく

環境


・作業PC
OS:Win10
IPアドレス:192.168.100.2
GW:192.168.100.1

・ルータ
YAMAHA:RTX1200

・ホストPC(ノートPC DELL n5110)
OS:CentOS8 (minimal)
IPアドレス:192.168.100.10/24
GW:192.168.100.1

ゲストVM
OS:CentOS8 (minimal)
IPアドレス:192.168.100.101/24
GW:192.168.100.1
MW:Apache
Redmine:Ver4



手順

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

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

・SELINUXの状態を確認
getenforce
→Enforcing

・SELINUXをOFFにする
vi /etc/sysconfig/selinux
→SELINUX=disabledに編集

・開発ツールのインストール
dnf group install -y "Development Tools"

・その他のツールをインストール
dnf install -y openssl-devel readline-devel zlib-devel curl-devel libffi-devel subversion


・PostgreSQLのインストール
dnf install -y postgresql-server postgresql-devel

・Apacheのインストール
dnf install -y httpd httpd-devel

・アップデート
dnf update -y

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

・Rubyの展開
tar xvf ruby-2.6.5.tar.gz

・ディレクトリの移動
cd ruby-2.6.5

・スクリプトの実行
./configure --disable-install-doc



・コンパイル
make

・インストール
make install

・ディレクトリ移動
cd ..

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

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

・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 -O redmine -T template0 redmine

・ディレクトリ移動
cd

・redmineのダウンロード
svn co http://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

・gemパッケージのインストール
bundle install --without development test rmagick --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-doc

・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.6.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.6.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



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

PassengerBaseURI /redmine

PassengerAppRoot /var/lib/redmine

</location>

・httpの再起動
systemctl restart httpd

・SELINUXの変更を更新させるため再起動
reboot

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

初期ID:admin
初期PW:admin

インストールできましたか?
もしできなかったらコメントください!





久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

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

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



【tech】Redmine構築時のPassengerエラー We're sorry, but something went wrong.



投稿:2019/11/2
更新:2019/12/27

CentOS8でRedmine4を構築している時にエラーが出てなかなか解決に至れず最終的になんとも情けないところで解決したメモです。

CentOS8でRedmine4をインストールする手順は公開していますので是非見てください!
・Nginx版

【tech】【Movie】KVM環境のCentOS8にnginxでRedmine4を動かすメモ


・Apache版

【tech】【Movie】CentOS8 (on KVM)にRedmine4をインストールするメモ(Apache版)


・Webrick版

【tech】【動画あり】CentOS8.0(on KVM)にRedmine4インストールしたメモ(WEBrick版)

CentOS8にApacheでRedmine4を構築していて、CentOS7ではすんなりインストール出来て余裕をこいていたら見事にハマってしまいました。


We're sorry, but something went wrong.

The issue has been logged for investigation. Please try again later.





という画面が出たら
水色の文字の


Technical details for the administrator of this website


をクリックします。
するとエラーの詳細が確認できます。

私の場合は



Error:
Web application could not be started

Error ID:
993f9e14

Details:
Web application could not be started by the Phusion Passenger application server.

Please read the Passenger log file (search for the Error ID) to find the details of the error.

You can also get a detailed report to appear directly on this page, but for security reasons it is only provided if Phusion Passenger is run with environment set to development and/or with the friendly error pages option set to on.

For more information about configuring environment and friendly error pages, see:





というエラーでした。
色々とググったりして調べて、CentOS7の手順メモを見返して私は気づいたんです。。。


SELINUXをDisabledにしていない事に・・・

SELINUXを
vi /etc/sysconfig/selinux

SELINUX=Disabled
にして
VMを再起動したらRedmine動きました笑

やっぱり、慣れてる、余裕だと思っても、手順飛ばしはいけないですね!

気が引き締まりました!笑




楽天トラベル

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

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