본문 바로가기
IT 끄적이기

리눅스 서버에 FileBrowser 설치하기

by 미르아 2025. 7. 20.
728x90

집에 안 쓰는 오래된 노트북에 우분투 서버를 설치해 놓고 여러 용도로 사용하기로 했다.

 

일단 처음은 파일 브라우저를 설치해서 외부에서도 파일을 업로드하거나 다운로드할 수 있도록 설정하기로 했다.

 

curl로 받으려 했으나 나는 404 에러가 떠서 직접 다운로드를 하기로 했다. 내가 못한 걸 수 있으니 curl로 실행을 해봐도 된다.

 

filebrowser 설치하기 - 원하는 경로에 다운로드 받아서 실행

최신 릴리스 확인 및 다운로드
wget https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz

압축 해제
tar -xvzf linux-amd64-filebrowser.tar.gz

실행 파일 이동
sudo mv filebrowser /usr/local/bin/
sudo chmod +x /usr/local/bin/filebrowser

테스트 실행
filebrowser -r ~/share

 

 

~/share는 공유할 디렉터리 경로

기본 웹 포트는 8080이고, 접속 URL은: http://ip또는 도메인:8080으로 실행하면 접속이 된다.

 

방화벽을 열어주지 않았으면 열어준다.

 

sudo ufw allow 8080

 

 

 

파일 브라우저가 실행된 모습. 아직 관리자와 사용자를 만들지 않았기 때문에 로그인은 되지 않는다.

 

외부 접속이 안 되는 경우 실행 명령어를 외부에서도 접속할 수 있게 ip를 0.0.0.0으로 변경하여 실행한다.

filebrowser -r ~/share --address 0.0.0.0 --port 8080

여기서 --address 0.0.0.0은 모든 IP에서 접근 가능하도록 하는 옵션이고,
--port 8080은 명시적으로 포트를 지정

 

filebrowser 자동 실행 설정 (Systemd 등록)

 

지금은 수동으로 실행, 서버 재부팅 시 자동 실행되도록 설정


sudo vim /etc/systemd/system/filebrowser.service

파일 내용

[Unit]
Description=File Browser
After=network.target

[Service]
User=koo
ExecStart=/usr/local/bin/filebrowser -r /home/user/ -a 0.0.0.0 -p 8080
Restart=always

[Install]
WantedBy=multi-user.target

 

적용

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable filebrowser
sudo systemctl start filebrowser

 

관리자 계정 만드는 방법

filebrowser users add <아이디> <비밀번호> --perm.admin

 

관리자 계정 만든 후 접속하면 완료

 

관리자로 로그인했기 때문에 유저를 생성할 수 있다.

 

왼쪽 화면에 Settings - User Management - New

 

 

유저명과 비밀번호 그리고 권한을 선택 후 SAVE를 누르면 유저가 생성되고 완료된다.

 

리눅스에서 FileBrowser 실행 시 오류 메시지가 뜰 경우 - 이 부분부터는 오류 메시지가 뜰 경우 적용

/home/koo/filebrowser.db does not exist. Please run 'filebrowser config init' first.

 

해결 방법: 명령어에 DB 경로 명시하기

filebrowser users add username password --perm.admin --database /home/user/download/filebrowser.db

 

나 같은 경우는 직접 다운로드를 하고 압축을 해제하고 실행했기 때문에 다운로드 폴더에 db 파일이 있었다. 그래서 그냥 해당 db 파일을 사용하기로 했다.

 

현재 DB 경로 확인하고 싶다면?

이미 백그라운드로 실행된 filebrowser가 어느 경로의 DB를 쓰고 있는지는 로그에 출력됨
Using database: /home/user/download/filebrowser.db

 

수정을 했다면 다음 명령어로 다시 실행

ExecStart=/usr/local/bin/filebrowser -r /home/user/ -a 0.0.0.0 -p 8080 --database /home/user/download/filebrowser.db

 

적용 순서

 

파일 수정 저장 후

sudo systemctl daemon-reexec
sudo systemctl daemon-reload

 

Filebrowser 서비스 재시작

sudo systemctl restart filebrowser

 

서비스 상태 확인

sudo systemctl status filebrowser

 

db를 수정했다면 설정 파일도 변경해 주면 된다.

파일 내용

[Unit]
Description=File Browser
After=network.target

[Service]
User=koo
ExecStart=/usr/local/bin/filebrowser -r /home/user/ -a 0.0.0.0 -p 8080 --database /home/user/download/filebrowser.db
Restart=always

[Install]
WantedBy=multi-user.target
728x90