コンテンツにスキップ

依存関係

RaspberryPi OSのセットアップ

RaspberryPi OS Liteのイメージをダウンロードし、microSDカードに書き込みます(32GBのものを利用していますが、もう少し小さなSDカードでも問題有りません)。 SSHとローカルWifiネットワークを利用する場合:

  • 空のSSHファイルを作成し、SSHを有効にする(または直接キーボード、マウス、ディスプレイに接続)
  • wpa_supplicant.confファイルを作成し、ローカル無線LANの認証情報を設定する(またはPiをLANに接続する)。
  • ルーターでIPアドレスを確認し、これを使って好きなSSHクライアント(Puttyなど)でログインします。

システムを更新し、必要なシステム・パッケージ、PostgreSQL、オプションのmemcachedパッケージをインストールします。ここでnpmとnodejsをインストールするのも良いかもしれません。

sudo apt-get update -y
sudo apt-get full-upgrade -y
sudo apt-get install -y zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libgdbm-dev libncurses5-dev automake libtool bison libffi-dev git curl poppler-utils unrtf tesseract-ocr catdoc libxml2 libxml2-dev libxslt1-dev memcached postgresql postgresql-contrib libpq-dev libsass1 libsass-dev sassc npm nodejs

ファイルシステムを拡張する

SDカードの容量を最大限利用するためにファイルシステムを拡張します; raspi-configを起動しadvanced optionsexpand filesystemを選択した後、終了し再起動します。

スワップ領域を4GBに拡張する

基本的には不要ですが、2GB版では役に立つかもしれません(非推奨)。過剰な読み書きによりメモリーカードの破損を避けるため、インストール後は必ず設定を元に戻してください。

sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile 
***CONF_SWAPSIZEとCONF_MAXSWAPの行を見つけ、4096またはそれに近い値に変更する***
sudo dphys-swapfile swapon

ユーザーアカウントのセットアップ

openprojectグループ/ユーザーを作成する。標準インストールでは、ここではパスワードに'openproject'を設定した。

sudo groupadd openproject
sudo useradd --create-home --gid openproject openproject
sudo passwd openproject 
#パスワードを入力

PostgreSQLシステムユーザに切り替えて、データベース用ユーザを作成してください。公式ドキュメントの通り二作成すると権限のないユーザが作成されますが、-sdフラグを指定するとCREATEDB権限を持つスーパーユーザが作成されます。

sudo su - postgres
createuser -drsW openproject

PostgreSQLのユーザとその権限を確認してください。CREATE DB権限がない場合、インストールはその後失敗します。

psql
\du
exit

出力は以下のようになります:

postgres=# \du
                                    List of roles
  Role name  |                         Attributes                         | Member of
-------------+------------------------------------------------------------+-----------
 openproject | Superuser, Create role, Create DB                          | {}
 postgres    | Superuser, Create role, Creaboglte DB, Replication, Bypass RLS | {}

データベースを作成し、元のユーザーアカウントに戻します:

createdb -O openproject openproject exit