導入

Toutadmin を導入する

同じ製品の二つの版。一方はサーバー上でサービスとして動き、もう一方は共用レンタルサーバーに置くだけです。データベースは必須ではなく、他社のサービスも要りません——ただし MySQL サーバーをお持ちなら、それも使えます。一時間を見てください。

欧州に置かれ、入れるものは何もありません。五人までは無料で、初日から製品はまるごとです。

取り寄せは誰にでも開かれています

無料の形は SaaS で終わりではありません。五人までなら、製品をご自分の場に据えても —— ご自分の綴り、ご自分の台帳、ご自分の控え —— 一文も要りません。形を決めるのは人数であって、instance がどこで動くかではありません。五人を超えると月ぎめが要ります。こちらで動かす場合も、ご自分の場で動かす場合も同じです。

料金の形を見る

どちらを入れるか

決め手は機能ではなくサーバー環境です。二つの版にできることは、まったく同じです。

Node 版

ご自身で管理するサーバー向け。一台の機械、常駐するサービス、その前に置くリバースプロキシ。

Node 22、C コンパイラ、ローカルディスク。数十人なら 1 コアで足ります。MySQL サーバーがあれば使えますし、なければ SQLite が何も要求しません。

PHP 版

共用レンタルサーバー向け。フォルダーを上げ、ファイルを埋め、定期実行を一つ登録するだけ。コマンドラインは不要です。

PHP 8.1 と SQLite 拡張。導入すべき依存はありません。Composer もパッケージ管理も不要です。データベースサーバーを選ぶなら PDO MySQL 拡張も。

選択はあとから覆せます

二つの版はデータベースの構造もパスワードの形式も共通です。乗り換えは、データベースのファイル一つとフォルダー五つを写すだけ。変換作業はなく、誰もパスワードを変えずに済みます。

SQLite か MySQL か

そしてどのデータベースか

二つめの選択であり、変えるのが難しい唯一の選択です。版には依りません。どちらの版も両方のエンジンを受け入れ、四つの組み合わせが同じテストを通ります。

SQLite

サーバーのディスク上のファイル一つ。導入するものも、管理するものも、見張るものもありません——インスタンスはフォルダーを写すだけで移せます。

これが既定であり、多くの場合の正解です。アプリケーションサーバーが一台、そして配備をまたいで残るローカルディスクがあれば。

MySQL または MariaDB

データベースサーバー。同じ機械でも、網の別の場所でも。データは、貴社の情報システム部門がすでに保存し、複製し、監視している場所に住みます。

取る理由は三つ。同じデータベースに複数のアプリケーションサーバー、それを求める社内規定、あるいは揮発性のアプリケーションディスク——配備のたびに作り直されるコンテナ。

MySQL は速さのための選択ではありません

これが最も広く信じられていることで、そして誤りです。SQLite はプロセスの内側に、MySQL はソケットの向こうに住みます。当方で二千回の操作を測ったところ、SQLite は操作に応じて二・五倍から百五十倍速く、八つの書き手が同時に走っても比較に耐えます。MySQL は、データがどこに住み、誰が管理するかのために選ぶものであって、応答時間のためではありません。

数字を添えた詳細

五分で

手早い導入

案内役を開くのに足りるだけ。細かいところはすぐ後に、一段ずつ —— どの命令が何をして、なぜそうするのかとともに。

Node 版

ご自分で見るサーバーで三つの命令。最後の一つが導入の合言葉をこしらえ、instance を立ち上げます。

git clone <votre-dépôt> toutadmin
cd toutadmin && npm ci --omit=dev
INSTALL_TOKEN=$(openssl rand -hex 16) \
NODE_ENV=production node src/server.js

PHP 版

命令行はいっさい要りません。置く一つの入れ物、写す一つの綴り、開く一つの書き込みの許し。

# 1. déposer le dossier (racine web → public/)
# 2. cp config.sample.php config.php
# 3. chmod 770 data/
# 4. ouvrir https://votre-domaine/install

あとは案内役がやります

