앞의 포스트에서 웹서버로 사용할 리눅스(Ubuntu 20.04) 서버에 Apache 2와 PHP 7.4를 설치하는 과정을 살펴보았다. 이제 DB서버로 사용할 리눅스 서버에 MariaDB를 설치하고 웹서버에 워드프레스 설치파일을 업로드하고 설치하는 과정을 기록한다.
LAMP의 DB서버로 사용할 리눅스(Ubuntu 20.04) 서버에 로그인 하여 MariaDB를 설치한다.
MariaDB 설치하기

아래 화면처럼 MariaDB Server가 설치된다.

MariaDB 설치 후 상태를 살펴본다. 설치된 버전은 10.6.7 버전이다.

MariaDB의 초기 보안설정을 해주는 명령어를 실행한다.

MariaDB는 MySQL 개발자들이 오라클에서 뛰쳐나와 만든 MySQL의 클론 버전이다.
MySQL의 관리자 계정으로 사용할 root 계정의 비밀번호를 넣으라는데… 처음엔 비밀번호가 없으므로 그냥 엔터를 친다.

유닉스 소켓 인증관련 질문엔 y 를 입력한다.

root 비밀번호를 바꾸겠냐고 물어본다. 바꾼다.

root의 비밀번호를 두번 입력해준다. 복잡하게~~~~!!

비밀번호 없이 로그인할 수 있는 계정은 모두 삭제한다.

root 로그인을 원격에서 허용하겠냐고 물어본다. 이건 허용하지 않는게 안전하다. 조금 불편해도 root 로그인은 로컬호스트에서만..!!

테스트 용 DB를 삭제할까?? 삭제하자..

권한 테이블을 재로드 한다.

이로써 MariaDB 설치는 완료다.
워드프레스 설치를 위한 DB 및 사용자 계정 만들기
다음은 워드프레스 설치를 위한 데이터베이스와 계정 그리고 권한을 부여해줄 차례다.
먼저 root 계정으로 mysql 명령을 사용해 DBMS에 접속한다.
먼저 데이터베이스를 만든다. DB이름은 wordpress다.

다음은 워드프레스에서 DB에 접속할 때 사용할 접속용 계정을 만든다.
%는 다른 IP에서도 접속할 수 있게 해주기 위해 사용한다.

다음은 새로 만든 계정에서 wordpress DB에 접근권한을 부여한다. 귀찮으니 그냥 모든 권한을 준다.

그리고 중요한 것 하나.
MySQL과 MariaDB는 보안 때문에 원격접속을 차단하고 있다. 그래서 netstat -an 명령으로 MariaDB의 접속 포트인 TCP/3306을 확인해보면 127.0.0.1에 Bind 되어 있는 것을 알 수 있다. 때문에 원격에서 접속이 되지 않는다.
만약 원격에서 접속할 수 있도록 하기 위해서는 서버의 실제 IP 또는 0.0.0.0 에 Bind되어야 한다.
그렇기 위해선…

/etc/mysql/mariadb.conf.d/50-server.cnf 파일 또는 /etc/mysql/my.cnf 등에서 bind-address = 127.0.0.1 을 아래와 같이 주석기호인 # 으로 막아붜야 한다.

설정을 변경하고 mariadb를 재실행한다. 아직도 이름은 mysql 이다.

다시 netstat 명령으로 확인해보면 mariadb의 3306 포트가 0.0.0.0 에 바인딩 된 것을 알 수 있다.

워드프레스 설치
이제 앞의 포스트에서 Apache 2와 PHP를 설치한 웹서버에 워드프레스 설치파일을 업로드 하고 설치 페이지로 접속한다.

워드프레스 설정 중 가장 핵심적인 화면이다. 앞에서 생성한 데이터베이스 이름(wordpress)과 생성한 계정(taeho)를 입력한다.

그리고 비밀번호를 입력하고 데이터베이스 호스트에 DB서버의 IP를 입력한다. 저 IP는 외부에서 직접 접속은 불가하고 웹서버와 DB서버 간에만 접속할 수 있는 사설IP다. 즉 DB서버에 공인IP가 없어도 된다는 점이다.
보안상으로도 공인IP로 접속가능한 웹서버에 DB서버를 설치하는 것 보다는 외부에서 직접 접속은 불가한 사설IP만 가진 서버에 설치하는 것이 안전하다.
그리고 필자는 MariaDB의 포트를 3306에서 3300으로 변경했다. 따라서 IP 뒤에 : (콜론)을 입력하고 3300 포트를 지정해줬다.
그리고 테이블 접두어는 기본값인 wp_다. 다른 값을 넣어도 보안상 좋을 듯하다.
그리고 설치를 계속 진행하면 다음과 같이 설치가 완료된다.

여기가지 LAMP에서 웹서버와 DB서버를 분리하고 워드프레스까지 설치해보았다.
#LAMP #웹서버DB서버분리 #워드프레스