처음엔 plex 미디어서버를 설치했지만 제대로 사용하기 위해선 유료 구매를 해야했다.

그리고 성능도 유료로 구매할 정도는 아닌거 같아서 다른 미디어 서버를 찾았다.

 

jellyfin은 무료이고 설치도 쉽다.

 

https://jellyfin.org/downloads/server

 

Downloads | Jellyfin

The portable version can be run on any system with a .NET Core runtime.

jellyfin.org

curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash

명령 스크립트를 받아서 실행하면 바로 설치가 된다.

enter와 y를 적절하게 입력해준다.

기본적으로 8096포트로 설치가 된다.

 

앞서 설치했던 owncloud와 같은 공간을 사용하기 위해 그룹을 만들고 함께 묶었다.

적당한 그룹을 만든다.

sudo groupadd groupname

젤리핀과 owncloud의 계정을 그룹에 추가해준다.

자신의 사용자도 그룹에 추가하면 data폴더에 접근이 쉬워진다.

sudo usermod -aG groupname www-data
sudo usermod -aG groupname jellyfin

data디렉토리의 소유자 그룹을 변경해준다.

sudo chown :groupname /var/www/owncloud/data

재부팅을 하면 적용이 된다.

 

그외에 권한 문제가 생기면 acl을 참고하기 바란다.(setfacl,getfacl)

https://it-serial.tistory.com/58

 

[Linux] ACL 개념 & 설정법(setfacl, getfacl)

리눅스는 대체적으로 서버로 많이 활용되고 있습니다. 서버로 활용되면 보안을 철저히 해야합니다. 간단하지만 리눅스 서버 보안 관련하여 ACL을 사용하기도 합니다. ○ ACL이란 ? ▷ Access Control L

it-serial.tistory.com

ls -al을 하면 현재 디렉토리의 파일과 디렉토리의 권한과 소유자 그룹을 볼수 있다.

drwxrwxrwx+ 로 나오는데

d는 디렉토리 첫 rwx는 소유자의 권한 두번째 rwx는 그룹의 권한 마지막 rwx는 다른 사용자의 권한이다.

+는 acl이 설정되어 있다는 의미이다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,
sudo vi /var/www/owncloud/config/config.php

개인서버로 cloud서비스를 이용할 수 있는 owncloud를 설치한다.

처음에는 우분투22.04에서 owncloud 설치하기라는 owncloud 가이드대로 했지만

외부 도메인에서 작동하지 않아 다른 설치방법을 찾았다.

https://github.com/linuxsyr/owncloud

 

GitHub - linuxsyr/owncloud: script to install owncloud on ubuntu 22.04

script to install owncloud on ubuntu 22.04. Contribute to linuxsyr/owncloud development by creating an account on GitHub.

github.com

명령어 스크립트를 다운로드 받아서 한 번에 설치할 수 있다.

물론 중간중간 enter와 y를 눌러주긴 해야한다.

 

스크립트 파일을 받아서 실행가능하게 권한을 변경해주고 실행한다.

wget https://raw.githubusercontent.com/linuxsyr/owncloud/main/owncloud.bash
chmod +x owncloud.bash
sudo bash ./owncloud.bash

설치가 다 되면 config.php에 신뢰할수 있는 도메인을 추가해줘야 제대로 작동한다.

sudo vi /var/www/owncloud/config/config.php
'trusted_domains' => [
	'localhost',
	'도메인',
	'내부 ip',
  ],

처음엔 localhost만 존재할 텐데 도메인과 내부 ip를 추가해준다.

 

데이터 디렉토리를 바꾸려면 아래와 링크와 같이 하면 된다.

바꿀 데이터 폴더와 기존 데이터 폴더를 www-data:www-data로 소유권한을 주어야 하는 것 같다.

그리고 폴더가 변경된 이후에 소유그룹을 변경하자.

https://jamong1014.tistory.com/111

 

[Server]OwnCloud 'data 폴더' 바꾸기 (Ubuntu/Debian)

가정 현재 폴더 : /var/www/owncloud/data 새 폴더 : /mnt/owncloud/data 아파치로 웹 서버 사용 중 OwnCloud의 데이터베이스 이름은 'owncloud' 단계 설명 아파치 중지 인스턴스에 대한 유지 관리 모드 활성화 Rsync

jamong1014.tistory.com

 

이걸로 설치를 하게 되면 owncloud 계정이 root에 비밀번호가 1234로 저장된다.

로그인해서 비밀번호를 바꿔는게 좋을 것이다.

그리고 db 계정은 root 이고 비밀번호가 1234인데 바꿔주는 것이 좋을 것이다.

db로 mariadb와 mysql을 사용하는데 비밀번호 변경은 아래와 같이 해주면 된다.

mysql -u root -p

비밀번호를 입력하라고 나오는데 1234를 입력한다.

