Posts Tagged: 마리아DB

워드프레스 다운로드, MariaDB phpMyAdmin 설치, SSL 인증서 적용 – Synology NAS 초보자용 맞춤 설명 X

시놀로지 나스에 워드프레스를 설치하는 데는 두 가지 방법이 있다. 첫째는 DSM 워드프레스 패키지를 통해 하는 것이고, 둘째는 WordPress.org에서 다운로드 받아 수동으로 설치하는 방법이다.

필자의 경험도 그렇고 ChatGPT의 추천도 그렇고 둘째 방법이 낫다. 과정이 조금 복잡하지만 속도와 최적화면에서 뛰어나기 때문이다. 게다가 DSM 패키지로 워드프레스를 설치하면 1개 사이트만 호스팅 할 수 있지만, 수동으로는 여러 개를 돌릴 수 있다. 마이그레이션(Migration; 워드프레스 사이트를 전문 웹 호스팅 업체나 다른 나스로 옮기는 것)이 더 용이하다는 부수적 장점도 있다.


​0) 워드프레스 다운로드와 나스에 복사하기

상기 링크의 공식 사이트에서 좌측의 ‘Download WordPress’ 버튼을 눌러 최신 버전을 다운로드 받는다. ZIP 파일 압축을 풀면 3개의 폴더(wp-admin, wp-content, wp-includes)를 포함해 여러 파일들(폴더 포함 총 19개 항목)이 보일 것이다.

이전 단계에서 Web Station을 설치했다면 시놀로지 나스에 ‘web’ 폴더가 생성되어 있을 것이다(아래 사진). 그 안에 새폴더를 하나 만들고 WordPress.org 사이트에서 다운받아 압축을 푼 폴더와 파일들을 모두 복사해 넣는다.

워드프레스 루트 폴더(root folder) 혹은 루트 디렉토리(root directory)로 불리는 이 폴더의 이름은 영어 소문자로 공백없이 간단하게 하는게 좋다. PHP는 리눅스(Linux) 환경에서 개발된 언어라 영어 대문자나 공백이 포함된 이름을 명령어로 입력할때는 그대로 쓸 수가 없으므로 단순한 이름이 선호된다.


​1) Web Station 설정 – 서비스와 포털

[Web Station]에서 좌측 사이드바의 ‘웹 서비스'(Web Service)로 들어간다. 이전 단계에서 만들었던 스크립트 언어 PHP Profile과 Apache Server를 워드프레스 사이트에 적용시키는 과정을 수행하게 된다.

좌상단의 ‘Create'(생성)을 클릭, ‘기본 스크립트 언어 웹사이트'(Native script language website) 항목의 드롭다운 메뉴에서 PHP 버전과 프로파일을 선택하고 ‘다음'(Next)을 누른다(아래 사진).

이어지는 화면에서 웹 서비스의 이름(Name)을 정하게 되는데, 이름을 영어 소문자로 공백 없이 하는 것을 잊지 말자. 설명(Description)은 각 사용자가 참조할 목적이므로 대문자가 들어가게 길게 지어도 상관 없다(아래 사진).

문서 루트(Document root)에서는 워드프레스 파일들을 복사해 두었던 나스 폴더를 선택한다. HTTP back-end server는 Apache를 택하면 된다. 나머지 시간 제한(timeout) 옵션은 그대로 두고 우하단 ‘다음'(Next)을 눌러 넘어간다.

다음으로 웹 서비스 생성 내역을 확인 하는 화면과 폴더 읽기 권한을 정하는 화면이 이어지는데, 각각 ‘다음’을 눌러 넘어간다.

워드프레스 웹 서비스를 생성했으니 이제 이 서비스가 나스의 어떤 대문(Portal)을 통해 어느 도메인으로 전해지는지 정하게 된다. [Web Station] 좌측 사이드바의 ‘웹 포털'(Web Portal)를 클릭해 들어간다. 좌상단의 ‘생성'(Create)를 누르면 아래 같은 화면이 뜬다. ‘웹 서비스 포털'(Web service portal)을 선택한다(아래 사진).

