piwigo:start

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
piwigo:start [2025/12/31 02:46] – MultiSite 설정 추가 baecypiwigo:start [2026/01/01 11:52] (현재) baecy
줄 1: 줄 1:
-=== Piwigo 설치 ==+=== Piwigo 설치 ===
 Debian 13 기준으로 작성. Debian 13 기준으로 작성.
  
 == 설치, 운영에 필요한 패키지 설치 == == 설치, 운영에 필요한 패키지 설치 ==
-<codeprism bash>+<codeprism lang=bash>
 # 패키지 설치 전 시스템 업데이트 # 패키지 설치 전 시스템 업데이트
 sudo apt update && sudo apt upgrade sudo apt update && sudo apt upgrade
줄 90: 줄 90:
 정상적으로 설치 페이지가 나온다면 필요한 정보 입력  정상적으로 설치 페이지가 나온다면 필요한 정보 입력 
  
-=== Piwigo 설정 ===+== Piwigo 설정 ==
 필수 플러그인 : LocalFiles Editor, VideojS \\ 필수 플러그인 : LocalFiles Editor, VideojS \\
  
줄 122: 줄 122:
   );   );
  
-?></codeprism>+?> 
 +</codeprism>
  
 모두 적용했다면 \\ 모두 적용했다면 \\
줄 132: 줄 133:
 {{.:pasted:20251224-055830.png}} {{.:pasted:20251224-055830.png}}
  
-==== Multisite 설정 ====+=== Multisite 설정 ===
 하나의 Piwigo 여러개의 독립된 인스턴스 운영을 하는 방법\\ 하나의 Piwigo 여러개의 독립된 인스턴스 운영을 하는 방법\\
