본문으로 건너뛰기
Pancake Stack

Pancake Stack 매뉴얼

브라우저의 인쇄 명령으로 이 매뉴얼을 인쇄하거나 PDF로 저장할 수 있습니다.

Pancake에 오신 것을 환영합니다

Pancake Stack이 무엇인지, 무엇이 함께 들어 있는지, Mac에 무엇이 필요한지, 그리고 이 설명서를 읽는 방법을 소개합니다.

1.1Pancake란

Pancake Stack은 Mac에서 웹사이트를 실행합니다. 웹 서버, 언어, 데이터베이스를 앱 안에 갖추고 있으므로 따로 설치할 것도, 터미널에서 설정할 것도 없습니다. 새 사이트를 클릭하고 최대 네 가지 질문에 답하면, 사이트가 자체 데이터베이스와 함께 브라우저의 name.localhost에서 열립니다.

사이트가 준비되면 그다음 단계도 Pancake가 맡습니다. 누군가에게 보여 줄 임시 링크, 내 도메인, Wi-Fi를 통해 휴대폰에서 보는 사본, 호스팅 업체나 클라우드 서버로의 배포까지 가능합니다.

Pancake는 Mac App Store 앱입니다. Apple의 앱 샌드박스 안에서 실행되며, macOS에 포함된 Apache, Homebrew, MAMP 등 이미 설치한 다른 소프트웨어는 전혀 건드리지 않습니다. 그것들과 나란히 계속 사용할 수 있습니다.

1.2포함된 구성 요소

구성 요소버전참고
Apache2.4모든 사이트를 제공합니다. 사이트마다 가상 호스트가 따로 있습니다.
PHP8.5, 8.4, 8.3, 8.2, 7.1모든 요금제에서 최신 PHP가 실행됩니다. 사이트별 이전 버전 선택은 FullStack 전용입니다.
MySQL8.4사이트마다 데이터베이스 하나와 사용자 하나가 있습니다. 탐색용 Adminer가 포함되어 있습니다.
Python3.12, 3.13, 3.14(uv 포함)Django, Flask, FastAPI 사이트용입니다.
PostgreSQL17FullStack 전용이며, 서비스에서 켭니다.
Valkey와 Memcached캐시입니다. FullStack 전용입니다.
Nginx사이트별로 고를 수 있는 다른 웹 서버입니다. FullStack 전용입니다.
cloudflared공유기 설정 없이 Cloudflare를 통해 사이트를 온라인에 올립니다.

모든 PHP 8 버전에는 인기 있는 앱이 기대하는 확장 기능이 들어 있습니다. GD, Imagick, intl, zip, bz2, XSL, sodium, YAML, OAuth, Tidy, APCu, OPcache, Xdebug입니다. 구성 요소 전체 목록과 라이선스는 도움말 ▸ 오픈 소스 라이선스에서 볼 수 있습니다.

1.3Mac에 필요한 것

  • macOS 14 Sonoma 이상, Apple silicon 또는 Intel.
  • Apple Intelligence로 어시스턴트를 쓰려면 Apple Intelligence가 켜진 Mac이 필요합니다. 다른 Mac에서는 어시스턴트가 내 키로 AI 제공업체를 사용하거나, 어시스턴트를 꺼 둘 수 있습니다.
  • 사이트를 온라인에 올리려면 인터넷 연결이 필요합니다. 무료 Cloudflare 계정은 내 도메인을 쓸 때만 필요하며, 임시 테스트 링크에는 계정이 전혀 필요 없습니다.

1.4세 가지 스택

Pancake는 세 가지 요금제가 있는 구독 서비스이며, 요금제 이름은 팬케이크를 얼마나 높이 쌓았는지를 따릅니다. 어느 요금제든 Mac에서 원하는 만큼 사이트를 실행할 수 있으며, 더 높은 스택일수록 더 많은 사이트를 온라인에 올리고 더 많은 토핑이 추가됩니다. 신규 구독자는 첫 1주일이 무료입니다.

요금제요약
ShortStack로컬 사이트 무제한, 온라인 사이트 1개, 배포 대상 1개.
TallStack온라인 사이트 최대 10개, SFTP 또는 FTP로 호스트에 게시, 스테이징 사본, 데이터베이스 게시, 메일 릴레이, 외부 PostgreSQL과 SSH 터널, Pancake Cloud 저장, AWS 서버 최대 3대.
FullStack모든 항목 무제한, 사이트별 이전 PHP, PostgreSQL, Valkey, Memcached, Nginx, 예약 작업과 워커, 외부 백업, 푸시 알림, 내 Mac 간 동기화, 모든 제공업체의 서버.

전체 비교는 요금제와 구독에 있습니다.

1.5사이트는 언제나 내 것입니다

Pancake에는 계정도 분석 기능도 없습니다. 사이트, 데이터베이스, 설정은 Mac에 있고, 암호와 키는 키체인에 있습니다. 무언가가 다른 곳(Cloudflare, 내 호스트, 내 스토리지 버킷, 내 iCloud, 내가 고른 AI 제공업체)으로 갈 때는 내 자격 증명으로 Mac에서 직접 가며, Enfour를 거치지 않습니다. 구독이 끝나도 아무것도 삭제되지 않으며, 모든 사이트와 데이터베이스를 그대로 내보낼 수 있습니다. 개인정보와 데이터를 참조하십시오.

1.6이 설명서를 읽는 방법

각 장은 사이트의 일생을 따라갑니다. 시작하고, 만들고, 공유하고, 계속 운영하는 순서입니다. Pancake가 처음이라면 윈도우 둘러보기와 첫 번째 사이트를 읽은 뒤 필요한 부분을 골라 읽으십시오.

메뉴 경로
설정 ▸ 로컬 HTTPS처럼 표기합니다. 사이드바에서 설정을 연 다음 로컬 HTTPS 섹션을 연다는 뜻입니다.
요금제 배지
ShortStack TallStack FullStack 배지는 특정 요금제가 필요한 기능을 나타냅니다. TallStack 배지가 붙은 기능은 TallStack과 FullStack에 있습니다. 배지가 없는 기능은 모든 요금제에 있습니다.
고급
각 패널은 간단한 설정을 먼저 보여 줍니다. 단계에 "고급"이라고 나오면 해당 패널 오른쪽 위의 고급 스위치를 켜십시오.
팁

Pancake에는 앱 안의 도움말도 있습니다. 도움말 ▸ Pancake 도움말을 선택하거나 ⌘?를 누른 뒤 검색하십시오. 어시스턴트도 같은 도움말을 바탕으로 질문에 답하며, 사이트의 로그를 읽을 수 있습니다.

윈도우 둘러보기

사이드바, 도구 막대, 고급 스위치, 메뉴 막대 아이콘, 그 밖의 윈도우, 그리고 모든 키보드 단축키를 소개합니다.

Pancake 윈도우: 왼쪽의 사이드바, 오른쪽 위의 상태 표시, 시작/중지, 외부 접속, 그리고 사이트마다 카드가 하나씩 있는 사이트 패널.
그림 2.1Pancake 윈도우: 왼쪽의 사이드바, 오른쪽 위의 상태 표시, 시작/중지, 외부 접속, 그리고 사이트마다 카드가 하나씩 있는 사이트 패널.

2.1사이드바

Pancake에는 메인 윈도우가 하나 있습니다. 사이드바에 패널 목록이 있으며, Pancake는 마지막으로 열어 둔 패널을 기억합니다.

패널용도
사이트모든 사이트를 카드로 보여 줍니다. 열기, 편집, PHP 버전 선택, 백업을 합니다. 사이트 다루기를 참조하십시오.
데이터베이스각 사이트의 MySQL 데이터베이스, Adminer, 가져오기와 내보내기, 외부 데이터베이스. 데이터베이스를 참조하십시오.
온라인로컬 네트워크와 인터넷: 테스트 링크, 내 도메인, 인증서. 사이트를 온라인에 올리기를 참조하십시오.
배포각 사이트를 게시하는 곳과 다시 게시하기. 배포를 참조하십시오.
백업백업, 저장 지점, 외부 사본, Pancake Cloud. 백업과 저장 지점을 참조하십시오.
어시스턴트질문하고 Pancake에 작업을 맡깁니다. AI 코딩 도구를 연결합니다. 어시스턴트와 MCP를 참조하십시오.
서비스PostgreSQL, Valkey, Memcached, 예약 작업과 워커. FullStack 서비스, 작업과 워커를 참조하십시오.
구독내 요금제와 세 가지 스택. 요금제와 구독을 참조하십시오.
설정그 밖의 모든 것. 설정, 템플릿과 플러그인을 참조하십시오.

ShortStack과 TallStack에서는 서비스 행이 FullStack 배지와 함께 회색으로 표시됩니다. 열면 추가되는 기능에 대한 설명과 FullStack 보기 버튼이 나타납니다.

2.2도구 막대

윈도우 오른쪽 위의 세 가지 컨트롤은 어느 패널을 열어도 항상 표시됩니다.

상태 표시
서버의 상태를 알려 줍니다. 실행 중(녹색), 시작 중…, 확인 필요(주황색), 중지됨(회색) 중 하나입니다. Pancake가 표준 포트 80을 쓰지 않을 때는 "실행 중" 뒤에 포트가 표시됩니다. 문제가 생겼을 때는 포인터를 상태 표시 위에 올리면 오류를 읽을 수 있습니다.
모두 시작 / 모두 중지
재생 또는 중지 버튼은 Pancake가 실행하는 모든 서버를 시작하거나 중지합니다. 단축키는 ⇧⌘R입니다. 실행 중에 ⌥ 키를 누른 채 클릭하면 모두 다시 시작합니다.
외부 접속
지구본은 Pancake의 인터넷 스위치입니다. 오프라인으로 표시되면 다른 설정과 관계없이 이 Mac에서만 사이트를 열 수 있습니다. 온라인으로 표시되면 온라인으로 전환한 사이트가 게시됩니다. 끄는 즉시 적용되며 모든 설정은 유지됩니다. 외부 접속을 참조하십시오.

2.3간단한 설정 먼저, 그다음 고급

각 패널은 대부분의 사용자에게 필요한 설정만 보여 줍니다. 패널 오른쪽 위의 고급 스위치를 켜면 "고급"이라는 구분선 아래에 나머지 설정이 그 자리에서 나타납니다. Pancake는 패널마다 이 스위치 상태를 기억합니다.

항상 모든 설정을 보려면 설정 ▸ 일반 ▸ 모든 패널에서 고급 설정 보기를 켜십시오. 이 스위치를 바꾸면 패널별 선택이 초기화됩니다.

2.4메뉴 막대 아이콘

Pancake는 메뉴 막대에 작은 팬케이크 더미를 표시합니다. 더미는 요금제에 따라 높아집니다. ShortStack에서는 버터를 올린 팬케이크 세 장, TallStack에서는 네 장, FullStack에서는 체리를 올린 네 장입니다. Dock 아이콘도 요금제를 따릅니다.

메뉴에는 상태, 모두 시작/모두 중지, 외부 접속 스위치, 사이트별 하위 메뉴(사이트 열기, 온라인 전환), 새 사이트…, 메일함, Pancake 열기, Pancake 종료가 있습니다.

참고

메뉴 막대 아이콘이 표시되어 있는 동안에는 메인 윈도우를 닫아도 Pancake가 종료되지 않으며, 사이트는 계속 실행됩니다. 모두 중지하려면 메뉴에서 Pancake 종료를 선택하거나 ⌘Q를 누르십시오. 아이콘은 설정 ▸ 일반 ▸ 메뉴 막대에 Pancake 표시에서 숨길 수 있습니다.

2.5그 밖의 윈도우

로그 ⌥⌘L
Pancake가 남기는 모든 로그를 최신순으로, 알아보기 쉬운 이름으로 보여 줍니다. "웹 서버", "MySQL", "blog: PHP 오류", "blog: 웹 서버 오류", "PHP 8.4: FPM" 등입니다. 파일의 끝부분을 보여 주며 2초마다 새로 고칩니다. 따라가기는 최신 줄을 계속 화면에 표시하고, 지우기는 로그를 비우며, Finder에서 보기는 파일을 보여 줍니다.
메일함 ⇧⌘M
사이트가 보내는 메일을 Mac 밖으로 나가기 전에 붙잡아 보여 줍니다. 사이트에서 보내는 메일을 참조하십시오.
파일
한 사이트의 파일 브라우저, 편집기, 실시간 미리 보기로, 사이트 카드에서 엽니다. 파일, 편집기와 디자인을 참조하십시오.
Pancake 도움말 ⌘?
영어, 일본어, 한국어로 된 검색 가능한 도움말 주제와 오픈 소스 라이선스입니다.
진단 ⌥⌘D
샌드박스 안에 포함된 모든 서버를 점검합니다. 지원팀에 문의할 때 유용합니다.

2.6위젯과 단축어

Pancake 위젯을 소형, 중형, 대형 크기로 데스크톱이나 알림 센터에 추가할 수 있습니다. 서버가 실행 중인지, 어떤 사이트가 온라인인지 보여 주며, Pancake 시작 또는 중지, 외부 접속 전환, 새 사이트 만들기 버튼이 있습니다.

Pancake는 단축어 앱과 Siri에도 동작을 추가합니다.

동작Siri에게 말하기(영어)
Pancake 시작"Start Pancake"
Pancake 중지"Stop Pancake"
내 사이트를 오프라인으로"Take my Pancake sites offline"
내 사이트를 온라인으로"Put my Pancake sites online"
새 Pancake 사이트"New Pancake site"

2.7키보드 단축키

키동작
⌘N새 사이트(사이트 패널에서)
⇧⌘R모두 시작 / 모두 중지
⌥-모두 중지 클릭모든 서버 다시 시작
⇧⌘M메일함
⌥⌘L로그
⌥⌘D진단
⌘?Pancake 도움말
⌘S저장(파일 윈도우에서)
⌘Return보내기(어시스턴트에서)
⌘QPancake를 종료하고 서버 중지

시트에서는 Esc를 누르면 취소되고, Return을 누르면 강조된 버튼이 선택됩니다.

첫 번째 사이트

1분 만에 사이트를 만듭니다. 종류를 고르고, 이름을 정하고, 누가 볼 수 있는지 정한 다음 name.localhost에서 엽니다.

3.1네 가지 질문으로 사이트 만들기

  1. 사이트 패널 오른쪽 위의 새 사이트를 클릭하거나 ⌘N을 누르십시오.
  2. 만들기 아래에서 PHP 사이트, 정적 HTML 사이트, Python 앱 중 하나를 고르십시오. (WordPress, Laravel 등 다른 선택지는 아래에서 설명합니다.)
  3. 이름. blog와 같은 이름을 입력하십시오. 입력하는 동안 Pancake가 사이트의 주소 blog.localhost를 보여 줍니다.
  4. 종류. 종류를 확인하거나 바꾸십시오. PHP 사이트, 정적 HTML 사이트, Python 앱 중 하나입니다.
  5. 버전 또는 프레임워크. PHP라면 PHP 버전을 고르십시오. Python이라면 Django, Flask, FastAPI, 기존 프로젝트(WSGI) 중에서 고르십시오.
  6. 누가 볼 수 있나요? 나만을 고르면 이 Mac에만 둡니다. 누구나(임시 테스트 링크)와 누구나(내 도메인, Cloudflare)는 사이트를 바로 온라인에 올립니다(사이트를 온라인에 올리기 참조).
  7. 만들기를 클릭하십시오. Pancake가 폴더를 만들고, 사이트의 데이터베이스를 만들고, 서버를 시작하거나 다시 불러옵니다.
새 사이트 시트: 위에는 만들기 선택지, 그 아래에는 사이트 가져오기 선택지가 있습니다.
그림 3.1새 사이트 시트: 위에는 만들기 선택지, 그 아래에는 사이트 가져오기 선택지가 있습니다.

완료되면 사이트가 사이트 패널에 카드로 나타납니다. 열기를 클릭하면 브라우저에서 볼 수 있습니다.

참고

외부 접속이 꺼진 상태에서 테스트 링크나 내 도메인을 고르면 외부 접속이 켜지며, 온라인으로 전환해 둔 다른 사이트도 모두 게시됩니다. Pancake는 만들기를 클릭하기 전에 이를 알려 줍니다.

3.2이름과 주소

