B-1. 웹, PHP3, MySQL 연동
이 글은 예전에 리눅스 강좌에 올라온 글입니다.
==============================================
이 문서의 변환 정도는 양호합니다. 따라서 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 단계의 설정화면이 나온다.
URL: http://localhost/horde/setup.php3
12 단계의 설정내용
1. Language Configuration 2. Server Specific Configuration 3. Web Server Configuration 4. Mail Server Configuration 5. Cookie Configuration 6. External Binaries Configuration 7. User abilities Configuration 8. New Mail Notification Configuration 9. Message Configuration 10. Database Configuration 11.Confirm File Write - This is what your defaults.php3 will look like. 12. Configuration Complete!
설정이 끝나면 설정한 내용을 파일에 저장하게 된다.
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을 다음과 같다.
URL: http://localhost/horde/imp/index.php3
참고: index.php3 를 시작페이지로 만들기
index.html이 없을 경우 디렉토리가 인덱싱 되어 나오게 되므로, index.php3를 두번째 인덱스 페이지로 지정해 줄수 있다. 아래의 아파치 설정 파일을 수정한다.
/usr/local/apache/conf/httpd.conf
...
<IfModule mod_dir.c> DirectoryIndex index.html </IfModule> ...
이제 각 디렉토리에서 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) 디렉토리 이동
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) 아파치 데몬 재시작
11) Yamail 로그인 및 테스트
http://localhost/yamail/ 와 같이 URL 뒤에 반드시 (/) 를 붙인다.
끝내며
이상으로 간략하게 공개형 소스를 이용한 웹메일 서비스를 구현해 보았다. 아직까지 기능상으로 상용 웹메일 서비스에 뒤지는 감이 있으나 소스가 공개되어 있다는 사실 하나만으로도 충분한 가치가 있다고 생각된다.
실제 PHP는 수많은 IMAP 관련함수를 지원하므로 관심있는 분은 한번쯤 어떤 것들이 있나 살펴보는 것도 큰 도움이 될 것이다. 개인적인 사정으로 보다 충실한 교재가 되지 못한 점 이 글을 읽는 모든 분들께 사과 드리며 조만간 국내에서도 오픈소스로 진행되는 웹메일 프로젝트가 시작되기를 바라며 이만 두서없는 글을 마무리 지을까 한다. |