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特権ヘルパー — と macOS が求める許可

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

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

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

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

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

2.4Homebrew のインストール

カタログの大半 — ウェブサーバ、データベース、キャッシュ、メール、多数の 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_homebrewinstall_package ツールで同じ流れを駆動でき、これもパスワードを入力するアプリ内コンソール経由です。

メモそもそもなぜ専用のパッケージマネージャなのか。FrontierStack は独自のコピーを同梱するのではなく、macOS と Homebrew が標準で備えるツールを使ってサービスを管理します。つまり、あなたが動かすバージョンは主流で、更新可能で、コマンドラインで得られるものと同一です — 独自フォークに縛られることはありません。

2.5Command-Line PATH ペイン

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

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

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

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

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

2.7既存スタックの移行

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

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

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

注意移行は大きく、一部は不可逆な操作です。Homebrew サービスをインストールし、対応する Homebrew 設定ファイルを上書きし、データベースと vhost を取り込みます。大切なものはまずバックアップし、「Import Selected」を選ぶ前に必ず検出スキャンを実行して計画を確認してください。.pre-mamp.bak バックアップは設定ファイルを対象とし、データベースは対象外です。

2.8データの保存場所

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