작성일 — 댓글 남기기

Certbot 인증서 사이트 추가하기

sudo certbot certonly –standalone –cert-name 대표도메인 -d 대표도메인 -d 추가도메인 -d 추가도메인 [원하는 만큼]

오류가 발생하는지 확인하기 위해 시뮬레이션하려면 –standalone 옵션 뒤에 –dry-run 옵션을 추가해주면 된다.

sudo certbot certonly –standalone –dry-run –cert-name 대표도메인 -d 대표도메인 -d 추가도메인 -d 추가도메인 [원하는 만큼]

작성일 — 댓글 남기기

[Docker] PhotoPrism 설치 및 업데이트

PhotoPrism 설치

PhotoPrism에서 제공하는 docker-compose.yml 파일을 적당한 위치에 다운로드 합니다.
예를 들어, /home/사용자이름/apps/photoprism 에 다운로드 받습니다.

wget https://dl.photoprism.app/docker/docker-compose.yml

vi 편집기로 docker-compose.yml 파일을 수정합니다.

기본 포트는 호스트 2342, 컨테이너 2342인데, 다른 포트로 변경하려면 변경합니다.
저는 그대로 2342로 했고, 아파치웹서버에서 ProxyPass로 외부 443번 포트를 2342포트로 넘겨주어 접속하게 했습니다.

ports:
– “2342:2342” # HTTP port (host:container)

admin 계정 비밀번호를 변경합니다. 큰 따옴표 안 insecure 부분을 지우고 입력해 주면 됩니다.

PHOTOPRISM_ADMIN_PASSWORD: “insecure” # initial admin password (8-72 characters)

5000MB 보다 큰 파일이 있다면 변경해 줍니다. 동영상의 경우 5기가보다 큰 영상이 있을 수 있습니다.
저는 0 하나를 더 붙였습니다.

PHOTOPRISM_ORIGINALS_LIMIT: 50000 # file size limit for originals in MB (increase for high-res video)

데이터베이스 설정은 건드릴 필요는 없는 것 같습니다. 비밀번호도 변경하지 않아도 됩니다.
PhotoPrism에서도 “데이터베이스를 다른 앱이나 호스트에 노출하지 않는다면 보안 비밀번호를 반드시 선택해야 하는 것은 아닙니다.”라고 합니다.
그러나 비밀번호를 변경하려면 반드시 처음 시작 전에 변경해야만 합니다.

데이터베이스는 docker-compose.yml이 있는 위치의 하위 디렉터리 database에 저장됩니다.

가장 중요한 PhotoPrism 볼륨 설정입니다. originals과 storage 두 개의 디렉터리만 연결하면 됩니다.
콜론(:) 앞의 부분을 원하는 디렉터리로 수정합니다.
originals은 이미 정리된 사진이 들어있는 디렉터리의 루트 경로를 적어주면 됩니다.
storoage는 스캔한 사진의 썸네일과 같은 캐시 파일이 저장될 경로를 적어주면 됩니다.

volumes:
– “~/Pictures:/photoprism/originals” # Original media files (DO NOT REMOVE)
– “./storage:/photoprism/storage” # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)

제 경우는 /storage/photo_data 를 originals에, /storage/photoprism/storage 를 storage에 연결했습니다.
예전부터 정리해오면 사진 파일이 photo_data 디렉터리 아래에 년도별로 월별로 이벤트 별로 정리되어 있습니다.
이렇게 정리가 되어 있으면, PhotoPrism에서 앨범을 따로 만들 필요 없이, 폴더 메뉴를 통해 앨범처럼 접근할 수 있습니다.
(유사 서비스에는 대체로 폴더로 접근하게 해주는 기능이 없는 것으로 압니다.)

아래와 같이 수정해줬습니다.

volumes:
– “/storage/photo_data:/photoprism/originals” # Original media files (DO NOT REMOVE)
– “./storage/photoprism/storage:/photoprism/storage” # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)

이제 도커를 실행해 줍니다.

sudo docker compose -d up

PhotoPrism 업데이트

업데이트는 간단합니다.

새로운 버전을 pull 해줍니다. 대략 2-3분 정도 다운로드 받고 Pull 합니다.

sudo docker compose pull

Pulling이 끝나면 도커를 재시작 해줍니다.

sudo docker compose stop
sudo docker compose up -d

최신 버전이 되었습니다.

작성일 — 댓글 남기기

Ubuntu Server에 Webmin 설치

Webmin에서 자동 스크립트를 만들어 놓았다.
아래 명령어로 Repository(저장소)를 추가한다.

curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh

아래 명령어로 webmin을 설치한다.

sudo apt install –install-recommends webmin

아래 주소로 Webmin에 접속하여 자신의 계정으로 접속한다.

192.168.0.xxx:10000

작성일 — 댓글 남기기

Nextcloud APCu Memcached Redis 설정

PHP 8.2 기준

APCu Memcache Redis 설치

sudo apt install memcached redis-server php8.2-memcached php8.2-redis php8.2-apcu

APCu 설정

sudo vi /etc/php/8.2/mods-available/apcu.ini

아래 내용 추가
apc.enable_cli=1

Redis 설정

redis 설정 파일 열기

sudo vi /etc/redis/redis.conf

아래 부분이 주석처리 되어 있다면 주석 해제 (맨 앞의 # 문자 제거)

#port 6379
#unixsocket /var/run/redis/redis-server.sock
#unixsocketperm 700

아래로

port 6379
unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770

redis 사용자 www-data 그룹에 추가

sudo usermod -a -G redis www-data

Nextcloud 설정

nextcloud/config/config.php 파일에 아래 내용 추가

‘memcache.local’ => ‘\\OC\\Memcache\\APCu‘,
‘memcache.distributed’ => ‘\\OC\\Memcache\\Memcached‘,
‘memcached_servers’ =>
array (
0 =>
array (
0 => ‘localhost’,
1 => 11211,
),
),
‘memcache.locking’ => ‘\\OC\\Memcache\\Redis‘,

아파치 서버 재시작

sudo service apache2 restart

Nextcloud 관리자 페이지에 들어가면 메모리 캐시 관련 경고가 사라졌다.

작성일 — 댓글 남기기

Nextcloud 수동 업그레이드

업그레이드 하고자 하는 버전의 링크 주소를 복사

여기서는 25버전에서 다음 버전으로 자동 업데이트가 되지 않아 아래 주소에서  26.0.0 버전을 다운 받음

https://nextcloud.com/changelog

wget https://download.nextcloud.com/server/releases/nextcloud-26.0.0.tar.bz2

기존 nextcloud 디렉터리의 이름을 nextcloud_old로 변경

mv nextcloud nextcloud_old

bz2 압축파일을 풀어줌

tar -xvf nextcloud-26.0.0.tar.bz2

아파치 서버를 멈춰줌

sudo service apache2 stop

기존의 config.php 파일을 복사

sudo cp nextcloud_old/config/config.php nextcloud/config/

data 경로를 따로 쓰지 않았다면 data 디렉터리를 mv 명령어로 옮겨야 한다(대부분 따로 쓰지 않나 싶음).

nextcloud 디렉터리의 소유자와 권한을 수정.

sudo chmod -R 770 nextcloud
sudo chown -R www-data:www-data nextcloud

아파치 서버를 다시 시작함

sudo service apache2 start

브라우저로 클라우드 접속하여 업데이트 진행