본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 03. 00:05

Linux에서 Ollama + Open WebUI 설치하기: 15분 설정 가이드

요약

Linux 환경에서 Ollama와 Open WebUI를 사용하여 로컬 LLM 환경을 구축하는 단계별 가이드입니다. Docker와 Python을 활용한 설치 방법부터 GPU 설정 및 모델 저장 경로 변경까지 실무적인 팁을 제공합니다.

핵심 포인트

  • Ollama를 통한 로컬 모델 관리 및 추론 환경 구축
  • Open WebUI를 활용한 브라우저 기반 채팅 인터페이스 구현
  • NVIDIA CUDA 및 AMD ROCm GPU 가속 설정 방법
  • 시스템 환경 변수를 이용한 모델 저장 위치 변경

이 기사는 원래 aifoss.dev에 게시되었습니다.


title: 'Linux에서 Ollama + Open WebUI 설치하기: 15분 설정 가이드'
description: 'Linux에 Ollama와 Open WebUI를 설치하는 단계별 가이드입니다. Docker 및 pip 설치, GPU 설정, 모델 관리 및 첫 실행 구성을 다룹니다.'
pubDate: '2026년 5월 21일'

tags: ["ollama", "ai", "selfhosted", "llm", "opensource"]

이 가이드를 마치면 완전한 브라우저 기반 채팅 인터페이스를 통해 로컬 LLM(Large Language Model)을 실행할 수 있게 됩니다. 설정 후에는 인터넷이 필요하지 않으며, API 키도 필요 없고, 그 어떤 데이터도 사용자의 기기를 벗어나지 않습니다.

기술 스택: Ollama는 로컬 REST API를 통해 모델 다운로드, 관리 및 추론 (Inference)을 담당합니다. Open WebUI는 채팅 프론트엔드(Frontend)로서 그 위에 위치합니다. 이 둘을 함께 사용하면 여러분의 하드웨어에서 ChatGPT의 핵심 경험을 그대로 재현할 수 있습니다.

사용된 버전: Ollama v0.24.0, Open WebUI v0.9.5 (2026년 5월 — 시작하기 전에 최신 릴리스가 있는지 각 GitHub 페이지를 확인하세요).

필요한 사항

하드웨어:

설정최소 RAMGPU실행 가능한 모델
CPU 전용8 GB필요 없음3B 모델을 3–6 tok/s 속도로 실행
...

CPU 추론 (Inference)은 실험용으로는 작동합니다. 일상적인 대화형 사용을 위해서는 GPU가 큰 차이를 만듭니다.

소프트웨어 요구 사항:

  • 64비트 Linux (Ubuntu 22.04+ 또는 Debian 12 권장)
  • Ollama 설치를 위한 curl
  • Docker (권장) 또는 Open WebUI를 위한 Python 3.11+

1단계: Ollama 설치

공식 설치 프로그램이 바이너리(Binary), ollama 시스템 사용자 및 systemd 서비스를 처리합니다:

curl -fsSL https://ollama.com/install.sh | sh

설치가 완료되면 Ollama가 자동으로 시작되어 http://localhost:11434에서 대기합니다.

설치 확인:

ollama --version
# ollama version is 0.24.0

...

NVIDIA GPU: 설치 프로그램이 CUDA를 자동으로 감지합니다. 추가 작업은 필요하지 않습니다.

AMD GPU: 설치 프로그램이 ROCm을 시도합니다. 만약 GPU 레이어(Layers)가 작동하지 않는다면, 사용 중인 GPU 아키텍처에 맞춰 오버라이드(Override)를 설정하세요:

export HSA_OVERRIDE_GFX_VERSION=10.3.0

설정을 영구적으로 적용하려면 Ollama 서비스 환경 변수(Service environment)에 추가하세요 (서비스 환경 변수를 편집하는 방법은 아래의 모델 저장소 섹션을 참조하세요).

CPU 전용 (CPU-only): 별도의 조치가 필요하지 않습니다. Ollama가 자동으로 CPU로 폴백(Fallback)합니다.