mariadb에 접속되는데 mysql을 사용한다고 설정한다.

use mysql;

패스워드를 변경해준다. password()는 암호를 복호화해준다.

set password for 'root'@'localhost' = password('바꿀 비밀번호');

 바뀐 사항을 적용시킨다.

flush privileges;
exit;

마리아 db에서 나온다.

mysql -u root -p

새로운 비밀번호로 로그인이 되는지 확인한다.

 

기본적으로 80 포트로 설치된다.

 

owncloud 데이터 폴더 내용을 변경해도 목록이 반영되지 않는데 아래와 같이 하면 반영된다.

owncloud가 설치된 폴더로 들어간다.

cd /var/www/owncloud
sudo -u www-data php occ files:scan --all

파일을 검색해준다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

우분투 서버 22.04 설치

 

설치 USB를 만들었으면 컴퓨터에 꽂고 전원을 킨다.

설치 usb가 없으면 여기서 보자.

여기선 ventoy를 이용했는데 rufus를 사용해도 된다.

delete키를 눌러 부팅 우선순위를 바꾸고 저장하거나

esc키를 눌러 현재 부팅할 저장소를 선택해준다.(해당 키는 메인보드마다 다르다)

그런 뒤에 부팅하면 ventoy 선택화면이 뜰 것이다. 설치할 iso파일을 선택해준다.

 

리눅스 부팅이 시작되는데 여기서 첫번째 normal을 선택한다.

try or install ubuntu server를 선택한다.

설치를 준비한 뒤에 언어를 선택하는 화면이 나온다.

english를 선택하고 done을 눌러준다.

우분투 서버는 기본적으로 cli환경인데 한글이 지원되지 않는다.

추가로 desktop을 깔면 한글을 추가할 수 있지만 cli에서 글자가 깨지므로 기본언어는 영어로 해두는게 좋다.

키보드 레이아웃은 korean으로 설치한다. 어차피 한영키 사용을 위해서 추후에 변경해줘야 한다.

전체설치 최소설치를 선택화면에서 전체설치를 선택하고 done을 눌러준다.

proxy address는 수정하지 않고 done을 눌러준다.

mirror address도 수정하지 않고 done을 눌러준다.

 

설치 버전 update는 가운데 continue without update를 선택해준다.

 

하드 선택은 custom을 선택해서 윈도우를 설치할 때 미리 만들어둔 파티션을 수정해준다.

우분투를 설치할 파티션에 엔터를 누르고 edit를 누르고 ext4 포맷으로 바꿔주고 마운트 위치도 /로 바꿔준다.

그리고 done을 눌러준다.

 

name 폴더에 사용되고 표시되는 이름이다. ex)user

servername 서버의 이름이다. ex)server

username 사용자 아이디이다 ex)userid

password 비밀번호이다.

password confirm 비밀번호를 다시 눌러준다.

 

openssh는 설치해도 되고 안해도 된다.

나는 안하고 지나갔다.

 

이제 한참 기다리면 우분투 서버가 설치 완료된다

완료됐다는 메시지가 나오면 usb를 빼고 엔터를 눌러 재부팅을 시켜준다.

부팅이 완료되면 login이 나올 것이다.

여기에 username을 입력한다.

그리고 password를 입력해서 로그인 한다.

 

sudo passwd root를 해서 root의 비밀번호를 설정해준다.

나는 만든 계정의 비번과 통일했는데 다르게 설정할 수 있는지는 모르겠다.

 

우분투 서버에 gui환경 설치하기

sudo apt-get update

업데이트 가능 패키지를 검색한다.

sudo apt-get upgrade

업데이트를 해준다.

서버 개발 ide를 사용하거나 설정을 쉽게 하기 위해 gui를 설치해준다.

sudo apt-get install --no-install-recommends ubuntu-desktop
sudo apt-get install ubuntu-desktop

위는 최소설치 아래는 전체설치 인데 전체설치를 한다.

저장소 용량을 사용한다고 물어보는데 y를 눌러준다.

sudo apt-get install indicator-appmenu-tools

몇몇 오류 해결과 편의성을 위해 설치해준다.

sudo apt-get install lightdm

가벼운 lightdm을 깔아준다.

gdm3 lightdm 선택화면에서 lightdm을 선택해준다.

 

CLI환경으로 부팅하기

sudo vi /etc/default/grub

desktop을 설치하면 gui환경으로 부팅되는데 cli로 부팅되도록 grub을 수정해준다.

 

화면에서 GRUB_CMDLINE_LINUX_DEFAULT="" 라인을 주석 처리 한다.

GRUB_CMDLINE_LINUX="text" text를 입력해준다.

#GRUB_TERMINAL=console 에서 주석을 제거 한다.

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

수정을 마쳤으면 esc를 누르고 wq! 엔터를 눌러 저장한다.

