RaspberryPiOSにRedmine構築

先人様達のページを参考にしながら苦労して導入できた（工数:30Hほど）ので記述しておく
LABISTSでRASBERRY PI 4のスターターキットを購入したので覚えてる範囲で最初から記述する

---
・Raspberry PI OS FULLの入ったmicroSDカードをラズパイにセットして初回起動

設定 → Raspberry Piの設定 → SSHを有効化
WiFiマークからIPアドレスの固定を行う

---


パッケージリストの最新化
必要であればインストール済パッケージの最新化

```
sudo apt-get -y update
sudo apt-get -y upgrade
```

日本語を使うためOSのja_JP.UTF-8ロケールの作成

```
sudo locale-gen ja_JP.UTF-8
```

RubyとPassengerのビルドに必要な開発ツールやヘッダファイルのインストール

```
sudo apt-get install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
```

---

PostgreSQL 11のインストール

```
sudo apt-get install -y postgresql-11
```

Apache2とヘッダファイルのインストール

```
sudo apt-get install -y apache2 apache2-dev libapr1-dev libaprutil1-dev
```

---
ImageMagickとヘッダファイルのインストール

```
sudo apt-get install -y imagemagick libmagick++-dev
```

参考サイトではtakoフォントとなっていたがなかったため代用できるものとしてIPAフォントをインストールする

```
sudo apt install -y fonts-ipafont
```

---

編集履歴用にインストール

```
sudo apt-get install -y subversion git
```

bunderのインストール

```
sudo gem install bundler --no-document
```

---

PosgreSQL設定

```
sudo -u postgres createuser -P redmine
```
パスワードも仮でredmineとしておく

redmineDBの作成

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

---

redmineのインストール、設定

redmineのインストール先フォルダを作成し、権限を変更
redmine4.1をインストール


```
sudo mkdir /var/lib/redmine
sudo chown www-data /var/lib/redmine/
sudo -u www-data svn co http://svn.redmine.org/redmine/branches/4.1-stable /var/lib/redmine
```
---

redmineのDB設定、メール設定

```
sudo nano /var/lib/redmine/config/database.yml

---▼▼▼ 設定内容 ▼▼▼---

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

---▲▲▲ 設定内容 ▲▲▲---

sudo ln -s /usr/share/fonts/opentype/ipafont-gothic/ipag.ttf /usr/share/fonts/truetype/ipafont-gothic/ipag.ttf
sudo nano /var/lib/redmine/config/configuration.yml

---▼▼▼ 設定内容 ▼▼▼---

default:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "smtp.gmail.com"
      port: 587
      domain: "smtp.gmail.com"
      authentication: plain
      user_name: "自分の@gmail.com"
      password: "パスワード"

---▲▲▲ 設定内容 ▲▲▲---

```

---

redmineのインストールフォルダに移動
bundleを使い、gemパッケージのインストール
セッション改ざん防止秘密鍵作成
redmineDBにテーブル作成

```
cd /var/lib/redmine
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bin/rake generate_secret_token
sudo -u www-data RAILS_ENV=production bin/rake db:migrate
```

---
Passengerのインストール
PassengerのApache用モジュールのインストール
Apache用設定内容の確認

```
sudo gem install passenger -N
sudo passenger-install-apache2-module --auto --languages ruby
passenger-install-apache2-module --snippet
```

---
Apacheの設定 (以下のように設定)

```

sudo nano /etc/apache2/conf-available/redmine.conf

---▼▼▼ 設定内容 ▼▼▼---
<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

#LoadModule passenger_module /var/lib/gems/2.5.0/gems/passenger-6.0.6/builout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /var/lib/gems/2.5.0/gems/passenger-6.0.6
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerStatThrottleRate 10

#Redmineのインストールディレクトリアクセス許可
<Directory /var/lib/redmine/public>
  #Allow from all
  Options -MultiViews
  Require all granted
</Directory>

Alias /redmine/ /var/lib/redmine/public

<Location /redmine>
  PassengerBaseURI /redmine
  PassengerAppRoot /var/lib/redmine
  Require all granted
</Location>

RackBaseURI /redmine
---▲▲▲ 設定内容 ▲▲▲---

sudo nano /etc/apache2/apache2.conf

---▼▼▼ 追加内容 ▼▼▼---
# PassengerSetting
   LoadModule passenger_module /var/lib/gems/2.5.0/gems/passenger-6.0.6/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /var/lib/gems/2.5.0/gems/passenger-6.0.6
     PassengerDefaultRuby /usr/bin/ruby2.5
   </IfModule>
#PassengerResolveSymlinksInDocumentRoot on
#PassengerInstanceRegistryDir /var/run/passenger-instreg
#PassengerRoot /var/lib/gems/2.5.0/gems/passenger-6.0.6
#PassengerRuby /usr/bin/ruby

# RedmineSetting
<Directory /var/lib/redmine/public>
   Options Indexes FollowSymLinks
</Directory>

---▲▲▲ 追加内容 ▲▲▲---

```
---

Apache設定の反映、起動

```
sudo a2enconf redmine
apache2ctl configtest
sudo systemctl reload apache2
```


http://固定したIPアドレス/redmine/
で起動するはず。。
できなかったらごめんなさい。。

補足：ラズパイを起動するたびに「sudo mkdir /var/run/passenger-instreg」がいるようです。

エラーで試したこと

bundleがver2だったのでbundle ver2を削除
passenger.confに追加

```conf:/etc/apache2/mods-enabled/passenger.conf
PassengerInstanceRegistryDir /var/run/passenger-instreg

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
PassengerMaxPreloaderIdleTime 0

```

起動した後メールが送れなかったのでGoogleメールの設定からセキュリティの低いAppから操作できるように設定



---

参考サイト様
http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_redmine/
https://wp.developapp.net/?p=5586
http://blog.redmine.jp/articles/3_4/install/ubuntu/
http://blog.redmine.jp/articles/4_1/install/ubuntu/

メモですのでコメント等お答えできかねると思います申し訳ありません。
少しでもこの記事が皆さまの助けになることを祈っています