Database

Apache_1.3.27 + PHP-4.3.2 + PostgreSQL_7.4

컨텐츠 정보

본문

PostgreSQL의 꾐에 빠져들어 PHP+PostgreSQL프로그래밍을 해보고 싶어 설치를 해보게 되었습니다. Oracle도 실제로 PostgreSQL에서 많은 부분을 가져갔다죠?
정말 별것 아닐수 있겠지만.. 저같이 해보지 않은부분을 공부해 보고 싶어하시는 분들을 위해 삽질내용을 올립니다. -_-;; (경어 생략하겠습니다. 꾸벅..)

# 설치부분의 설명은 인터넷상에 존재하는 몇몇 문서들에서 발췌한 것임을 알려드립니다.(DSN의 문서외 다수)
설명은 최소한 간소화 하였습니다.

== Data ==
apache_1.3.27.tar.gz
php-4.3.2.tar.gz
postgresql-7.4.tar.gz

== Version ==
PostgreSQL 7.4
PHP 4.3.2
Apache 1.3.27

1.PostgreSQL

tar -zxvpf postgresql-7.4.tar.gz
cd post*
./configure --prefix=/usr/local/pgsql --enable-multibyte (한국어,일본어,중국어 지원)
make
make install

groupadd postgres
adduser -d /usr/local/pgsql -g postgres postgres
mkdir /usr/local/pgsql/data
chwon postgres /usr/local/pgsql/data (DB superuser 생성)
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data (데이터 디렉토리 생성)
/usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data &  (-i : 도메인네임 인식)

pwd
/usr/local/pgsql/bin

createuser nobody (nobody로 웹서버에 접속하는 계정에게 DB엑세스 허용을 위해 반드시 생성)
createuser test (단지 test를 위해..-_-;;)
createdb test (데이터베이스 생성)

이제 접속해서 test라는 테이블을 만들어보자.
psql -U test -d test (U가 대문자임에 주의하자)

create table test(aaa char(10));
insert into test values('test ok');

\\q
여기까지 PostgreSQL 데이터베이스의 설치/설정을 마쳤다.

이제 PHP와 Apache설치후 웹페이지에서의 기쁨(?)을 맛볼차례이다.

2. PHP

PHP의 컴파일전에 Apache소스디렉토리로 이동하여 ./configure를 한번 실행하여 둔다.
pwd
/usr/src/apache_1.3.27
./configure
이제 PHP컴파일에 들어간다.
pwd
/usr/src/php-4.3.2
./configure --prefix=/usr/local/php --with-apache=/usr/src/apache_1.3.27 --with-mysql=/usr/local/mysql --with-pgsql=/usr/local/pgsql --with-png --enable-ftp --enable-sockets --enable-carlendar --enable-ctype --enable-inline-optimization --enable-bcmath --enable-sysvshm=yes --enable-sysvsem=yes --enable-magic-quotes --enable-track-vars --with-imap=/usr/local/imap --with-gd=/usr/local/gd --with-curl=/usr/local/curl --disable-debug --with-xml --with-iconv --with-language=korean --with-charset=euc_kr --with-bz2 --with-gd-native-ttf --with-ttf --with-gdbm --with-gettext --with-pspell --enable-yp --enable-shmop --enable-freetype-4bit-antialias-hack --with-png-dir=/usr/local/lib --with-gif-dir=/usr/local/lib --with-zlib --with-freetype-dir=/usr/local/include/freetype2 --with-ncurses
-_-;;
쓸데없는 옵션들이 정말 많다.. 절대 이렇게 하지 말자..
아마 실력있는 분들이 보시면 쯧...하실 것이다. 필요없는 옵션이 조금씩 부담을 주게되고..
그것들이 쌓이면 속도저하의 원인이 될 수도 있다고 나와있다.
왜 이렇게 많은 옵션을 주었는지는 묻지말자! 본인도 모른다..-_-;;
여기서 필요한 옵션은
--prefix=/usr/local/php --with-apache=/usr/src/apache_1.3.27 --with-pgsql=/usr/local/pgsql
이녀석들이 되겠다.

make
make install

3. Apache

pwd
/usr/src/apache_1.3.27
./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=php4 --enable-shared=max --enable-rule=SHARED_CORE --enable-module=so
make
make install

설치를 마친 후 phpinfo()를 통해 pgsql관련 설정부분을 확인하기 바란다.

===================================================================================

여기까지 PHP,Apache,PostgreSQL의 모든 설치가 완료되었다. ^^; (아이 부끄..;;)
이제 이전에 넣어두었던 PostgreSQL의 test테이블의 "test ok"구문을 보아야 하지 않겠는가!

pgconn.php
<?
$dbconn = pg_connect("localhost","5432","","","test");
?>

test.php
<?
include "pgconn.php";

$qry = "select * from test";
$rs = pg_exec($qry);
$d = pg_fetch_array($rs);

echo $d[0];
?>

test ok 문구가 보인다면 모든 설치/설정이 완료되었다!

고.. 본인은 생각하는 바이다.. -_-;;


P.S.
PostgreSQL을 처음 접해보았습니다.
많이 부족하더라도 이해해주시구요 ^^;
부족한 부분이나 틀린 부분이 있으면 코멘트 남겨주시면 감사하겠습니다.
아무쪼록 별거 아닙니다만.. 저같은 사람들에게 도움이 되었으면 하는 마음에서.. -_-;;
그리고.. 비록 제가 쓴 글이지만 이 글의 내용의 일부밖엔 알지 못합니다.
가급적 질문은 ..다른 분들이 답변해 주실거에요..^^;;
읽어주셔서 감사합니다.

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
문제를 바르게 파악하면 절반은 해결한 것이나 마찬가지이다. (케터링)