본문으로 건너뛰기

Ollama 설치 및 설정

Ollama 가이드 - 사용 방법

Ollama, Open WebUI란

ollama는 여러 언어 모델을 자신의 서버에서 사용할 수 있도록 하는 도구로 전용 리포지토리를 제공하며 LLM에 입문하는 초심자에게 추천하는 프로그램 입니다. 기본적으로는 GPU의 VRAM을 사용하나 LLM 모델에 따라 CPU의 DRAM도 같이 사용하는 구조로 되어있어 높은 파라미터의 모델도 타협해서 구동이 가능하다는 장점이 있습니다.

Open WebUIollama와 연동하여 LLM 모델을 Web에서 사용할 수 있도록 하는 프로그램입니다. 사용이 간편하며 여러 기능이 탑재되어 있습니다.

설치 및 설정 방법

이 가이드에서는 ollamaOpen WebUI의 설치 및 설정 방법에 대해 설명 합니다.

정보
  • 운영체제 : Ubuntu 24.04
경고

1. 운영체제 업데이트 및 업그레이드

운영체제의 업데이트 및 업그레이드를 진행 후 리부팅을 진행합니다.

apt update
apt upgrade
reboot

2. ollama 설치

ollama에서 제공하는 스크립트로 설치를 진행합니다.

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

설치가 완료되면 아래와 같은 내용을 확인 할 수 있습니다.

>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
######################################################################## 100.0%
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.

3. ollama 설정(블록스토리지를 추가할 경우)

LLM 모델의 종류 및 파라미터에 따라 저장되는 용량에 차이가 있어 사용 하다보면 서버 내부의 디스크 공간이 부족할 수 있습니다. 이 경우 이곳을 참고하여 블록스토리지를 장착한 뒤 사용하는 것을 권장 합니다.

df -Th # 마운트 전
Filesystem     Type   Size  Used Avail Use% Mounted on
tmpfs tmpfs 5.9G 1.1M 5.9G 1% /run
/dev/vda1 ext4 96G 21G 76G 22% /
tmpfs tmpfs 30G 4.0K 30G 1% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda16 ext4 881M 112M 707M 14% /boot
/dev/vda15 vfat 105M 6.2M 99M 6% /boot/efi
tmpfs tmpfs 5.9G 20K 5.9G 1% /run/user/0

블록스토리지를 추가했다면 ollama에 사용될 LLM 모델이 저장될 디렉토리를 생성하고 마운트를 진행합니다.

mkdir /ollama_llm
mount /dev/vdb1 /ollama_llm
chown ollama: /ollama_llm/
df -Th # 50GB 마운트 후
Filesystem     Type   Size  Used Avail Use% Mounted on
tmpfs tmpfs 5.9G 1.1M 5.9G 1% /run
/dev/vda1 ext4 96G 21G 76G 22% /
tmpfs tmpfs 30G 4.0K 30G 1% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda16 ext4 881M 112M 707M 14% /boot
/dev/vda15 vfat 105M 6.2M 99M 6% /boot/efi
tmpfs tmpfs 5.9G 20K 5.9G 1% /run/user/0
/dev/vdb1 ext4 49G 1G 49G 1% /ollama_llm

ollama의 서비스 파일을 열고 내용을 수정합니다.

vi /etc/systemd/system/ollama.service
# 기본적으로 설정되어있는 환경 변수
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"

# ollama의 기본 디렉토리를 /ollama_llm으로 변경
Environment="OLLAMA_MODELS=/ollama_llm"

서버의 리부팅 시 서비스가 동작하도록 설정 후 재시작합니다.

systemctl daemon-reload
systemctl enable ollama.service
systemctl restart ollama.service

4. Open WebUI 설치

pip를 통한 패키지 설치를 위해 venv를 설치합니다.

apt install python3.12-venv

파이썬의 가상환경을 생성합니다.

python3 -m venv /iwinv_venv

가상환경으로 진입합니다.

source /iwinv_venv/bin/activate

가상환경 내부에서 Open WebUI를 설치합니다.

pip install open-webui

5. Open WebUI 설정

Open WebUI는 service, systemctl을 통한 서비스 데몬 실행이 제공되지 않으며 아래의 명령어를 통해 http://xxx.xxx.xxx.xxx:8080으로 접근이 가능합니다. 실행 중 터미널에서 Ctrl + C를 사용하거나 로그아웃 시 프로세스의 종료가 진행 됩니다.

open-webui serve

편리하게 사용하기 위해 서비스 데몬을 생성해보겠습니다.

vi /etc/systemd/system/openwebui.service
[Unit]
Description=Open WebUI Service
After=network.target

[Service]
Type=simple
ExecStart=/iwinv_venv/bin/open-webui serve
ExecStop=/bin/kill -HUP $MAINPID
User=root
Group=root

# 로그 파일 별도 생성
StandardOutput=append:/var/log/openwebui/openwebui.log
StandardError=append:/var/log/openwebui/openwebui_error.log

[Install]
WantedBy=multi-user.target

로그 파일이 별도로 저장될 수 있도록 서비스 데몬에 설정한 위치에 디렉토리를 생성합니다.

mkdir /var/log/openwebui

서버의 리부팅 시 서비스가 동작하도록 설정 후 재시작합니다.

systemctl daemon-reload
systemctl enable openwebui.service
systemctl start openwebui.service