2018年11月25日日曜日

Raspberry Pi3 Redmine導入 エラーからの復活 まとめ

[背景]
https://chuchulabo.blogspot.com/2018/11/raspberry-pi3-redmine.html
でRedmine入れて,他のPCからRedmineのページが見れることを確認した。
浮かれた気分でRaspberry Pi3 を「sudo reboot」で再起動!

もう一度,Redmineのページが見れるかどうかを確認。
・・・見れなくなってた・・・
これが出るようになった。

We're sorry, but something went wrong.

We've been notified about this issue and we'll take a look at it shortly.
なーんーでーやー!

[目的]
Redmineのページを見れるように修復

[内容]
----- 現象 -----
いろいろいじってると,postgresqlにログインできないなくなっていることに気が付いた。
pi@raspberrypi:/ $ psql
psql: サーバに接続できませんでした: そのようなファイルやディレクトリはありません
ローカルにサーバが稼動していますか?
Unixドメインソケット"/var/run/postgresql/.s.PGSQL.5432"で通信を受け付けていますか?
----- 修正方法 -----
postgresqlを再インストールすれば直った。
再インストールの方法
  1. postgresqlを削除 「sudo apt-get --purge remove postgresql」
  2. postgresqlが削除できているか確認 「dpkg -l | grep postgres」
  3. 何も出てこなければOK。
    そうでなければ,
    「sudo apt-get --purge remove postgresql postgresql-doc postgresql-common」
    といった形で,出てきたものを一つずつスペースで区切って削除する。
  4. 「dpkg -l | grep postgres」で,何も表示されなくなるまで繰り返し。
  5. 再起動 「sudo reboot」 (別にいらないかも)
たとえば,「dpkg -l | grep postgres」で,つぎのように表示された場合,
pi@raspberrypi:/ $ dpkg -l | grep postgres
ii  postgresql-client-9.6                 9.6.10-0+deb9u1                   armhf        front-end programs for PostgreSQL 9.6
ii  postgresql-client-common              181+deb9u2                        all          manager for multiple PostgreSQL client versions
「sudo apt-get --purge remove postgresql postgresql-client-9.6 postgresql-client-common」
を実行して削除する。
最終的に,「dpkg -l | grep postgres」を実行して,何も表示されなくなればOK。
参考 : https://askubuntu.com/questions/32730/how-to-remove-postgres-from-my-installation

次に,postgresqlのインストールと初期設定を行う。 Redmineの公式の通りにしただけでは,おそらく同じようにRaspiを再起動したら使えなくなると思ったため。
  1. postgresqlをインストール 「sudo apt install postgresql」
  2. postgresqlサーバをインストール 「sudo apt install postgresql-server-dev-9.6」
  3. postgresqlユーザで,postgresqlのターミナルに入る。 「sudo -u postgres psql postgres」 ("postgres=#" が表示される。)     
    • 「CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'your_password' NOINHERIT VALID UNTIL 'infinity'; CREATE ROLE」
    • 「CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;」
    • 「\q」(postgresqlからquit)
  4. postgresユーザのパスワード変更 「sudo passwd postgres」
  5. postgresユーザでログイン 「su - postgres」
    piユーザから,posgtresユーザに切り替わる。(postgres@raspberrypi:~$ が表示される。)
    • postgresqlのターミナルに入る。 「psql」
      • データベースロールの確認 「\du」
      • 「\q」(postgresqlからquit)
    • postgresユーザからログアウト 「exit」
  6. ディレクトリ移動 「cd /etc/postgresql/9.6/main/」
  7. pg_hba.confを編集 「sudo nano pg_hba.conf」
    ・・・(省略)・・・
    # Database administrative login by Unix domain socket
    # local   all             postgres                                peer
    local   all             postgres                                trust 
    
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    # local   all             all                                     peer
    local   all             all                                     trust
    ・・・(省略)・・・
    
  8. postgresqlを再起動 「sudo service postgresql reload」
  9. ここから先は,公式の操作の6.からを再度トレースする https://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Debian_9
調べながらの作業では,実際に,上述の手順では行なっていないが,見直すと,こんな感じになっていた。

[結論]
大体の流れとして,psqlを再インストールして,postgresユーザの設定をして,公式の通りに操作すればOK。

[参考URL]

0 件のコメント:

コメントを投稿