Piwigo 설치

Debian 12 Bookworm 기준으로 작성.

설치, 운영에 필요한 패키지 설치

# 패키지 설치 전 시스템 업데이트
sudo apt update && sudo apt upgrade

# 아파치, MariaDB, PHP 및 동영상 처리 관련 필수 모듈 설치
sudo apt install apache2 mariadb-server ffmpeg imagemagick ibimage-exiftool-perl mediainfo zip
sudo apt install php{,-{gd,mysql,curl,mbstring,xml,zip,imagick,bcmath}}

설치할 디렉토리 생성 및 권한 설정

sudo bash -c "mkdir /var/www/piwigo && chown www-data:www-data piwigo && chmod 755 piwigo"

아파치 VHost 설정

sudo nano /etc/apache2/sites-available/piwigo.conf 

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/piwigo
    ServerName piwigo.example.com

    <Directory /var/www/piwigo>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/piwigo_error.log
    CustomLog ${APACHE_LOG_DIR}/piwigo_access.log combined
</VirtualHost>
sudo a2ensite piwigo.conf
sudo a2enmod rewrite
sudo apache2ctl restart

PHP 설정

업로드 크기 제한, 메모리 사용, 실행 시간 제한을 조정

sudo nano /etc/php/8.2/apache2/php.ini
upload_max_filesiz = 500M
post_max_size = 520M
memory_limit = 1024M
max_excution_time = 600
sudo apache2ctl restart

MariaDB 설정

MariaDB를 처음 설치했다면 다음과 같이 보안 관련 설정을 진행

sudo mysql_secure_installation

Piwigo 데이터베이스 생성 및 설정

sudo mysql -u root -p

CREATE DATABASE piwigo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'piwigo_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON piwigo.* TO 'piwigo_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Piwigo 설치

sudo wget -O piwigo.zip https://www.piwigo.org/download/dlcounter.php?code=latest
sudo unzip -d /var/www piwigo.zip
sudo chown -R www-data:www-data /var/www/piwigo

Piwigo 설치

아파치 가상 호스트 설정에서 지정한 URL로 접속
정상적으로 설치 페이지가 나온다면 필요한 정보 입력

Piwigo 설정

필수 플러그인 : LocalFiles Editor, VideojS

LocalFiles Editor > Settings > Locfiledit.onglet_localcofn

<?php

/* locfiledit_newfile */

// 이미지 크기조정에 사용하는 라이브러리 설정
// 설정 가능한 겂은 'auto', 'imagick', 'ext_imagick' or 'gd'이며 
// 'auto'를 선택하면 위에 나열한 순서대로 확인하면 설치되어 있는 것을 사용합니다.
// HEIC 파일을 위해서 ext_imagick 선택
$conf['graphics_library'] = 'ext_imagick';

// ImageMagick ('ext_imagick') 설치 디렉토리 설정
// 아래의 위치는 데비안 기준입니다.
$conf['ext_imagick_dir'] = '/usr/bin/';

// 동영상 미리보기를 위해서 FFMPEG 실행파일 디렉토리 설정
// 아래의 위치는 데비안 기준입니다.
$conf['ffmpeg_dir'] = '/usr/bin/';

// HEIC, MP4, PDF 등을 위한 설정
$conf['upload_form_all_types'] = true;

$conf['file_ext'] = array_merge(
  $conf['picture_ext'],
  array('jpg','jpeg','png','gif','heic','mp4','webmv','m4v','webm', 'mov', 'pdf','ai','psd','eps')
  );

?>

모두 적용했다면
도구 > 유지보수 > 환경 에서
아래와 같이
환경 항목에 “그래픽 라이브러리: External ImageMagick x.x.xx-xx”,
활성화된 플러그인 목록에 “VideojS”
항목이 있는지 확인

사용중에 필요한 내용들

즐겁게 사용하십시요.