FrontierStack ユーザマニュアル マニュアル先頭
デスクトップ版マニュアル モバイル版マニュアル English한국어 frontierstack.app ↗
2

第 2

インストールと初回起動

ダウンロードから動くスタックまで。macOS が求める許可、管理作業を楽にする任意のヘルパー、そして既存の MAMP・XAMPP・Server.app 構成の移行までを案内します。

FrontierStack は他の Mac アプリと同じようにインストールできます — /Applications にドラッグして開くだけです。その先はあなた次第です。macOS が標準で出す操作ごとのパスワードプロンプトのまま動かすことも、一度だけ少数の許可を与えて以後は一切尋ねられないようにすることもできます。本章では初回起動の全体をたどり、続いて既存のローカルスタックを移行してサイトとデータベースを引き継ぐ方法を示します。

2.1システム要件

FrontierStack は署名済みのネイティブ macOS アプリです。必要なものは次のとおりです。

要件詳細
macOSmacOS 13(Ventura)以降。任意のヘルパーは SMAppService を使い、これは macOS 13 以降の API です。
アーキテクチャApple シリコンまたは Intel。アプリは Apple シリコンでは /opt/homebrew(Intel では /usr/local)の Homebrew スタックを管理します。
Homebrew推奨ですが起動には必須ではありません。大半のサービスは Homebrew フォーミュラとしてインストールされ、FrontierStack が代わりに Homebrew をインストールできます(後述)。
管理者アカウントMac の管理者アカウント。サービスのインストールやシステム設定の編集には管理者権限が必要です — 任意のヘルパー経由か、macOS が操作ごとに出すパスワードプロンプト経由のいずれかです。

どれも特別なものではありません。現行の macOS を動かせる程度に新しい Mac なら、FrontierStack も動きます。

2.2ダウンロードと初回起動

アプリをダウンロードし、FrontierStack.app を /Applications フォルダに移動してダブルクリックします。アプリは Enfour, Inc.(Apple Developer チーム 6Y87KNMALP)によって署名・公証されているため、macOS は「開発元未確認」の警告なしに開きます。

  1. FrontierStack を開きます。メインウィンドウが表示され、左にサービスのサイドバー、中央にヘルス概要が現れます — 第 1 章で見たレイアウトです。
  2. Homebrew がまだ無い場合、それを必要とするペインはその旨を表示し、インストールを提案します。今でも後でも構いません。
  3. FrontierStack は単一インスタンスを強制します。既に 1 つ開いている状態でもう一度起動しても、2 つ目が立ち上がるのではなく、既存のウィンドウが前面に出てくるだけです。これにより、2 つのウィンドウが同じサービスや設定ファイルを奪い合うのを防ぎます。

初回起動はシステムに何の変更も加えません。アプリはインストール済みのものを読み取って状態を表示するだけで、あなたが指示するまで何も起動・停止・再設定はしません。

スクリーンショット追加予定
図 2.1. サービスを 1 つもインストールしていない初回起動時のメインウィンドウ:左にサイドバー、中央にヘルス概要、サイドバー下部にヘルパーのインストール案内。撮影手順: サービスを何も起動していないクリーンな Mac でアプリを開き、サイドバーを展開し、サイドバー下端の「ヘルパーをインストール」の表示が見える状態で撮影

2.3セットアップアシスタント

FrontierStack を初めて開くと、数百のサービスが並ぶサイドバーにいきなり入るのではなく、短いセットアップアシスタントが表示されます。全 8 ページで、設定ではなくあなた自身について尋ね、答えは何も永続的ではありません — どの回答も、最初に何を表示し何を提案するかを決めるだけです。いつでも中断でき、サーバまたはデバイスを追加 ▸ セットアップアシスタントから開き直せます。

