🖥️ Mac Mini 홈서버 완전 정복 시리즈
2/10 — macOS 서버 초기 세팅
헤드리스 최적화 완벽 가이드
1편에서 Mac Mini M4를 홈서버 하드웨어로 선택하는 이유와 한계점을 다뤘습니다. 이제 Mac Mini를 박스에서 꺼내서 실제 24/7 서버로 만드는 과정을 시작합니다. macOS는 태생이 데스크톱 OS라서, 기본 설정 그대로 두면 Mac이 잠들거나, SSH 접속이 안 되거나, 불필요한 백그라운드 서비스가 리소스를 잡아먹습니다. 이 글에서는 Mac Mini를 모니터·키보드 없이 24시간 안정적으로 돌아가는 서버로 만드는 전체 과정을 다룹니다.
1편 글 다시 보기 👇
2026.03.22 - [DEV & DevOps/Backend] - 왜 Mac Mini인가? — 홈서버 하드웨어 선택 가이드 [Mac Mini 홈서버 완전 정복 1/10]
왜 Mac Mini인가? — 홈서버 하드웨어 선택 가이드 [Mac Mini 홈서버 완전 정복 1/10]
🖥️ Mac Mini 홈서버 완전 정복 시리즈1/10 — 왜 Mac Mini인가?홈서버 하드웨어 선택 가이드홈서버를 시작하려면 가장 먼저 하드웨어를 골라야 합니다. Synology NAS를 살까, 라즈베리파이로 시작할까,
hoft.tistory.com
📑 목차

