B-1. 웹, PHP3, MySQL 연동

강사: 정진호 <loveme@linuxone.co.kr>



이 문서의 변환 정도는 양호합니다. 따라서 HTML 문서만으로도 원본 파일과 유사한 품질로 참고할 수 있습니다.
시중에서 판매되고 있는 세미나 교재와 동일한 품질을 출력하고자 할 경우에는 PDF 이미지를 다운받으시기 바랍니다.


원본 파일 다운로드:




    # /usr/local/mysql/bin/mysqladmin reload


다음과 같이 확인해 볼수 있다.


    # /usr/local/mysql/bin/mysql mysql
    mysql> select * from user ;
    mysql> select * from db ;

데이타베이스, impmgr 사용자가 만들어 졌음을 알수 있다.



브라우저를 통한 12단계 설정

이제 브라우저를 통해 셋업을 하도록 하자. 먼저 파일에 실행 권한을 주고 빈 설정 파일을 생성하는 스크립트를 실행한다.


    [root@linuxer imp]# cd /usr/local/apache/htdocs/horde
    [root@linuxer horde]# ./install.sh

    Your blank configuration files have been created, please go to
    the configuration utitlity at :
    your install path url/setup.php3

    [root@linuxer horde]#

그리고 나서 브라우저를 열어 setup.php3 를 연다. 12 단계의 설정화면이 나온다.

12 단계의 설정내용

설정이 끝나면 설정한 내용을 파일에 저장하게 된다.



secure.sh 의 실행

이제 다시 setup.php3이 브라우저를 통해 실행되지 않도록 secure.sh 을 실행한다.

[root@linuxer horde]# ./secure.sh

I have made your configuration files, and libraries mode 0555
which is read / execute for everyone.
And the setup.php3 is mode 0000 which is no access period.

[root@linuxer horde]#

이제 IMP를 사용해 볼수 있다. 로그인 페이지의 URL을 다음과 같다.



참고: index.php3 를 시작페이지로 만들기

index.html이 없을 경우 디렉토리가 인덱싱 되어 나오게 되므로, index.php3를 두번째 인덱스 페이지로 지정해 줄수 있다. 아래의 아파치 설정 파일을 수정한다.

이제 각 디렉토리에서 index.html이 없을 경우 index,php3 가 실행될 것이다.



yamail 설치하기

/tmp 에서 작업한다고 가정한다.


1) 압축 풀기


    # zcat yamail-1999-04-08.tar.gz | tar  xvf -



2) 디렉토리 복사


    # cp -r yamail-1999-04-08/yamail-1999-04-08 /usr/local



3) 디렉토리 이동


    # cd /usr/local/



4) 링크 만들기


    # ln -s yamail-1999-04-08 yamail


    # vi /usr/local/yamail/config/defaults.phtml



5) 설정파일 수정

필요에 따라 아래 파일들도 수정

/usr/local/yamail/config/department.phtml (optional)
/usr/local/yamail/config/sysmsg.phtml (optional)


    # cd /usr/local/yamail/lib/scripts
    [root@roni scripts]# /usr/local/mysql/bin/mysql  < mysql-common.sql
    [root@roni scripts]# /usr/local/mysql/bin/mysql  < mysql-3.22.sql
    [root@roni scripts]# /usr/local/mysql/bin/mysqladmin reload
    [root@roni scripts]#
    .....



6) MySQL에 테이블 생성


    # cd /usr/local/
    # chown -R nobody yamail



7) 디렉토리의 소유권 변경


    # cd /usr/local/yamail/tool
    # perl mk_Mail_dir.pl



8) User 홈디렉토리에 메일디렉토리 및 메일박스 생성


    .....

    <Directory /usr/local/yamail>
    AllowOverride None
    Options Indexes FollowSymLinks
    </Directory>
    ....

    Alias /yamail/ "/usr/local/yamail/"



9) 아파치 설정 파일 변경 - /yamail 디렉토리 Alias 설정

파일명 : /usr/local/apache/conf/httpd.conf



10) 아파치 데몬 재시작


    # killall -HUP httpd


    또는


    # /usr/local/apache/bin/apachectl restart



11) Yamail 로그인 및 테스트

http://localhost/yamail/ 와 같이 URL 뒤에 반드시 (/) 를 붙인다.





끝내며

이상으로 간략하게 공개형 소스를 이용한 웹메일 서비스를 구현해 보았다. 아직까지 기능상으로 상용 웹메일 서비스에 뒤지는 감이 있으나 소스가 공개되어 있다는 사실 하나만으로도 충분한 가치가 있다고 생각된다.


실제 PHP는 수많은 IMAP 관련함수를 지원하므로 관심있는 분은 한번쯤 어떤 것들이 있나 살펴보는 것도 큰 도움이 될 것이다. 개인적인 사정으로 보다 충실한 교재가 되지 못한 점 이 글을 읽는 모든 분들께 사과 드리며 조만간 국내에서도 오픈소스로 진행되는 웹메일 프로젝트가 시작되기를 바라며 이만 두서없는 글을 마무리 지을까 한다.




[
제4회 리눅스 공동체 세미나 교재 목록으로 돌아갑니다. ]