우선 APM 설치에 관한 이야기는 인터넷 상에 너무나 많이 나와 있음으로 여기서는 다루지 않음을 밝혀 둔다
우선 APM 즉 Apache PHP MySQL을 운영하고자하는 두대의 서버에 모두 설치한다.
DB 서버를 사용하고자 하는 곳을 정하고 DNS를 설정한다.
웹서비스를 하고자 하는 서버를
www.yourdomain.com 과 yourdomain.com
을 할당하고
DB 서버로 사용하고자하는 서버를
db.yourdomain.com 을 할당한다.
내가 APM을 두대다 설치하라고 한 이유는 간단하다.
우선 한대는 MySQL 서버를 운영할 필요가 없지만 MySQL의 라이버러리와 클라이언트가 필요하다
그리고, 한대는 Apache + PHP가 필요 없지만
요즘 내가 mysql 클라이언트로 MySQL을 운영할 자신이 없기 때문이다.
그래서 phpMyAdmin을 설치하기 위해서는 APM 환경이 돌아가야한다.
그래서 운영하고자 하는서버 두대 모두 APM을 설치하라고 한 것이다.
그럼 설치는 끝났다고 생각하겠다.
그리고, Apache(http) 데몬과 MySQL 데모인 각각의 서버에 제대로 떠 있다고 생각하겠다.
그럼 아까 말한대로 phpMyAdmin을 db.yourdomain.com 서버에
http://www.phpmyadmin.net/
를 방문해서 다운 최신 버전으로 받은 후 설치해라.
설치라고 해야 간단하다.
우선 압축 파일을 받아서
계정에 올리고 웹서비스를 할 수 있는 곳의 root로 옮기고
tar xzvfp phpMyAdmin.version.tar.gz
이렇게하면 풀리는 모습이 보이면서 압축이 풀릴 것이다.
그리고
mv phpMyAdmin.version phpMyAdmin
해서 디렉토리 명을 원하는대로 변경한다.
나는 프로젝트 자체를 존중하기 때문에 프로젝트 명을 디렉토리명으로 쓴다. 버전 까지 쓰고 싶지만 웹에서 접근할때 좀 힘들어서 ^^;;
cd phpMyAdmin
vi config.inc.php
최근 버전 부터 아래 옵션이 생겼다.
$cfgPmaAbsoluteUri = ' http://db.yourdomain.com/yourdir/phpMyAdmin/';
(yourdir)은 없다면 적지 않아도 된다.
그러니깐 이 옵션은 phpMyAdmin을 서비스할 완벽한 URL을 적어 두는 곳이다.
죽 내려보면
$cfgServers[$i]['host'] = 'localhost'; // MySQL hostname
$cfgServers[$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
여기서 잠깐 auth_type은 원래 config라고 되어 있다 MySQL 자체의 인증을 사용하기 위해서 나는 http를 선택했다.
$cfgServers[$i]['user'] = 'youruser'; // MySQL user
$cfgServers[$i]['password'] = 'yourpass'; // MySQL password (only needed
위와 같은 옵션들이 존재할 것이다.
저것을 여러분들에게 맞게 변경해라.
그리고 저장하고 vi를 닫아라.
저장했으면 이제 웹브라우져에서
http://db.yourdomian.com/phpMyAdmin/
에 접근해 보자
그러면 ID와 PW를 묻는다.
이때 root 아이디와 PW를 넣고 접근한다.
지금 부터 우리는 계정을 생성할 것이기 때문이다.
phpMyAdmin에 접근 했으면
이제 mysql 데이타 베이스에 접근 해라.
그리고 user 테이블로 이동한다.
그리고 추가 버튼을 누른다.
Host 에 www.yourdomain.com 의 아이피를 적어라
IP주소는 nslookup www.yourdomain.com
이라고 하면 알 수 있다.
그리고 userid에 당신이 원하는 아이이들 적고
password에 함수를 선택한다 PASSWORD 함수를 선택하고 옆에 빈칸에 자신이 원하는 비밀번호를 적는다.
그리고, 보통은 아래의 모든 값을 N으로 하고 db를 설정하는 것이 좋다
하지만, 나는 원격 root 성격의 아이디를 만들겠다.
그래서 아래의 값들을 모두 Y를 선택하기를 원한다.
그럼 모두 선택했으면 실행 버튼을 눌러서
아이디를 생성한다.
이대로 두면 MySQL은 방금 생성한 아이디를 제대로 인식하지 못한다.
그래서 셀렉트 바에서 - 를 선택해라.
그리고, 옆 화면을 주시하면 MySQL 재시동 이라는 링크가 보일 것이다.
클릭해라.
그럼 이제 부터 www.yourdomain.com에서 db.yourdomain.com의 MySQL 데이타 베이스에 접근이 가능해 졌다.
그럼 이제 web 서버를 설정하러 가보자
웹서버에는 Apache만 구동한다. MySQL은 구동하지 않는다.
이유는 간단하다. 원격으로 DB 서버를 구성해 두었기 때문이다.
MySQL은 클라이언트로만 사용할 것이다.
그럼 아까 받아 둔 phpMyAdmin을 역시 www.yourdomain.com의 서비스 디렉토리에 설치한다.
압축을 풀고 디렉토리를 변경하는 과정 까지는 같고 콘피그 파일을 설정하는 방법이 조금 다르다.
다음과 같이 따라하면 된다.
vi config.inc.php
$cfgPmaAbsoluteUri = ' http://www.yourdomain.com/yourdir/phpMyAdmin/';
(yourdir)은 없다면 적지 않아도 된다.
그러니깐 이 옵션은 phpMyAdmin을 서비스할 완벽한 URL을 적어 두는 곳이다.
죽 내려보면
$cfgServers[$i]['host'] = 'db.yourdomain.com or dbs.erv.er'.sip'; // MySQL hostname
여기서 여러분은 눈치가 빠른 사용자라면 눈치 챌 것이다.
php 등에서 mysql 접속함수를 쓰면서 다음과 같이 해 줘야 된다는 것을
mysql_connect("db.yourdomain.com or db.yourdomain.com or dbs.erv.er'.sip", "yourid", "yourpw");
이렇게 말이다. 이것 외에는 다른 점이 없다.
$cfgServers[$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
여기서 잠깐 auth_type은 원래 config라고 되어 있다 MySQL 자체의 인증을 사용하기 위해서 나는 http를 선택했다.
$cfgServers[$i]['user'] = 'youruser'; // MySQL user
$cfgServers[$i]['password'] = 'yourpass'; // MySQL password (only needed
여기서 아까 우리가 생성한 원격서버의 root 계정의 정보를 적어라
당신이 만든 아이디와 패스워드를 말이다. db 서버의 root 계정이 아니고 새로 만든 아이디를 의미한다.
그리고 저장하고 vi를 닫아라.
저장했으면 이제 웹브라우져에서
http://www.yourdomian.com/phpMyAdmin/
저렇게 접근하고 아까 적은 아이디와 패스워드를 넣으면 db.yourdomain.com 에서 본 것과 동일한 환경이 나타날 것이다.
여기까지 끝냈으면 보안을 위해서 일단, db.yourdomain.com의 Apache 서버는 내려라 MySQL은 두고 말이다.
그리고 우리는 이제 www 도메인만 사용한다.
http://www.yourdomian.com/phpMyAdmin/
이곳에 접근해서 원격 슈퍼유져 아이디는 당신만이 기억하고 또는 당신 보스와 함께 하지만, 앞으로 접근할 다른 사람들의 아이디는 db와 성격에 맞게 잘 만들어서 써야한다.
이부분은 더이상 설명하지 않겠다.
이렇게 하면 원격으로 Web 서버와 DB서버를 분리해서 운영할 수 있다.
허접한 글이긴 하지만 여러분들께 많은 도움이 되었으면 하는 바램이다.
'DATABASE > MySQL' 카테고리의 다른 글
오늘의 개발일지 2020년05월21일 MariaDB를 이용한 Database 사용하기 #001 (0) | 2020.05.31 |
---|---|
MySQL 타입 변환 명령 CAST 함수 (4) | 2015.09.10 |
MySQL str_to_date 사용법 (2) | 2015.09.02 |
MySQL DATA를 옮기는 방법 (0) | 2009.05.21 |
[MySQL] Date & Time Function(일자와 시간 관련 함수) (0) | 2009.03.20 |