instance は空のまま立ち上がり、自らの上に閉じます。据え付けが済むまではどの宛先も案内役に行き着き、済んだとたんに案内役は二度と現れません。

  1. 1 言語instance の言語を十六のうちから。後で変えられますし、各人は自分の言語を持ち続けます。
  2. 2 前提案内役は足もとを確かめます。版、書き込みの許し、台帳、入れ物。足りないものは名指されます —— 推しはかりではなく。
  3. 3 データベース何も要求しないファイル一つの SQLite か、お持ちであれば MySQL / MariaDB。ウィザードは身を委ねる前に接続を試します。
  4. 4 組織会社の名と、年ごとの休みの日数。二つの答えで、あとから直せます。
  5. 5 管理者最初の口座。十二文字以上。ほかの口座をこしらえられるのはこれだけです。
  6. 6 導入要約のあと、画面に告げられる四段階で据え付けます。ウィザードはそのまま永久に閉じます。
https://votre-domaine/install

口を開ける前に、導入の合言葉を置いてください

最初の立ち上げからあなたが案内役を通るまでのあいだ、先に来た者が管理の口座をこしらえてしまいます。INSTALL_TOKEN はその隙間を閉じます。これがなければ案内役は開きません。

導入の案内役
導入の案内役 導入の案内役
Node 版

自前のサーバーで、四段階

  1. 取得して入れる

    npm install ではなく npm ci を。ロックファイルの記述どおりに入ります。サーバーで版がずれると、誰にも理由の分からない障害になります。

    git clone <votre-dépôt> /var/www/toutadmin
    cd /var/www/toutadmin
    npm ci --omit=dev
  2. 設定する

    設定はすべて環境変数で、必須のものは一つもありません。ポートを開ける前に INSTALL_TOKEN を置いてください。初回起動からあなたが導入画面に入るまでの間は、先に来た者が管理者アカウントを作れてしまいます。

    cp .env.example .env
    # PORT, NODE_ENV=production, INSTALL_TOKEN…
  3. システムに預ける

    手で起動すると、端末を閉じた時点で止まります。サービスなら自分で立ち上がり直し、書き込めるのは自分のデータフォルダーだけです。

    sudo systemctl enable --now toutadmin
    journalctl -u toutadmin -f
  4. 通信を暗号化する

    アプリの待ち受けポートをそのままインターネットに出さないでください。プロキシの後ろで、本体が自ら安全性のヘッダーを付けます。HSTS も含め、すでに暗号化された通信でだけ付けます。

    sudo certbot --nginx -d intranet.exemple.fr
PHP 版

共用レンタルサーバーで、四段階

  1. ファイルを置く

    間違えるのはここです。フォルダー全体を公開してしまうと、データベースが誰にでも落とせるようになります。アカウントもパスワードの要約も金庫も、まとめて。

    # déposer le dossier ; la racine web pointe sur public/, pas sur le dossier
  2. 設定を書く

    設定を書くのはウィザードで、しかも最後に書きます。ファイルが無い限り、途中で止まったインストールは何も残していません。そこにインスタンス固有の鍵を置きます。署名を封じ、データベースの機密を暗号化する鍵です。ほかのものと一緒に控えを取ってください。

    cp config.sample.php config.php
    php -r "echo bin2hex(random_bytes(32));"   # session_secret
  3. 書き込み権限を開ける

    SQLite はデータベースの隣にも書き込みます。書き込めるべきはフォルダーであって、ファイルだけではありません。製品の残りは読み取り専用のままで構いません。

    chmod 770 data/     # le dossier, pas seulement la base
  4. 定期実行を登録する

    PHP のサイトは要求のあいだしか生きていません。定期実行が、満了した契約を閉じ、定期請求を起こし、Webhook を送り、バックアップを作ります。

    * * * * * /usr/bin/php /var/www/toutadmin/tools/cron.php

同僚に開く前に

建物の外に出るバックアップ

データベースが小さいうちに一つ取り、外部の保管先を設定してください。守る対象と同じサーバーに残る書庫は、何も守りません。

権限のないお試しアカウント

それで入って歩き回ってください。同僚の目で製品を見る方法はこれだけで、そして最もよく飛ばされる確認でもあります。

管理者は一人ではなく二人

二要素認証を入れたうえで、端末と再発行コードを両方なくすと、扉を開けられるのは別の管理者だけです。抜け道はありません。

完全な手引きはドキュメントにあります

このページは筋道だけです。残りはすべてドキュメントに。前段サーバーの設定、正確な権限、証明書、復元、更新、症状からたどるトラブル対応、そして版ごとに一つずつ、二つの手引きの全文です。

無料で始め、大きくなったらプランを変える

最初の五名は常に無料です。その先は一名あたり月 5 €。試すのにカードは要りません。