ページ尋ねること
はじめにほかのプラットフォームから Web サイトを移すかどうか — STUDIO、Wix、Squarespace、Webflow、WordPress.com、Shopify、共用レンタルサーバ、ほかのサーバ、MAMP や XAMPP、Apple Server、Windows。移す場合は、そこからの移行で FrontierStack が何をするかを示し、サイドバーにはその移行に必要なツールだけを表示します。移さない場合は、管理するネットワークやサーバがすでにあるか、一から始めるかを尋ねます。Mac 上に既存の MAMP 系構成が見つかると、この質問には自動で答えが入ります。
あなたのビジネスWeb サイトを移す場合のみ:業種 — 店舗、飲食店、ホテル、クリニック、学校、制作会社など。その業種向けのツールを、移行用のツールに加えます。
目的Web サイトを移さない場合:ビジネスの運営、開発、サーバ管理、顧客の管理、サービスのセルフホスト、家庭のネットワーク。複数選択可。
環境サーバ管理の経験、対象となる人数、管理するデバイス数 — 1 台から 250 台超まで。
スタックApache、Nginx、PHP、Node.js、Python、MySQL、PostgreSQL、MongoDB、Redis、Git など。未導入のものをインストールできます。
AIAI 管理者が、既に契約している AI サブスクリプションを使うか、API キーまたはローカルモデルを使うか。
確認何がインストールされ、何が提案にとどまるかを、実行前に提示します。
バックアップこの Mac に毎時のバージョン付き設定履歴を保持するか(既定でオン)、さらに iCloud Drive や Dropbox など別の場所へ同期されるフォルダに毎日コピーを置くか — ピン、Setups、Locations、環境設定、Apache/PHP 構成が OS アップグレードやリセットを乗り切るように。
ライセンス現在の状態:有効なライセンス、またはライセンスなしで使える範囲 — お持ちのライセンスコードを貼り付ける欄もあります。

完了すると、もう 1 ステップ開きます:画面いっぱいのServices Manager で、回答に合うセクションが開いた状態、その中の項目はすべてオフです。サイドバーに表示したいものをオンにして続けるを選びます。スキップするか、何もオンにせずに続けると、推奨されたものがすべてオンになります。AI 管理者と AI Models はどちらの場合もオンのままで、AI 管理者への指示はこのステップを閉じてから送られます。

最後のページはライセンスについてで、販売の関門ではなく率直な説明です。FrontierStack はライセンスなしでも動作します — この Mac の監視、サーバ連携、AI 管理者の利用、すべての診断の閲覧。今作成した計画のうちライセンスが必要なのは移行の実行です。スタックの移動はデータベース・サイト・設定を対象へコピーし、そこで動くものを変えるためです。ライセンスがなくても FrontierStack は移行元を検出し、見つかったサイトとデータベースを一覧し、移行で何が移るはずかを正確に表示します。AI 管理者も完全な移行計画を作成します。ライセンスが必要なのは実際に移す部分だけで、Migration ペインはボタン上でその旨を明示し、黙って失敗することはありません。

コンテナ、バックアップ先、監視はスタックページでは意図的にインストールしません。アシスタントが勝手に決めるべきでない判断を含むため、計画に含めるだけにとどめます。

メモアシスタントは本当に新規のインストールでのみ表示されます。既に初回起動を済ませている場合は、動作中の環境を妨げず、静かに完了として記録します。
ヒント出発点であり、確約ではありません。表示されるサービスやペインは、あとから Services メニューやプリセットで変更できます。

2.4特権ヘルパー — と macOS が求める許可

サービスの起動・停止やシステム設定(Apache・Nginx・MySQL・DNS・ファイアウォール)の編集は特権操作です。初期状態では、FrontierStack はそれぞれを標準の macOS 認可プロンプト経由で実行します。つまり毎回パスワードを入力します。安全ではありますが、すぐに煩わしくなります。

任意のヘルパーがこの手間を取り除きます。これは小さな特権ツール — SMAppService デーモン — で、アプリが macOS に登録することで、毎回パスワードを再入力せずに管理操作を実行できます。インストールは意図的に行います。サイドバー下端の「インストール」の案内を使うか、ある操作が初めてそれを必要としたときのプロンプトを承認します。

  1. サイドバー下部のヘルパー行で「インストール」をクリックします。
  2. macOS が「ログイン項目と機能拡張」の承認を表示します(または「システム設定 ▸ 一般 ▸ ログイン項目」でバックグラウンド項目の有効化を求めます)。承認してください — これはデーモンの実行を許可するかどうかを macOS が尋ねているのであり、アプリが何かを上書きしているのではありません。
  3. サイドバーの行が、ヘルパーが登録され実行中であることを示す表示に切り替わります。以後、サービスの起動/停止や設定編集は操作ごとのパスワードプロンプトなしで進みます。

ヘルパーはいつでも削除できます。その場合 FrontierStack は操作ごとの管理者プロンプトに戻ります。どちらのモードでも動作します — ヘルパーは純粋に利便性のためのものです。

