ウェブアプリケーションパッケージガイドライン
ナビゲーションに移動
検索に移動
パッケージ作成ガイドライン
32ビット – CLR – クロス – Eclipse – Electron – Free Pascal – GNOME – Go – Haskell – Java – KDE – カーネル – Lisp – MinGW – Node.js – ノンフリー – OCaml – Perl – PHP – Python – R – Ruby – Rust – VCS – ウェブ – Wine
このページではウェブアプリケーションをパッケージ化する方法を説明します。
ユーザの分離
セキュリティ上の理由により、すべてのウェブアプリケーションは別々の(非特権)ユーザ(つまり、$pkgname
)として実行されるべきです。
ユーザの作成方法や、パッケージのユーザ用のファイルやフォルダーの所有権をどう扱うかについては、systemd-sysusers(8) や sysusers.d(5)、systemd-tmpfiles(8)、tmpfiles.d(5) を参照してください。
ディレクトリ構造
ディレクトリ構造は FHS に従います。
/usr/share/$pkgname
: アプリケーションのデータディレクトリにはウェブアプリケーションのファイルが格納されます。ファイルはroot
が所有しており、ゆえに$pkgname
ユーザと$pkgname
グループに対しては読み取り専用となります。
/etc/$pkgname
: アプリケーションの設定ディレクトリにはウェブアプリケーションの設定ファイルが格納されます(データディレクトリへのシンボリックリンクとなります)。ここに位置するファイルは backup 配列 に含まれていなければならず、$pkgname
ユーザと$pkgname
グループが所有しています。
/run/$pkgname
: アプリケーションのランタイムディレクトリです($pkgname
ユーザと$pkgname
グループが所有しています)。ソケット用に利用可能です(例えば、ソケットアクティベーションを容易にするセットアップで)。
/var/cache/$pkgname
: アプリケーションのキャッシュディレクトリです($pkgname
ユーザと$pkgname
グループが所有しています)。このフォルダ(あるいは、この中のサブフォルダ)は、書き込み可能なキャッシュディレクトリを必要とするアプリケーション用にデータディレクトリへのシンボリックリンクとなります。.
/var/lib/$pkgname
: アプリケーションの永続的ストレージです($pkgname
ユーザと$pkgname
グループが所有しています)。このフォルダ(あるいは、この中のサブフォルダ)は、永続的なストレージディレクトリを必要とするアプリケーション用にデータディレクトリへのシンボリックリンクとなります。