1. 프로그램 개요
리눅스 웹호스팅을 사용하는 고객에게 보다 편리한 DB 접속이 가능하도록 웹페이지 상에서 DB의 상태를 확인하고 간단한 DB 명령이나 백업, SQL 쿼리가 가능하도록 해줍니다. 터미널 접속이 어렵거나 phpMyAdmin 등의 별도의 프로그램 설치 등이 어려운 고객을 대상으로 제공하는 서비스입니다. 현재 MyDirect에서 연동되어 실행이 가능합니다.
2. 제작 방법
PHP를 기반으로 MySQL 관련 함수를 이용하여 DB의 상태나 레코드 뷰, 몇가지 명령들이 가능하도록 제작하였습니다. phpMyAdmin 프로그램과 유사하게 운영되도록 제작하였으며, 필수적인 요소만 간결하게 작동 가능하도록 제작하였습니다.
3. 작동 환경
현재 서비스 중인 리눅스 웹호스팅 서버에 적합하도록 제작하였습니다. 특별한 사항은 없으며, php 4.x 이상과 mysql 3.x 이상의 일반적인 MySQL 호출 함수와 호환되며 기초적인 SQL문을 기반으로 합니다.
1. PHP의 설치 환경
'--with-apxs=/usr/local/apache/bin/apxs' '--with-apache-install=/usr/local/apache' '--prefix=/usr/local/php' '
--with-config-file-path=/usr/local/php/lib' '--disable-debug' '--enable-magic-quotes' '--with-gdbm' '--with-gd' '
--with-jpeg-dir=/usr/lib' '--with-mysql' '--with-iconv=/usr/local' '--with-dom=/usr/lib' '--with-zlib-dir=/usr/lib' '
--with-freetype-dir=/usr/lib' '--enable-module=so' '--enable-ftp' '--enable-exif' '--enable-xml'
2. MySQL의 설치 환경
www.mysql.com에서 공개하는 리눅스용 x86계열 RPM 프로그램을 배경으로 제작되었습니다.
2. 프로그램 구성
1. 프로그램 실행
MyDirect에서 실행할 경우 팝업 형태로 MySQL Admin이 실행됩니다. 이때 링크는 웹호스팅 서버의
/home/oozz/wwwhome/mysql_admin/first_page.php로 연결되며 전 리눅스 웹호스팅 서버에 동일하게
설치되어 현재 고객이 서비스를 제공받는 서버에 링크되도록 설정되어 있습니다.
또한 링크시 접속에 필요한 정보를 POST 방식으로 전송하도록 되어 있으며, QUERY STRING은 검색하여 오류로 처리하도록 되어있습니다. 전송되는 정보는 다음과 같습니다.
1 mysql_host : MySQL에 접속하기 위한 호스트 정보
2 mysql_id : MySQL에 접속하기 위한 고객의 접속 ID
3 mysql_passwd : MySQL에 접속하기 위한 고객의 접속 Password
4 mysql_db : MySQL에서 고객에게 할당된 DB 이름
2. 접속 정보 유효성
MyDirect로부터 POST 방식으로 전송 받은 고객의 정보들은 세션을 통해 저장됩니다. 이 세션은 웹페이지가 운영중인 동안에 계속 유지되며 페이지가 닫히는 순간에 파괴됩니다. 보다 정확한 정보 파괴를 위해 페이지가 unload 될때 logout.php가 로딩되며 session_destroy를 실행하도록 제작되어 있습니다.
3. 주요 프로그램 파일의 구성
1 first_page.php
처음 MySQL Admin이 실행되는 페이지입니다. 접속 정보를 정리하여 세션에 저장하며 쿼리스트링을 검색하여 오류로 처리해줍니다. 프레임을 구성하여 로그아웃 확인을 설정합니다.
2 table_structure.php
첫화면을 구성하는 페이지입니다. 사용중인 DB의 테이블을 리스트해주며, 기본적인 정보를 보여줍니다.
3 include_top.php
모든 페이지(first_page.php)에서 로딩하는 탑 페이지입니다. 사용중인 DB의 테이블 리스트를 보여주며, 공통되는 자바스크립트와 DB 접속 프로그램, 쿼리실행기 호출 등을 가지고 있습니다.
4 db_backup.php / db_restore.php / db_restore_ok.php
DB의 백업 및 복원에 관련된 페이지입니다. DB의 각각의 테이블과 레코드에 대해서 루프를 통해 SQL 형식에 따르는 텍스트로 추출하도록 되어 있으며, 복원시에도 각각의 레코들 분석하여 쿼리를 실행하도록 구성되어 있습니다.
5 record_*
개별적인 레코드에 대한 프로그램들이며, 레코드 입력, 레코드 수정, 그리고 레코드 보기의 페이지들로 구성되어 있습니다. 레코드 보기에서는 별도의 명령어가 실행될 수 있도록 제작되어있습니다.
6 table_*
테이블에 관련된 프로그램들입니다. 테이블 생성, 테이블 필드추가, 테이블 상세 설명, 테이블 수정들이 주요 프로그램입니다.
7 sql_query.php
사용자로부터 직접 입력 받은 쿼리를 실행해주는 프로그램입니다. 쿼리를 분석하여 오류나 잘못된 구문은 보여주며, SELECT 등의 명령어 실행시에는 화면에 실행 결과를 보여주도록 제작되었습니다.
8 auth.php / autthLib.php
MyDirect의 통합 인증을 위하여 Auth.Direct.co.kr의 통합 인증 서버를 통하여 사용자 인증 후 MySQL 서버의 접속 정보를 가져와 MySQL Admind의 Session을 통해 인증을 한다.
3. 프로그램 버전 정보
0.9 (2002년 12월)
베타 테스트 및 기본 프로그램 제작, 실 서비스 사용
1.0 (2003년 06월)
레코드 추가 프로그램 오류 수정 (특정 데이터 타입)
1.0.1 (2004년04월)
레코드 수정시 필드 사이즈 오류 수정, 레코드 보여주기에서 테이블 정렬 보완
1.0.2 (2006년06월)
1MyDirect의 통합 인증 서버 추가로 인한 Auth Page 작성
1.0.3 (2006년 06월)
다중 접속시 중복 인증오류 처리


