종착지는 워드프레스 멀티사이트

시놀로지 NAS를 구매하고 블로그를 운영하려고 워드프레스 패키지를 설치했다. 워드프레스 두 개를 운영하고 싶었으나 패키지로는 할 수 없어 워드프레스 사이트에서 설치 파일을 다운로드 받아 최신 버전 워드프레스를 설치했다.

그러고 처음 시놀로지 패키지로 설치한 워드프레스가 최신 버전이 아니라는 것을 알게되었다. 최신 버전을 사용하려고 최신 워드프레스를 설치하고 작성했던 포스트들을 이전했다.

두 개의 워드프레스를 운영하니 각종 플러그인들을 각 사이트에 설치하고 업데이트해야한다는 사실을 깨달았고 이때 워드프레스에 멀티사이트 기능이 있다는 것을 처음 알게 됐다.

워드프레스 멀티사이트는 ‘네트워크’라고 부르는 공통 관리 부분이 있고 처음 만든 사이트를 ‘메인’이라고 한다. 예를 들면, 플러그인 설치는 ‘네트워크’에서 한다. 사이트는 ‘네트워크’의 ‘사이트’ 메뉴에서 쉽게 추가할 수 있고 호스트 명도 변경할 수 있다. ‘메인’ 호스트명은 DB 테이블에서 바꿔야 한다.

워드프레스 멀티사이트는 하나의 루트(웹) 폴더를 이용(DB 테이블로 사이트와 자료 구분)하면서 서브디렉토리 방식이 아닌 서브도메인 방식으로 운영할 경우 원하는 수만큼 독립적인 호스트 명을 사용하는 사이트를 만들 수 있고 플러그인을 멀티사이트로 만든 모든 사이트에서 활용할 수 있어 좋다.

멀티사이트를 지원하지 않는 플러그인은 ‘네트워크’에서 설치하지만 설정은 각 사이트의 플러그인 메뉴에서 해야 한다. 구글 사이트킷이나 리디렉션 플러그인이 그 예이다.

현재 관리 편리성 때문에 워드프레스를 멀티사이트로 운영하고 있다. 워드프레스를 처음 설치하려는 분들은 멀티사이트로 시작하길 추천합니다.

멀티사이트로 시작하려면 워드프레스 처음 설치 후 /wp-config.php에서 /* That’s all, stop editing! Happy blogging./ (바로) 위에 아래 내용을 삽입하면 됩니다.

define('WP_ALLOW_MULTISITE', true);

시놀로지 가상호스트 적용 시 웹사이트 접속 오류

시놀로지(DSM v6.2.3)에서 운영하고 있는 워드프레스에 PHP 7.4를 적용하려고 인터넷을 찾아보니 ‘Web Station’ 가상 호스트의 ‘PHP’ 값을 (‘PHP 7.4’를 적용한 PHP 설정)을 선택하면 된다는 것이다. 가상 호스트를 사용하지 않고 워드프레스를 운영하고 있는 상태여서 아래와 같이 가상 호스트를 하나 만들었다.

  1. ‘패키지 센터’에서 ‘PHP 7.4’를 설치하고
  2. ‘Web Station’의 ‘PHP 설정’에서
  3. ‘PHP 버전’ 값을 ‘PHP 7.4’로 선택 후 ‘확인’
  4. 이 설정을 적용한 ‘가상 호스트’를 만들었다

그리고 워드프레스 접속을 하니 ‘500’ 오류가 나타나며 접속을 할 수 없었다. 문제는 ‘PHP 설정’할 때 ‘확장(extensions)’에서 아무 것도 선택하지 않았기 때문이었다. 그래서 ‘확장’ 전체를 선택하니 워드프레스가 정상적으로 작동했다.

그런데, 꼭 필요한 확장만 선택하고 싶었다. 인터넷을 검색해 찾은 웹 페이지를 참고해 아래 ‘확장’들만 선택하니 워드프레스가 정상적으로 작동했다.

  • curl
  • exif
  • ftp
  • iconv
  • imagick
  • mysqli
  • openssl
  • zip

시놀로지 워드프레스 수동 업그레이드

시놀로지 워드프레스를 최신 버전(v5.6)으로 업그레이드 했다. 방법은 다음과 같다.

  1. PC에서 최신 버전 워드프레스 다운로드
  2. DSM 접속, File Station 실행
  3. 사용 중인 워드프레스 폴더 이름 변경(/web/wordpress -> /web/wordpress.old)
  4. 다운로드 했던 설치 파일 업로드(위치: /web/wordpress-5.6.zip)
  5. File Station에서 압축 해제(위치: /web/wordpress)
  6. 이전 폴더(/web/wordpress.old)에서 아래 폴더와 파일을 복사해 /web/wordpress에 붙여 넣기
    • wp-content(폴더)
    • .htaccess(파일)
    • pingbackIsOpend(파일)
    • syno-misc.php(파일)
    • wp-config.php(파일)
  7. wordpress 폴더와 하위 파일(폴더 포함)의 사용자(http), 권한(755) 지정