사이트의 이름이 곧 주소가 됩니다. shop은 http://shop.localhost에서 열립니다. 이름에는 영문 소문자, 숫자, 하이픈(연속 불가)을 최대 40자까지 쓸 수 있습니다. 몇몇 이름은 Pancake 자체용으로 예약되어 있습니다. localhost, www, pancake, admin, adminer입니다.

Mac의 모든 브라우저는 별도 설정 없이 .localhost 이름을 인식하며, 이 이름은 인터넷으로 나가지 않습니다. 휴대폰에서 사이트를 열려면 내 네트워크와 로컬 HTTPS를 참조하십시오.

Pancake는 가능하면 표준 웹 포트 80을 사용합니다. Mac의 다른 웹 서버가 이미 포트 80을 쓰고 있으면 Pancake가 자동으로 8080으로 옮기며, 주소에 포트가 붙습니다(http://shop.localhost:8080). 포트가 80이 아닐 때는 상태 표시에 포트가 나타납니다. 대체 포트는 설정 ▸ 고급 ▸ 웹 포트에서 직접 고를 수 있습니다.

3.3어떤 종류의 사이트를 만들까요?

선택지적합한 용도Pancake가 묻는 것
정적 HTML 사이트순수한 HTML, CSS, JavaScript. Vite, Lovable, 사이트 디자인 앱으로 빌드한 사이트.이름, 볼 수 있는 사람.
PHP 사이트직접 작성하거나 복사해 온 모든 PHP 코드.이름, PHP 버전, 볼 수 있는 사람.
Python 앱Django, Flask, FastAPI 또는 모든 WSGI 앱.이름, 프레임워크, 볼 수 있는 사람.
WordPress설치와 로그인까지 마쳐 바로 쓸 수 있는 WordPress.이름, 제목, 관리자 사용자, 이메일, 암호.
Laravel데이터베이스 마이그레이션까지 마친 새 Laravel 앱.이름만.
어시스턴트와 디자인설명을 바탕으로 디자인한 홈페이지.이름, 스타일, 설명. 어시스턴트와 디자인을 참조하십시오.
Blueprint에서템플릿으로 저장해 둔 사이트의 사본.Blueprint, 새 이름.

이미 있는 사이트를 가져오려면 같은 시트에서 사이트 가져오기를 여십시오. 사이트 가져오기를 참조하십시오.

3.4WordPress

  1. 새 사이트 ▸ WordPress를 선택하십시오.
  2. 사이트 이름, 제목, 관리자 사용자, 관리자 이메일을 입력하십시오. Pancake가 강력한 무작위 관리자 비밀번호를 만들어 줍니다. 복사를 클릭해 보관하거나, 직접 입력하십시오(8자 이상).
  3. 볼 수 있는 사람과 WordPress를 가져올 곳을 고르십시오. wordpress.org에서 최신 버전 내려받기 또는 내려받은 ZIP입니다.
  4. 만들기를 클릭하십시오. Pancake가 데이터베이스를 만들고, WordPress를 설치하고, 설정을 마칩니다. 사이트 열기를 클릭하면 /wp-admin/의 대시보드로 이동합니다.

데이터베이스 암호는 사이트의 파일에 기록되지 않습니다. WordPress는 Pancake가 제공하는 환경에서 암호를 읽습니다.

3.5Laravel

새 사이트 ▸ Laravel을 선택하고 이름을 정하십시오. Pancake가 내장된 Composer로 Laravel을 내려받고(1~2분 소요), public/ 폴더를 제공하며, 앱에 MySQL 데이터베이스를 주고 첫 마이그레이션을 실행합니다.

3.6Python 앱

Python 앱을 고른 다음 프레임워크를 고르십시오. Pancake가 최신 Python(3.14)으로 사이트 전용 Python 환경을 만들고, PyPI에서 프레임워크를 내려받아 시작합니다. 처음에는 1분 정도 걸립니다.

  • Django는 gunicorn으로 실행되며, /static/은 staticfiles에서, /media/는 media에서 제공됩니다. 카드에 마이그레이트, 정적 파일 수집, 슈퍼유저…가 추가됩니다(그다음 /admin/에서 로그인하십시오).
  • Flask는 app:app을 gunicorn으로, FastAPI는 main:app을 uvicorn으로 실행합니다.
  • 기존 프로젝트(WSGI): 사이트를 만들고 프로젝트를 그 폴더에 넣은 다음(폴더 보기), 앱 진입점(예: wsgi:application)을 지정하고 설정을 클릭하십시오.

패키지는 필요한 패키지 설치로 PyPI에서 설치합니다. 샌드박스 안에서는 Pancake가 패키지를 컴파일할 수 없으므로, 대부분의 앱에 필요한 컴파일된 패키지(pydantic-core, psycopg2, cryptography, MarkupSafe 등)가 Pancake에 내장되어 있습니다. 순수 Python 패키지는 평소대로 설치됩니다.

3.7Pancake가 만들어 준 것

  • 폴더: Pancake의 데이터 폴더 안 Sites/<name>에 있습니다. 카드의 폴더 보기를 클릭하면 Finder에서 열립니다.
  • 웹 서버 항목: <name>.localhost용 Apache 가상 호스트입니다.
  • MySQL 데이터베이스와 사용자: 둘 다 사이트 이름을 따르며(하이픈은 밑줄로 바뀜), 무작위 암호는 키체인에 보관됩니다.
  • 환경 변수: 사이트 코드가 읽을 수 있으므로 비밀 정보를 파일에 넣지 않아도 됩니다.
변수값
DB_HOST127.0.0.1
DB_PORTMySQL의 포트, 보통 3306
DB_NAME, DB_DATABASE사이트의 데이터베이스
DB_USER, DB_USERNAME사이트의 데이터베이스 사용자
DB_PASSWORD그 사용자의 암호
PANCAKE_SITE사이트 이름

PHP에서는 getenv('DB_NAME')으로, Python에서는 os.environ["DB_NAME"]으로 읽습니다. 외부 데이터베이스를 쓰는 사이트에는 DATABASE_URL도 주어집니다. FullStack에서는 Valkey와 Memcached의 주소도 주어집니다(서비스 참조).

팁

설정 ▸ 고급 ▸ 새 PHP 사이트용 시작 파일(또는 정적 사이트용)에서 모든 새 사이트의 출발점을 정할 수 있습니다. 폴더를 고르면 Pancake가 그 종류의 새 사이트마다 폴더 내용을 복사해 넣습니다.

사이트 다루기

사이트 카드의 모든 것: 열기와 편집, PHP 버전과 캐시, 저장 지점, Git, PHP 설정, Xdebug, 스테이징 사본, Blueprint 등을 다룹니다.

4.1사이트 카드

사이트 패널의 각 사이트는 카드로 표시됩니다. 왼쪽 위의 표시등은 서버가 실행 중일 때 녹색입니다. 이름 옆에는 사이트의 종류(PHP, 정적, 또는 프레임워크가 함께 표시되는 Python)가, 그 아래에는 사이트의 주소가 있습니다.

열기
브라우저에서 사이트를 엽니다. 서버가 중지되어 있으면 회색으로 표시되므로 먼저 모두 시작을 클릭하십시오. 로컬 HTTPS를 켜면 자물쇠 버튼으로 https:// 주소를 열 수 있습니다.
폴더 보기
Finder에서 사이트의 폴더를 엽니다.
편집
편집기나 사이트 디자인 앱에서 사이트의 폴더를 엽니다(내 앱에서 편집 참조).
파일
내장 파일 브라우저, 편집기, 실시간 미리 보기를 엽니다. 파일, 편집기와 디자인을 참조하십시오.
QR 코드
휴대폰이나 태블릿에서 사이트를 열 수 있는 코드를 보여 줍니다. 온라인일 때는 테스트 링크나 도메인을, 내 네트워크가 켜져 있을 때는 네트워크 이름을 엽니다.
저장 지점(시계)
언제든 되돌아갈 수 있는, 이름 붙인 사이트 사본입니다. 저장 지점을 참조하십시오.

카드가 좁으면 버튼이 아이콘으로 줄어듭니다. 포인터를 올리면 이름을 볼 수 있습니다.

4.2PHP 버전과 캐시

PHP 사이트에는 버튼 아래에 메뉴가 두 개 있습니다.

  • PHP 버전. 모든 요금제에서 최신 PHP(8.5)가 실행됩니다. FullStack에서는 오래된 코드를 위해 사이트마다 이전 버전(8.4, 8.3, 8.2, 7.1)을 고를 수 있습니다. 전환하기 전에 Pancake가 "Before PHP 8.4 (was 8.5)"와 같은 이름의 저장 지점을 만들어 두므로, 클릭 한 번으로 되돌릴 수 있습니다.
  • 캐시. 캐시 없음, OPcache(컴파일된 PHP를 메모리에 보관합니다. 더 빠르며 호스트에서도 쓰는 방식입니다), OPcache + APCu(WordPress 등의 앱이 데이터용으로 쓸 수 있는 메모리 캐시를 추가합니다) 중에서 고릅니다.
참고

FullStack에서 이전 PHP로 설정해 둔 사이트는 요금제가 바뀌면 최신 PHP로 실행되며, 선택은 나중을 위해 유지됩니다. 카드에 그 내용이 표시되고, 최신 버전으로 완전히 전환하는 버튼이 함께 나타납니다.

4.3AutoIndex

AutoIndex(index 페이지가 없는 폴더 목록 표시)를 켜면 index.html이나 index.php가 없는 폴더를 열었을 때 파일 목록을 보여 줍니다. 다운로드 파일이나 문서를 모아 둔 폴더에 편리합니다. 숨김 파일과 민감한 파일(.env, .sql 덤프, 키, .htpasswd 등)은 AutoIndex를 켜든 끄든 목록에 나오거나 제공되지 않습니다.

4.4저장 지점

저장 지점은 사이트의 파일과 데이터베이스를 복사해 둔 것으로, "WordPress 업데이트 전"처럼 이름을 붙여 클릭 한 번으로 되돌아갈 수 있습니다.

  1. 사이트 카드의 시계 버튼을 클릭하고 저장 지점 만들기…를 선택하십시오.
  2. 이름을 입력하고 저장을 클릭하십시오.
  3. 되돌리려면 같은 메뉴를 열고 저장 지점을 고른 다음 복원을 선택하십시오.

되돌리기 어려운 변경을 하기 전에는 Pancake가 자동으로 저장 지점을 만듭니다. PHP 버전 전환, 백업 복원, 새 디자인 적용, 이미지 최적화, 어시스턴트의 파일 변경, 운영 중인 사이트 다시 내려받기, Pancake Cloud에서 사이트 불러오기가 해당합니다. 사이트마다 정기 백업과 별도로 최신 저장 지점 20개를 보관합니다(백업과 저장 지점 참조).

4.5내 앱에서 편집

편집 버튼은 설정 ▸ 편집기 ▸ 사이트 편집 앱에서 고른 앱으로 사이트의 폴더를 엽니다. BBEdit, VS Code, Nova, Cursor, Zed 같은 코드 편집기나 RapidWeaver, Blocs, Hype 같은 사이트 디자인 앱을 고를 수 있습니다. macOS가 파일마다 고르는 앱을 선택하면 파일을 각각의 기본 앱에서 엽니다.

사이트마다 따로 앱을 정할 수도 있습니다. 고급을 켜고 카드의 이 사이트 편집 앱을 사용하십시오.

4.6Python 사이트

Python 카드에는 PHP 메뉴 대신 전용 버튼이 있습니다.

  • 설정은 사이트의 Python 환경을 만들고 프레임워크를 설치합니다(한 번 실행할 때까지 표시됩니다).
  • 필요한 패키지 설치는 사이트의 requirements.txt에 있는 패키지를 설치합니다.
  • Django 사이트에는 마이그레이트, 정적 파일 수집, 슈퍼유저…가 추가됩니다.

고급을 켜면 Python 버전(3.12, 3.13, 3.14. 바꾸면 환경을 다시 만듭니다), 앱 진입점, 코드가 바뀌면 다시 불러오기, 워커 수(1~8), 앱 로그와 설정 로그, 환경 다시 만들기…, 그리고 Django라면 확인 실행이 나타납니다.

4.7카드의 고급 설정

사이트 패널 머리글의 고급을 켜면 모든 카드에 더 많은 항목이 표시됩니다.

Git
아래의 Git을 참조하십시오.
별칭
같은 사이트의 다른 이름으로, www.shop.localhost처럼 쉼표로 구분해 입력합니다. 별칭은 .localhost로 끝나야 합니다.
PHP 설정…
PHP 설정을 참조하십시오.
Apache 지시어…
이 사이트의 Apache <VirtualHost> 안에 추가하는 줄로, 호스트에서 허용하는 리라이트 규칙이나 헤더를 넣을 때 씁니다. Pancake가 먼저 Apache로 검사하며, 불러올 수 없으면 건너뛰고 오류를 표시하므로 오타 때문에 다른 사이트가 멈추는 일은 없습니다.
로그
이 사이트의 PHP 오류를 표시한 상태로 로그 윈도우를 엽니다.
Xdebug
끔, 트리거할 때(브라우저 확장 또는 XDEBUG_TRIGGER), 모든 요청 중에서 고릅니다. 편집기(VS Code, PhpStorm, Nova)는 포트 9003에서 대기합니다. 사이트는 디버깅 전용 PHP 프로세스에서 실행되므로 다른 사이트는 계속 빠릅니다.
데이터베이스
Pancake 자체 데이터베이스 또는 외부 데이터베이스 중 하나입니다. 어느 쪽이든 사이트에 DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD가 주어집니다.
웹 서버
Apache 또는 Nginx FullStack입니다. Nginx를 고르면 Nginx 호스트처럼 try_files 라우팅을 쓰고 .htaccess는 쓰지 않습니다. 요청은 여전히 Apache가 먼저 받아(HTTPS, 터널, 로컬 전용 규칙 처리) 이 사이트의 요청을 Nginx에 넘깁니다.
싱글 페이지 앱
정적 사이트 전용입니다. 파일이 아닌 모든 주소가 index.html을 열므로, Vite, Lovable, React 앱의 /about 같은 경로를 직접 열거나 새로 고쳐도 동작합니다.
실제 메일 보내기
TallStack 이 사이트의 메일을 붙잡아 두는 것과 함께 SMTP 릴레이로도 보냅니다. 메일 릴레이를 참조하십시오.
환경 변수…
TallStack 직접 정하는 환경 변수입니다. 환경 변수를 참조하십시오.
이미지 최적화…
이미지 최적화를 참조하십시오.
Blueprint로 저장…
Blueprint를 참조하십시오.
스테이징 사본 만들기…
TallStack 스테이징 사본을 참조하십시오.
사이트 삭제…
사이트 삭제를 참조하십시오.

4.8PHP 설정

PHP 설정…은 이 사이트 하나의 PHP만 바꿉니다.

  • 요청당 메모리, 최대 업로드, 요청당 시간 제한.
  • 보고 범위: 전부(개발용), 사용 중단 경고를 뺀 전부, 오류와 경고, 오류만(운영용).
  • 페이지에 오류 표시(그리고 표시하는 오류를 HTML 형식으로), 이 사이트의 PHP 로그에 오류 기록, 같은 줄에서 반복되는 오류 건너뛰기.
  • 추가 php.ini 설정: 그 밖의 설정을 이름과 값으로 입력합니다.

기본값을 클릭하면 모두 원래대로 돌아갑니다. 모든 사이트의 PHP를 바꾸려면 php.ini 템플릿을 편집하십시오(템플릿 참조).

설정 ▸ 고급 ▸ 로그 크기 제한(10, 50, 200MB)을 넘은 로그는 최신 절반만 남기고 잘립니다.

4.9환경 변수

TallStack 환경 변수…에는 API 키나 APP_ENV=local 같은 사이트 전용 설정과 비밀 정보를 보관합니다.

  1. 추가를 클릭하고 이름과 값을 입력하거나, .env에서 붙여넣기…로 .env 파일 전체를 한 번에 가져오십시오.
  2. 저장을 클릭하십시오. PHP와 Python이 값을 읽도록 Pancake가 서버를 다시 시작합니다.

값은 사이트 폴더가 아니라 키체인에 보관되며, 사이트의 예약 작업과 워커에도 전달됩니다. Pancake가 직접 정하는 이름(DB_…, PANCAKE_…, DATABASE_URL, PATH, HOME 등)은 예약되어 있으며, Pancake의 값이 우선합니다.

4.10Git

Pancake에는 Git이 내장되어 있으므로 Xcode 명령줄 도구가 필요 없습니다.

  • 저장소가 아닌 사이트에는 Git 시작이 표시됩니다.
  • 저장소인 사이트에는 브랜치, 변경된 파일 수, 원격보다 앞서거나 뒤처진 정도가 커밋…, 풀, 푸시(원격을 추가하려면 연결…)와 함께 표시됩니다.
  • 고급을 켜면 원격 주소, 원격 변경…, 브랜치 메뉴, 브랜치를 만드는 입력란, 최근 커밋 8개가 나타납니다.

Pancake의 .gitignore는 .env 파일, SQL 덤프, 의존성 폴더, 캐시를 커밋에서 제외합니다. 커밋에 쓸 이름과 이메일, Git 호스트용 개인 액세스 토큰이나 Pancake의 SSH 키는 설정 ▸ Git(고급)에서 설정하십시오.

4.11이미지 최적화

이미지 최적화…는 사이트의 JPEG와 PNG 파일 크기를 줄입니다.

  • 무손실 — 픽셀은 그대로, 파일은 작게 또는 더 작게 — 고화질 JPEG(품질 82).
  • 위치·카메라 정보 제거는 사진에서 GPS와 카메라 데이터를 지웁니다.
  • 최대 크기는 큰 이미지를 줄이거나(3840, 2560, 1920, 1280픽셀) 크기를 그대로 둡니다.
  • 먼저 저장 지점 만들기는 기본으로 켜져 있습니다.

결과가 더 작을 때만 파일을 바꿉니다. 의존성 폴더(vendor, node_modules)와 WordPress 자체 파일은 건드리지 않습니다. 기본값은 설정 ▸ 이미지에서 정합니다.

4.12Blueprint

Blueprint는 파일, 데이터베이스, 설정을 포함해 템플릿으로 저장한 사이트입니다. 모든 고객 사이트를 같은 테마와 플러그인으로 시작할 때 사용하십시오.

  1. 사이트 카드(고급)에서 Blueprint로 저장…을 선택하고 이름을 정한 뒤 저장을 클릭하십시오. 서버가 중지되어 있으면 파일만 저장됩니다.
  2. 사용하려면 새 사이트 ▸ 블루프린트에서를 선택하고 Blueprint를 고른 뒤 새 이름을 입력하고 만들기를 클릭하십시오.

4.13스테이징 사본

TallStack 스테이징 사본 만들기…는 따로 이름을 정하지 않으면 <site>-staging이라는 이름으로, 전용 폴더와 데이터베이스를 갖춘 별도의 사이트를 만듭니다. 사본의 주소는 사본 자신의 .localhost 이름으로 바뀌므로 원본에는 영향이 없습니다. 위험한 업데이트는 먼저 사본에서 시험하십시오.

4.14사이트 삭제

사이트 삭제…(고급)는 Pancake에서 사이트를 지우고 폴더를 휴지통으로 옮기므로, 파일은 나중에도 되살릴 수 있습니다. Python 사이트의 환경은 삭제됩니다. 데이터베이스는 데이터베이스 패널에 남아 있으므로, 그곳에서 내보내거나 삭제하십시오.

파일, 편집기와 디자인

Pancake 안에서 사이트의 파일을 탐색하고 편집하며, 휴대폰, 태블릿, 데스크톱 너비로 미리 보고, 어시스턴트와 함께 페이지를 디자인합니다.

파일 윈도우: 폴더 트리, 색으로 구분되는 편집기, 휴대폰·태블릿·데스크톱 너비를 고를 수 있는 실시간 미리 보기.
그림 5.1파일 윈도우: 폴더 트리, 색으로 구분되는 편집기, 휴대폰·태블릿·데스크톱 너비를 고를 수 있는 실시간 미리 보기.

5.1파일 윈도우

사이트 카드의 파일을 클릭하십시오. 윈도우는 세 부분으로 나뉩니다. 왼쪽에 폴더 트리, 가운데에 편집기, 오른쪽에 미리 보기가 있습니다.

  • 트리. 폴더는 그 자리에서 펼쳐집니다. Finder에서 파일을 목록으로 끌어 오면 추가됩니다. 파일을 오른쪽 클릭하면 이름 변경…, 복제, Finder에서 보기, 휴지통으로 이동을 쓸 수 있습니다. 숨김 파일과 백업은 흐리게 표시됩니다.
  • 민감한 파일(.env 파일, .sql 덤프, 키, .htpasswd)에는 자물쇠가 표시됩니다. 이 파일들은 브라우저에 절대 제공되지 않으며, Pancake는 이곳에서 편집하지 않습니다.
  • 새로 만들기는 파일(이름을 정하지 않으면 page.html)이나 폴더를 만듭니다.

5.2편집기

편집기는 줄 번호를 표시하고 HTML, CSS, JavaScript, PHP, Python을 색으로 구분합니다. ⌘F로 찾기, ⌥⌘F로 찾기와 바꾸기, ⌘S로 저장합니다. 스마트 따옴표와 자동 수정은 꺼져 있으므로 코드가 바뀌지 않습니다.

  • 이미지, PDF 등 텍스트가 아닌 파일은 Quick Look으로 열립니다.
  • 2MB가 넘는 파일은 읽기 전용으로 열리며, 파일의 끝부분이 표시됩니다(로그를 볼 때 유용합니다).
  • 내 편집기에서 열기는 파일을 내 편집기로 보냅니다.
팁

저장할 때마다 이전 버전이 파일 옆에 <name>.pancake-bak으로 먼저 보관됩니다. 이 사본은 방문자에게 제공되지 않습니다.

5.3실시간 미리 보기

도구 막대에서 미리 보기를 켜고 너비를 고르십시오. 휴대폰, 태블릿, 데스크톱 중 하나입니다. 미리 보기는 저장할 때마다 다시 불러옵니다. 편집 중인 파일이 사이트 안의 HTML이나 PHP 페이지이면 그 페이지를, 그렇지 않으면 홈페이지를 보여 줍니다.

미리 보기에는 서버가 필요합니다. 서버가 중지되어 있으면 파일 윈도우의 모두 시작 버튼을 쓰십시오.

5.4HTML 정리

HTML 파일에서는 HTML 정리가 HTML Tidy로 페이지를 들여쓰고, 태그를 닫고, 중첩을 바로잡습니다. 자동으로 저장하지는 않으므로 결과를 확인한 다음 ⌘S를 누르십시오.

5.5어시스턴트에게 요청

  1. 바꾸고 싶은 코드를 선택하십시오. 파일 전체를 대상으로 하려면 아무것도 선택하지 마십시오.
  2. 어시스턴트에게 요청을 클릭하고 변경 내용("머리글을 상단에 고정해 줘")을 설명한 다음 요청을 클릭하십시오.
  3. 현재와 제안을 나란히 비교하십시오. 마음에 들면 변경 적용을 클릭한 뒤 저장하십시오.

적용하고 저장하기 전까지는 아무것도 바뀌지 않습니다. 어시스턴트는 클라우드 AI 제공업체를 켜 두었으면 그것을, 그렇지 않으면 Private Cloud Compute나 이 Mac의 Apple Intelligence를 사용합니다(어시스턴트와 MCP 참조). 코드를 클라우드 제공업체로 보낼 때는 암호와 키를 먼저 제거합니다.

5.6어시스턴트와 디자인

원하는 사이트를 설명하면 Pancake가 홈페이지를 디자인합니다. 사이트 폴더에 반응형 페이지가 완성된 형태로 만들어지며, 바로 편집하고 테스트하고 배포할 수 있습니다.

  1. 새 사이트 ▸ 어시스턴트와 디자인을 선택하고 사이트 이름을 정하십시오. (기존 사이트라면 파일을 열고 디자인…을 클릭하십시오.)
  2. 스타일 고르기: 블랙 & 비즈니스, 발랄하게, 우아하게, 미니멀, 따뜻하고 친근하게, 또는 놀라게 해 줘.
  3. 사이트 설명하기: 예를 들어 "교토의 빵집: 우리 빵, 영업시간, 찾아오는 길, 문의 양식"처럼 입력하십시오.
  4. 필요하면 더 많은 선택을 열어 레이아웃(랜딩 페이지, 포트폴리오, 레스토랑 또는 쇼핑몰, 문서)과 색상을 고르십시오.
  5. 디자인하기를 클릭하고 휴대폰, 태블릿, 데스크톱 너비로 미리 보기를 확인하십시오.
  6. 마음에 들 때까지 변경 요청에서 변경을 요청하거나("머리글을 더 어둡게", "가격 섹션 추가"), 처음부터를 클릭하십시오.
  7. 이 디자인 사용을 클릭하십시오. Pancake가 먼저 저장 지점을 만들고, 이전 페이지는 .pancake-bak으로 보관합니다.

페이지를 만드는 방식은 사용할 수 있는 AI에 따라 다릅니다.

  • Private Cloud Compute 또는 내 AI 키: 어시스턴트가 페이지 전체를 작성합니다. Claude 키를 쓰면 Pancake가 요청마다 Anthropic의 프런트엔드 디자인 가이드를 함께 보내며, 다른 모델에는 Pancake 자체 디자인 가이드를 보냅니다.
  • 이 Mac의 Apple Intelligence: 어시스턴트가 페이지를 구성하고 Pancake의 템플릿이 그립니다. 무료이며 개인정보가 보호되고 오프라인에서도 동작합니다.
  • 사용할 수 있는 AI가 없을 때: 고른 스타일로 페이지를 만들고, 설명의 첫 줄을 제목으로 씁니다.

페이지는 독립적으로 동작합니다. 방문자의 기기에 이미 있는 글꼴을 사용하며, 외부 파일이나 스크립트가 필요 없습니다.

팁

설명에 이미 운영 중인 사이트의 주소가 들어 있으면, Pancake가 먼저 그 사이트를 가져오도록 제안합니다. 서버에서 내려받아 이곳에서 다시 디자인하고 테스트한 뒤 다시 게시할 수 있습니다. 운영 중인 웹사이트에서를 참조하십시오.

사이트 가져오기

폴더, ZIP, Git, MAMP, XAMPP, Apple Server, 운영 중인 웹사이트, 클라우드 백업에서 사이트를 옮겨 옵니다. Pancake는 복사만 하며 원본은 절대 바꾸지 않습니다.

6.1사이트를 가져올 수 있는 곳

새 사이트를 클릭하고 사이트 가져오기를 여십시오. 무엇을 고르든 Pancake가 파일을 복사하고, 사이트의 데이터베이스와 사용자를 만들고, 찾아낸 데이터베이스 덤프를 불러오고(이전 주소는 새 주소로 바꿈), 서버를 시작합니다. 원래의 파일, 서버, 앱은 절대 바뀌지 않습니다.

선택지용도
폴더 또는 ZIP에서모든 사이트 폴더나 압축 파일: WordPress, Laravel, PHP, Django, Flask, 정적 HTML.
Lovable·Vite에서Vite, Lovable, Create React App으로 만든 React 앱.
ChatGPT Sites에서ChatGPT에서 ZIP으로 내보낸 사이트.
MAMP / MAMP PRO에서MAMP 호스트와 그 데이터베이스.
XAMPP에서XAMPP 사이트와 데이터베이스.
Apache 설정 폴더에서macOS 자체 Apache, Homebrew의 Apache, 또는 서버에서 복사해 온 폴더.
Apple Server에서Server.app을 실행하는 오래된 Mac의 웹사이트.
운영 중인 웹사이트에서SFTP나 FTP로 접속하는 호스팅의 사이트와 그 데이터베이스.
GitHub / GitLab에서모든 Git 저장소.
클라우드 백업에서Pancake Cloud 또는 MAMP Cloud 백업.

6.2폴더 또는 ZIP에서

  1. 폴더 또는 ZIP에서를 고르고 폴더 또는 ZIP 선택…을 클릭하십시오.
  2. Pancake가 찾아낸 것("Found: WordPress"), 제공할 폴더, 불러올 .sql 덤프를 보여 줍니다.
  3. 사이트 이름을 확인하십시오. 덤프가 WordPress가 아닌 운영 중인 사이트에서 온 것이라면, 링크가 로컬 사본을 가리키도록 바꿀 이전 사이트 주소에 그 주소를 입력하십시오. (WordPress 주소는 자동으로 찾아서 바꿉니다.)
  4. 가져오기를 클릭하십시오.

ChatGPT Sites에서도 같은 방식입니다. ChatGPT에서 사이트를 열고 Export를 선택한 다음 ZIP을 고르십시오.

6.3Lovable 또는 Vite에서

Lovable은 Vite로 React 앱을 만듭니다. Pancake는 빌드가 끝난 사이트(dist 폴더)를 싱글 페이지 라우팅으로 제공하므로 /about 같은 링크가 동작합니다. Pancake는 Node를 실행하지 않으므로, Node가 있는 Mac에서 프로젝트를 한 번 빌드해야 합니다.

  1. Lovable에서 GitHub를 연결하거나(Settings ▸ GitHub), Download codebase를 사용하십시오.
  2. 프로젝트 폴더에서 npm install을 실행한 다음 npm run build를 실행하십시오.
  3. Pancake로 돌아와 GitHub에서… 또는 폴더나 ZIP에서…를 클릭하십시오. Pancake가 dist/(또는 build/)를 찾아 싱글 페이지 라우팅을 자동으로 켭니다.

Supabase 백엔드는 Supabase에서 계속 실행됩니다. 빌드하지 않은 프로젝트도 가져올 수 있으며, 빌드 방법이 함께 안내됩니다.

6.4MAMP, XAMPP, Apache 폴더에서

  1. 기존 환경에 맞는 타일을 고르고 폴더 선택…을 클릭하십시오. Pancake가 그 환경이 보통 설정을 보관하는 위치를 보여 줍니다.
    • MAMP: /Applications/MAMP/conf/apache
    • MAMP PRO: /Library/Application Support/appsolute/MAMP PRO/conf/apache
    • XAMPP: /Applications/XAMPP/xamppfiles/etc
    • macOS 자체 Apache: /etc/apache2, Homebrew의 Apache: /opt/homebrew/etc/httpd
  2. Pancake가 찾아낸 사이트 목록을 보여 줍니다. 원하는 사이트를 체크하고, 각 사이트의 새 .localhost 이름을 편집하십시오.
  3. Pancake가 요청하면 샌드박스가 폴더를 읽을 수 있도록 사이트 폴더에 접근 허용…을 클릭하십시오.
  4. 데이터베이스도 가져오려면 기존 MySQL을 시작하고 데이터베이스도 복사…를 클릭하십시오. MAMP는 포트 8889와 root/root를 쓰고, XAMPP와 Apache는 보통 포트 3306과 암호 없는 root를 씁니다. Pancake는 이름으로 사이트와 데이터베이스를 짝짓습니다. 필요하면 각 행에서 짝을 바꾸십시오.
  5. 가져오기를 클릭하십시오.
팁

MAMP PRO의 사용자 정의 서버 템플릿도 가져올 수 있습니다. 설정 ▸ 고급 ▸ 템플릿… ▸ MAMP PRO에서 가져오기…를 사용하십시오. 템플릿을 참조하십시오.

6.5Apple Server에서

Server.app은 웹 설정을 관리자만 읽을 수 있는 /Library/Server/Web/Config/apache2에 보관합니다. 먼저 Finder에서 이 폴더를 데스크톱에 복사한 다음, Apple Server에서에서 그 사본을 고르십시오.

TallStack 또는 오래된 Mac에서 사이트를 바로 복사할 수도 있습니다. 이전 Mac에 SSH로 연결…을 클릭하십시오.

  1. 오래된 Mac에서 원격 로그인을 켜십시오(시스템 환경설정 ▸ 공유).
  2. Pancake에서 Mac의 주소(예: oldserver.local), SSH 포트, 관리자 사용자 이름을 입력하고 암호나 키 파일로 로그인하십시오. 연결을 클릭하십시오.
  3. 사이트를 고르십시오. WordPress 사이트는 데이터베이스를 자동으로 가져옵니다. 다른 사이트는 MySQL 데이터베이스 이름과 오래된 Mac의 MySQL 사용자 및 암호를 입력하십시오.

6.6운영 중인 웹사이트에서

호스팅에 있는 사이트를 데이터베이스와 함께 내려받아 Mac에서 안전하게 편집하고 테스트합니다. 그 뒤 Pancake로 다시 내려받거나 변경 사항을 다시 게시할 수 있습니다(운영 중인 사이트를 안전하게 편집하기 참조).

  1. 운영 중인 웹사이트에서를 고르고 사이트 주소(예: https://www.example.com)를 입력하십시오.
  2. 사용하는 호스트가 호스팅 프리셋에 있으면 고르십시오. Pancake가 서버, 포트, 폴더를 채우고, 그 호스트의 특이 사항(예: SSH 키만 받는 호스트)을 알려 줍니다.
  3. 연결 방식을 고르십시오. SFTP (SSH), FTP + TLS(명시적), FTPS(암묵적 TLS), FTP(암호화 안 함) 중 하나입니다. 호스트가 지원하면 SFTP를 쓰십시오.
  4. 서버, 포트, 사용자와 암호 또는 SSH 키를 입력하십시오.
  5. 데이터베이스를 어떻게 할지 고르고(아래 참조), 가져오기를 클릭하십시오.
이 Mac에 복사(권장)
자유롭게 바꿀 수 있는 사본입니다. 운영 데이터베이스는 건드리지 않습니다.
운영 데이터베이스를 직접 사용
로컬 사이트가 운영 데이터베이스에 연결합니다. 같은 서버로의 SSH를 거치거나 TallStack, VPN이나 사무실 네트워크를 통해 직접 연결합니다. 변경 사항은 바로 운영 환경에 반영됩니다.
데이터베이스는 가져오지 않음
파일만 가져옵니다. 데이터베이스는 나중에 사이트 카드(고급 ▸ 데이터베이스)에서 연결할 수 있습니다.

WordPress는 Pancake가 wp-config.php에서 데이터베이스 설정을 읽습니다. 다른 사이트는 추가 옵션을 열어 직접 입력하십시오. Pancake가 서버의 폴더를 스스로 찾지 못할 때도 추가 옵션에서 서버의 폴더를 지정할 수 있습니다.

호스팅 프리셋에는 해외 호스트(cPanel 및 Plesk 호스트, SiteGround, Hostinger, IONOS, DreamHost), 관리형 WordPress 호스트(Kinsta, WP Engine, Pressable, Flywheel, Cloudways), 주요 일본 호스트(Xserver, ConoHa WING, Sakura, Lolipop, Heteml, mixhost 등), 한국 호스트(Cafe24, Gabia, Dothome 등)가 있습니다.

참고

GoDaddy의 WordPress는 가져오는 과정에서 수정됩니다. 사이트가 다른 곳에서 동작하지 못하게 하는 GoDaddy의 시스템 플러그인과 Memcached 객체 캐시를 치워 두고, gd-config.php 줄(wp-config.php 안)을 끄며, 아직 임시 *.myftpupload.com 주소를 가리키는 링크를 로컬 사이트로 바꿉니다.

6.7GitHub 또는 GitLab에서

  1. GitHub / GitLab에서를 고르고 저장소 주소를 붙여 넣으십시오.
  2. 필요하면 브랜치를 지정하십시오. HTTPS로 비공개 저장소를 가져올 때는 액세스 토큰을 붙여 넣고, SSH 주소라면 Pancake의 SSH 키를 Git 호스트에 추가하십시오(설정 ▸ Git, 고급).
  3. 사이트 이름을 정하고 복제를 클릭하십시오.

프로젝트에 composer.json이 있으면 Pancake가 composer install을 실행합니다. Python 프로젝트는 requirements를 바탕으로 설정됩니다.

6.8클라우드 백업에서

  • Pancake Cloud: 이 Mac이나 다른 Mac의 Pancake에서 저장한 사이트입니다. 백업 ▸ Pancake Cloud 열기를 클릭한 다음 사이트 옆의 불러오기…를 클릭하십시오. Pancake Cloud를 참조하십시오.
  • MAMP Cloud: MAMP PRO가 Dropbox나 OneDrive에 저장한 백업입니다. MAMP Cloud 백업 선택…을 클릭하고 Dropbox나 OneDrive 폴더의 Apps/MAMP PRO에서 호스트의 ZIP을 고르십시오. MAMP PRO는 필요 없습니다. 암호화된 MAMP Cloud 백업은 먼저 MAMP PRO에서 불러온 다음 MAMP / MAMP PRO에서로 가져와야 합니다.

데이터베이스

사이트마다 따로 있는 MySQL 데이터베이스, Adminer와 phpMyAdmin, 가져오기와 내보내기, 이미 가진 데이터베이스 연결, PostgreSQL을 다룹니다.

데이터베이스 패널: 데이터베이스마다 크기와 사이트, 그리고 Adminer, 내보내기, 가져오기 버튼이 표시됩니다.
그림 7.1데이터베이스 패널: 데이터베이스마다 크기와 사이트, 그리고 Adminer, 내보내기, 가져오기 버튼이 표시됩니다.

7.1Pancake의 데이터베이스

모든 사이트에는 전용 MySQL 8.4 데이터베이스와, 그 데이터베이스만 열 수 있는 전용 사용자가 있습니다. 둘 다 사이트 이름을 따릅니다(my-blog는 my_blog가 됩니다). 암호는 무작위로 만들어져 키체인에 보관되며, 사이트는 DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD에서 모든 정보를 읽으므로 사이트 파일에 암호를 넣을 필요가 없습니다.

데이터베이스 패널에는 데이터베이스마다 크기, 테이블 수, 그 데이터베이스를 쓰는 사이트가 표시됩니다. 목록을 보려면 MySQL이 실행 중이어야 하므로 모두 시작을 클릭하십시오.

  • 새 데이터베이스(+ 버튼)는 데이터베이스를 하나 더 만듭니다. 이름에는 영문 소문자, 숫자, 밑줄을 씁니다.
  • 휴지통 버튼은 데이터베이스를 삭제합니다. Pancake가 먼저 사본을 내보낸 뒤 삭제를 제안합니다.

7.2Adminer와 phpMyAdmin

Adminer는 브라우저의 adminer.localhost에서 데이터베이스를 엽니다. 테이블을 탐색하고, 쿼리를 실행하고, 행을 편집할 수 있습니다. 서버, 사용자, 데이터베이스는 Pancake가 채워 주므로 암호만 입력하십시오. 사이트 전용 사용자를 쓰거나, root와 함께 고급 ▸ root 비밀번호 복사로 얻은 암호를 쓰십시오. Adminer는 외부 접속을 켜도 절대 온라인에 올라가지 않습니다.

phpMyAdmin을 쓰고 싶다면 phpMyAdmin을 클릭하고, phpmyadmin.net에서 "all-languages" ZIP을 내려받아 고르십시오. Pancake가 이 Mac에만 머무는 phpmyadmin.localhost 사이트로 제공합니다. (phpMyAdmin은 Pancake에 포함되어 있지 않습니다.)

7.3내보내기와 가져오기

  • 내보내기…는 데이터베이스를 날짜와 시간이 이름에 붙은 .sql 파일로 저장합니다.
  • 가져오기…는 .sql 파일을 데이터베이스로 불러옵니다. 파일 내용에 따라 기존 데이터에 추가되거나 기존 데이터를 대체합니다.
팁

큰 변경을 하기 전에는 내보내기를 하거나, 사이트 카드에서 저장 지점을 만드십시오. 저장 지점은 파일과 함께 데이터베이스도 복사합니다.

7.4다른 앱에서 연결하기

고급을 켜면 다른 도구에서 연결에 TablePlus, Sequel Ace, DBeaver 등 데이터베이스 앱에 입력할 내용이 표시됩니다. 호스트 127.0.0.1, MySQL이 쓰는 포트(보통 3306), 사용자 root입니다. root 비밀번호 복사로 암호를 복사합니다. Pancake의 MySQL은 이 Mac에서 오는 연결만 받습니다.

다른 MySQL(MAMP, Homebrew, Docker 등)이 이미 포트 3306을 쓰고 있으면, Pancake의 MySQL은 3307처럼 비어 있는 다음 포트를 쓰며 패널에 그 포트가 표시됩니다.

7.5외부 데이터베이스

사이트는 Pancake의 데이터베이스 대신 이미 가진 데이터베이스를 쓸 수도 있습니다. MAMP의 MySQL, NAS나 다른 컴퓨터의 데이터베이스, Amazon RDS, Supabase, Neon 같은 클라우드 데이터베이스가 해당합니다.

  1. 이미 있는 데이터베이스에 연결…을 클릭하십시오.
  2. MySQL / MariaDB 또는 PostgreSQL TallStack을 고르십시오. 프리셋을 고르면 MAMP(포트 8889), Homebrew 또는 Docker, TLS를 쓰는 클라우드 데이터베이스, Postgres.app, Supabase, Neon, RDS 같은 일반적인 구성이 채워집니다.
  3. 이름을 정한 다음 서버, 포트, 데이터베이스, 사용자, 비밀번호를 입력하십시오.
  4. 보안을 고르십시오. 암호화(TLS), 암호화하고 서버 인증서도 확인(CA 파일을 고름), 암호화 안 함 중 하나이며, 암호화 안 함은 이 Mac과 로컬 네트워크에서만 허용됩니다.
  5. 테스트를 클릭한 다음 저장을 클릭하십시오.
  6. 사이트 카드(고급)에서 데이터베이스를 새 연결로 설정하십시오.

그러면 사이트에 그 데이터베이스의 정보가 DB_HOST, DB_PORT 등으로 주어지며, DATABASE_URL, DB_CONNECTION, DB_SSL_MODE도 함께 주어집니다.

각 외부 연결에는 테스트, 내보내기…, Pancake로 복사(안전하게 개발할 수 있도록 <name>_copy라는 로컬 사본을 만듦), 편집…, 그리고 데이터베이스는 건드리지 않고 연결 정보만 지우는 휴지통 버튼이 있습니다.

참고

Pancake는 소켓 파일이 아니라 네트워크로 연결합니다. App Store 앱은 다른 앱의 소켓을 쓸 수 없기 때문입니다. 호스트에는 127.0.0.1을, 포트에는 서버의 포트를 쓰십시오.

SSH를 통해 연결

TallStack 많은 서버는 자기 자신에서 오는 데이터베이스 연결만 받습니다. SSH로 연결을 켜고 SSH 서버, 포트, 사용자, 암호나 키 파일을 입력하십시오. 이때 데이터베이스의 서버는 SSH 서버에서 본 주소이며, 보통 127.0.0.1입니다. Pancake는 터널을 열어 두며, 끊어지면 다시 엽니다.

테스트가 실패하면

Pancake는 흔한 오류를 알기 쉬운 말로 바꿔 보여 줍니다. 사용자 이름이나 암호가 틀림, 그 이름의 데이터베이스가 없음, 서버가 이 Mac의 연결을 받지 않음(서버에서 허용하거나 SSH로 연결하십시오), 서버 이름을 찾을 수 없음, 그 포트에서 응답이 없음(서버가 실행 중인지, 방화벽이 이 Mac을 허용하는지 확인하십시오), 암호화된 연결 실패(서버가 내 네트워크에 있고 TLS가 없다면 암호화 안 함을, 자체 인증 기관을 쓴다면 CA 파일을 고르십시오) 등입니다.

7.6PostgreSQL

FullStack Pancake에는 PostgreSQL 17이 포함되어 있습니다. 서비스 패널에서 켜십시오. 그러면 각 사이트에 전용 PostgreSQL 데이터베이스와 역할(site_<name>)도 생기며, 사이트는 PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD, POSTGRES_URL에서 그 정보를 읽습니다. PHP의 pgsql 및 pdo_pgsql 확장도 포함되어 있습니다.

PostgreSQL 데이터베이스는 데이터베이스 패널의 별도 섹션에 나타나며, Adminer, 내보내기, 가져오기, 새 데이터베이스 버튼도 똑같이 있습니다. 다른 앱에서는 사용자 postgres와 postgres 비밀번호 복사(고급)로 얻은 암호를 쓰십시오.

사이트를 온라인에 올리기

임시 링크로 누구에게나 사이트를 보여 주고, Cloudflare를 통해 내 도메인에 올리거나, Mac에서 바로 제공합니다. 스위치 하나로 모든 것을 인터넷에서 내릴 수 있습니다.

온라인 패널: 맨 위에 내 네트워크가 있고, 그 아래에 사이트마다 온라인 스위치와 내 도메인 사용이 있는 카드가 있습니다.
그림 8.1온라인 패널: 맨 위에 내 네트워크가 있고, 그 아래에 사이트마다 온라인 스위치와 내 도메인 사용이 있는 카드가 있습니다.

8.1외부 접속: 인터넷 스위치

도구 막대의 지구본 버튼이 외부 접속입니다. 무엇이든 Mac 밖으로 나갈지를 이 스위치가 정합니다.

  • 오프라인: 다른 설정과 관계없이 이 Mac에서만 사이트를 열 수 있습니다. 아무것도 게시되지 않습니다.
  • 온라인: 온라인 패널에서 온라인으로 전환한 사이트가 게시됩니다.

외부 접속을 끄면 즉시 적용됩니다. 터널이 닫히고, 공유기의 포트 매핑이 제거되며, DDNS 업데이트가 멈춥니다. 모든 설정은 유지되므로 다시 켜면 모든 것이 돌아옵니다. 이 스위치는 메뉴 막대 아이콘, 위젯, 단축어(내 사이트를 오프라인으로)에도 있습니다.

팁

외부 접속을 비상 버튼으로 활용하십시오. 무엇을 설정해 두었든 클릭 한 번으로 모든 사이트가 다시 비공개가 됩니다.

사이트는 세 가지 조건을 모두 만족할 때만 게시됩니다. 사이트가 온라인으로 전환되어 있고, 외부 접속이 켜져 있고, 서버가 실행 중이어야 합니다. 빠진 조건이 있으면 온라인 패널이 알려 줍니다.

누군가에게 사이트를 보여 주는 가장 빠른 방법입니다. 계정이 필요 없습니다.

  1. 온라인 패널을 열고 사이트를 온라인으로 전환하십시오.
  2. 외부 접속이 켜져 있고 서버가 실행 중인지 확인하십시오.
  3. 20초쯤 지나면 카드에 https://random-words.trycloudflare.com과 같은 주소가 열기, 복사, 확인, QR 코드와 함께 나타납니다.

이 링크는 테스트용입니다. 다시 시작할 때마다 바뀌며, 사이트가 온라인이고 Pancake가 실행 중일 때만 동작합니다. 확인은 인터넷에서 링크가 응답하는지 한 번 시험합니다.

8.3Cloudflare를 통한 내 도메인

Pancake는 Cloudflare Tunnel을 통해 사이트를 제공합니다. 공유기 설정이 필요 없고, 어떤 네트워크 뒤에서도 동작하며, 집 주소가 공개되지 않습니다. 도메인은 Cloudflare에 있어야 하며, 무료 요금제로 충분합니다.

  1. 온라인 패널의 사이트 카드에서 내 도메인 사용 옆의 설정…을 클릭하십시오.
  2. 처음에는 Cloudflare를 연결합니다. Cloudflare 열기…를 클릭하면 대부분의 권한이 채워진 상태로 Cloudflare의 토큰 페이지가 열립니다.
  3. 권한 행을 하나 더 추가하십시오. Account › Cloudflare Tunnel › Edit입니다. 토큰을 만들고 복사하십시오.
  4. Cloudflare API 토큰에 붙여 넣고 연결을 클릭하십시오. 토큰은 키체인에 보관됩니다.
  5. 하위 도메인(예: www, 도메인 자체를 쓰려면 비워 둠)을 입력하고 도메인을 고르십시오. Pancake가 사용할 주소를 보여 줍니다.
  6. 사용을 클릭하십시오. Pancake가 이 Mac의 터널(처음일 때)과 그 이름이 터널을 가리키는 DNS 레코드를 만듭니다.

사이트가 온라인이 되면 카드에 주소가 열기, QR 코드와 함께 표시됩니다. HTTPS 인증서는 Cloudflare가 제공합니다.

참고

아직 Cloudflare에 도메인이 없나요? cloudflare.com에서 가입하고 도메인을 추가하십시오. Cloudflare가 등록 대행업체에 설정할 네임서버 두 개를 알려 줍니다. 그다음 Pancake에서 새로 고침을 클릭하십시오. 같은 이름의 기존 DNS 레코드는 CNAME이 아니면 그대로 둡니다.

설정 ▸ Cloudflare에는 내 도메인과 각 도메인을 쓰는 사이트가 표시됩니다. 연결 해제…를 할 때 Pancake의 DNS 레코드와 터널을 Cloudflare에서 제거할 수도, 그대로 둘 수도 있습니다.

8.4온라인에 올릴 수 있는 사이트 수

ShortStackTallStackFullStack
동시에 온라인인 사이트110무제한
Cloudflare 및 Route 53 도메인110무제한
DDNS 이름110무제한

테스트 링크와 내 도메인은 합산됩니다. 이 수는 같은 iCloud에 로그인한 모든 Mac을 합친 것입니다. 한 Mac이 ShortStack 사이트를 제공하고 있으면 다른 Mac은 두 번째 사이트를 온라인에 올릴 수 없습니다(Pancake를 종료하거나 Mac이 오프라인이 되면 그 Mac은 세지 않습니다). 어느 Mac이 할당량을 쓰고 있는지는 온라인 패널에 표시됩니다. iCloud가 없으면 한도는 Mac마다 적용됩니다.

더 작은 요금제로 바꾸면, 한도를 넘는 사이트는 온라인 스위치를 유지한 채 게시되지 않은 상태로 남습니다. 업그레이드하거나 다른 사이트를 끄면 게시됩니다.

8.5사이트가 계속 살아 있나요?

외부 접속이 켜져 있는 동안 Pancake는 이 Mac에서 제공하는 각 사이트(도메인 또는 테스트 링크)를 5분마다 확인합니다. 사이트가 두 번 연속으로 실패하면 macOS가 알림("blog can't be reached from the internet")을 표시하고, 복구되면 다시 알려 줍니다. 사이트 이름 옆의 점은 마지막 결과를 나타냅니다. FullStack에서는 같은 알림을 휴대폰으로도 받을 수 있습니다(푸시 알림 참조).

8.6이 Mac에서 바로

온라인 패널에서 고급을 켜면 이 Mac에서 바로가 나타납니다. 터널 없이 공유기가 웹 트래픽을 Mac으로 전달하고, DNS 이름이 집 주소를 따라갑니다. 대부분의 경우 Cloudflare 터널을 쓰는 것이 좋으며, 이 방식은 내 인증서를 쓰고 중간 업체를 거치고 싶지 않을 때를 위한 것입니다.

  1. 공유기의 포트 80과 443 자동으로 열기(NAT-PMP / UPnP)를 켜거나, 공유기에서 직접 포워딩하십시오. Pancake가 인터넷 주소와 만든 매핑을 보여 줍니다.
  2. 이름 추가를 클릭하고 사이트와 DNS 서비스를 고른 다음 blog.example.com이나 myblog.duckdns.org와 같은 이름을 입력하십시오.
  3. 사이트를 온라인으로 전환하십시오. 집 주소가 바뀔 때마다 Pancake가 이름의 주소를 업데이트합니다.

DNS 서비스: Cloudflare DNS(Cloudflare를 프록시로 거쳐 주소를 숨기는 옵션 포함), Amazon Route 53, Duck DNS, No-IP, DNS-O-Matic, Dyn, easyDNS. Route 53은 배포 ▸ 서버 만들기에 저장한 AWS 키를 씁니다.

Let's Encrypt의 무료 인증서

Let's Encrypt의 HTTPS 인증서(무료)를 켜고 가입자 약관에 동의한 다음, 이름 옆의 인증서 받기를 클릭하십시오. Cloudflare와 Route 53 이름은 DNS로 확인하고, 다른 이름은 포트 80이 Mac으로 포워딩되어 있어야 합니다. 인증서는 만료 30일 전에 자동으로 갱신됩니다.

내 인증서

구입한 인증서, 회사에서 받은 인증서, Cloudflare 원본 인증서가 있나요? 인증서 붙여넣기…를 클릭하고, 위쪽 상자에는 인증서와 그 뒤에 체인을, 아래쪽 상자에는 개인 키를 PEM 텍스트로 붙여 넣거나 파일을 고르십시오. Pancake가 키가 맞는지 확인하고 이름, 발급자, 만료일을 보여 준 다음, 와일드카드를 포함해 인증서가 다루는 이름에 Let's Encrypt 대신 사용합니다.

암호가 걸린 키와 .pfx 파일은 먼저 변환해야 합니다. 예를 들어 openssl pkcs12 -in file.pfx -nodes를 사용하십시오.

주의

Mac에서 바로 제공하는 사이트는 집 주소로 접근할 수 있으며, Mac이 켜져 있고 잠자기 상태가 아니어야 합니다. 소프트웨어를 최신 상태로 유지하고, 필요 없을 때는 외부 접속을 끄십시오.

내 네트워크와 로컬 HTTPS

같은 Wi-Fi에 있는 휴대폰, iPad, 다른 컴퓨터에서 사이트를 열되 인터넷에는 공개하지 않으며, .localhost 사이트에 신뢰할 수 있는 HTTPS를 적용합니다.

9.1휴대폰에 약간의 도움이 필요한 이유

.localhost 주소는 항상 "이 기기"를 뜻하므로, 휴대폰에서 blog.localhost를 열면 휴대폰 자신에서 사이트를 찾습니다. 내 네트워크는 각 사이트에 blog.test라는 두 번째 이름을 주어 네트워크의 모든 기기가 접근할 수 있게 하며, 인터넷에는 아무것도 공개하지 않습니다.

9.2켜기

  1. 온라인 패널에서 내 네트워크를 켜십시오.
  2. Pancake가 작은 네임 서버를 시작하고 "각 기기에서 DNS 서버를 다음으로 설정:"이라는 문구와 함께 192.168.0.163과 같은 이 Mac의 주소를 보여 줍니다. 복사를 클릭하십시오.
  3. 각 휴대폰, 태블릿, 컴퓨터에서 그 주소를 DNS 서버로 설정하십시오. 설정 방법에서 iPhone과 iPad, Android, 다른 Mac, Windows의 단계를 볼 수 있습니다. 또는 공유기의 DNS 설정에서 한 번만 설정하면 네트워크의 모든 기기에 적용됩니다.
  4. http://blog.test/와 같은 이름으로 사이트를 열거나, QR 코드(온라인 패널 또는 사이트 카드)를 스캔하십시오.
내 네트워크를 켠 모습: 기기에 설정할 DNS 주소와, 사이트마다 복사 버튼 및 QR 코드가 있는 .test 주소.
그림 9.1내 네트워크를 켠 모습: 기기에 설정할 DNS 주소와, 사이트마다 복사 버튼 및 QR 코드가 있는 .test 주소.

그 기기들에서 다른 모든 것은 평소대로 동작합니다. Pancake는 그 밖의 이름을 모두 이 Mac의 DNS 서버로 넘깁니다. Pancake는 로컬 네트워크 밖의 기기에는 절대 응답하지 않습니다.

참고

다른 기기에서는 일반 http://를 씁니다. Pancake 자체 인증서를 쓰는 HTTPS는 현재 이 Mac에서만 동작합니다.

9.3이름 끝부분, 와일드카드, 추가 이름

고급을 켜면 다음 항목이 나타납니다.

  • 이름 끝부분. 기본값은 test입니다. lan이나 home.arpa 같은 다른 끝부분을 고를 수 있습니다. .local과 .localhost는 이 용도로 쓸 수 없습니다.
  • 와일드카드. 각 사이트가 모든 하위 도메인(*.blog.test)에서도 응답합니다. WordPress 멀티사이트에 필요합니다.
  • 추가 이름. 이름과 IPv4 주소를 입력해 다른 기기(사무실 위키, NAS, 프린터 페이지 등)를 가리키게 합니다. 예: wiki.office.test → 192.168.1.30. 주소를 비워 두면 이 Mac을 가리킵니다. 그러면 Pancake를 DNS 서버로 쓰는 모든 기기에서 그 이름으로 열 수 있습니다.

9.4로컬 HTTPS

보안 쿠키, 서비스 워커, 카메라 접근, 결제 테스트 모드 같은 일부 기능에는 https://가 필요합니다. Pancake는 모든 .localhost 사이트에 신뢰할 수 있는 인증서를 줄 수 있습니다.

  1. 설정 ▸ 로컬 HTTPS를 열고 켜기…를 클릭하십시오.
  2. Pancake가 .localhost 이름에만 서명할 수 있는 자체 인증 기관을 만들고, macOS에 이를 신뢰하도록 요청합니다. 요청이 나오면 Mac의 암호를 입력하십시오(한 번만).
  3. 이제 Safari와 Chrome에서 사이트가 경고 없이 https://name.localhost로 열립니다. 각 사이트 카드에 자물쇠 버튼이 나타납니다.

HTTPS는 포트 443을 씁니다(Pancake가 대체 포트에서 실행 중이면 8443). Firefox는 신뢰하는 인증 기관 목록을 따로 관리하므로, 경고가 나타나면 macOS의 인증서를 쓰도록 하는 설정을 켜십시오. 상태가 "Certificate made, not trusted yet"으로 표시되면 다시 신뢰…를 클릭하십시오.

공개 이름의 인증서는 Cloudflare, Let's Encrypt, 또는 내 인증서에서 얻습니다(사이트를 온라인에 올리기 참조).

사이트에서 보내는 메일

사이트가 보내는 모든 이메일은 실제 받은편지함 대신 Pancake의 메일함에 도착합니다. 준비가 되면 SMTP 서비스로 실제 메일을 보내고, 가동 알림을 휴대폰으로 받을 수 있습니다.

10.1메일함

사이트가 PHP의 mail()(WordPress, Laravel 및 대부분의 PHP 앱이 사용)로 보내는 메일은 Mac 밖으로 나가지 않습니다. 메일이 메일함에 나타나므로 가입, 주문, 암호 재설정 이메일을 실제 사람에게 스팸을 보내지 않고 안전하게 테스트할 수 있습니다.

  • ⇧⌘M을 누르거나 메뉴 막대 아이콘에서 메일함을 선택하여 엽니다.
  • 사이트로 필터링하고, 메시지마다 HTML, 텍스트, 원본 보기를 전환합니다.
  • 첨부 파일을 저장하거나 .eml 보기로 원본 메시지 파일을 엽니다.
  • 모두 삭제는 메일함을 비웁니다. 메시지 하나만 삭제하려면 해당 메시지를 오른쪽 클릭합니다.

HTML 메일은 JavaScript를 끄고 원격 이미지를 차단한 상태로 표시됩니다. 링크는 브라우저에서 열립니다.

10.2실제 메일 보내기

TallStack Pancake는 SMTP 서비스를 통해 사이트의 메일을 실제 수신자에게 보낼 수도 있습니다. 이 경우에도 모든 메일은 메일함에 보관됩니다.

  1. 설정 ▸ 메일을 엽니다. 자동 입력…에서 사용하는 서비스(Mailgun, Postmark, Amazon SES, SendGrid, Resend, Brevo)를 선택하면 Pancake가 서버, 포트, 보안 설정을 채웁니다.
  2. 사용자 이름, 비밀번호 / API 키, 기본 발신자(예: [email protected])를 입력하고 저장을 클릭합니다.
  3. 테스트 주소에 자신의 주소를 입력하고 테스트 보내기를 클릭합니다.
  4. 실제 메일을 보낼 각 사이트에서 고급을 켜고 릴레이로 실제 메일 보내기를 켭니다.
서비스입력할 내용
Mailgun사용자 postmaster@your-domain과 해당 SMTP 암호.
Postmark서버 API 토큰을 사용자와 암호 모두에 입력.
Amazon SESSES SMTP 자격 증명(AWS 액세스 키가 아님). 필요하면 서버 이름의 리전을 바꿉니다.
SendGrid사용자 apikey와 API 키.
Resend사용자 resend와 API 키(TLS, 포트 465).
BrevoSMTP 로그인과 키.

사이트의 릴레이를 켠 뒤에 보관된 메일만 보내며, 하루보다 오래된 메일은 보내지 않습니다. 전송에 실패하면 1분, 5분, 30분 후에 다시 시도합니다. 암호는 키체인에 보관됩니다.

참고

서비스는 그 서비스에서 인증한 도메인의 메일만 전달합니다. 먼저 SPF와 DKIM 레코드를 설정하십시오. 그렇지 않으면 메시지가 거부되거나 스팸으로 분류될 수 있습니다.

10.3휴대폰으로 푸시 알림

FullStack 이 Mac에서 제공하는 사이트가 다운되면 Pancake는 모든 요금제에서 macOS 알림을 표시합니다. FullStack에서는 알림을 휴대폰으로도 보낼 수 있습니다.

  1. 설정 ▸ 푸시 알림을 열고 가동 알림을 휴대폰으로 보내기를 켭니다.
  2. 서비스를 선택합니다.
    • ntfy: 서버는 https://ntfy.sh(또는 자체 서버)로 두고, 새 토픽을 클릭하여 무작위 토픽 이름을 만든 다음 ntfy 앱에서 구독합니다. ntfy.sh에서는 토픽 이름을 아는 누구나 읽을 수 있으므로 무작위 이름을 그대로 사용하십시오.
    • Gotify: 서버 주소와 애플리케이션 토큰.
    • Pushover: 애플리케이션 API 토큰과 사용자 키.
  3. 저장을 클릭한 다음 테스트 보내기를 클릭합니다.

사이트가 확인에 두 번 연속 실패하면(약 10분) 알림을 보내고, 다시 복구되면 한 번 더 알립니다. 다운 알림에는 서비스의 긴급 우선순위가 사용됩니다.

배포

사이트를 정적 호스트, SFTP나 FTP로 연결하는 호스팅, 관리형 WordPress 호스트, 앱 플랫폼 또는 새 클라우드 서버에 게시하고, 운영 중인 사이트를 안전하게 편집합니다.

11.1배포 패널

배포 패널에는 각 사이트가 게시된 곳이 나열됩니다. 각 행에는 사이트와 대상, 주소, 마지막 배포 시각과 성공 여부, 상태 점이 표시됩니다. Pancake는 패널을 열거나 지금 확인을 클릭할 때만 상태 점을 확인하며, 다른 곳에 호스팅된 사이트를 계속 감시하지는 않습니다.

행 버튼은 배포, 열기, 기록, 그리고 대상을 목록에서 지우는 휴지통 버튼입니다(서버의 내용은 삭제되지 않음). 서버 대상에는 데이터베이스 게시…가 추가되고, 고급을 켜면 호스트 API 연결…과 호스트 데이터베이스 설정…도 추가됩니다.

11.2대상의 종류

대상용도요금제
here.now, Netlify, Vercel, Cloudflare Pages정적 사이트(HTML, 빌드한 Vite 또는 Lovable 앱).ShortStack 대상 1개, TallStack 무제한
서버(SFTP)와 서버(FTP / FTPS)공유 호스팅과 자체 서버: PHP, WordPress 등 무엇이든.TallStack
Heroku, DigitalOcean App Platform, Render앱 플랫폼의 PHP와 Python 앱.TallStack
관리형 WordPress(Kinsta, WP Engine, Pressable)스테이징에 배포한 뒤 라이브로 승격.TallStack
새 클라우드 서버Pancake가 사이트용으로 만들고 설정하는 서버.TallStack AWS에서 3대, FullStack 모든 제공업체

11.3대상 추가와 배포

  1. + 대상 추가를 클릭하고 사이트와 배포 대상을 선택합니다.
  2. 정적 호스트나 앱 플랫폼이면 그 서비스의 API 토큰을 붙여 넣습니다. 토큰을 찾을 수 있는 곳은 Pancake가 열기 버튼과 함께 안내합니다. 배포할 기존 프로젝트, 사이트 또는 앱을 지정할 수도 있으며, 지정하지 않으면 Pancake가 새로 만듭니다. Cloudflare Pages는 Cloudflare 연결을 사용하며, 토큰에 Account › Cloudflare Pages › Edit 권한이 필요합니다.
  3. 서버이면 사이트 주소를 입력하고, 사용하는 호스트가 목록에 있으면 호스팅 프리셋을 고른 다음, 서버, 포트, 사용자, 암호 또는 키, 서버의 폴더를 입력합니다. 운영 중인 웹사이트에서 가져온 사이트는 이 항목이 자동으로 채워집니다.
  4. 추가를 클릭한 다음 새 행에서 배포를 클릭합니다.

마지막 배포 이후 바뀐 파일만 보내며, 로컬에서 삭제한 파일은 서버에서도 제거됩니다. 다음 항목은 Mac 밖으로 나가지 않습니다.

  • .env 파일, SQL 덤프, .git(.svn, .DS_Store, node_modules, __pycache__도 포함)
  • 서버의 WordPress인 경우 wp-config.php와 캐시 폴더(서버에 자체 파일이 있기 때문)
참고

정적 호스트는 완성된 파일만 제공하므로 PHP와 데이터베이스는 실행되지 않습니다. PHP나 Python 사이트에 정적 호스트를 추가하면 Pancake가 경고합니다.

11.4배포 전 확인

TallStack 배포할 때마다 Pancake는 먼저 배포 전에 다음 내용을 표시합니다.

  • 파일: 보낼 파일 수, 또는 바뀐 것이 없다는 사실.
  • PHP 구문: 바뀐 PHP 파일을 모두 확인합니다. 오류가 있으면 그래도 배포를 선택하지 않는 한 배포가 중단됩니다.
  • 로컬 주소: 사이트에 남아 있는 .localhost나 127.0.0.1 링크에 대한 경고.

FullStack 서버 대상의 경우 Pancake는 일회용으로 보호된 테스트 페이지를 통해 호스트 자체도 확인합니다. PHP 버전, 사이트에 필요한 PHP 확장, 메모리와 업로드 제한, 데이터베이스를 확인합니다. 호스트가 다른 PHP 버전을 실행하고 있으면 내 호스트에 맞추기로 로컬 사이트를 같은 버전으로 바꿔, 실제로 실행될 환경에서 테스트할 수 있습니다.

11.5운영 중인 사이트를 안전하게 편집

운영 중인 웹사이트에서 가져온 사이트는 서버를 기억합니다. 사이트 카드에 호스트와 함께 두 가지 작업이 표시됩니다.

다시 다운로드…
로컬 사이트를 백업한 뒤 서버의 최신 파일을 내려받습니다. 데이터도 새로 고치려면 데이터베이스도 라이브 것으로 교체를 체크합니다. 모든 요금제에서 사용할 수 있습니다.
서버에 게시 ▸ 파일…
TallStack 평소의 확인을 거친 뒤 변경 내용을 같은 서버와 폴더에 다시 게시합니다. 바뀐 파일만 보냅니다. 서버 자체의 wp-config.php는 그대로 유지됩니다.
서버에 게시 ▸ 데이터베이스…
TallStack 운영 중인 데이터베이스를 로컬 데이터베이스로 교체합니다(아래 참조).

일반적인 작업 흐름은 다시 다운로드, name.localhost에서 변경하고 테스트, 파일 게시 순입니다. 파일 게시는 운영 중인 데이터베이스를 건드리지 않습니다.

11.6데이터베이스 게시

TallStack 데이터베이스 게시…는 서버의 데이터베이스를 Mac의 데이터베이스로 교체합니다. 주의해서 사용하십시오. 내려받은 이후 운영 중인 사이트에 추가된 내용(주문, 댓글, 가입)은 모두 교체됩니다.

  1. 모두 시작을 실행한 다음 데이터베이스 게시…를 선택합니다.
  2. 교체될 데이터베이스를 확인하고 라이브 사이트의 현재 내용이 바뀐다는 것을 이해했습니다를 체크한 다음 백업 후 게시를 클릭합니다.
  3. Pancake는 서버의 데이터베이스 설정을 읽고, 운영 중인 데이터베이스의 백업을 백업에 저장하고, 로컬 주소를 운영 주소로 바꾼 데이터베이스 사본을 만들어 서버에 불러온 다음, 사이트가 응답하는지 확인합니다.

운영 중인 데이터베이스의 백업이 비어 있으면 아무것도 게시하지 않습니다. 로컬 데이터베이스는 바뀌지 않습니다.

11.7호스트에 데이터베이스 만들기

TallStack 공유 호스팅의 새 사이트에서는 호스트 데이터베이스 설정…(고급)이 호스팅 제어판에 데이터베이스와 사용자를 만들도록 요청합니다. cPanel(Security ▸ Manage API Tokens에서 발급한 API 토큰), Plesk(API 키), DirectAdmin(데이터베이스 관리가 허용된 로그인 키)을 지원합니다. 계정의 다른 것은 바뀌지 않습니다. WordPress의 경우 Pancake가 서버용 wp-config.php를 업로드합니다(이미 있으면 업로드하지 않음). 그런 다음 지금 데이터베이스 게시…를 클릭합니다.

11.8관리형 WordPress 호스트

TallStack Kinsta, WP Engine, Pressable에서는 Pancake가 파일을 스테이징 환경에 배포한 다음, 호스트에 스테이징을 라이브로 승격하도록 요청합니다.

  1. 호스트의 스테이징 사이트에 대한 서버 대상을 추가합니다(관리형 WordPress 프리셋을 사용하면 편리합니다).
  2. 호스트 API 연결…을 클릭하고 호스트를 선택한 다음 API 정보를 입력합니다. Kinsta는 API 키와 회사 ID, WP Engine은 API 사용자 이름과 암호, Pressable은 클라이언트 ID와 시크릿을 입력합니다.
  3. 환경 불러오기를 클릭하고 어느 환경이 스테이징이고 어느 환경이 라이브인지 선택한 다음 저장을 클릭합니다.
  4. 평소처럼 배포하고 스테이징 사이트를 확인한 다음 라이브로 승격…을 클릭합니다. Kinsta와 WP Engine에는 먼저 라이브를 백업하도록 요청하며, Pressable은 두 사이트를 모두 백업합니다.

캐시 지우기는 스테이징과 라이브의 호스트 캐시를 지웁니다.

11.9앱 플랫폼

  • Heroku: Pancake가 사이트 파일을 업로드하고(.env, 덤프, .git은 제외) Heroku가 빌드합니다.
  • DigitalOcean App Platform과 Render는 사이트의 GitHub 또는 GitLab 저장소에서 빌드하며, 저장소는 공개되어 있어야 합니다. 먼저 커밋하고 푸시하십시오(사이트 카드 ▸ Git). Render에는 PHP 런타임이 없으므로 PHP 사이트에는 Dockerfile이 필요합니다.

필요한 경우 Pancake가 Procfile을 추가합니다. Python 사이트에는 gunicorn이 포함된 requirements.txt가 필요합니다. 사이트에 데이터베이스가 필요하면 플랫폼의 자체 대시보드에서 추가하십시오.

11.10서버 만들기

TallStack Pancake는 클라우드 서버를 만들고 설정하여 PHP 사이트를 올릴 수 있습니다. TallStack에서는 Amazon Lightsail과 EC2(최대 3대), FullStack에서는 여기에 더해 DigitalOcean, Hetzner, Vultr, Akamai Linode, ConoHa VPS, Sakura Cloud를 사용할 수 있습니다.

  1. 모두 시작을 실행한 다음 서버 만들기…를 클릭합니다.
  2. 사이트, 제공업체, 리전(제공업체에 따라 도쿄, 서울, 싱가포르, 미국, 유럽 리전)을 선택합니다. Pancake가 사용할 크기와 제공업체 요금 페이지 링크를 보여 줍니다.
  3. 제공업체의 API 토큰을 입력합니다(AWS는 루트 계정이 아닌 IAM 사용자의 액세스 키와 시크릿. Pancake에 필요한 IAM 정책 복사를 사용하면 편리합니다). 키는 키체인에 보관됩니다.
  4. 삭제할 때까지 …이(가) 이 서버 요금을 청구한다는 것을 이해했습니다를 체크하고 서버 만들기를 클릭합니다.

Pancake는 서버를 만들고 Apache, 사이트의 PHP 버전, MariaDB, 방화벽, fail2ban, 자동 보안 업데이트를 갖춘 Ubuntu를 설정합니다. Pancake의 SSH 키로만 로그인할 수 있습니다. 그런 다음 사이트와 데이터베이스를 업로드하고 배포 대상을 추가하므로, 이후 변경 내용은 배포로 올릴 수 있습니다. 완료되면 도메인의 DNS가 서버 주소를 가리키도록 설정하십시오.

서버는 Pancake가 만든 서버 아래에 콘솔, 서버 삭제…와 함께 표시됩니다. Pancake는 이 서버에 배포하고 서버를 삭제할 수 있지만, 관리하거나 모니터링하지는 않습니다.

주의

제공업체는 사용 여부와 관계없이 서버를 삭제할 때까지 서버마다 요금을 청구합니다.

백업과 저장 지점

클릭 한 번으로 또는 매일 사이트의 파일과 데이터베이스를 백업하고 복원하며, 암호화한 사본을 외부에 보관하고, Pancake Cloud로 Mac 간에 사이트를 옮깁니다.

12.1백업과 복원

백업 패널에는 모든 사이트와 각 사이트의 마지막 백업이 나열됩니다.

  • 백업은 사이트의 폴더와 데이터베이스(MySQL, FullStack에서는 PostgreSQL도)를 하나의 파일로 Pancake 저장 공간에 저장합니다. 지금 모두 백업은 모든 사이트를 백업합니다.
  • 복원…은 최신 백업을 되돌립니다. 사이트의 현재 폴더는 먼저 휴지통으로 이동하고 Pancake가 저장 지점을 만들므로, 복원도 취소할 수 있습니다.

백업하기 전에 모두 시작을 실행하십시오. 서버가 중지된 상태에서는 백업에 파일만 들어가며, Pancake가 그 사실을 알려 줍니다.

12.2매일 백업

고급을 켜면 일정 섹션에 다음 항목이 있습니다.

  • Pancake가 열려 있는 동안 매일 백업: 마지막 백업 후 하루가 지난 사이트를 백업합니다.
  • 사이트마다 최신 백업 N개 보관: 바꾸지 않으면 14개입니다. 더 오래된 백업은 제거됩니다.
  • 백업 폴더 보기.

모든 백업에는 모든 백업이 날짜, 크기와 함께 나열되며, 각 백업에 복원…, 보기, 삭제(휴지통으로)가 있습니다.

12.3저장 지점

저장 지점은 사이트 카드의 시계 버튼으로 만드는 이름 붙은 사본으로, 매일 백업과 따로 보관됩니다(사이트마다 최신 20개). Pancake는 위험한 변경 전에 저장 지점을 자동으로 만듭니다. 저장 지점을 참조하십시오.

12.4외부 사본

FullStack 모든 백업을 먼저 Mac에서 암호화한 다음 자신의 저장소 버킷에 복사합니다.

  1. 백업(고급)의 외부 사본에서 저장소를 선택합니다. Amazon S3, Cloudflare R2, Backblaze B2, Wasabi 또는 기타 S3 호환 저장소를 사용할 수 있습니다.
  2. 버킷, 리전(또는 R2 계정 ID나 서버), 버킷 안의 폴더, 그 버킷으로 제한된 액세스 키(읽기, 쓰기, 목록, 삭제)를 입력합니다.
  3. 테스트를 클릭한 다음 저장을 클릭하고 모든 백업을 외부에 복사를 켭니다.
  4. 복구 키…를 클릭하고 키를 암호 관리자에 보관합니다.

백업할 때마다 새 백업이 암호화되어 복사됩니다. 사이트마다 최신 사본 N개 보관은 바꾸지 않으면 30개입니다. 저장소에는 알아볼 수 없는 파일만 저장되며, 저장 공간 요금은 제공업체가 청구합니다.

주의

외부 사본은 복구 키로만 열 수 있습니다. 키가 없으면 Enfour를 포함해 누구도 읽을 수 없습니다.

다른 Mac에서: 같은 버킷을 설정하고 복구 키…를 연 다음, 다른 Mac의 키 사용 아래에 키를 붙여 넣고 이 키 사용을 클릭합니다. 그런 다음 버킷 안에서 백업을 다운로드하고 목록에서 복원합니다.

12.5Pancake Cloud

Pancake Cloud는 사이트(파일과 데이터베이스)를 암호 문구로 암호화하여 자신이 소유한 저장소에 저장하고, 이 Mac이나 다른 Mac에서 다시 불러옵니다. 저장은 TallStack, 불러오기는 모든 요금제에서 사용할 수 있습니다.

  1. 백업 패널의 Pancake Cloud에서 설정…을 클릭합니다.
  2. 저장 위치를 선택합니다.
    • 내 서버(SFTP): 서버, 사용자, 암호, 폴더(바꾸지 않으면 PancakeCloud)
    • S3 호환 버킷: 외부 사본과 같은 제공업체
    • iCloud Drive: iCloud Drive 안의 Pancake 전용 폴더. 같은 iCloud에 로그인한 다른 Mac에서도 볼 수 있습니다.
  3. 10자 이상의 암호 문구를 정하고 이 Mac에 기억(키체인) 여부를 선택합니다.
  4. 테스트를 클릭한 다음 저장을 클릭합니다.
  5. 모두 클라우드에 저장을 클릭하거나 사이트 저장에서 사이트 하나를 고릅니다.

사이트를 되돌리려면 그 옆의 불러오기…를 클릭합니다. 이 Mac에 사이트가 있으면 교체됩니다(현재 상태는 먼저 저장 지점으로 보관). 없으면 Pancake가 백업의 파일과 데이터베이스로 사이트를 오프라인 상태로 만듭니다. 바꾸지 않으면 사이트마다 최신 클라우드 백업 5개를 보관합니다.

주의

잊어버린 암호 문구는 누구도 복구할 수 없습니다. 암호 관리자에 보관하십시오.

팁

Pancake Cloud를 사용하면 사이트를 새 Mac으로 쉽게 옮길 수 있습니다. 이전 Mac에서 저장하고, 새 Mac에서 같은 저장소를 설정한 다음 불러오십시오.

서비스, 작업과 워커

FullStack은 PostgreSQL, Valkey, Memcached를 추가하고, 사이트의 예약 작업과 백그라운드 워커를 실행합니다.

서비스 패널: Valkey, Memcached, PostgreSQL 스위치와 그 아래 사이트별 작업과 워커.
그림 13.1서비스 패널: Valkey, Memcached, PostgreSQL 스위치와 그 아래 사이트별 작업과 워커.

13.1데이터베이스와 캐시

FullStack 서비스 패널에서 추가 서버 세 가지를 켭니다. 각 서버는 이 Mac에서만 실행되고, Pancake와 함께 시작하고 중지하며, 모든 사이트에 주소를 환경 변수로 전달합니다.

서비스사이트가 받는 값옵션
Valkey(Redis 호환)REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, VALKEY_URL, REDIS_URL재시작해도 데이터 유지, URL 복사
MemcachedMEMCACHED_HOST, MEMCACHED_PORT메모리(16 MB~1 GB)
PostgreSQL 17PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD, POSTGRES_URL사이트마다 데이터베이스와 역할 하나

PHP에는 redis, memcached, pgsql, pdo_pgsql 확장이 들어 있습니다. 서비스를 켜거나 끄면 실행 중인 서버가 다시 시작됩니다. 각 서비스는 실행 중일 때 주소(예: 127.0.0.1:6379)를 표시합니다.

PostgreSQL 데이터베이스는 데이터베이스 패널에서 관리합니다.

13.2예약 작업과 워커

FullStack 서비스 패널의 각 사이트에는 다음을 둘 수 있습니다.

  • 예약 작업: cron 형식의 일정에 따라 실행됩니다. WP-Cron, Laravel 스케줄러, Django 관리 명령, 테스트 모음 등.
  • 워커: 계속 실행되며 멈추면 다시 시작됩니다. Laravel의 queue:work, Celery 등의 큐 워커.

작업과 워커는 Pancake가 열려 있고 서버가 실행 중일 때 사이트의 폴더에서 사이트의 환경(데이터베이스 설정 포함)으로 실행됩니다. 서버가 아니라 이 Mac에서 도는 cron과 같습니다.

  1. 사이트 카드에서 추가를 클릭합니다.
  2. 맞는 것이 있으면 프리셋을 고르거나(Pancake는 사이트 파일에 맞는 프리셋을 제안합니다), 이름, 종류(예약 작업 또는 워커), 명령을 입력합니다.
  3. 예약 작업이면 일정(cron)을 입력합니다. 입력하는 동안 Pancake가 다음 실행 시각을 보여 줍니다. N분이 지나면 실행 중단으로 한 번의 실행에 걸리는 시간을 제한합니다(바꾸지 않으면 10분).
  4. 저장을 클릭합니다.
프리셋종류명령일정
Laravel scheduler작업artisan schedule:run* * * * *
Laravel queue worker워커artisan queue:work --sleep=3 --tries=3
WP-Cron작업php wp-cron.php*/5 * * * *
Run tests (PHPUnit)작업php vendor/bin/phpunit@daily
Django management command작업manage.py clearsessions@daily

각 행에는 마지막 실행 시각과 성공 여부가 지금 실행, 로그, 편집과 함께 표시됩니다. 출력은 작업별 로그(로그 윈도우의 task-<name>.log)에 기록됩니다.

명령으로 쓸 수 있는 것

명령은 php, artisan, composer, python, manage.py 중 하나로 시작합니다. 셸이 없으므로 파이프, ;, &&, 리디렉션은 쓸 수 없으며 아무것도 확장되지 않습니다. 따옴표는 평소처럼 작동합니다.

일정

일정은 분, 시, 일, 월, 요일의 다섯 부분으로 이루어지며 Mac의 시간대를 따릅니다.

일정실행 시점
*/5 * * * *5분마다
0 * * * * 또는 @hourly매시 정각
30 2 * * *매일 2시 30분
0 9 * * mon-fri평일 9시
0 0 1 * * 또는 @monthly매월 1일 자정

목록(1,15), 범위(1-5), 간격(*/15), 월과 요일 이름, @daily, @weekly, @yearly를 모두 쓸 수 있습니다.

13.3Nginx

FullStack 사이트의 웹 서버로 Nginx를 쓸 수 있습니다. 사이트 카드에서 고급을 켜고 웹 서버를 Nginx로 설정합니다. 카드의 고급 설정을 참조하십시오.

어시스턴트와 MCP

Apple Intelligence나 원하는 AI로 사이트에 관해 평소 말투로 Pancake에 묻고 작업을 맡기며, Claude Code, Cursor, Codex, Claude Desktop을 연결합니다.

어시스턴트: 질문하면 Pancake 자체 도구를 사용해 답합니다.
그림 14.1어시스턴트: 질문하면 Pancake 자체 도구를 사용해 답합니다.

14.1어시스턴트에게 묻기

어시스턴트 패널을 열고 Pancake에 묻기…에 질문을 입력한 다음 ⌘Return를 누릅니다. 예를 들어 다음과 같이 물어보십시오.

  • "내 사이트에는 어떤 것이 있어?"
  • "블로그에 왜 오류가 나?" (사이트의 PHP 로그와 웹 서버 로그를 읽습니다)
  • "Pancake 시작해 줘"
  • "shop이라는 PHP 사이트를 만들어 줘"
  • "사이트를 내 도메인에 올리려면 어떻게 해?" (Pancake 도움말을 바탕으로 답합니다)

어시스턴트가 Pancake의 도구를 사용하면 대화에 그 사실이 표시됩니다("sites list 사용"). 지우기를 누르면 새 대화가 시작됩니다.

14.2답변은 어디에서 오는가

패널 제목 아래 줄에 지금 답하는 AI가 항상 표시됩니다.

이 Mac의 Apple Intelligence(기본값)
무료이며 비공개이고 오프라인으로 작동합니다. Mac 밖으로 나가는 것이 없습니다. Apple 실리콘이 탑재된 Mac이 필요하며, 시스템 설정에서 Apple Intelligence를 켜야 합니다. 짧고 구체적인 질문에 가장 적합합니다.
Private Cloud Compute
Apple의 더 큰 모델로, 긴 요청과 모든 도구를 처리합니다. 요청은 비공개로 처리되며 저장되지 않습니다. macOS 27 이상이 필요하며 Apple 계정마다 하루 사용 한도가 있습니다. 한도에 가까워지면 패널에 표시됩니다.
클라우드 AI 제공업체
Anthropic(Claude), OpenAI, Google Gemini, OpenRouter의 자체 키, 또는 이 Mac의 VibeProxy를 사용합니다. VibeProxy는 거기에 연결한 Claude, ChatGPT, Gemini 구독을 키 없이 사용합니다. 직접 켜기 전에는 꺼져 있습니다.

선택하려면 어시스턴트 패널에서 고급을 켭니다. 이 Mac(비공개, 오프라인)이나 Private Cloud Compute를 고르거나, 클라우드 AI 제공자에게 요청 보내기를 켜고 제공업체와 모델을 선택한 다음 API 키를 붙여 넣고 저장을 클릭합니다(키 받기는 제공업체의 페이지를 엽니다).

참고

클라우드 제공업체를 사용하면 메시지와 도구의 답변(사이트 이름, 설정, 로그 줄)이 Enfour를 거치지 않고 Mac에서 그 제공업체로 바로 전송됩니다. 암호, 키, 토큰은 먼저 제거됩니다. 제공업체의 약관이 적용됩니다.

KeyRotate를 사용하면 키를 KeyRotate에서 받을 수 있으며, Pancake에 입력한 키는 KeyRotate로 전달됩니다. 키와 KeyRotate를 참조하십시오.

14.3보기만 하거나 변경을 허용

어시스턴트 패널의 고급 설정 맨 아래에서 어시스턴트와 연결된 AI 도구가 할 수 있는 일을 선택합니다.

  • 보기만(기본값): 사이트, 설정, 로그를 읽습니다. 아무것도 바뀌지 않습니다.
  • 변경 허용: 시작과 중지, 사이트 만들기, 온라인 공개, 배포, 사이트 파일 쓰기도 할 수 있습니다.

외부 접속을 끄는 것은 사이트를 인터넷에서 내리기만 하므로 항상 허용됩니다. 모든 도구 호출은 호출한 주체와 함께 assistant.log(로그 윈도우)에 기록됩니다.

14.4Claude Code, Cursor, Codex, Claude Desktop 연결

Pancake의 MCP 서버를 사용하면 이 Mac의 AI 코딩 도구가 어시스턴트와 같은 도구를 쓸 수 있습니다. 사이트 목록 보기, 로그 읽기, 서버 시작, 사이트 만들기, 페이지 디자인, 배포 등입니다. 서버는 이 Mac에서만 http://127.0.0.1:19810/mcp로 수신하며, 모든 요청에 토큰이 필요합니다.

  1. 어시스턴트 패널(고급)에서 Claude Code, Cursor, Codex, Claude Desktop용 MCP 서버를 켭니다.
  2. 클라이언트 연결…을 클릭하고 사용하는 도구를 선택합니다.
  3. 복사를 클릭하고 Pancake가 안내하는 곳에 구성을 붙여 넣습니다. 구성에는 토큰이 포함되어 있습니다.
Claude Code
복사한 명령을 터미널에서 실행합니다: claude mcp add --transport http pancake http://127.0.0.1:19810/mcp --header "Authorization: Bearer …"
Cursor
복사한 pancake 항목을 ~/.cursor/mcp.json에 추가합니다.
Codex
복사한 [mcp_servers.pancake] 섹션을 ~/.codex/config.toml에 추가합니다.
Claude Desktop
Claude ▸ 설정 ▸ 개발자 ▸ 구성 편집을 선택하고 복사한 항목을 추가합니다. Pancake 안의 작은 도우미가 실행되어 서버에 연결합니다.

도구가 할 수 있는 일은 보기만 / 변경 허용 선택을 따릅니다. 새 토큰…은 토큰을 교체하며, 새 구성을 붙여 넣을 때까지 연결된 모든 도구가 작동하지 않습니다.

주의

토큰이 있으면 이 Mac의 어떤 프로그램이든 Pancake의 도구를 사용할 수 있습니다. 공유 파일이나 Git 저장소에 넣지 마십시오.

14.5도구

도구하는 일변경 허용 필요
help_searchPancake 도움말을 검색합니다.
stack_status서버 실행 여부, 포트, 외부 접속, 요금제.
sites_list, site_info사이트 목록과 한 사이트의 세부 정보.
logs_read사이트나 서버 로그의 마지막 줄.
databases_list데이터베이스와 그 크기 및 테이블.
mail_list최근에 보관된 메일.
deploy_targets사이트가 배포된 곳.
site_file_read사이트 파일의 목록을 보거나 읽습니다.
live_site_import새 사이트 ▸ 운영 중인 웹사이트에서를 엽니다.
stack_start, stack_stop모든 서버를 시작하거나 중지합니다.예
outside_access외부 접속을 켜거나 끕니다.켤 때
site_online사이트를 온라인으로 전환합니다.예
site_createPHP 사이트나 정적 사이트를 만듭니다.예
site_php, site_autoindex사이트의 PHP 버전이나 AutoIndex를 바꿉니다.예
deploy_run저장된 대상에 사이트를 배포합니다.예
design_page설명을 바탕으로 페이지를 디자인합니다(먼저 저장 지점 생성).예
site_file_write사이트에 텍스트 파일을 씁니다(먼저 저장 지점 생성, 이전 버전은 .pancake-bak으로 보관).예

설정, 템플릿과 플러그인

서버 템플릿, PHP 확장과 Apache 모듈, Mac 간 동기화, KeyRotate, Pancake 데이터 삭제를 포함한 설정 패널의 모든 섹션을 설명합니다.

15.1일반

로그인할 때 Pancake 열기
로그인하면 Pancake를 시작합니다. macOS가 묻는 경우 시스템 설정 ▸ 일반 ▸ 로그인 항목에서 허용하십시오.
Pancake를 열 때 서버 시작
모두 시작을 자동으로 실행합니다. 직접 켜기 전에는 꺼져 있습니다.
메뉴 막대에 Pancake 표시
메뉴 막대의 팬케이크 아이콘입니다. 아이콘이 표시되어 있는 동안에는 윈도우를 닫아도 사이트가 계속 실행됩니다.
모든 패널에서 고급 설정 보기
모든 패널에서 고급을 켭니다.

15.2구독, 편집기, Cloudflare, 메일 등

섹션하는 일참조
구독현재 요금제, 요금제 변경, App Store에서 관리, 구매 복원.요금제
편집기편집 버튼이 사이트를 열 앱.내 앱에서 편집
Cloudflare연결된 도메인과 연결 해제.내 도메인
내 다른 Mac과 동기화FullStack 여러 Mac의 사이트와 설정을 똑같이 유지합니다.아래
KeyRotateKeyRotate와 키를 공유합니다.아래
메일TallStack 실제 메일을 위한 SMTP 릴레이.실제 메일 보내기
푸시 알림FullStack 휴대폰으로 받는 가동 알림.푸시 알림
이미지이미지 최적화의 기본값.이미지 최적화
로컬 HTTPS.localhost용 신뢰할 수 있는 인증서.로컬 HTTPS
Git(고급) 커밋에 쓸 이름과 이메일, Git 호스트용 토큰, Pancake의 SSH 키(키 만들기/보기, 공개 키 복사).Git

15.3고급

웹 포트
표준 — 80과 443, 또는 Pancake가 표준 포트를 쓰지 않게 하려면 대체 — 8080과 8443을 선택합니다. 바꾸면 실행 중인 서버가 다시 시작됩니다.
템플릿…
템플릿을 참조하십시오.
플러그인…
플러그인을 참조하십시오.
로그 크기 제한
10 MB, 50 MB(기본값), 200 MB 또는 제한 없음. 이 크기를 넘은 로그는 최신 절반만 남깁니다.
새 PHP 사이트 / 정적 사이트의 시작 파일
그 종류의 새 사이트를 만들 때마다 복사되는 폴더입니다. 지우기를 누르면 더 이상 사용하지 않습니다.
데이터 폴더 보기, 로그 보기
Pancake의 폴더를 Finder에서 엽니다.
Pancake 데이터 모두 삭제…
모두 삭제하기를 참조하십시오.

15.4템플릿

Pancake는 모든 서버 설정 파일을 템플릿으로 만듭니다. 기본 Apache 설정(httpd.conf), 사이트마다 작성되는 부분(httpd-vhost.conf), PHP 버전별 php.ini, MySQL의 my.cnf 등 어느 것이든 바꿀 수 있습니다.

  1. 설정 ▸ 고급 ▸ 템플릿…(또는 파일 ▸ 템플릿 편집)을 엽니다.
  2. 템플릿 옆의 편집을 클릭하면 텍스트 편집기에서 열립니다. 자리 표시자에는 포트나 폴더처럼 Pancake가 채우는 {{PANCAKE_…}} 값이 나열됩니다. 이 값은 그대로 두십시오.
  3. 저장한 다음 적용을 클릭합니다.

Pancake는 각 템플릿을 사용하기 전에 실제 서버로 확인합니다. 템플릿을 불러오지 못하면 Pancake 자체 템플릿을 계속 사용하면서 오류와 해당 줄을 표시하고, 템플릿 버튼에 적용되지 않은 템플릿 수가 표시됩니다. 변경 사항은 바꾼 내용을 보여 주고, 재설정은 Pancake의 템플릿으로 되돌립니다.

MAMP PRO에서 가져오기…는 MAMP PRO의 사용자 템플릿을 Pancake 템플릿으로 바꾸며, 변환된 것, 추가된 것, 제외된 것을 검토할 수 있습니다.

15.5플러그인

플러그인…에서 Apache 모듈(expires, deflate, include, negotiation 등)과 PHP 버전별 확장(gd, intl, zip 등)을 켜고 끕니다. Pancake 자체에 필요한 모듈은 항상 켜져 있습니다. 기본값은 모두 원래대로 되돌리고, 적용은 선택한 내용으로 서버를 다시 시작합니다.

15.6내 다른 Mac과 동기화

FullStack iCloud로 사이트와 설정 동기화를 켜면 같은 iCloud에 로그인한 모든 Mac에서 같은 구성을 유지합니다.

동기화되는 것동기화되지 않는 것
사이트 목록, 서비스 켜기/끄기, 예약 작업, 외부 데이터베이스 연결, 메일 릴레이, 푸시 알림, 네트워크 이름.사이트 파일과 데이터베이스(백업, Pancake Cloud 또는 배포로 옮김), 암호와 키(Mac마다 한 번 입력), 그리고 한 Mac에만 속하는 것(Cloudflare 터널, 인증서, DDNS 이름, 사이트의 온라인 여부).

한 Mac에서 삭제한 사이트는 다른 Mac의 목록에서도 빠지지만, 그 Mac의 파일은 삭제되지 않습니다. 데이터는 자신의 iCloud로만 전송됩니다. 지금 동기화를 누르면 바로 동기화하며, 그 밖에는 몇 분마다, 그리고 Pancake로 전환할 때 동기화합니다.

15.7키와 KeyRotate

KeyRotate는 Enfour의 키 관리 앱입니다. KeyRotate와 키 동기화가 켜져 있으면(기본값) Pancake는 다음 키를 KeyRotate와 공유합니다: AI 키(Anthropic, OpenAI, Gemini, OpenRouter), Cloudflare API 토큰, Vercel과 here.now 토큰, DigitalOcean, Hetzner, Vultr, Akamai Linode 토큰. KeyRotate가 원본을 보관하고 키를 교체하며, 최신 키를 Pancake에 넘겨 줍니다.

키는 두 앱만 공유하는 키체인 그룹을 거치며 Mac 밖으로 나가지 않습니다. AWS 키는 공유하지 않습니다. Pancake 자체 키체인만 사용하려면 동기화를 끄십시오. KeyRotate가 설치되어 있지 않으면 Pancake는 자체 키체인을 사용합니다.

15.8모두 삭제하기

Pancake 데이터 모두 삭제…는 모든 서버를 중지한 다음 Pancake의 데이터베이스, 설정, 인증서(로컬 인증 기관에 대한 신뢰 포함), 저장된 암호를 삭제하고, 사이트 폴더를 휴지통으로 옮긴 뒤 종료합니다.

주의

필요한 데이터베이스는 먼저 내보내십시오(데이터베이스 ▸ 내보내기). 사이트 폴더는 휴지통에서 되살릴 수 있지만 데이터베이스는 되살릴 수 없습니다. 구독에는 영향이 없습니다. 원하면 App Store에서 취소하십시오.

요금제와 구독

각 스택에 포함된 기능, 무료 1주, 변경과 취소, 구독이 끝났을 때 일어나는 일을 설명합니다.

16.1세 가지 스택

모든 요금제에서 Mac에 원하는 만큼 사이트를 실행할 수 있으며 Apache, PHP, MySQL, Python, 어시스턴트, MCP 서버를 사용할 수 있습니다. 높은 스택일수록 더 많은 사이트를 온라인에 올리고 더 많은 기능을 쓸 수 있습니다.

기능ShortStackTallStackFullStack
로컬 사이트무제한무제한무제한
최신 PHP, MySQL 8.4, Python, Adminer✓✓✓
사이트별 이전 PHP(8.4, 8.3, 8.2, 7.1)✓
가져오기, Git, 파일과 편집기, 어시스턴트와 디자인✓✓✓
로컬 HTTPS, 내 네트워크, 메일 보관✓✓✓
백업과 저장 지점✓✓✓
외부 MySQL과 MariaDB✓✓✓
외부 PostgreSQL, SSH를 통한 데이터베이스 연결✓✓
온라인 사이트(테스트 링크 또는 내 도메인)110무제한
Cloudflare와 Route 53 도메인, DDNS 이름각 1각 10무제한
정적 호스트 배포 대상1무제한무제한
SFTP/FTP 게시, 운영 중인 사이트로 다시 게시, 데이터베이스 게시✓✓
스테이징 사본, 사이트별 환경 변수✓✓
호스팅 제어판, 관리형 WordPress 호스트, 앱 플랫폼✓✓
SMTP 릴레이로 실제 메일 보내기✓✓
Pancake Cloud에 저장(불러오기는 모든 요금제)✓✓
SSH로 Apple Server 가져오기✓✓
클라우드 서버 만들기AWS에서 3대무제한, 모든 제공업체
호스트 확인과 내 호스트에 맞추기기본 확인✓
PostgreSQL, Valkey, Memcached, Nginx✓
예약 작업과 워커✓
외부 백업, 푸시 알림, Mac 간 동기화✓

메뉴 막대와 Dock 아이콘은 요금제에 따라 커집니다. 짧은 스택, 높은 스택, 그리고 아이스크림과 체리를 얹은 풀 스택입니다.

16.2구독과 무료 1주

  1. 사이드바에서 구독을 엽니다(또는 설정 ▸ 구독 ▸ 요금제 보기…).
  2. 스택을 선택합니다. 이전에 무료 1주를 사용한 적이 없으면 버튼에 일주일 무료로 시작이 표시되고, 그렇지 않으면 구독이 표시됩니다.
  3. App Store에서 확인합니다.

요금제는 Apple 계정을 통한 월간 구독입니다. 무료 1주는 Apple 계정당 한 번, 처음 고른 요금제에 제공되며, 그 기간에도 제한되는 기능은 없습니다. 가격은 앱에서 해당 통화로 표시됩니다.

16.3변경, 복원, 취소

  • 요금제 변경: 설정 ▸ 구독 ▸ 요금제 변경…에서 업그레이드 또는 다운그레이드를 선택합니다. 그달의 남은 기간에 대한 가격은 Apple이 조정합니다.
  • 다른 Mac에서: 같은 Apple 계정으로 로그인하고 구매 복원을 클릭합니다.
  • 취소: App Store에서 관리, 또는 시스템 설정 ▸ 사용자 이름 ▸ 미디어 및 구입 항목 ▸ 구독.

요금제는 Mac에 기억되므로 오프라인에서도 Pancake가 계속 작동합니다. Apple이 결제를 다시 시도하는 동안에도 모든 기능이 그대로 작동합니다.

16.4여러 Mac의 사이트 수 계산

온라인 사이트 수 제한은 같은 iCloud에 로그인한 모든 Mac을 합산합니다. 한 Mac이 ShortStack 사이트를 공개하고 있으면 다른 Mac에서 두 번째 사이트를 온라인으로 올릴 수 없습니다. Pancake를 종료하거나 오프라인이 된 Mac은 세지 않습니다. iCloud를 사용하지 않으면 Mac마다 제한이 적용됩니다.

16.5구독이 끝나면

아무것도 삭제되지 않습니다. 사이트, 데이터베이스, 설정은 Mac에 그대로 남으며, 모든 사이트의 파일과 데이터베이스를 언제든지 내보낼 수 있습니다. 요금제가 필요한 기능은 다시 구독할 때까지 멈추며, 다시 구독하면 모든 것이 그대로 돌아옵니다.

더 작은 요금제로 바꾼 뒤에도 사이트의 설정은 유지됩니다. 다시 업그레이드할 때까지 이전 PHP로 설정한 사이트는 최신 PHP로 실행되고, 초과한 온라인 사이트는 오프라인 상태로 남습니다.

문제 해결

사이트가 열리지 않거나 서버가 시작되지 않거나 링크가 작동하지 않을 때 해야 할 일, Pancake가 데이터를 보관하는 위치, 도움을 받는 방법을 설명합니다.

17.1먼저 확인할 것

  1. 상태 표시를 확인합니다. 확인 필요라고 표시되면 포인터를 올려 오류를 읽습니다.
  2. 로그 윈도우(⌥⌘L)를 엽니다. "Web server"와 "MySQL" 로그는 서버를 다루며, 각 사이트에는 "PHP errors" 로그와 "web server errors" 로그가 있습니다.
  3. ⌥ 키를 누른 채 모두 중지를 클릭하면 모든 것이 다시 시작됩니다.
  4. 어시스턴트에게 "블로그에 왜 오류가 나?"라고 물어보십시오. 어시스턴트가 로그를 대신 읽습니다.

17.2사이트가 열리지 않음

브라우저가 연결할 수 없음
서버가 중지되어 있을 가능성이 높습니다. 모두 시작을 클릭하십시오. 서버가 중지된 동안에는 열기 버튼이 비활성화됩니다.
주소에 포트가 필요함
Mac의 다른 웹 서버(macOS의 Apache, MAMP, Docker)가 포트 80을 쓰고 있으면 Pancake는 8080으로 옮깁니다. 이때 상태 표시에 실행 중 :8080이 나타나고 주소는 http://blog.localhost:8080과 같은 형태가 됩니다. 항상 올바른 주소를 쓰는 사이트 카드의 열기 버튼을 사용하십시오.
빈 페이지 또는 "500 Internal Server Error"
PHP 오류입니다. 사이트의 "PHP errors" 로그를 열거나, 페이지에 오류 표시를 사이트의 PHP 설정에서 켜십시오.
"Error establishing a database connection"
MySQL이 실행 중이 아니거나(모두 시작), 사이트 구성이 Pancake가 제공하는 DB_… 변수 대신 고정된 데이터베이스 정보를 사용하고 있습니다. 가져온 WordPress 사이트는 이 변수를 읽도록 설정됩니다.
폴더에 "Forbidden"이 표시됨
index 페이지가 없습니다. index.html이나 index.php를 추가하거나 AutoIndex를 켜십시오.
React나 Vite 앱에서 /about 같은 링크가 "Not Found"가 됨
사이트 카드(고급)에서 싱글 페이지 앱을 켜십시오.
WordPress가 예전 운영 주소로 이동함
데이터베이스에 예전 주소가 남아 있습니다. 다시 가져오면서 바꿀 이전 사이트 주소를 입력하거나, 주소를 자동으로 바꿔 주는 운영 중인 웹사이트에서를 사용하십시오.

17.3서버가 시작되지 않음

"MySQL이 수신을 시작하지 않았습니다"
MySQL이 충돌 후 아직 복구 중일 수 있습니다(Pancake는 최대 1분까지 기다립니다). "MySQL" 로그를 읽으십시오. 다른 MySQL이 포트 3306을 쓰고 있으면 Pancake가 다음 빈 포트를 자동으로 사용하므로, 그것은 원인이 아닙니다.
"… 예기치 않게 중지됨"
서버가 충돌하여 Pancake가 스택의 일관성을 유지하려고 모든 것을 중지했습니다. 메시지에 나온 로그를 읽은 다음 다시 모두 시작을 실행하십시오.
"템플릿 …이(가) 적용되지 않음"
편집한 템플릿을 불러오지 못했습니다. Pancake는 자체 템플릿을 사용하고 있습니다. 설정 ▸ 고급 ▸ 템플릿…을 열어 표시된 줄을 고치거나 재설정하십시오.
Python 사이트에 "아직 설정되지 않았습니다"가 표시됨
사이트 카드에서 설정을 클릭하십시오. 앱이 시작되지 않으면 앱 로그를 읽고 앱 진입점(module:callable)을 확인하십시오.

17.4온라인 문제

테스트 링크가 나타나지 않음
외부 접속이 켜져 있고 서버가 실행 중인지 확인하십시오. 새 링크는 약 20초 걸립니다. 1분이 지나도 나타나지 않으면 "test link" 로그에 이유가 나옵니다(나가는 터널을 차단하는 네트워크인 경우가 많습니다).
내 도메인에 Cloudflare 오류가 표시됨
터널이 연결되어 있지 않습니다. 외부 접속이 꺼져 있거나, 서버가 중지되어 있거나, Mac이 잠자기 상태이거나 오프라인입니다. 온라인 패널의 사이트 카드에 터널 상태가 표시되며, 터널 로그 보기(고급)에서 자세한 내용을 볼 수 있습니다.
"요금제의 공개 사이트 한도 초과"
다른 사이트를 끄거나, 다른 Mac에서 사이트를 공개하고 있지 않은지 확인하십시오(어느 Mac인지는 온라인 패널에 표시됩니다).
휴대폰에서 blog.test가 열리지 않음
휴대폰이 이 Mac의 주소를 DNS 서버로 사용하고 같은 네트워크에 있어야 합니다. blog.localhost는 휴대폰에서 절대 열리지 않습니다.

17.5기타 문제

https://name.localhost에서 브라우저가 인증서 경고를 표시함
설정 ▸ 로컬 HTTPS를 열고 다시 신뢰…를 클릭하십시오. Firefox에서는 macOS 인증서를 사용하는 옵션을 켜십시오.
메일이 도착하지 않음
의도된 동작입니다. 메일은 메일함(⇧⌘M)에 보관됩니다. 실제 메일을 보내려면 실제 메일 보내기를 참조하십시오.
외부 데이터베이스에 연결되지 않음
테스트 후에 나오는 메시지를 읽으십시오. 테스트에 실패하면을 참조하십시오.
어시스턴트가 Apple Intelligence를 사용할 수 없다고 함
시스템 설정 ▸ Apple Intelligence 및 Siri에서 Apple Intelligence를 켜고 모델이 다운로드될 때까지 기다리십시오. Apple Intelligence가 없는 Mac에서는 클라우드 제공업체를 사용할 수 있습니다(답변은 어디에서 오는가 참조).
AI 도구가 "changes are switched off"라고 함
어시스턴트 패널의 고급 설정 맨 아래에서 변경 허용을 선택하십시오.

17.6Pancake가 데이터를 보관하는 위치

Pancake는 샌드박스에서 실행되므로 모든 데이터가 자체 컨테이너에 있습니다. 설정 ▸ 고급 ▸ 데이터 폴더 보기로 컨테이너를 엽니다.

폴더내용
Sites/사이트마다 폴더 하나.
logs/모든 로그(로그 보기로도 열 수 있음).
backups/백업과 저장 지점. 사이트마다 폴더 하나.
mail/보관된 메일(.eml 파일).
mysql/MySQL 데이터.
templates/편집한 템플릿.

전체 경로는 ~/Library/Containers/jp.co.enfour.pancake/Data/Library/Application Support/Pancake/입니다. 암호와 키는 키체인에 있으며 이 폴더에는 절대 저장되지 않습니다.

서버포트사용 중일 때
웹(HTTP)808080
웹(HTTPS)4438443
MySQL3306다음 빈 포트
PostgreSQL5432다음 빈 포트
Valkey6379다음 빈 포트
Memcached11211다음 빈 포트
MCP 서버19810
Xdebug(편집기가 수신)9003

17.7도움 받기

  • 도움말 ▸ Pancake 도움말(⌘?)에서 영어, 일본어, 한국어로 된 주제를 검색할 수 있습니다.
  • Pancake Stack 지원 페이지에서 자주 묻는 질문에 대한 답과 문의 방법을 확인할 수 있습니다.
  • 문의할 때는 macOS 버전, Mac 종류(Apple 실리콘 또는 Intel), 상태 표시와 로그의 내용을 알려 주십시오. 암호나 키는 절대 보내지 마십시오.

개인정보와 데이터

Mac에 남는 것, 다른 곳으로 가는 것과 그 시점, 비밀 정보를 보관하는 방법, Pancake에 들어 있는 오픈 소스 소프트웨어를 설명합니다.

18.1Mac에 남는 것

Pancake에는 계정도 분석 기능도 없으며, 사용자가 만든 것을 Enfour에 보내지 않습니다. 사이트, 데이터베이스, 설정, 백업, 보관된 메일은 Mac의 Pancake 컨테이너에 있습니다. 암호, 토큰, 키는 키체인에 있습니다.

사이트는 사용자가 달리 선택하기 전까지 비공개로 유지됩니다. 외부 접속이 꺼져 있으면 다른 설정과 관계없이 이 Mac만 사이트를 열 수 있습니다. Adminer 같은 Pancake 자체 도구는 절대 온라인에 공개되지 않습니다.

18.2다른 곳으로 가는 것과 그 시점

사용자가 설정한 것만 Mac 밖으로 나가며, Enfour를 거치지 않고 Mac에서 해당 서비스로 사용자의 자격 증명과 함께 바로 전송됩니다.

이럴 때전송되는 곳
사이트를 온라인에 올릴 때Cloudflare(터널과 DNS), 또는 공유기와 DNS 서비스.
배포하거나 게시할 때사용하는 호스트, 정적 호스트, 앱 플랫폼 또는 클라우드 제공업체.
백업을 외부에 복사하거나 Pancake Cloud에 저장할 때내 서버, 버킷 또는 iCloud Drive. 먼저 Mac에서 암호화됩니다.
동기화를 켤 때내 iCloud(사이트 목록과 설정, 암호 제외).
실제 메일이나 푸시 알림을 보낼 때사용하는 SMTP 서비스, 또는 ntfy, Gotify, Pushover.
클라우드 AI 제공업체를 사용할 때해당 제공업체. 암호와 키는 먼저 제거됩니다.
WordPress나 Laravel 사이트 또는 Python 앱을 만들 때wordpress.org, Packagist, PyPI에서 다운로드.

Mac의 Apple Intelligence는 아무것도 외부로 보내지 않습니다. Private Cloud Compute는 요청을 비공개로 처리하며 저장하지 않습니다.

18.3비밀 정보를 보관하는 방법

  • 데이터베이스 암호, API 토큰, SSH 키, 환경 변수는 키체인에 보관되며 사이트 파일에는 절대 저장되지 않습니다.
  • 사이트는 데이터베이스 정보를 환경 변수에서 읽으므로 wp-config.php나 .env에 적어 둘 필요가 없습니다.
  • .env 파일, SQL 덤프, 키, .htpasswd는 브라우저에 절대 제공되지 않으며, .env 파일, 덤프, .git은 절대 배포되지 않습니다.
  • 클라우드 AI로 무엇이든 보내기 전에 Pancake가 암호, 개인 키, API 토큰을 제거합니다.

전체 정책은 Pancake Stack 개인정보 처리방침을 참조하십시오.

18.4오픈 소스 소프트웨어

Pancake는 오픈 소스 서버와 라이브러리를 바탕으로 만들어졌습니다: Apache, PHP, MySQL, PostgreSQL, Nginx, Valkey, Memcached, Python, uv, cloudflared와 그 안에 포함된 라이브러리. 도움말 ▸ 오픈 소스 라이선스에는 모든 구성 요소의 버전과 라이선스 전문이 나열되며, 이 목록은 Pancake 빌드가 컴파일하는 것과 같은 고정된 소스로 만들어집니다. 소스 코드와 빌드 스크립트는 소스 코드 페이지에 있습니다.