이어지는 창은 아래 사진처럼 설정하면 된다. 바로 전 단계에서 생성했던 ‘서비스'(Service) 이름을 선택하고, ‘포털 유형'(Portal type)은 ‘이름 기반'(Name-based)으로 한다(도메인 이름을 기반으로 연결 된다는 의미, 특정 포트를 포털로 삼는 옵션도 있음). ‘호스트 이름'(Hostname)에는 만들어 두었던 무료 도메인 주소를 적는다.

‘포트'(Port)에는 기본적으로 80/443이 체크되어 있다. 포트는 특정 IP 주소의 컴퓨터가 어떤 서버 프로그램을 실행할지를 결정하는 번호이다. HTTP에는 80번, HTTPS에는 443번이 쓰이는 것이 디폴트(default)이므로 그대로 둔다.

HSTS는 HTTP Strict Transport Security라는 의미로 암호화 된 프로토콜(HTTPS)을 암호화 안 된 프로토콜(HTTP) 보다 우선해서 사용한다는 의미이다. HSTS를 체크하고 아래의 나머지 항목은 그대로 두고 ‘생성'(Create)을 클릭한다.


​2) MariaDB 설치

워드프레스 사이트는 PHP 언어와 Apache 서버 만으로 구동되지 않는다. 웹 서버인 아파치 외에도 데이터베이스 서버 역할의 MariaDB도 필수로 설치되어야 한다.

데이터베이스에는 워드프레스의 텍스트 정보(운영자가 쓴 글이나 방문자가 남긴 댓글들)가 미가공 데이터(raw data)로 있고, 메타데이터(metadata; 저자 정보, 작성일, SEO에 도움을 주는 alt text 등)와 동영상·사진 파일들의 경로(file paths; URL)도 저장되어 있다. 이 모든 정보가 잘 정리된 표(table)로 되어 있는 것이 데이터베이스이다. 웹 서버인 아파치와 데이터베이스 서버인 마리아DB는 PHP를 매개로 소통하며 사이트 방문자의 요청을 처리하게 된다.

마리아DB를 DSM 패키지 센터에서 찾아 설치한다(아래 사진).

MariaDB의 계정 이름은 ‘root’로 고정되어 있다. 이 계정의 ‘새 패스워드'(New password)를 정한다(아래 사진). 이 암호는 다음 단계에서 다시 쓰이므로 잘 기억해 둔다. ‘포트'(Port)는 3306 기본값을 그대로 두고 우하단 ‘다음'(Next)를 클릭한다.


​3) phpMyAdmin 설치와 설정

마리아DB를 설치했으면 개별 사이트를 위한 데이터베이스를 생성·관리하는 웹 도구인 phpMyAdmin도 설치한다. 마리아DB 패키지는 이제 다시 만질 일이 없고, 거의 모든 데이터베이스 작업을 phpMyAdmin을 통해서 하게 된다.

phpMyAdmin은 http://나스 IP 주소/phpmyadmin 이라는 웹 주소로 접근할 수 있고, 워드프레스 사이트가 불능이 되었거나, 나스의 DSM을 띄우지 않은 상황에서도 사이트 복구를 위해 쓸 수 있어 유용하다. DSM 패키지 센터에서 검색해 설치한다(아래 사진).

설치된 phpMyAdmin을 DSM상에서 열거나 웹 브라우저에 주소를 입력해서 들어가면 자동으로 인터넷 창이 열리고 로그인 화면이 뜬다. 혹은 연결이 위험하다는 경고 페이지가 나올 수 있는데 아직 보안 접속을 위한 인증서를 등록하지 않았기 때문이다. 안전하지 않아도 이동한다는 옵션을 선택해서 넘어간다. ‘사용자명'(Username)에 ‘root’, ‘암호'(Password)에 MariaDB를 설치했을 때 설정했던 암호를 각각 입력하고 로그인한다(아래 사진).