セキュリティヘルパーはアプリと同じ Enfour, Inc. チーム(6Y87KNMALP)によって署名されており、それこそが SMAppService デーモンとしての登録を可能にします。ヘルパーはアプリが駆動する特権操作のみを実行します。任意であり、意図的にインストールし、削除できます。AI 管理者やすべてのリモート操作と同じく、あなたが有効化するまでオフです。完全な信頼モデルは第 10 章を参照してください。

2.5Homebrew のインストール

カタログの大半 — ウェブサーバ、データベース、キャッシュ、メール、多数の CLI ツール — は Homebrew フォーミュラとしてインストールされます。Homebrew は FrontierStack がそれらのサービスを取得・更新するために使うパッケージマネージャなので、Mac にまだ無ければ早めに用意しておくとよいでしょう。

サイドバーから Homebrew ペインを開きます。Homebrew が無い場合、ペインは「Homebrew isn't installed. It's the package manager this app uses to install services.」と表示し、「Get Homebrew…」ボタンを出します。インストールはアプリのアプリ内コンソールで実行されます。公式の Homebrew インストーラを走らせ、インストーラが管理者権限を必要とする時点であなた自身がコンソールにパスワードを入力します。FrontierStack はそれを取得も保存もしません — プロンプトは Homebrew 自身のものです。

Homebrew が用意できると、ペインは本格的なパッケージマネージャになります。インストール済みフォーミュラ/キャスクとそのバージョンの検索可能な表、「Install formula or cask」フィールド、未更新件数を表示する「Update All」ボタン、行ごとの「Update」/「Uninstall」操作が揃います。AI 管理者は install_homebrew と install_package ツールで同じ流れを駆動でき、これもパスワードを入力するアプリ内コンソール経由です。

メモそもそもなぜ専用のパッケージマネージャなのか。FrontierStack は独自のコピーを同梱するのではなく、macOS と Homebrew が標準で備えるツールを使って実サービスを管理します。つまり、あなたが動かすバージョンは主流で、更新可能で、コマンドラインで得られるものと同一です — 独自フォークに縛られることはありません。
Homebrew ペイン:インストール済みのすべての formula と cask をバージョン付きで表示。更新があるパッケージには更新ボタン、まとめて更新する Update All も。
図 2.2. Homebrew ペイン:インストール済みのすべての formula と cask をバージョン付きで表示。更新があるパッケージには更新ボタン、まとめて更新する Update All も。

2.6Nix、Devbox、Home Manager

Nix に関することは Nix ペイン(Infrastructure as Code の下)にタブでまとまっています。概要には、インストールされている Nix(本家 Nix、Determinate Nix、Lix)、デーモンが動いているか、flakes が有効かが表示されます。Nix がなければ両方のインストーラを案内します。Mac でいちばん多いトラブルも検出します。macOS のアップデートで /etc/zshrc が置き換わり、Nix は正常なのに新しいターミナルで nix: command not found になる問題です。シェル設定を修復でインストーラの行を戻せます。

  • パッケージでは nixpkgs を検索し、Nix プロファイルのパッケージをインストール・削除・アップグレード・ロールバックできます。
  • Devbox には、いつものプロジェクトフォルダにある devbox.json のプロジェクトが、パッケージ・スクリプト・Devbox が動かすサービスとともに並びます。サービスの開始・停止・再起動・アタッチ、devbox shell の起動、Dev Container・Dockerfile・direnv ファイルの生成ができます。Devbox でサービスを実行は、PostgreSQL、MySQL、MariaDB、Redis、Valkey、Nginx、Caddy、Apache、PHP + Nginx を ~/FrontierStack/Devbox の専用フォルダに用意して起動します。Docker も Homebrew サービスも使いません。
  • nix-darwin(インストール時)では Mac のシステム設定の切り替え・ビルド・ロールバックができます。ストアでは /nix/store の使用量を確認し、ガベージコレクションを実行できます。
  • デーモンの停止、/nix ボリュームの欠落、失敗している Devbox サービスは要注意に表示され、アラートにもできます。Nix、NixOS、Devbox のあるサーバでは、サーバアクティビティウインドウに Nix タブが現れます。