📌 이런 분들에게 추천합니다
- Mac Mini를 구매했거나 구매 예정이고, 서버로 처음 세팅하려는 분
- Mac Mini가 자꾸 잠들어서 원격 접속이 끊기는 문제를 겪고 있는 분
- 모니터·키보드 없이 헤드리스로 Mac Mini를 운영하고 싶은 분
- macOS를 서버 용도에 맞게 최적화하는 방법이 궁금한 분
⚠️ 시작 전 주의사항 — 이 글의 모든 설정은 macOS Tahoe ( 26.2 ) 기준입니다. 초기 세팅 단계에서는 모니터와 키보드를 연결한 상태로 진행합니다. 모든 설정을 마친 후에 모니터를 분리합니다.
1. macOS 초기 설정 — 서버에 맞게 세팅하기
Mac Mini 전원을 처음 켜면 macOS 설정 어시스턴트가 실행됩니다. 일반 데스크톱과 다르게, 서버 용도에서는 몇 가지를 의도적으로 건너뛰거나 다르게 설정해야 합니다.
1-1. Apple ID — 로그인하지 않는 것을 권장
홈서버에 Apple ID를 연결하면 iCloud가 사진, 메시지, 파일을 동기화하면서 스토리지와 네트워크 리소스를 소비합니다. 서버 전용 Mac이라면 Apple ID 로그인을 건너뛰는 것이 깔끔합니다. 나중에 필요하면 시스템 설정에서 언제든 추가할 수 있습니다.
💡 Apple ID 없이도 SSH, 파일 공유, Screen Sharing 등 서버에 필요한 기능은 모두 정상 작동합니다. App Store에서 앱을 설치해야 할 때만 임시로 로그인하면 됩니다.
1-2. FileVault 비활성화
FileVault는 macOS의 전체 디스크 암호화 기능입니다. 보안 측면에서는 좋지만, 서버 용도에서는 두 가지 문제가 있습니다.
❶ 재부팅 시 패스워드 입력 필요 — FileVault가 켜져 있으면 부팅할 때마다 물리적으로 비밀번호를 입력해야 합니다. 정전 후 자동 재시작이 되더라도 로그인 화면에서 멈춰버립니다.
❷ 미세한 I/O 오버헤드 — Apple Silicon의 하드웨어 가속 암호화로 체감 차이는 거의 없지만, Docker 볼륨의 잦은 I/O에서 아주 미세한 오버헤드가 쌓일 수 있습니다.
비활성화 방법: 시스템 설정 → 개인 정보 보호 및 보안 → FileVault → 끄기
⚠️ Mac Mini가 물리적으로 도난당할 위험이 있는 환경(공유 오피스 등)이라면 FileVault를 켜두는 것이 맞습니다. 자택 내 운영이라면 꺼도 괜찮습니다.
1-3. 자동 로그인 설정
재부팅 후 로그인 화면에서 멈추지 않도록, 지정된 사용자로 자동 로그인되게 설정합니다.
시스템 설정 → 사용자 및 그룹 → 자동 로그인에서 서버 운영에 사용할 계정을 선택합니다.
💡 자동 로그인은 FileVault가 꺼져 있어야 활성화됩니다. FileVault를 먼저 끄고, 그 다음에 자동 로그인을 설정하세요.
2. pmset으로 슬립 완전 차단하기
Mac Mini 홈서버의 가장 악명 높은 문제가 바로 슬립입니다. macOS는 에너지 절약을 위해 일정 시간 동안 입력이 없으면 시스템을 잠재우는데, 서버에서 이게 발생하면 SSH 연결이 끊기고, Docker 컨테이너가 멈추고, 서비스가 응답하지 않습니다. M4 모델에서도 이 문제가 보고되고 있습니다.
pmset은 macOS의 전력 관리를 제어하는 명령줄 도구입니다. 시스템 설정의 에너지 절약 패널보다 훨씬 세밀한 제어가 가능합니다.
2-1. 현재 전력 설정 확인
먼저 터미널을 열고 현재 설정을 확인합니다.
pmset -g
출력 결과에서 sleep, displaysleep, disksleep 값을 확인하세요. 0이 아니면 해당 시간(분) 후에 자동으로 잠듭니다.
2-2. 슬립 완전 차단 스크립트
다음 명령들을 터미널에서 하나씩 실행합니다. 모든 전원 소스(-a)에 적용됩니다.
# 시스템 슬립 비활성화 (0 = 잠들지 않음)
sudo pmset -a sleep 0
# 디스크 슬립 비활성화
sudo pmset -a disksleep 0
# 디스플레이만 5분 후 꺼짐 (전력 절약, 시스템은 깨어있음)
sudo pmset -a displaysleep 5
# 하이버네이트 모드 끄기 (데스크톱 기본값이지만 확인 차원)
sudo pmset -a hibernatemode 0
# Power Nap 끄기 (백그라운드 작업용이지만 서버에서는 불필요)
sudo pmset -a powernap 0
# 근접 기기로 인한 자동 깨우기 끄기
sudo pmset -a proximitywake 0
# SSH 등 원격 세션이 활성화된 동안 슬립 방지
sudo pmset -a ttyskeepawake 1
# TCP 연결 유지 (슬립 시에도 네트워크 응답)
sudo pmset -a tcpkeepalive 1
# Wake on LAN 활성화 (네트워크 패킷으로 깨우기)
sudo pmset -a womp 1
💡 한 줄로 한꺼번에 실행하기 — 위 명령들을 매번 치기 귀찮다면 아래처럼 한 줄로 실행할 수 있습니다.
sudo pmset -a sleep 0 disksleep 0 displaysleep 5 hibernatemode 0 powernap 0 proximitywake 0 ttyskeepawake 1 tcpkeepalive 1 womp 1
2-3. 설정 확인
적용 후 다시 확인합니다.
pmset -g
핵심 항목이 아래와 같으면 성공입니다.
| 항목 | 권장값 | 의미 |
|---|---|---|
sleep |
0 | 시스템 슬립 안 함 |
disksleep |
0 | 디스크 슬립 안 함 |
displaysleep |
5 | 5분 후 화면만 꺼짐 |
hibernatemode |
0 | 하이버네이트 안 함 |
powernap |
0 | Power Nap 꺼짐 |
ttyskeepawake |
1 | 원격 세션 중 깨어있음 |
tcpkeepalive |
1 | TCP 연결 유지 |
womp |
1 | WOL 활성화 |
2-4. 그래도 잠든다면? — 추가 대응
M4 Mac Mini에서 pmset 설정을 했는데도 슬립에 빠지는 사례가 보고되고 있습니다. 이 경우 추가로 확인할 것들입니다.
🔍 슬립 로그 확인
언제, 왜 잠들었는지 로그를 확인합니다.
pmset -g log | grep -E "Sleep|Wake|DarkWake" | tail -20
Software Sleep이 보이면 macOS가 소프트웨어적으로 잠재운 것이고, DarkWake는 시스템이 잠깐 깨어났다가 다시 잠든 상태입니다.
🛡️ caffeinate로 강제 깨우기
pmset과 별개로, caffeinate 명령은 시스템이 잠드는 것을 강제로 막습니다. 부팅 시 자동 실행되도록 LaunchDaemon으로 등록하면 보험이 됩니다.
# 터미널에서 바로 실행 (터미널이 열려 있는 동안 슬립 방지)
caffeinate -s &
-s 플래그는 시스템 슬립을 방지합니다. 백그라운드(&)로 실행하면 터미널을 닫아도 유지됩니다.
⚙️ caffeinate LaunchDaemon 등록 (부팅 시 자동 실행)
아래 내용으로 plist 파일을 만들어서 부팅 시 자동 실행되게 합니다.
sudo tee /Library/LaunchDaemons/com.local.caffeinate.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.local.caffeinate</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/caffeinate</string>
<string>-s</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
EOF
# 즉시 로드
sudo launchctl load /Library/LaunchDaemons/com.local.caffeinate.plist
3. HDMI 더미플러그 — 필요한가?
HDMI 더미플러그는 모니터가 연결된 것처럼 Mac을 속여서 GPU를 활성화하는 작은 어댑터입니다. 가격은 개당 1,000~5,000원 수준입니다.
필요한 경우
- Screen Sharing(화면 공유)나 VNC로 원격 접속하는 경우 — 더미플러그 없이는 해상도가 극히 낮거나, GPU 가속이 꺼져서 화면이 끊기고 느립니다.
- 원격 데스크톱 환경에서 GUI 작업이 필요한 경우 — 웹 브라우저, 미디어 재생 등
필요 없는 경우
- SSH로만 접속하는 경우 — 터미널 기반 작업에서는 화면 해상도가 의미 없습니다.
- Docker 컨테이너만 운영하는 경우 — 대부분의 서비스는 웹 UI로 접근하므로 Mac의 GUI는 불필요합니다.
💡 소프트웨어 대안: BetterDisplay — 물리적 더미플러그 대신, BetterDisplay(구 BetterDummy)라는 무료 앱으로 가상 디스플레이를 만들 수 있습니다. HDMI 포트를 차지하지 않고, 해상도도 자유롭게 설정 가능합니다. 다만 앱이 실행 중이어야 하므로 자동 로그인 + 로그인 항목 등록이 필요합니다.
이 시리즈에서는 SSH 기반 관리를 기본으로 하므로, 더미플러그 없이도 문제없이 진행할 수 있습니다. 가끔 GUI가 필요한 분은 하나 사두면 편합니다.
4. SSH(Remote Login) 활성화 + 고정 IP 설정
SSH는 헤드리스 서버 관리의 핵심입니다. macOS에는 SSH 서버가 내장되어 있고, 설정 하나만 켜면 바로 사용 가능합니다.
4-1. SSH 활성화
GUI에서 설정
시스템 설정 → 일반 → 공유 → 원격 로그인(Remote Login)을 켜기로 전환합니다. "접근 허용"은 모든 사용자 또는 특정 사용자를 선택할 수 있습니다. 보안을 위해 서버 관리 계정만 허용하는 것을 권장합니다.
터미널에서 설정 (같은 효과)
# SSH 서버 활성화
sudo systemsetup -setremotelogin on
# 활성화 확인
sudo systemsetup -getremotelogin
활성화 후 같은 네트워크의 다른 컴퓨터에서 접속을 테스트합니다.
ssh 사용자명@Mac의IP주소
첫 접속 시 fingerprint 확인 메시지가 나오면 yes를 입력합니다.
4-2. 고정 IP 설정
서버는 IP가 바뀌면 안 됩니다. SSH 접속 주소, Docker 서비스 접근, DNS 설정 등 모든 것이 IP에 의존합니다. 고정 IP를 설정하는 방법은 두 가지입니다.
방법 A: 공유기에서 DHCP 고정 할당 (권장)
공유기 관리 페이지에서 Mac Mini의 MAC 주소에 특정 IP를 고정 할당합니다. Mac 쪽에서 아무 설정도 건드리지 않아서 깔끔합니다. 대부분의 가정용 공유기가 이 기능을 지원합니다.
방법 B: macOS에서 수동 설정
시스템 설정 → 네트워크 → Ethernet → 세부사항 → TCP/IP에서 "IPv4 구성"을 "수동"으로 변경합니다. IP 주소, 서브넷 마스크, 라우터(게이트웨이), DNS 서버를 직접 입력합니다.
유플러스 공유기 고정IP 할당하기 👇👇👇👇
2026.03.24 - [DEV & DevOps/ETC] - 유플러스 공유기 DHCP 고정 IP 할당 방법 완벽 정리
터미널에서도 설정 가능합니다.
# 네트워크 서비스 목록 확인
networksetup -listallnetworkservices
# Ethernet에 고정 IP 설정 (예시)
sudo networksetup -setmanual "Ethernet" 192.168.0.100 255.255.255.0 192.168.0.1
# DNS 서버 설정
sudo networksetup -setdnsservers "Ethernet" 1.1.1.1 8.8.8.8
💡 IP 충돌 주의 — 수동으로 IP를 지정할 때는 공유기의 DHCP 범위 밖의 주소를 사용하세요. 예를 들어 공유기 DHCP가 192.168.0.2~192.168.0.199를 할당한다면, 서버 IP는 192.168.0.200~254 범위에서 잡는 것이 안전합니다.
5. 불필요한 서비스 끄기
macOS에는 일반 사용자용 백그라운드 서비스가 수십 개 돌아갑니다. 서버에서는 대부분 불필요하고, CPU와 메모리를 잡아먹기만 합니다.
5-1. 시스템 설정에서 끄기
| 설정 위치 | 변경 내용 | 이유 |
|---|---|---|
| Siri | 끄기 | CPU, 네트워크 리소스 절약 |
| Spotlight → 개인 정보 보호 | 전체 볼륨 추가 | 인덱싱 I/O 부하 제거 |
| 알림 | 모든 앱 알림 끄기 | 불필요한 백그라운드 프로세스 감소 |
| 일반 → AirDrop 및 Handoff | 끄기 | Bluetooth/Wi-Fi 스캔 중단 |
| 잠금 화면 → 화면 보호기 | 안 함 | CPU 사용량 절약 |
| 잠금 화면 → 비활성 시 디스플레이 끄기 | 5분 | 화면만 끄고 시스템은 유지 |
| Game Center | 끄기 | 불필요한 서비스 |
5-2. 터미널에서 Spotlight 인덱싱 끄기
Spotlight 인덱싱은 특히 Docker 볼륨이 많아지면 I/O 부하가 상당합니다.
# Spotlight 인덱싱 완전 비활성화
sudo mdutil -a -i off
# 기존 인덱스 삭제 (디스크 공간 회수)
sudo mdutil -a -E
5-3. 화면 보호기 비활성화 (터미널)
defaults write com.apple.screensaver idleTime -int 0
5-4. 소프트웨어 자동 업데이트 끄기
서버에서 예고 없는 자동 업데이트 + 자동 재시작은 위험합니다. 업데이트는 수동으로 점검 시간에 진행하는 것이 안전합니다.
# 자동 업데이트 확인만 하고, 설치는 수동으로
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool false
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool false
⚠️ 보안 업데이트까지 끄지는 마세요. macOS 보안 패치는 정기적으로 확인해서 수동으로 적용하는 습관을 들이세요. 7편에서 보안 관련 체크리스트를 다룰 예정입니다.
6. Homebrew 설치
Homebrew는 macOS의 패키지 매니저입니다. 서버 운영에 필요한 CLI 도구들(wget, htop, neofetch, git 등)을 쉽게 설치할 수 있습니다. 이후 3편에서 다룰 OrbStack도 Homebrew로 설치합니다.
6-1. Xcode Command Line Tools 설치
Homebrew의 사전 요구사항입니다.
xcode-select --install
팝업 창에서 "설치"를 클릭하면 됩니다. 전체 Xcode를 설치할 필요는 없고, Command Line Tools만 있으면 충분합니다.
6-2. Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Apple Silicon Mac에서는 /opt/homebrew에 설치됩니다. 설치 완료 후 터미널에 표시되는 "Next steps"의 PATH 설정 명령을 반드시 실행하세요.
# Apple Silicon 기본 PATH 설정
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
6-3. 서버 운영에 유용한 패키지 설치
brew install htop wget curl git neofetch tree jq
| 패키지 | 용도 |
|---|---|
htop |
실시간 시스템 모니터링 (CPU, RAM, 프로세스) |
wget / curl |
파일 다운로드, API 테스트 |
git |
설정 파일 버전 관리, Docker Compose 파일 관리 |
neofetch |
시스템 정보 한눈에 확인 |
tree |
디렉토리 구조 시각화 |
jq |
JSON 데이터 처리 (API 응답 파싱 등) |
7. 전력 장애 후 자동 재시작 설정
정전이나 전원 차단 후 Mac Mini가 자동으로 켜지게 설정합니다. 서버가 24/7 운영되어야 하므로 반드시 설정해야 합니다.
# 전원 복구 시 자동 재시작
sudo pmset -a autorestart 1
시스템 설정에서도 동일한 옵션이 있습니다: 시스템 설정 → 에너지 → "정전 후 자동으로 시작" 체크
✅ 확인 테스트 — 설정 후 전원 코드를 뽑았다가 다시 꽂아보세요. Mac Mini가 자동으로 부팅되면 성공입니다. 자동 로그인까지 설정했다면 부팅 후 바로 데스크톱까지 진입하는지도 확인하세요.
💡 시스템 충돌 시 자동 재시작도 켜두면 좋습니다. 커널 패닉 등으로 시스템이 멈출 때 자동 복구됩니다.
sudo systemsetup -setrestartfreeze on
8. 원격 관리 도구 선택 — SSH vs 화면 공유 vs RustDesk
모니터를 분리한 후 Mac Mini를 관리하는 방법을 정리합니다.
| 도구 | 방식 | 장점 | 단점 |
|---|---|---|---|
| SSH | 터미널 (CLI) | 가볍고 빠름, 항상 작동, 보안 우수 | GUI 작업 불가 |
| Screen Sharing (macOS 내장) |
VNC 기반 GUI | 추가 설치 불필요, macOS 통합 | 외부 접속 어려움, 성능 보통 |
| RustDesk | GUI (원격 데스크톱) | 오픈소스, 자체 서버 가능, 외부 접속 쉬움 | 별도 설치 필요 |
권장 조합
🏆 SSH (일상 관리) + Screen Sharing (비상시 GUI)
평소에는 SSH로 모든 것을 관리하고, macOS 시스템 설정 변경이나 GUI가 필요한 경우에만 Screen Sharing을 사용하는 것이 가장 효율적입니다. 외부 네트워크에서도 접속해야 한다면 RustDesk를 추가하거나, 6편에서 다룰 Cloudflare Tunnel을 활용하면 됩니다.
Screen Sharing 활성화
시스템 설정 → 일반 → 공유 → 화면 공유(Screen Sharing)를 켭니다.
같은 네트워크의 다른 Mac에서 Finder → 이동 → 서버에 연결 → vnc://Mac의IP주소로 접속할 수 있습니다.
✅ 세팅 완료 체크리스트
모든 설정을 마쳤다면 아래 항목을 하나씩 확인하세요.
☐ Apple ID 미로그인 (또는 iCloud 동기화 끄기)
☐ FileVault 비활성화
☐ 자동 로그인 설정 완료
☐ pmset -g에서 sleep=0, disksleep=0 확인
☐ caffeinate LaunchDaemon 등록 (선택)
☐ SSH 접속 테스트 성공
☐ 고정 IP 설정 완료
☐ Spotlight, Siri, AirDrop, 화면 보호기 끄기
☐ 소프트웨어 자동 업데이트 수동으로 변경
☐ Homebrew 설치 + 기본 패키지 설치
☐ autorestart 1 설정 + 전원 분리 테스트
☐ Screen Sharing 활성화 (선택)
☐ 모니터·키보드 분리 후 SSH로 정상 접속 확인
🖥️ Mac Mini 홈서버 완전 정복 시리즈
✅ 1편. 왜 Mac Mini인가? — 홈서버 하드웨어 선택 가이드
✅ 2편. macOS 서버 초기 세팅 — 헤드리스 최적화 완벽 가이드 (현재 글)
📌 3편. Docker 환경 구축 — OrbStack vs Docker Desktop vs Colima 비교
📌 4편. 홈서버 필수 서비스 한방에 띄우기 — Docker Compose 실전편
📌 5편. 리버스 프록시 구축 — Nginx Proxy Manager로 도메인 + HTTPS
📌 6편. 외부 접속 — Cloudflare Tunnel로 포트포워딩 없이 공개
📌 7편. 보안 강화 — SSH 키 인증 + Fail2Ban + 방화벽
📌 8편. 스토리지 & 백업 전략
📌 9편. 실전 서비스 배포 — 미디어 + 사진 + 스마트홈
📌 10편. 종합 모니터링 & 운영 자동화
이 글에서는 Mac Mini를 24/7 헤드리스 서버로 만드는 macOS 초기 세팅 전 과정을 다뤘습니다. 슬립 차단, SSH 설정, 불필요한 서비스 제거까지 완료했다면, Mac Mini는 이제 모니터 없이도 안정적으로 돌아가는 서버가 되었습니다.
다음 3편에서는 이 서버 위에 Docker 환경을 구축합니다. macOS에서 Docker가 돌아가는 원리부터, OrbStack vs Docker Desktop vs Colima 3가지 선택지를 성능·메모리·편의성 기준으로 비교하고, 첫 컨테이너를 띄우는 것까지 다룰 예정입니다.
도움이 됐다면 공감 ❤️ 부탁드려요! 시리즈 알림 받으시려면 구독도 부탁합니다.
'DEV & DevOps > Backend' 카테고리의 다른 글
| Dense FP16, MoE, AWQ 뭔 말이야? | AI 모델 용어 완벽 정리 (2026년) (0) | 2026.03.24 |
|---|---|
| 폐쇄망 Ollama→vLLM 전환기 EP.2 — 컨테이너 이미지 & 모델 반입 (0) | 2026.03.24 |
| 폐쇄망 Ollama→vLLM 전환기 EP.1 — 서버 환경 사전 점검 (0) | 2026.03.23 |
| 왜 Mac Mini인가? — 홈서버 하드웨어 선택 가이드 [Mac Mini 홈서버 완전 정복 1/10] (0) | 2026.03.22 |
| RAG 임베딩 파이프라인에 최적화된 문서 작성법 | 검색 정확도를 높이는 문서 구조 가이드 (1) | 2026.03.20 |