phpMyAdmin으로 워드프레스 사이트의 데이터베이스 사용자 계정을 생성한다. 아래 사진처럼 좌측 컬럼(column)의 ① ‘새로운'(New)을 클릭한다. 이후 상단의 ② ‘사용자 계정'(User account), 하단의 ③ ‘사용자 추가'(Add user account)를 클릭한다.

‘사용자명'(User name)으로 필자는 워드프레스 루트 폴더 이름을 그대로 사용하였다(아래 사진). ‘호스트명'(Host name)은 드롭다운 메뉴에서 ‘Local’을 선택하면 우측 빈칸이 자동으로 ‘localhost’로 채워진다. ‘암호'(Password)를 보안 Strength Strong으로 잘 만든다.

아래의 ‘동명의 데이터베이스를 생성하고 모든 권한을 부여'(Create database with same name and grant all privileges)에 체크를 하고, 더 아래의 ‘전체적 권한'(Global privileges)에도 체크를 한다.

최하단으로 스크롤 해서 ‘생성'(Go)을 클릭하고 마치면 된다. 창의 좌측 컬럼(column)에 새로 만든 데이터베이스가 표시된 걸 확인할 수 있다.


​4) 포트포워딩과 SSL 인증서 적용

외부 네트워크의 방문자는 나스 사용자의 인터넷 공유기를 걸쳐 나스의 웹 서버에 도달하게 된다. 공유기는 포트번호 80번으로 HTTP(HyperText Transfer Protocol; 클라이언트와 웹 서버가 데이터를 주고받기 위해 사용하는 통신 규약, http:// 로 시작하는 도메인들), 그리고 443번 포트로 HTTPS(Hypertext Transfer Protocol Secure; 암호화된 클라이언트 서버 통신 규약, https:// 로 시작하는 도메인) 트래픽(traffic)을 받아들인다.

인터넷 공유기와 나스는 같은 공인(Public) IP 주소를 가지고 있고, 공유기는 HTTP와 HTTPS 트래픽을 나스의 사설(Private) IP로 보내 웹 서버가 기능하도록 해야 한다.

이렇게 특정 포트로 들어오는 외부 트래픽이 내부 네트워크의 특정 위치(나스)로 전달되도록 하는 것이 포트포워딩(Port Forwarding)이다. 필자가 사용하는 KT 인터넷을 기준으로는 아래처럼 설정하면 된다.

포트포워딩을 설정하는 더 자세한 방법은 필자의 이전 글을 참조 바란다. 이렇게 포트포워딩으로 도달한 요청은 워드프레스 사이트에 전달되는데, 사이트에 적절한 SSL(Secure Sockets Layer; 인터넷 연결의 보안을 보장하는 표준 기술) 인증서가 적용되어 있지 않으면 ‘안전하지 않음’ 경고창이 뜬다. 그렇기 때문에 범용인 Let’s Encrypt 인증서를 나스 DSM을 통해 다운로드 받아 적용하는 게 좋다.

DSM의 ‘제어판'(Control Panel) – ‘보안'(Security) – ‘인증서'(Certificate) 메뉴로 이동한다. 좌상단의 ‘추가'(Add) 버튼을 누르면 아래 같은 화면이 뜰 것이다. ‘새 인증서 추가'(Add a new certificate)를 선택하고 우하단 ‘다음'(Next)를 클릭한다.

새 화면이 뜨면 ‘Lets’ Encrypt에서 인증서 얻기'(Get a certificate from Let’s Encrypt)를 선택하고 ‘다음'(Next)을 누른다(아래 사진).

이어지는 화면에서 ‘도메인 이름'(Domain name)에 무료로 만들어 두었던 도메인을 적고, ‘이메일'(Email) 란에도 적당한 주소를 넣는다. ‘주제 대체 이름'(Subject Alternative Name) 항목은 비워도 된다. 우하단의 ‘완료'(Done)을 클릭하면 인증서 생성이 된다.

워드프레스 설치를 위한 사전 작업을 거의 다 마쳤다. 이제 루트 폴더의 쓰기 권한을 설정하고 ‘5분 워드프레스 자동 설치’ 만 하면 된다. 다음 글에서 이어서 설명하도록 하겠다.