제2장
설치 및 첫 실행
처음 다운로드한 순간부터 동작하는 스택까지 — macOS가 요구하는 권한, 관리 작업을 수월하게 해 주는 선택형 헬퍼, 그리고 기존 MAMP, XAMPP 또는 Server.app 구성을 옮겨 오는 방법을 안내합니다.
FrontierStack은 다른 Mac 앱과 똑같이 설치합니다 — /Applications로 드래그한 다음 여십시오. 그다음은 사용자가 정합니다. macOS가 원래 표시하는 작업별 암호 입력만으로 모든 것을 실행할 수도 있고, 몇 가지 권한을 한 번만 허용하여 다시는 묻지 않게 할 수도 있습니다. 이 장에서는 첫 실행 전체를 차례대로 살펴본 다음, 기존 로컬 스택을 마이그레이션하여 사이트와 데이터베이스를 그대로 유지하는 방법을 설명합니다.
2.1시스템 요구 사항
FrontierStack은 서명된 네이티브 macOS 애플리케이션입니다. 다음이 필요합니다.
| 요구 사항 | 세부 정보 |
|---|---|
| macOS | macOS 13(Ventura) 이상. 선택 사항인 헬퍼는 macOS 13 이상의 API인 SMAppService를 사용합니다. |
| 아키텍처 | Apple silicon 또는 Intel. 앱은 Apple silicon에서는 /opt/homebrew(Intel에서는 /usr/local)의 Homebrew 스택을 관리합니다. |
| Homebrew | 권장하지만 앱 실행에 필수는 아닙니다. 대부분의 서비스는 Homebrew formula로 설치되며, FrontierStack이 Homebrew를 대신 설치해 줄 수 있습니다(아래 참조). |
| 관리자 계정 | Mac의 관리자 계정. 서비스를 설치하고 시스템 구성을 편집하려면 관리자 권한이 필요합니다 — 선택 사항인 헬퍼를 통하거나, macOS가 작업마다 표시하는 암호 입력을 통해 얻습니다. |
이 목록에 특별한 것은 없습니다. 최신 macOS를 실행할 수 있을 만큼 새로운 Mac이라면 FrontierStack을 실행할 수 있습니다.
2.2다운로드와 첫 실행
앱을 다운로드하고 FrontierStack.app을 /Applications 폴더로 옮긴 다음 이중 클릭하십시오. 앱은 Enfour, Inc.(Apple Developer 팀 6Y87KNMALP)가 서명하고 공증을 받았으므로, macOS는 확인되지 않은 개발자 경고 없이 앱을 엽니다.
- FrontierStack을 여십시오. 메인 윈도우가 나타나며 왼쪽에는 서비스 사이드바, 가운데에는 상태 개요가 표시됩니다 — 1장에서 본 레이아웃입니다.
- 아직 Homebrew가 없으면 Homebrew가 필요한 패널에 그 사실이 표시되고 설치를 제안합니다. 지금 설치해도 되고 나중에 설치해도 됩니다.
- FrontierStack은 한 번에 하나의 인스턴스만 실행되도록 합니다. 이미 열려 있는 상태에서 다시 실행하면 두 번째 사본이 시작되지 않고 기존 윈도우가 앞으로 나올 뿐입니다. 이렇게 하면 두 윈도우가 같은 서비스와 구성 파일을 두고 충돌하지 않습니다.
첫 실행에서는 시스템에 아무것도 변경하지 않습니다. 앱은 설치된 항목을 읽고 현재 상태를 보여 줄 뿐이며, 사용자가 요청하기 전에는 아무것도 시작, 중지 또는 재구성하지 않습니다.
2.3설정 지원
FrontierStack을 처음 열면 수백 개의 서비스가 나열된 사이드바에 바로 들어가는 대신 짧은 설정 지원을 제안합니다. 7페이지로 구성되어 있으며, 구성이 아니라 사용자에 대해 묻고, 묻는 내용 중 영구적인 것은 없습니다 — 모든 답변은 앱이 무엇을 먼저 보여 주고 제안할지만 결정합니다. 언제든지 중단할 수 있으며 서버 또는 기기 추가 ▸ 설정 지원에서 다시 열 수 있습니다.
| 페이지 | 묻는 내용 |
|---|---|
| 목표 | 비즈니스 운영, 개발, 서버 관리, 클라이언트 관리, 서비스 셀프 호스팅, 가정 네트워크 관리. 여러 개를 선택해도 됩니다. Mac에서 기존 MAMP 방식의 구성이 발견되면 마이그레이션 경로가 미리 선택됩니다. |
| 환경 | 서버 관리 경험, 구성을 사용하는 인원 수, 관리하는 기기 수 — Mac 한 대부터 250대 초과까지. |
| 스택 | Apache, Nginx, PHP, Node.js, Python, MySQL, PostgreSQL, MongoDB, Redis, Git 등과, 없는 항목의 설치 제안. |
| AI | AI 관리자가 이미 비용을 지불하고 있는 AI 구독을 사용할지, API 키나 로컬 모델을 사용할지. |
| 검토 | 무엇이 설치되고 무엇이 제안만 되는지를 실행 전에 보여 줍니다. |
| 백업 | 이 Mac에 매시간 버전별 설정 기록을 보관할지(기본적으로 켜짐), 그리고 선택적으로 iCloud Drive나 Dropbox처럼 다른 곳과 동기화되는 폴더에 매일 사본을 보관할지 — 고정 항목, 셋업, 위치, 환경설정, Apache/PHP 구성이 OS 업그레이드나 초기화 후에도 유지되도록 합니다. |
| 라이선스 | 현재 상황: 활성 라이선스가 있는지, 또는 라이선스 없이 사용할 수 있는 것은 무엇인지 — 이미 가지고 있는 라이선스 코드를 붙여넣는 필드도 있습니다. |
완료하면 한 단계가 더 열립니다. 화면을 가득 채운 Services Manager로, 답변에 맞는 섹션이 이미 열려 있고 그 안의 모든 항목은 꺼져 있습니다. 사이드바에서 원하는 항목을 켜고 계속을 선택하십시오. 건너뛰기를 선택하거나 아무것도 켜지 않고 계속을 선택하면, 대신 권장 항목이 모두 켜집니다. 어느 쪽이든 AI 관리자와 AI 모델은 켜진 상태로 유지되며, AI 관리자에게는 이 단계가 닫힌 뒤에야 브리핑이 전달됩니다.
마지막 페이지는 라이선스에 관한 것이며, 판매를 위한 관문이 아니라 솔직한 안내입니다. FrontierStack은 라이선스 없이도 작동합니다 — 이 Mac을 모니터링하고, 서버를 연결하고, AI 관리자를 사용하고, 모든 진단 결과를 볼 수 있습니다. 방금 만든 계획 중 라이선스가 필요한 기능은 하나, 마이그레이션 실행뿐입니다. 스택을 옮기면 데이터베이스, 사이트, 구성을 대상에 복사하고 그곳에서 실행되는 것을 바꾸므로 라이선스가 필요합니다. 라이선스가 없어도 FrontierStack은 원본을 감지하고, 찾은 사이트와 데이터베이스를 나열하고, 마이그레이션이 무엇을 옮기게 될지 정확히 보여 줍니다 — AI 관리자도 전체 계획을 작성해 줍니다. 실제로 옮기는 작업만 제한되며, Migration 패널은 조용히 실패하는 대신 버튼에 그 사실을 표시합니다.
컨테이너, 백업 대상, 모니터링은 의도적으로 스택 페이지에서 설치하지 않습니다. 설정 지원이 사용자 대신 내려서는 안 되는 결정이 필요하므로, 대신 계획에 포함됩니다.
2.4권한 있는 헬퍼 — 그리고 macOS가 요청하는 권한
서비스를 시작 및 중지하고 시스템 구성(Apache, Nginx, MySQL, DNS, 방화벽)을 편집하는 것은 권한이 필요한 작업입니다. 기본적으로 FrontierStack은 각 작업을 표준 macOS 인증 대화상자를 통해 수행하므로, 매번 암호를 입력해야 합니다. 안전하지만 금방 번거로워집니다.
선택 사항인 헬퍼가 이 번거로움을 없애 줍니다. 헬퍼는 작은 권한 있는 도구 — SMAppService 데몬 — 로, 앱이 macOS에 등록하여 매번 암호를 다시 입력하지 않고도 관리자 작업을 수행할 수 있게 합니다. 헬퍼는 사용자가 직접 의도적으로 설치합니다. 사이드바 하단의 설치 항목을 사용하거나, 작업에 처음 헬퍼가 필요할 때 표시되는 안내를 수락하십시오.
- 사이드바 하단의 헬퍼 행에서 설치를 클릭하십시오.
- macOS가 로그인 항목 & 확장 프로그램 승인을 표시합니다(또는 시스템 설정 ▸ 일반 ▸ 로그인 항목에서 백그라운드 항목을 활성화하도록 요청합니다). 승인하십시오 — 이것은 macOS가 데몬 실행을 허용할지 묻는 것이지, 앱이 무언가를 무시하는 것이 아닙니다.
- 사이드바 행이 바뀌어 헬퍼가 등록되어 실행 중임을 표시합니다. 이제부터 서비스 시작/중지와 구성 편집이 작업별 암호 입력 없이 진행됩니다.
헬퍼는 언제든지 제거할 수 있으며, 제거하면 FrontierStack은 작업별 관리자 암호 입력으로 돌아갑니다. 두 모드 모두 작동합니다 — 헬퍼는 순전히 편의를 위한 것입니다.
6Y87KNMALP)이 서명했으며, 그렇기 때문에 애초에 SMAppService 데몬으로 등록될 수 있습니다. 헬퍼는 앱이 지시하는 권한 있는 작업만 실행합니다. 선택 사항이며, 사용자가 의도적으로 설치하고, 제거할 수 있습니다. AI 관리자 및 모든 원격 작업과 마찬가지로 사용자가 켜기 전까지는 꺼져 있습니다. 전체 신뢰 모델은 10장을 참조하십시오.2.5Homebrew 설치
카탈로그의 대부분 — 웹 서버, 데이터베이스, 캐시, 메일, 수십 가지 CLI 도구 — 은 Homebrew formula로 설치됩니다. Homebrew는 FrontierStack이 이러한 서비스를 가져오고 업데이트하는 데 사용하는 패키지 관리자이므로, Mac에 아직 없다면 일찍 설치하는 것이 좋습니다.
사이드바에서 Homebrew 패널을 여십시오. Homebrew가 없으면 패널에 "Homebrew가 설치되어 있지 않습니다. 이 앱이 서비스를 설치하는 데 사용하는 패키지 관리자입니다,"라는 메시지와 함께 Homebrew 받기… 버튼이 표시됩니다. 설치는 앱의 인앱 콘솔에서 실행됩니다. 공식 Homebrew 설치 프로그램을 실행하며, 설치 프로그램에 관리자 권한이 필요한 시점에 사용자가 직접 콘솔에 암호를 입력합니다. FrontierStack은 암호를 가로채거나 저장하지 않습니다 — 이 입력 요청은 Homebrew 자체의 것입니다.
Homebrew가 설치되면 패널은 완전한 패키지 관리자가 됩니다. 설치된 formula와 cask를 버전과 함께 보여 주는 검색 가능한 표, formula 또는 cask 설치 필드, 남은 업데이트 수를 보여 주는 모두 업데이트 버튼, 행별 업데이트 / 제거 작업이 있습니다. AI 관리자도 install_homebrew 및 install_package 도구로 같은 흐름을 진행할 수 있으며, 이때도 사용자가 암호를 입력하는 인앱 콘솔을 거칩니다.