모델 저장 위치 변경하기

기본적으로 모델은 ~/.ollama/models에 저장됩니다. 다른 드라이브를 사용하려면 다음을 실행하세요:

sudo systemctl edit ollama

열리는 오버라이드(Override) 파일에 다음 내용을 입력합니다:

[Service]
Environment="OLLAMA_MODELS=/mnt/storage/ollama"

저장한 후, 다음 명령어로 다시 로드합니다:

sudo systemctl daemon-reload && sudo systemctl restart ollama

서비스 관리

sudo systemctl status ollama       # 실행 상태 확인
sudo systemctl restart ollama      # 재시작
sudo journalctl -u ollama -f       # 실시간 로그 확인

2단계: 모델 풀(Pull) 및 추론(Inference) 확인

Open WebUI를 건드리기 전에, Ollama 자체가 엔드 투 엔드(End-to-end)로 작동하는지 확인하세요.

ollama pull llama3.2:3b    # 2.0 GB — 테스트용으로 다운로드 속도가 빠름
ollama run llama3.2:3b

프롬프트를 입력하고 Enter를 누르세요. 일관성 있는 응답을 받는다면 추론 스택(Inference stack)이 정상적으로 작동하는 것입니다. /bye를 입력하여 종료하세요.

16 GB RAM 또는 GPU를 사용하는 7B 모델의 경우:

ollama pull gemma3:7b       # 5.0 GB
ollama pull mistral:7b      # 4.1 GB

다운로드된 목록을 확인합니다:

ollama list

3단계: Open WebUI 설치

두 가지 경로가 있습니다. Docker는 유지 관리가 더 간편하며, pip는 Docker 의존성을 피할 수 있습니다.

옵션 A: Docker (권장)

Docker가 설치되어 있지 않다면 설치하세요:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 그룹 변경 사항을 적용하려면 로그아웃 후 다시 로그인하세요

Ollama를 백엔드(Backend)로 사용하여 Open WebUI를 실행합니다. Linux에서는 host.docker.internal이 항상 해석(Resolve)되는 것은 아니므로, 사용 중인 LAN IP를 사용하세요:

# LAN IP 확인
ip addr show | grep 'inet ' | grep -v 127.0.0.1

그 다음 컨테이너를 시작합니다:

docker run -d \
  --name open-webui \
  --restart always \
...

192.168.1.X를 실제 IP 주소로 교체하세요.

더 간단한 대안 — 만약 Ollama와 Open WebUI가 동일한 호스트에 있다면, 호스트 네트워킹 (host networking)을 사용하여 IP 조회를 건너뛸 수 있습니다:

docker run -d \
  --name open-webui \
  --restart always \
...

--network host 옵션을 사용하면 Open WebUI가 8080 포트에서 실행되므로, http://localhost:8080을 여십시오.

NVIDIA GPU 패스스루 (passthrough):

docker run -d \
  --name open-webui \
  --gpus all \
...

옵션 B: pip

pip install open-webui
open-webui serve

첫 실행 시에는 약 1분 정도 소요됩니다. 초기 실행 시 프론트엔드 의존성 (frontend dependencies)을 설치하기 때문입니다. Open WebUI는 8080 포트에서 시작됩니다.

단계 4: 첫 로그인

http://localhost:3000 (-p 3000:8080을 사용한 Docker) 또는 http://localhost:8080 (pip 또는 --network host)으로 이동하십시오.

  1. 회원가입 화면이 나타나면 관리자 (admin) 계정을 생성하십시오. 이는 로컬 전용이며 이메일 인증은 필요하지 않습니다.
  2. Open WebUI가 Ollama 모델을 자동으로 감지합니다. 채팅 인터페이스 상단의 모델 선택기를 클릭하십시오.
  3. 모델을 선택하고 채팅을 시작하십시오.

