태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


시놀로지 NAS는 정말 요물과도 같은 존재다. NAS와 단순 웹서버는 물론 DNS, 프린터 서버, FTP서버, 토렌트 머신을 뚝딱~뚝딱~ 구성할 수 있고 보다 전문적으로 mysql 또는 mariadb를 설치하고 그 위에 워드프레스도 쉽게 설치할 수 있다. 물론 메일서버, 위키 등도 몇번의 클릭만으로 설치할 수 있는 애플리케이션 마켓(?)도 있다. 어제 하루만에 mariadb와 아피치, php, phpmysql을 모두 업그레이드하고 최신 워드프레스를 다운받아 수동으로 설치한 뒤 DSM에서 무료 SSL 인증서도 발급 받아 설치하고 워드프레스에 SSL까지 적용했다.

물론 시놀로지 NAS에 워드프레스 설치와 SSL 적용은 처음 해보는 작업이었다. 그럼에도 큰 어려움과 오류 없이 모든 작업이 부드럽게 진행되었고 지금까지 안정적으로 동작하고 있다.

Synology NAS... 정말 유용한 물건이다.

하지만 그 과정에서 내가 잘못 설정한 것인지는 모르겠으나 워드프레스의 SSL 적용을 위한 플러그인을 설치하는 과정에서 권한과 관련된 오류가 발생해 그 문제의 해결 방법을 정리해본다.

먼저 시놀로지 NAS의 웹서버에 설치된 워드프레스에서 사용할 SSL 인증서는 DSM에 웹으로 접속한 뒤 "제어판" - "보안" 메뉴로 진입한 뒤 "인증서" 탭에서 "추가" 버튼을 눌러 "Let's Encrypt"의 SSL 인증서를 발급 받으면 된다. 다만 무료 SSL 인증서 이기에 유효기간은 3개월 밖에 되지 않는다. 즉, 3개월 마다 재발급 받아 적용해줘야 한다.

발급받은 Let's Encrypt Auth"의 SSL 인증서.

발급받아 Synology NAS에 설치한 무료 SSL 인증서... 유효기간이 3개월이다.

그리고 시놀로지에 워드프레스를 설치한 뒤 워드프레스 접속 시 적용할 SSL 리다이렉션 플러그인을 설치한다. 내가 설치한 SSL 플러그인은 Really Simple SSL 이다.

이미 설치되어 있는 플러그인 이기에 상태가 "Activate" 이지만 이 플러그인이 설치되어 있지 않을 때는 Activate 버튼이 설치 버튼이 된다. 이 플러그인을 설치할 때는 워드프레스가 설치된 웹서버에 외부에서 FTP 접속이 가능해야 한다. 그리고 설치 중 워드프레스가 설치된 하위 디렉토리로 이동해 wp-content의 plugins 디렉토리 하위에 플러그인 설치 디렉토리를 만들고 설치하게 된다. (이 과정은 FTP 접속 ID와 비밀번호를 입력하면 자동으로 진행된다.)

그런데 워드프레스를 시놀로지 DSM에서 제공하는 버전이 아닌 최신버전을 수동으로 설치해서 그런지 Really Simple SSL 플러그인 설치 시 FTP 접속까지는 성공하는 듯 한데 이후 다음과 같은 에러가 발생했다.

FTP 접속 후 wp-content의 plugins 디렉토리 하위에 really-simple-ssl 디렉토리를 생성하다 에러가 발생하는 것이다.

이 경우 어떻게 해야 하는지 구글링을 통해 확인하니 권한문제라는 이야기가 많다. 하지만 wp-content 디렉토리와 그 하위 디렉토리의 접근권한을 777로 주어도 동일한 문제가 발생했다. 아마도 이 문제는 단순한 퍼미션의 문제라기 보다는 보안과 관련된 특별한 보안 기능이 적용되어 퍼미션이 777이라도 plugins 디렉토리에 새로운 디렉토리의 설치가 차단되는 듯 했다. 

아마도 웹서버의 제로데이 취약점 공격 등을 차단하기 위함 때문일텐데... 결과만 설명하면 워드프레스가 설치되는 디렉토리와 하위 디렉토리를 웹서버 프로세스의 소유자ID 및 그룹으로 맞춰야 하는 것으로 보인다. (사실 이러면 웹 취약점에 의한 디렉토리나 파일의 생성을 막을 수 없다. -.-)

즉... 아래와 같이 웹서버 대몬...여기서의 경우 웹서버 대몬인 httpd22 프로세스의 소유자를 확인해야 한다. 아래 화면의 경우 소유자의 계정이 http다. (부모가 1번인 httpd22 제외)

그리고 /etc/passwd 파일을 보면 http 계정이 존재한다.

/etc/group 파일에도 http 그룹이 있고 http 계정과 그룹ID가 1023으로 동일한 것을 확인하였다.

그렇다면 wp-content 를 포함한 하위의 파일들과 디렉토리의 소유자를 http로 바꾸고 권한을 755로 설정한다. 소유자 및 그룹과 퍼미션을 바꾸기 위해서는 다음의 명령을 이용한다.

chown -R http:http ./wp-content

chmod -R 755 ./wp-content

두 명령으로 변경하면 아래 처럼 소유자와 그룹 그리고 파일 퍼미션이 모두 변경된다.

화면 하단에 보면 really-simple-ssl 이라는 디렉토리가 생성되어 있는데 이 화면은 설치에 성공한 뒤 캡쳐해서 그렇다~.

이후 really simple ssl 플러그인의 설정화면에서 ssl인증서가 인식되는지 확인하고 관련 설정을 마치면 워드프레스 접속 시 브라우저의 주소창 앞에 안전한 SSL이 적용되었음을 보여주는 자물쇠 표시가 보일 것이다.



  • 에스델 ♥ 2019.03.27 10:32 신고

    무료 SSL인증서는 3개월마다
    재발급받아 적용해줘야하는군요.^^
    좋은 하루 보내세요!

    • taeho Tae-Ho 2019.03.27 16:15 신고

      네.. 개인 사용자용 인증서와 달리 서버에 설치하는 서버 인증서도 연단위로 돈을 내야 하는데 가격이 꽤 비싸거든요~~ ^^
      이 서버 인증서를 웹서버에 설치하면 서버에 웹브라우저로 접속하는 사용자에게 이 서버를 운영하는 주체가 누구인지 알려주고 공인인증기관이 그 운영주체가 맞음을 검증해주는 역할을 합니다. 당연히 웹브라우저와 서버간의 통신이 암호화되는 것도 보장해주고요~