-[[https://github.com/Piwigo/Piwigo/wiki/Multiple-Site-%28Multisite%29]] 참고 \\ +[[https://github.com/Piwigo/Piwigo/wiki/Multiple-Site-%28Multisite%29|Mulitple Site (Multisite)]] 참고 \\ 
-=== 다중 사이트 (Multisite) ===+ 
 +== 다중 사이트 (Multisite) ==
 다중 사이트는 Piwigo 2.2에서 추가된 한번의 Piwigo 설치로 여러개의 갤러리를 운영하는  기능입니다. Piwigo.com에서는 수천개의 갤러리들을 하나의 설치본으로 운영하고 있습니다. 다중 사이트는 Piwigo 2.2에서 추가된 한번의 Piwigo 설치로 여러개의 갤러리를 운영하는  기능입니다. Piwigo.com에서는 수천개의 갤러리들을 하나의 설치본으로 운영하고 있습니다.
-=== 데이터베이스 ===+ 
 +== 데이터베이스 ==
 각 갤러리마다 하나의 데이터베이스를 사용하거나 같은 데이터베이스에 테이블 접두사만 다르게해서 여러 갤러리가 사용하는 것이 가능합니다. 각 갤러리마다 하나의 데이터베이스를 사용하거나 같은 데이터베이스에 테이블 접두사만 다르게해서 여러 갤러리가 사용하는 것이 가능합니다.
-=== Piwigo files ===+ 
 +== Piwigo files ==
 Piwigo 파일을 다운로드 받고 서버가 운용될 위치(ex /var/www/piwigo)에 압축 해제 하십시오. Piwigo 파일을 다운로드 받고 서버가 운용될 위치(ex /var/www/piwigo)에 압축 해제 하십시오.
-=== 웹서버 설정 (Apache기준) ===+ 
 +== 웹서버 설정 (Apache기준) ==
 서브 디렉토리 방식으로 한다면 처음 코드를, 서브도메인 방식으로 한다면 두번째의 코드를 참고해서 아파치 설정 파일을 작성합니다. 서브 디렉토리 방식으로 한다면 처음 코드를, 서브도메인 방식으로 한다면 두번째의 코드를 참고해서 아파치 설정 파일을 작성합니다.
 <codeprism lang=apacheconf> <codeprism lang=apacheconf>
줄 154: 줄 159:
 </codeprism> </codeprism>
  
-=== 사이트 디렉터리 ===+== 사이트 디렉터리 ==
 /var/www/piwigo/gallery1, /var/www/piwigo/gallery2를 생성하고 개별 운영에 필요한 디렉터리를 추가로 생성, 그리고 소유권과 모드를 조정합니다.\\ /var/www/piwigo/gallery1, /var/www/piwigo/gallery2를 생성하고 개별 운영에 필요한 디렉터리를 추가로 생성, 그리고 소유권과 모드를 조정합니다.\\
 우선 1번 갤러리를 설정하고 우선 1번 갤러리를 설정하고
줄 171: 줄 176:
 </codeprism> </codeprism>
 그리고 필요한 만큼 동일하게 설정합니다. 그리고 필요한 만큼 동일하게 설정합니다.
-=== 멀티사이트 활성화 ===+ 
 +== 멀티사이트 활성화 ==
 처음 Piwigo를 설치한 디렉터리에서 ''local/conf/config.inc.php'' 파일에 다음과 같은 내용을 추가합니다. 처음 Piwigo를 설치한 디렉터리에서 ''local/conf/config.inc.php'' 파일에 다음과 같은 내용을 추가합니다.
 <codeprism lang=php> <codeprism lang=php>
줄 197: 줄 203:
 이 방식은 Piwigo가 현재 gallery1 또는 gallery2를 실행하는지 어떻게 이해할 수 있는지 확인하는 것입니다. 이 예시에서는 $_SERVER['SCRIPT_NAME'] 변수를 사용했습니다. 웹 서버 또는 $_SERVER['SERVER_NAME'] 변수의 서버 이름(특정 하위 도메인을 검색하는 경우)에서 설정한 환경 변수를 사용할 수도 있습니다. 별칭 또는 서버 이름이 일치하지 않으면 처음 설치한 위치에 있는 기본 갤러리를 사용합니다. 이 방식은 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/ 형식으로 접근이 가능한 기본 갤러리가 있어야 한다는 사실입니다.+이제 각각의 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를 사용하면 다른 갤러리를 가져올 수 있다는 것입니다. Multisites의 Physical Albums (일명 Synchronization)는 아직 (평균 버전 2.5.1)가 바로 사용할 수는 없습니다. 그건 //galleries// 디렉토리에 있는 모든 것을 의미합니다. 여기서 주요 문제는 설치의 모든 멀티사이트가 이 디렉토리를 공유하고 있다는 것입니다. 다른 문제는 현재 코드 디렉토리 traversals를 사용하면 다른 갤러리를 가져올 수 있다는 것입니다.
  
 로컬/config/config.inc.php에서 다음 코드 스니펫으로 동기화를 비활성화합니다. 로컬/config/config.inc.php에서 다음 코드 스니펫으로 동기화를 비활성화합니다.
- +\\ 
-// 사진 추가를 위한 동기화 방법 비활성화+사진 추가를 위한 동기화 방법 비활성화 
 $conf['enable_synchronization'] = false; $conf['enable_synchronization'] = false;
  
-또는 [[https://piwigo.org/forum/viewtopic.php?id=22173|포럼 게시물 22173]]에 설명 된대로 코드를 정, 물리적 앨범은 멀티 사이트 저장되지 않도록 하는 방법이 있습니다.+또는 [[https://piwigo.org/forum/viewtopic.php?id=22173|포럼 게시물 22173]]에 설명 된대로 코드를 정, 물리적 앨범은 멀티 사이트 저장되지 않도록 하는 방법이 있습니다.
  
 +== 멀티사이트를 위한 동기화 개조 ==
 +''galleries'' 디렉터리 경로가 ''upload_dir''이나 ''data_locaction''과 달리 설정 파일에서 정의되어 있지 않기 때문에 ''$conf''변수에 ''site_dir''을 추가해야 합니다. 이미 위에서 기술한 ''if (isset($site_dir))'' 블럭에 다음을 추가합니다.
 +<codeprism lang=php>
 +$conf['site_dir'] = $site_dir;
 +</codeprism>
 +그리고 ''admin/site_manager.php''을 수정해서 **멀티 사이트 설치시** ''gallieries''에 필요한 접두사를 붙이도록 합니다. 설치한 뒤에 이 수정을 적용하면 이미 생성된 ''galleries''에 자동으로 접두사가 붙지는 않습니다. 따라서 이미 설치한 경우에는 데이터베이스에서 ''//prefix//_piwigo_site'' 테이블도 수정해야 합니다.
 +<codeprism lang=diff>
 +--- admin/site_manager.php  2013-01-01 13:35:02.000000000 +0100
 ++++ admin/site_manager.php  2013-05-31 17:06:31.000000000 +0200
 +@@ -53,8 +58,12 @@
 +   {
 +     fatal_error('remote sites not supported');
 +   }
 +-  $url = preg_replace('/[\/]*$/', '', $_POST['galleries_url']);
 ++  $url = preg_replace(array('/\/+/', '/(\.+\/)|(^\/)|(\/$)/'), array('/', ''), $_POST['galleries_url']);
 +   $url.= '/';
 ++  if (isset($conf['site_dir']))
 ++  {
 ++    $url = $conf['site_dir'] . '/' . $url;
 ++  }
 +   if ( ! (strpos($url, '.') === 0 ) )
 +   {
 +     $url = './' . $url;
 +</codeprism>
 +추가된 정규표현식(regex)은 다음에 나오는 것을 제거하는 역할입니다.
 +  * 다중 슬래시 (/)
 +  * 처음과 마지막에 붙는 슬래시들 
 +  * %%./, ../, .../%% 등등 디렉터리 표시
 +
 +잘 되길 바랍니다.
 +
 +== 멀티 사이트 설치 후에 수정 ==
 +**멀티사이트를 설치하기 전에 위에 기술한 수정사항을 적용했다면 아래의 내용을 적용하지 마십시오.**\\
 +구글링 하면서 한것이라 깔끔하지 못함 주의!\\
 +관리자 > 도구 > 동기화하기 > 사이트 관리자 > 새 사이트 만들기 \\
 +디렉토리 입력칸이 ''.''입력 후 <Enter> \\
 +''./galleries/<multisite name>/gallieries/'' 와 같이 디렉토리 추가 확인 \\
 +다음과 같이 테이블 내용 수정
 +<codeprism lang=bash>
 +mariadb -u piwigo_user -p
 +</codeprism>
 +<codeprism lang=sql>
 +USE piwigo; # 설치한 데이터베이스로 변경
 +SELECT * FROM <prefix>_piwigo_sites; # <prefix>는 멀티사이트 설정시에 입력한 값
 +DELEETE FROM <prefix>_piwigo_sites WHERE id = 1; # 기본으로 설정된 ROOT Piwigo 갤러리위치가 기록된 행, 위에 SELECT 구문으로 확인
 +UPDATE TABLE set id = 1 WEHRE id = 2; # 설정, site_admin.php 수정후 생성한 갤러리를 기본으로 설정
 +quit;
 +</codeprism>
 +사이트 관리자 화면을 새로고침해서 정상적으로 설정되었는지 확인 \\
 +모든 적용되면 {{.:pasted:20251231-115925.png}} 이런식으로 동기화하기 옆에 삭제 버튼이 없어야 합니다.
  
 +=== 설치후기 ===
 +생각보다 쉽게 설치가 가능하고 많은 플러그인과 간결한 UI로 편리합니다.\\
 +N40L에서 처음에 5000장 정도의 사진을 한번에 처리하느라 고생했지만 \\
 +일상적으로 몇 장씩 추가한다면 잘 작동합니다.\\
 +위에서 기술한 설정 변경과 패치를 적용해도 최상위 Piwigo에서 galleries 전체를 읽어들이는 문제는 여전함으로 galleries가 아니 piwigo 하위에 multisite 전용 디렉토리를 마련하고 거기에 각 사이트를 생성하는 것이 좋아보입니다.
  • piwigo/start.1767149160.txt.gz
  • 마지막으로 수정됨: 2025/12/31 02:46
  • 저자 baecy