2.6Command-Line PATH 패널
FrontierStack은 셸과 같은 방식으로 경로를 찾아 설치된 도구를 감지합니다. 가끔 설치한 도구(pip, pipx, virtualenv 또는 비표준 접두사로 설치한 것)가 앱이 보는 PATH에 없어서 도구가 없다고 보고되는 경우가 있습니다. Command-Line PATH 패널이 이를 해결합니다.
- 셸 프로필(예:
~/.zprofile)을 선택하십시오. 추가한 디렉터리는 해당 파일의 명확하게 표시된 관리 블록에 기록되고 PATH 앞에 추가됩니다 — 변경 사항을 적용하려면 새 터미널을 여십시오. - 추가할 디렉터리에서는 경로를 입력하거나 선택…으로 경로를 추가할 수 있으며, 맨 위 항목이 가장 먼저 검색됩니다. 현재 PATH(유효)는 로그인 셸의 PATH를 보여 주며, 앱이 관리하는 항목에는 태그가 붙습니다.
- PATH Doctor는 도구가 감지되지 않는 이유를 진단합니다. 명령(예:
mlx_lm.server,gcloud)을 입력하면 앱이 찾는지, 셸에서만 찾는지, 아예 설치되지 않았는지를 보고하며 — 앱이 놓치고 있는 디렉터리는 원클릭 관리 PATH에 추가로 추가할 수 있습니다.
2.7Install Wizard
처음부터 시작한다면 사이드바의 Install Wizard가 작동하는 스택을 갖추는 가장 빠른 방법입니다. 대상 용도 — WordPress/PHP, 풀스택 JS, Python/Django, Rails, 정적 사이트, 데이터베이스, 리버스 프록시 — 를 선택하면 위저드가 그 목표에 권장되는 구성 요소(웹 서버, 데이터베이스, 캐시)를 미리 선택합니다. 원하는 대로 선택을 조정하면 모든 것을 Homebrew로 설치합니다.
같은 패널에는 네이티브 Apache + MySQL + PHP 스택의 상태가 한눈에 표시되며, Mac에 이미 있는 올인원 번들 — XAMPP, MAMP, AMPPS, Local — 도 감지합니다. 번들을 찾으면 병렬 스택을 설치하는 대신 Migrate Setups로 안내하므로, 모든 것을 두 개씩 실행하게 되는 일이 없습니다.
2.8기존 스택 마이그레이션
이미 MAMP, XAMPP 또는 Apple의 Server.app에서 로컬로 사이트를 실행하고 있다면 다시 구축할 필요가 없습니다. Migrate Setups 패널이 이러한 스택을 감지하고, 그 구성 요소 — 웹 파일, MySQL 데이터베이스, PHP 설정, 각 사이트를 정의하는 Apache 가상 호스트 — 를 FrontierStack의 네이티브 Homebrew 스택으로 가져옵니다.
- Migrate Setups를 여십시오. 설치된 원본 — MAMP / MAMP Pro, XAMPP, Apple Server — 을 검색하고 찾은 것을 보고합니다. 사이트, 데이터베이스, PHP 감지 여부입니다. (AI 관리자의
detect_migration_sources도구도 같은 읽기 전용 검색을 실행합니다.) - 가져올 사이트 목록을 검토하십시오. 각 후보에는 서버 이름과 수신 포트가 표시되며, 깔끔하게 가져올 수 없는 항목은 이유와 함께 건너뜀 아래에 표시됩니다.
- 설정의 경우 모든 설정 가져오기 작업이 원본의
php.ini,my.cnf,nginx.conf를 대응하는 Homebrew 구성 위에 복사합니다. 각 파일의.pre-mamp.bak백업이 보관되므로 비교하거나 되돌릴 수 있습니다. - 선택 항목 가져오기를 선택하여 마이그레이션을 실행하십시오. 필요한 Homebrew 서비스를 설치하고, 웹 파일을 복사하고, MySQL 데이터베이스를 마이그레이션하고, 가상 호스트를 가져오는 동안 진행 상황이 패널에 실시간으로 표시됩니다.
- 완료 후 검토하십시오. 원본 구성은 이전 도구의 경로와 포트(예: MAMP의
extension_dir,datadir,socket또는 포트8889)를 참조하는 경우가 많으므로, 가져온 설정을 사용하기 전에 확인하십시오.
AI 관리자는 run_migration으로 이 과정을 처음부터 끝까지 진행할 수 있지만, 원본을 감지하고 사용자에게 확인한 후에만 — 그리고 변경이 활성화된 경우에만 가능합니다.
.pre-mamp.bak 백업은 구성 파일만 대상으로 하며 데이터베이스는 포함하지 않습니다.
2.9데이터 저장 위치
FrontierStack은 자체 상태를 예측 가능한 표준 위치에 보관하므로, 앱이 무엇을 건드리는지 항상 알 수 있고 백업할 수 있습니다.
| 항목 | 위치 |
|---|---|
| 앱 설정 & 데이터 | ~/Library/Application Support/FrontierStack/ |
| 비밀 값 & 토큰 | macOS 키체인의 jp.co.enfour.frontierstack 서비스 |
| 앱이 관리하는 Apache 구성 | /opt/homebrew/etc/httpd/frontierstack/ — 앱이 소유하는 전용 디렉터리로, 직접 편집한 Apache 구성과 분리되어 있습니다 |
| 앱 로그 | ~/Library/Logs/FrontierStack/ |
앱의 Apache 구성을 별도의 frontierstack/ 디렉터리에 보관하므로, FrontierStack은 사용자가 직접 관리하는 구성을 덮어쓰지 않고 안전하게 가상 호스트를 관리할 수 있습니다. 번들 식별자는 jp.co.enfour.frontierstack입니다(헬퍼와 DDNS 구성 요소는 .helper 및 .ddns 접미사를 사용합니다).
앱을 설치하고, 헬퍼 사용 여부를 정하고, Homebrew를 갖추고, 기존 스택을 마이그레이션했다면 이제 실제로 사용할 준비가 되었습니다. 3장, 인터페이스에서는 사이드바, 패널, 검색, 메뉴 막대, 그리고 매일 사용하게 될 컨트롤 등 윈도우를 자세히 둘러봅니다.
FrontierStack 사용자 설명서 · 버전 1.0.0 · 제2장