만약 모델이 나타나지 않는다면, **Settings (설정) → Connections (연결)**로 이동하여 Ollama URL이 http://localhost:11434로 표시되는지 확인하십시오. 또한 **Settings (설정) → Models (모델)**에서 UI를 통해 직접 모델을 가져올 (pull) 수도 있습니다. 모델 이름을 입력하고 Pull을 클릭하십시오.

단계 5: 알아두면 좋은 설정

모델별 시스템 프롬프트 (System prompts):

Settings (설정) → Models (모델) → 모델 선택 → System Prompt. 해당 모델과의 모든 대화에 적용될 지속적인 페르소나, 코딩 언어 선호도 또는 출력 형식 규칙을 설정하십시오.

다중 사용자 액세스 (Multi-user access):

첫 번째 계정이 관리자 (admin)가 됩니다. 이후 가입하는 사용자들은 일반 사용자 (standard users)가 됩니다. Open WebUI는 완전한 사용자 관리 기능을 갖추고 있습니다. 대화는 사용자별로 격리되며, 관리자는 사용 통계를 확인할 수 있습니다. 공유 홈 서버로 사용하기에 좋습니다.

내장된 RAG:

Open WebUI에는 RAG (검색 증강 생성) 기능이 포함된 문서 업로드 기능이 있습니다. 간단한 용도 — PDF를 업로드하고 그에 대해 질문하는 것 — 로는 잘 작동합니다. 하지만 대규모 코퍼스 (corpus)나 지속적인 문서 컬렉션을 다룬다면, AnythingLLM이 해당 워크플로우를 더 잘 처리합니다.

다른 기기에서의 LAN 접속:

--network host를 사용할 때 0.0.0.0에 바인딩(Bind)하는 것이 기본값입니다. 방화벽 포트를 열어주세요:

sudo ufw allow 3000/tcp    # 또는 설정에 따라 8080

그 다음, 동일한 네트워크에 있는 모든 기기에서 http://192.168.1.X:3000으로 접속할 수 있습니다.

Open WebUI 라이선스에 관한 참고 사항

Ollama는 MIT 라이선스이며, 아무런 제한이 없습니다.

Open WebUI는 라이선스가 여러 번 변경되었습니다. 2026년 중반 기준으로, CLA(Contributor License Agreement) 요구 사항이 포함된 커스텀 BSD-3-clause 변형 라이선스를 사용합니다. 개인 및 소규모 팀(50명 미만)의 경우 셀프 호스팅(Self-host) 및 리브랜딩(Rebrand)이 무료입니다. 규모가 더 크거나 상업적인 배포를 원하는 경우, 배포 전에 공식 라이선스 페이지를 읽어보아야 합니다. 이는 OSI 인증 오픈 소스는 아니며, 해당 구분이 귀하의 상황에서 중요하다면 유의해야 합니다.

이 설정을 사용하지 말아야 할 경우

동시 사용자 수가 많거나 높은 처리량(Throughput)이 필요한 경우. Ollama는 모델 인스턴스당 한 번에 하나의 요청만 처리합니다. 이는 가정이나 기기를 공유하는 소수의 개발자에게는 괜찮지만, 실제 부하가 걸리는 상황에서는 한계가 있습니다. 다중 사용자 프로덕션 서비스에는 vLLM이 적합한 도구입니다. 추론(Inference) 하드웨어를 전혀 관리하고 싶지 않다면, RunPod의 클라우드 GPU를 통해 시간당 약 0.20달러로 A40을 실행할 수 있습니다. 추론이 가끔 발생하는 경우라면 GPU를 직접 구매하는 것보다 저렴합니다.

Windows 또는 macOS를 사용 중이며 데스크톱 앱을 원하는 경우. LM Studio는 두 번의 클릭만으로 설치되며, 네이티브 UI를 갖추고 있고, Docker나 브라우저 탭이 필요하지 않습니다. Open WebUI의 브라우저 기반 방식은 Linux 서버에서는 장점이지만, 개인용 노트북에서는 추가적인 단계가 됩니다.

**당신은

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0