Home Manager タブは Nix Home Manager 用で、単独でも nix-darwin モジュールとしても使えます。設定の場所と flake かどうかを表示し、~/.config/home-manager に flake を作って Home Manager をセットアップすることもできます。

  • 設定を切り替えは設定をビルドして有効にし、ビルドのみは有効にせずに確認し、入力を更新は nix flake update を実行します。いずれもアプリ内コンソールで動きます。
  • Flake 入力には nixpkgs を固定してからの経過日数が表示され、60 日を過ぎるとオレンジになります。Nix のパッケージは、更新して切り替えるまでセキュリティ修正が入りません。
  • 世代には各世代が日付付きで並びます。有効化でその世代に戻り、古い世代を削除で 30 日より古い世代を消してディスク領域を空けます。
  • 現在の世代が提供するパッケージとドットファイル、Home Manager の launchd エージェントも表示します。CPU やメモリを使いすぎている Nix パッケージは、Homebrew ペインと同じく要注意に表示されます。

2.7mise でツールのバージョンを管理

mise(mise-en-place の略)は、プロジェクトごとに適切な Node・Python・Ruby・Go・Terraform のバージョン、環境変数、タスクを用意します。nvm・pyenv・asdf・direnv・make を 1 つで置き換えるツールです。mise ペイン(ランタイムの下)でインストールでき、シェルが mise を有効にしていないと警告します。有効になるまで、新しいターミナルは mise がインストールしたバージョンを使わないためです。シェルで有効化で解決します。

  • ツールには、インストール済みの各バージョン、それを要求する設定、どれが有効かが並びます。すべてのフォルダ向けのツール追加、バージョンのアンインストール、使われていないバージョンの整理ができます。
  • アップデートには、設定で許される最新バージョンより古いツールが表示され、アップグレードできます。
  • プロジェクトには mise.toml や .tool-versions のあるフォルダが並び、ツールとタスク、mise がまだ信頼しているか、使っているシークレットの種類(age、SOPS、fnox)がわかります。FrontierStack がシークレットの値を復号したり表示したりすることはありません。
  • シークレット(fnox)には各 fnox.toml のプロバイダとシークレット名が並び、平文で置かれたシークレットを警告し、KeyRotate が fnox 経由でローテーションできるものに印を付けます。
  • mise のあるサーバでは、サーバアクティビティウインドウに mise タブが現れます。

2.8Command-Line PATH ペイン

FrontierStack はインストール済みツールを、シェルと同じやり方で解決して検出します。ときおり、pip・pipx・virtualenv・非標準のプレフィックスでインストールしたツールがアプリの見る PATH に無く、ツールが未インストールと報告されることがあります。Command-Line PATH ペインがこれを解決します。

  • シェルプロファイル(例:~/.zprofile)を選びます。追加したディレクトリは、そのファイル内の明示的にマークされた管理ブロックに書き込まれ、PATH の先頭に追加されます — 変更を反映するには新しいターミナルを開いてください。
  • 「Directories to add」では、入力するか「Choose…」でパスを追加できます。最上位のエントリが最初に検索されます。「Current PATH (effective)」はログインシェルの PATH を表示し、アプリが管理するエントリにタグを付けます。
  • PATH Doctor はツールが検出されない理由を診断します。コマンド(例:mlx_lm.server、gcloud)を入力すると、アプリが見つけるか、シェルだけが見つけるか、そもそもインストールされていないかを報告します — アプリに欠けているディレクトリにはワンクリックの「Add to managed PATH」が付きます。

2.9インストールウィザード

ゼロから始めるなら、サイドバーのインストールウィザードが動くスタックへの最短ルートです。目的のユースケース — WordPress/PHP、フルスタック JS、Python/Django、Rails、静的サイト、データベース、リバースプロキシ — を選ぶと、その目的に推奨されるコンポーネント(ウェブサーバ、データベース、キャッシュ)が自動選択されます。好みに合わせて選択を調整すると、Homebrew で一式インストールします。

同じペインでは、ネイティブの Apache + MySQL + PHP スタックの状態をひと目で確認でき、Mac に既にあるオールインワンバンドル — XAMPP、MAMP、AMPPS、Local — を検出します。見つかった場合は、並行スタックをインストールするのではなく「セットアップを移行」へ誘導するので、何もかも二重に動かす羽目になりません。

2.10既存スタックの移行

