Piwigo 설치

Debian 13 기준으로 작성.

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

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

아파치 VHost 설정

PHP 설정

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

MariaDB 설정

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

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

Piwigo 설치

Piwigo 설치

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

Piwigo 설정

필수 플러그인 : LocalFiles Editor, VideojS

LocalFiles Editor > Settings > Locfiledit.onglet_localcofn

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

Multisite 설정

하나의 Piwigo 여러개의 독립된 인스턴스 운영을 하는 방법
Mulitple Site (Multisite) 참고

다중 사이트 (Multisite)

다중 사이트는 Piwigo 2.2에서 추가된 한번의 Piwigo 설치로 여러개의 갤러리를 운영하는 기능입니다. Piwigo.com에서는 수천개의 갤러리들을 하나의 설치본으로 운영하고 있습니다.

데이터베이스

각 갤러리마다 하나의 데이터베이스를 사용하거나 같은 데이터베이스에 테이블 접두사만 다르게해서 여러 갤러리가 사용하는 것이 가능합니다.

Piwigo files

Piwigo 파일을 다운로드 받고 서버가 운용될 위치(ex /var/www/piwigo)에 압축 해제 하십시오.

웹서버 설정 (Apache기준)

서브 디렉토리 방식으로 한다면 처음 코드를, 서브도메인 방식으로 한다면 두번째의 코드를 참고해서 아파치 설정 파일을 작성합니다.

사이트 디렉터리

/var/www/piwigo/gallery1, /var/www/piwigo/gallery2를 생성하고 개별 운영에 필요한 디렉터리를 추가로 생성, 그리고 소유권과 모드를 조정합니다.
우선 1번 갤러리를 설정하고 이어서 2번 갤러리도 설정합니다. 그리고 필요한 만큼 동일하게 설정합니다.

멀티사이트 활성화

처음 Piwigo를 설치한 디렉터리에서 local/conf/config.inc.php 파일에 다음과 같은 내용을 추가합니다. 이 방식은 Piwigo가 현재 gallery1 또는 gallery2를 실행하는지 어떻게 이해할 수 있는지 확인하는 것입니다. 이 예시에서는 $_SERVER['SCRIPT_NAME'] 변수를 사용했습니다. 웹 서버 또는 $_SERVER['SERVER_NAME'] 변수의 서버 이름(특정 하위 도메인을 검색하는 경우)에서 설정한 환경 변수를 사용할 수도 있습니다. 별칭 또는 서버 이름이 일치하지 않으면 처음 설치한 위치에 있는 기본 갤러리를 사용합니다.

설치

이제 각각의 Piwigo 갤러리: http://yourdomain.com/gallery1, http://yourdomain.com/gallery2 또는 http://gallery1.yourdomain.com/, http://gallery2.yourdomain.com/ 로 이동해서 각각의 설치를 진행합니다. 명심해야 하는 것은 http://yourdomain.com/piwigo 이나 http://piwigo.yourdomain.com/ 형식으로 접근이 가능한 기본 갤러리가 있어야 한다는 사실입니다.

물리 앨범

Multisites의 Physical Albums (일명 Synchronization)는 아직 (평균 버전 2.5.1)가 바로 사용할 수는 없습니다. 그건 galleries 디렉토리에 있는 모든 것을 의미합니다. 여기서 주요 문제는 설치의 모든 멀티사이트가 이 디렉토리를 공유하고 있다는 것입니다. 다른 문제는 현재 코드 디렉토리 traversals를 사용하면 다른 갤러리를 가져올 수 있다는 것입니다.

로컬/config/config.inc.php에서 다음 코드 스니펫으로 동기화를 비활성화합니다.
사진 추가를 위한 동기화 방법 비활성화 $conf['enable_synchronization'] = false;

또는 포럼 게시물 22173에 설명 된대로 코드를 수정, 물리적 앨범은 멀티 사이트 저장되지 않도록 하는 방법이 있습니다.

멀티사이트를 위한 동기화 개조

galleries 디렉터리 경로가 upload_dir이나 data_locaction과 달리 설정 파일에서 정의되어 있지 않기 때문에 $conf변수에 site_dir을 추가해야 합니다. 이미 위에서 기술한 if (isset($site_dir)) 블럭에 다음을 추가합니다. 그리고 admin/site_manager.php을 수정해서 멀티 사이트 설치시 gallieries에 필요한 접두사를 붙이도록 합니다. 설치한 뒤에 이 수정을 적용하면 이미 생성된 galleries에 자동으로 접두사가 붙지는 않습니다. 따라서 이미 설치한 경우에는 데이터베이스에서 prefix_piwigo_site 테이블도 수정해야 합니다. 추가된 정규표현식(regex)은 다음에 나오는 것을 제거하는 역할입니다.

다중 슬래시 (/)

처음과 마지막에 붙는 슬래시들

./, ../, .../ 등등 디렉터리 표시

잘 되길 바랍니다.

멀티 사이트 설치 후에 수정

멀티사이트를 설치하기 전에 위에 기술한 수정사항을 적용했다면 아래의 내용을 적용하지 마십시오.
구글링 하면서 한것이라 깔끔하지 못함 주의!
관리자 > 도구 > 동기화하기 > 사이트 관리자 > 새 사이트 만들기
디렉토리 입력칸이 .입력 후 <Enter>
./galleries/<multisite name>/gallieries/ 와 같이 디렉토리 추가 확인
다음과 같이 테이블 내용 수정 사이트 관리자 화면을 새로고침해서 정상적으로 설정되었는지 확인
모든 적용되면 이런식으로 동기화하기 옆에 삭제 버튼이 없어야 합니다.

설치후기

생각보다 쉽게 설치가 가능하고 많은 플러그인과 간결한 UI로 편리합니다.
N40L에서 처음에 5000장 정도의 사진을 한번에 처리하느라 고생했지만
일상적으로 몇 장씩 추가한다면 잘 작동합니다.
위에서 기술한 설정 변경과 패치를 적용해도 최상위 Piwigo에서 galleries 전체를 읽어들이는 문제는 여전함으로 galleries가 아니 piwigo 하위에 multisite 전용 디렉토리를 마련하고 거기에 각 사이트를 생성하는 것이 좋아보입니다.