sudo update-grub

수정한 grub을 적용해준다.

sudo systemctl set-default multi-user.target

시스템 설정을 cli로 변경해준다.

sudo reboot

리부팅 한다.

 

gui가 필요할때는 서비스를 실행해서 사용한다.

sudo service lightdm start

 

GUI환경으로 부팅하기 

sudo systemctl set-default graphical.target

시스템 설정을 gui로 변경해준다.

sudo vi /etc/default/grub

주석을 제거한다.

GRUB_CMDLINE_LINUX_DEFAULT=""

GRUB_CMDLINE_LINUX에서 text를 지워준다.

GRUB_CMDLINE_LINUX=""

GRUB_TERMINAL를 주석처리한다.

#GRUB_TERMINAL=console

wq!를 눌러 저장한다.

sudo update-grub

수정한 grub을 적용하고 리부팅한다.

reboot

리눅스 시간 로컬 타임존으로 설정하기

듀얼부팅할 경우 리눅스를 부팅한 후에 윈도우를 부팅해보면 시간이 바껴있다.

날짜가 하루 차이거나 같고 시간은 다른데 분이 똑같다.

메인보드까지 동일하게 시간을 바꿔버린다.

타임존에 문제인거 같아서 검색을 해보니

리눅스에선 utc타임을 사용해서 시간을 설정하고 거기서 로컬 타임 시간을 적용한다고 한다.

그걸 로컬 타임을 적용하는 방법이 있었다.

 

우분투 터미널에서 적용해주자.

timedatectl set-local-rtc 1 --adjust-system-clock

잘 적용되었는지 확인하려면 아래를 실행시키면 된다.

timedatectl

그 뒤에 메인보드 시간을 바꾸거나 윈도우에 로그인해서 시간을 동기화 해주어야 하는 것 같다.

이제는 우분투를 부팅하고 윈도우를 부팅해도 시간이 잘 나온다.

 

원래대로 utc 타임을 설정하려면 아래와 같이 실행하면 된다.

timedatectl set-local-rtc 0 --adjust-system-clock

 

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,

2테라의 하드가 달려있는 오래된(인텔 3세대) 데스크탑이 있는데

방치하기 아깝고 우분투도 써보고 웹서버도 개발해보고 NAS도 깔아보기 위해

겸사겸사 우분투 서버 22.04를 설치했다.

여러가지 문제가 생겨서 6~7번은 지우고 다시 깔았던거 같다.

나중에 다시 찾아볼지 몰라 정리해둔다.

 

먼저 설치할 우분투를 받는다.

우분투 서버는 gui가 제외되서 이미지 용량이 1.4G정도이고 우분투 데스크탑은 3.6G정도 된다.

https://ubuntu.com/download

 

Get Ubuntu | Download | Ubuntu

Download Ubuntu desktop, Ubuntu Server, Ubuntu for Raspberry Pi and IoT devices, Ubuntu Core and all the Ubuntu flavours. Ubuntu is an open-source software platform that runs everywhere from the PC to the server and the cloud.

ubuntu.com

우분투 서버 22.04 버전을 다운로드 받는다.

 

이미지를 usb에 굽기 위해서 ventoy 를 다운로드 받는다.

운영체제에 맞는 버전을 다운로드 받는다.

나는 windows버전을 받았다.

 

https://www.ventoy.net/en/download.html

 

Ventoy

Ventoy is an open source tool to create bootable USB drive for ISO files. With ventoy, you don't need to format the disk again and again, you just need to copy the iso file to the USB drive and boot it.

www.ventoy.net

 

ventoy는 부트로더를 깐 뒤에 usb에 iso를 복사해서 선택하게 되어 있어

usb하나로 여러개의 운영체제를 설치할 수 있다.

4g이상의 usb 장치를 선택해준다.(우분투 서버기준)

여러 iso를 함께 넣을거라면 8g나 16g 이상을 선택하는 것이 좋다.

포맷이 되니 usb에 필요한 파일이 있다면 먼저 백업해두자.

 

압축을 풀어서 폴더에 들어간 뒤 ventoy2disk.exe를 실행시킨다.

오래된 컴퓨터라 11은 깔 필요가 없어서 옵션의 보안 부트는 해제했다.

옵션에서 파티션 유형을 mbr로 바꿔준다.

그리고 설치를 클릭한다. 경고가 나오면 확인을 눌러준다.

ventoy 실행화면

장치를 포맷하고 부트로더를 깔아준다.

완료되면 장치가 비어있을 것이다.

거기에 다운로드한 우분투 iso파일을 넣어준다.

나는 윈도우10도 같이 넣어주었다.

 

같은 저장소에서 윈도우와 멀티부팅을 하려면 윈도우를 먼저 깔고 우분투를 깔아야

grub을 통해 부팅할 운영체제를 선택할 수 있다.

블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,