すでに MAMP・XAMPP・Apple の Server.app でローカルにサイトを運用しているなら、作り直す必要はありません。「セットアップを移行」ペインがそれらのスタックを検出し、その構成要素を FrontierStack のネイティブ Homebrew スタックに取り込みます。ウェブファイル、MySQL データベース、PHP 設定、そして各サイトを定義する Apache vhost です。

  1. 「セットアップを移行」を開きます。インストール済みのソース — MAMP/MAMP Pro、XAMPP、Pancake Stack、Apple Server — をスキャンし、見つかったもの(サイト、データベース、PHP の検出有無)を報告します。(AI 管理者の detect_migration_sources ツールが同じ読み取り専用スキャンを実行します。)
  2. 「Sites to import」一覧を確認します。各候補はサーバ名と待ち受けポートを表示し、きれいに移行できないものは理由とともに「Skipped」に並びます。
  3. 設定については、「Import All Settings」がソースの php.ini・my.cnf・nginx.conf を対応する Homebrew 設定に上書きコピーします。各ファイルの .pre-mamp.bak バックアップが残るので、比較や復元ができます。
  4. 「Import Selected」を選んで移行を実行します。必要な Homebrew サービスのインストール、ウェブファイルのコピー、MySQL データベースの移行、vhost の取り込みが進む様子が、ペインにライブ進捗として表示されます。
  5. 実行後は確認してください。ソースの設定は旧ツールのパスやポート(例:MAMP の extension_dir・datadir・socket、ポート 8889)を参照していることが多いため、運用に頼る前に取り込んだ設定を点検してください。

Pancake Stack から移行する場合。Pancake を起動したままにして、MySQL が応答する状態にしておきます。FrontierStack は Pancake のサイト一覧を読み込み、Pancake がキーチェーンに保存している root パスワードを使って Homebrew の MySQL ツールでデータベースをコピーします。FrontierStack が Pancake のデータとそのパスワードを使ってよいか macOS に一度だけ尋ねられるので、許可を選んでください。Pancake は各サイトにデータベース設定を環境変数で渡していたため、各サイトに専用の MySQL ユーザを作成するステップがサイトごとに MySQL ユーザを作り、そのサイトの wp-config.php または Laravel の .env に書き込みます。Python アプリ、独自の Apache ディレクティブ、これらのファイルがないサイトはログに一覧表示されるので、手作業で仕上げてください。Pancake 自体は変更されません。

AI 管理者は run_migration でこれを一気通貫に駆動できますが、ソースを検出してあなたに確認した後でのみ — しかも変更が有効な場合のみです。

注意移行は大きく、一部は不可逆な操作です。Homebrew サービスをインストールし、対応する Homebrew 設定ファイルを上書きし、データベースと vhost を取り込みます。大切なものはまずバックアップし、「Import Selected」を選ぶ前に必ず検出スキャンを実行して計画を確認してください。.pre-mamp.bak バックアップは設定ファイルを対象とし、データベースは対象外です。
MAMP と Apple Server.app を検出した「セットアップを移行」ペイン:hosts ファイルやリポジトリからサーバを取り込み、旧 Git サーバを Gitea へ移し、移行する内容を選びます — 各ステップはチェックボックスです。
図 2.3. MAMP と Apple Server.app を検出した「セットアップを移行」ペイン:hosts ファイルやリポジトリからサーバを取り込み、旧 Git サーバを Gitea へ移し、移行する内容を選びます — 各ステップはチェックボックスです。

2.11データの保存場所

FrontierStack は自身の状態を予測可能な標準的な場所に保持するため、何に触れているかが常に分かり、バックアップもできます。

対象場所
アプリ設定・データ~/Library/Application Support/FrontierStack/
秘密情報・トークンmacOS キーチェーン、サービス jp.co.enfour.frontierstack 配下
アプリ管理の Apache 設定/opt/homebrew/etc/httpd/frontierstack/ — アプリが所有する専用ディレクトリで、手で編集した Apache 設定とは分離されています
アプリログ~/Library/Logs/FrontierStack/

アプリの Apache 設定を専用の frontierstack/ ディレクトリに置くことで、FrontierStack は手作業で保守している設定を壊さずに安全に vhost を管理できます。バンドル識別子は jp.co.enfour.frontierstack です(ヘルパーと DDNS コンポーネントは .helper および .ddns のサフィックスを使います)。

アプリをインストールし、ヘルパーを決め、Homebrew を整え、古いスタックを移行したら、いよいよ実際に使う準備が整いました。第 3 章「インターフェイス」でウィンドウを詳しく案内します。サイドバー、ペイン、検索、メニューバー、そして毎日使うコントロールです。

FrontierStack ユーザマニュアル · バージョン 1.0.0 · 第 2