ラズパイ3へ Redmine インストール
RaspberryPiにRedmineをインストールする方法
を参考にインストール
まずパッケージのアップデート
1 2 | sudo apt-get -y update
sudo apt-get -y upgrade
|
次に redmine に必要なパッケージのインストール
1 | sudo apt-get -y install apache2 libapache2-mod-passenger imagemagick libmagick++-dev ruby-dev bundler git subversion
|
DBにmysql を使うのでインストールする予定だったが
libmysqlclient-dev がないため、postgresql を使う
ように変更
まずロケール設定
1 | sudo locale-gen ja_JP.UTF-8
|
次に開発ツールと ruby passenger 関連インストール
1 | sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev
|
そして postgresql のインストール
1 | sudo apt-get -y install postgresql postgresql-server-dev-9.5
|
次に apache 関連インストール
1 | sudo apt-get -y install apache2 apache2-dev libapr1-dev libaprutil1-dev
|
次に imagemagic と日本語フォントのインストール
1 2 | sudo apt-get install -y imagemagick libmagick++-dev
sudo apt-get -y install fonts-takao
|
しかしメモリ不足のためインストールエラー
このため一度再起動して再度挑戦
1 2 3 | sudo apt-get -y install fonts-taksudo
apt-get -y install fonts-takao
fc-list | grep takao
|
として
1 2 3 4 | /usr/share/fonts/truetype/takao-mincho/TakaoPMincho .ttf: Takao P明朝,TakaoPMincho:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoPGothic .ttf: Takao Pゴシック,TakaoPGothic:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoGothic .ttf: Takaoゴシック,TakaoGothic:style=Regular
/usr/share/fonts/truetype/takao-mincho/TakaoMincho .ttf: Takao明朝,TakaoMincho:style=Regular
|
となればOK
[/shell]
sudo apt-get install git subversion
[/shell]
でバージョン管理ソフト git と subversion
のインストール
次に ruby のバージョンの確認
を実行したところ、現在のバージョンは
ruby 2.3.3p222
これはもともと入ってました
次に bundlerのインストール
1 | sudo gem install bundler --no-document
|
–no-document
をつけるとドキュメントなしになります
次に PostgreSQL のバージョン確認
今回は
psql (PostgreSQL) 9.6.6
でした
次に Redmine用ユーザ作成
1 | sudo -u postgres createuser -P redmine
|
そして Redmine のためのDB作成
1 | sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine
|
次にDB設定値確認
1 | sudo -u postgres psql -U postgres
|
で PostgreSQL のコンソールになるので
を実行するとDB設定をみることができます
なお、この画面を抜けるには q を押せばOK
1 2 3 4 5 6 7 8 9 10 | データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権
-----------+----------+------------------+-------------+-------------------+-----------------------
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
redmine | redmine | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c /postgres +
| | | | | postgres=CTc /postgres
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c /postgres +
| | | | | postgres=CTc /postgres
(4 行)
|
今回はこんなかんじになりました
なお PostgreSQL コンソールを抜けるには
で抜けれます
次にRedmine のインストール
1 2 | sudo mkdir /var/lib/redmine
sudo chown www-data /var/lib/redmine/
|
で mkdir でディレクトリを作成し
chown で www-data に所有者変更
1 | sudo -u www-data svn co http: //svn .redmine.org /redmine/branches/3 .4-stable /var/lib/redmine
|
で svn を使い
/var/lib/redmine/ 以下へダウンロード
なお svn コマンドについては
【svn】基本コマンド
を参考に
今回使った svn co はチェックアウト
次にDB接続設定
1 | sudo vim /var/lib/redmine/config/database .yml
|
でファイルを作成し、中身は
1 2 3 4 5 6 7 | production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "redmineDBのパスワード"
encoding: utf8
|
としておく
次にRedmine の設定ファイルの作成
これはサンプルを書き換えて作成するので
1 2 | cd /var/lib/redmine/config/
sudo cp configuration.yml.example configuration.yml
|
でファイルをコピーして
1 | sudo vim configuration.yml
|
でファイルを開き
1 2 3 4 5 6 7 8 9 | production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: "localhost"
port: 25
domain: 'example.com'
rmagick_font_path: /usr/share/fonts/truetype/takao-gothic/TakaoPGothic .ttf
|
として保存
次に redmineの gem のインストール
1 2 | cd /var/lib/redmine/
sudo -u www-data bundle install --without development test --path vendor /bundle
|
次にセッション改ざん防止秘密鍵作成
1 | sudo -u www-data bundle exec rake generate_secret_token
|
次にDBテーブル作成
1 | sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
|
次にデフォルトデータ登録
1 | sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
|
次に Passenger のインストール
1 | sudo gem install passenger --no-rdoc --no-ri
|
Passenger Apacheモジュールインストール
1 | sudo passenger- install -apache2-module --auto --languages ruby
|
次に apache用設定ファイルの確認
1 | passenger- install -apache2-module --snippet
|
内容は
1 2 3 4 5 | LoadModule passenger_module /var/lib/gems/2 .3.0 /gems/passenger-5 .1.12 /buildout/apache2/mod_passenger .so
<IfModule mod_passenger.c>
PassengerRoot /var/lib/gems/2 .3.0 /gems/passenger-5 .1.12
PassengerDefaultRuby /usr/bin/ruby2 .3
< /IfModule >
|
となりました
次に Apache の設定
1 | sudo vim /etc/apache2/conf-available/redmine .conf
|
でファイルを作成し
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <Directory "/var/lib/redmine/public" >
Require all granted
< /Directory >
LoadModule passenger_module /var/lib/gems/2 .3.0 /gems/passenger-5 .1.12 /buildout/apache2/mod_passenger .so
<IfModule mod_passenger.c>
PassengerRoot /var/lib/gems/2 .3.0 /gems/passenger-5 .1.12
PassengerDefaultRuby /usr/bin/ruby2 .3
< /IfModule >
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerStatThrottleRate 10
|
としてRedmine の画像ファイルやCSSファイルへ
アクセスを許可
これをしないと apache2.4 のデフォルト設定では
アクセス禁止になっている
そして Passenger の基本設定をコマンドの実行結果を元に記述し
Passenger のチューニング設定を追記
設定については
ttps://www.phusionpassenger.com/library/config/apache/reference/
のリファレンスを参考に
ここまでできたら apache の設定を反映
1 2 | sudo a2enconf redmine
apache2ctl configtest
|
を実行したときに
1 | AH00558: apache2: Could not reliably determine the server 's fully qualified domain name, using 127.0.1.1. Set the ' ServerName' directive globally to suppress this message
|
となるので
apache2再起動時にAH00558が発生する
を参考にServername を設定
でホスト名を確認
今回は
raspberrypi
だったので
1 2 3 | cd /etc/apache2/conf-available/
sudo touch fqdn.conf
sudo vim fqdn.conf
|
でファイルを作成して編集
として保存し
1 2 | sudo a2enconf fqdn
sudo service apache2 restart
|
として設定を反映し
apache2 を再起動したところ
1 2 | Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
|
となるため
で確認すると
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | -- Unit apache2.service has begun starting up.
1月 29 20:58:15 raspberrypi apachectl[24661]: [Mon Jan 29 20:58:15.640734 2018] [so:warn] [pid 24664:tid 1996165120] AH01574: module p
1月 29 20:58:15 raspberrypi apachectl[24661]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
1月 29 20:58:15 raspberrypi apachectl[24661]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
1月 29 20:58:15 raspberrypi apachectl[24661]: no listening sockets available, shutting down
1月 29 20:58:15 raspberrypi apachectl[24661]: AH00015: Unable to open logs
1月 29 20:58:15 raspberrypi apachectl[24661]: Action 'start' failed.
1月 29 20:58:15 raspberrypi apachectl[24661]: The Apache error log may have more information.
1月 29 20:58:15 raspberrypi systemd[1]: apache2.service: Control process exited, code=exited status=1
1月 29 20:58:15 raspberrypi systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit apache2.service has failed
-- Defined-By: systemd
-- Support: https: //www .debian.org /support
--
-- Unit apache2.service has failed.
--
-- The result is failed.
1月 29 20:58:15 raspberrypi systemd[1]: apache2.service: Unit entered failed state.
1月 29 20:58:15 raspberrypi systemd[1]: apache2.service: Failed with result 'exit-code' .
1月 29 20:58:15 raspberrypi sudo [24652]: pam_unix( sudo :session): session closed for user root
1月 29 21:05:01 raspberrypi CRON[25108]: pam_unix( cron :session): session opened for user root by (uid=0)
1月 29 21:05:01 raspberrypi CRON[25112]: (root) CMD ( command - v debian-sa1 > /dev/null && debian-sa1 1 1)
1月 29 21:05:01 raspberrypi CRON[25108]: pam_unix( cron :session): session closed for user root
|
すでに Gitlab を設定しているため
サブディレクトリで Redmine を実行するように設定を変更
1 | sudo vim /etc/apache2/conf-available/redmine .conf
|
でファイルを開き
1 2 3 4 5 | Alias /redmine /var/lib/redmine/public
<Location /redmine >
PassengerBaseURI /redmine
PassengerAppRoot /var/lib/redmine
< /Location >
|
を最終行に追記し保存
1 | sudo service apache2 reload
|
としたけど
1 | apache2.service is not active, cannot reload.
|
となってしまう
1 | sudo ln -s /var/lib/redmine/public /var/www/html/redmine
|
でシンボリックリンクを作成し
を
1 | /etc/apache2/conf-available/redmine .conf
|
の最終行へ追記してもエラー
再度
を実行すると
1 | AH01574: module passenger_module is already loaded, skipping
|
とエラーが変化
1 | systemctl status apache2.service
|
でエラーをみたところ
1 | (98)Address already in use: AH00072: make_sock
|
とあり
検索すると
エラーメッセージとその対処あれこれ
によればポートの競合が原因
おそらく GitLab で使っているポートと重複するのが
原因
このため Gitlab の ポートを変更することに
1 | sudo vim /etc/gitlab/gitlab .rb
|
で設定ファイルを開き
13行目あたりの
の部分を
として
7000版ポートを使うように変更
変更の方法については
GitLab 8.2 + HTTPS 設定メモ(CentOS7)
GitLab 8.2 + HTTPS 設定メモ(CentOS7)
を参考にしました
しかし、これでもダメなため
Gitlab Redmine 共存環境で検索し
1 | sudo vim /etc/gitlab/gitlab .rb
|
で設定ファイルを開き
444行目の
506行目の
のコメントアウトを削除し
744行目の
を
1 | nginx[ 'listen_port' ] = 8080
|
へ変更
設定反映のため
1 | sudo gitlab-ctl reconfigure
|
としたけどダメ
このため、一度これらの設定を元に戻す
ラズパイにRedmine3をインスールする。そして地獄を見る。また。。。
を参考に設定ファイルを変更
1 | sudo apt-get install -y libapache2-mod-passenger imagemagick libmagick++-dev libmagickcore-dev libmagickwand-dev apache2-dev libcurl4-openssl-dev libapr1-dev libaprutil1-dev
|
でパッケージを追加し
でswap容量を確認
これで100Mしかないため
1 | sudo service dphys-swapfile stop
|
で一度とめて
1 | sudo vim /etc/dphys-swapfile
|
でファイルを開き
16行目あたりの
を
へ変更し
1 | sudo service dphys-swapfile start
|
で再起動
次に
1 | sudo vim /etc/apache2/conf-available/redmine .conf
|
で内容が
1 2 3 4 5 | <Directory "/var/lib/redmine/public" >
Require all granted
< /Directory >
RackBaseURI /redmine
|
であることを確認し
1 | sudo cp /etc/apache2/conf-enabled/redmine .conf redmine.conf_bak
|
ですでに存在するファイルをバックアップしてから
1 | sudo rm /etc/apache2/conf-enabled/redmine .conf
|
で削除し
1 | sudo ln -s /etc/apache2/conf-available/redmine .conf /etc/apache2/conf-enabled/redmine .conf
|
でシンボリックリンク作成して
1 | sudo vim /etc/apache2/mods-available/passenger .conf
|
を実行すると
1 2 3 4 | <IfModule mod_passenger.c>
PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations .ini
PassengerDefaultRuby /usr/bin/ruby
< /IfModule >
|
となっているので
この下へ
1 2 | PassengerResolveSymlinksInDocumentRoot on
PassengerInstanceRegistryDir /var/run/passenger-instreg
|
を
追記し保存
1 | sudo vim /etc/apache2/mods-available/passenger .load
|
でファイルを開くと
1 | LoadModule passenger_module /usr/lib/apache2/modules/mod_passenger .so
|
となっていた
1 2 3 | sudo a2enconf redmine
apache2ctl configtest
sudo service apache2 restart
|
でエラーはないけど
redmine へアクセスしようとしてもディレクトリ構造だけ
を実行すると
1 2 3 4 | ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be:
1. You customized the instance registry directory using Apache 's PassengerInstanceRegistryDir option, Nginx' s passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry- dir command line argument. If so, please set the environment variable PASSENGER_INSTANCE_REGISTRY_DIR to that directory and run passenger-status again.
2. The instance directory has been removed by an operating system background service. Please set a different instance registry directory using Apache 's PassengerInstanceRegistryDir option, Nginx' s passenger_instance_registry_dir option, or Phusion Passenger Standalone's --instance-registry- dir command line argument.
|
となるため、
これで検索
[CentOS] Redmineのインストールメモ
によれば
1 | sudo mkdir /var/run/passenger-instreg
|
で
httpd.conf」に以下を追加
とあったけど
1 | sudo vim /etc/apache2/apache2 .conf
|
で開いても項目が見当たらないため
再度コマンド履歴をみたところ
1 | /etc/apache2/mods-enabled/passenger .load
|
がシンボリックリンクになっていないため
1 | sudo cp /etc/apache2/mods-enabled/passenger .load .
|
でバックアップし
1 | sudo rm /etc/apache2/mods-enabled/passenger .load
|
で
ファイルを削除して
1 | sudo ln -s /etc/apache2/mods-available/passenger .load /etc/apache2/mods-enabled/passenger .load
|
でシンボリックリンクを作成し
1 | sudo service apache2 restart
|
とすると
ようやく redmine が起動しました