아파치 2.0.55+mysql 4.0.26+Php 4.4.2 연동
작성자:김주홍 (2006-02-15)
mysql 설치
[root@finebill local]# useradd mysql
[root@finebill local]# groupadd mysql
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euc_kr
**MySQL 4.1.X 에서는 --with-charset=euckr 으로 해야 합니다
make
make install
cd /usr/local/mysql/bin
**cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
./mysql_install_db
chown -R mysql.mysql /usr/local/mysql/data
./mysqld_safe &
./mysqladmin -u root password '암호명'
./mysql -u root -p ->mysql접속

=======================================================
MySQL 4.0.X 에서 MySQL 4.1.X 달라진점
4.0.X 에선 4.1.X 는 많은 변화들이 있습니다.
1. mysql 4.1의 table 이름은 utf8으로 저장(한글 테이블명을 사용할수 없습니다.)
2. mysql db 에 user 테이블의 password 필드가 더 길어졌습니다.(16->41)
3. password 다루는 방식이 달라졌습니다. 보안을 강하게 하기 위해서 hashing 메커니즘이 바뀌었습니다.
- hashing 이 16바이트에서 41바이트바뀌었습니다. 보이는건 45바이트. 4바이트는? 소금^^;
- 새로운 포멧은 *부터 시작. 예전포멧은 그렇지 않았습니다.
- 예전 포멧을 사용하려면, old_password()함수를 사용해야 합니다.
4. configure 할때 --with-charset=euc_kr 에서 --with-charset=euckr 으로 바뀌었습니다.

*. 더 자세한 것은. ... http://dev.mysql.com/doc/mysql/en/Upgrading-from-4.0.html 참조하세요

*lmysql 셧다운 시키기 -> ./mysqladmin -u root -p shutdown
*mysql 데이타베이스 생성및 데이터 베이스 계정추가..(제로보드 사용시)
- create database zero_board; // 데이타베이스 생성
- 3) zero_board 데이타베이스에 계정 사용자(ID:kjhfull)를 주고 암호(Password:xxxx)까지
   설정해서 한방에 끝내겠습니다.
- GRANT ALL PRIVILEGES ON kjhfull.* TO kjhfull@localhost IDENTIFIED BY '1234' WITH GRANT OPTION;
*계정 등록을 확인해 보겠습니다.
- use mysql; // 참고로 mysql 은 사용자가 등록되는 DB 입니다.root 도 여기등록 됩니다.
- select * from user; // 위에서 만든 kjhfull 이 사용자에 보여야 함
- DELETE FROM user where user='kjhfull'; 사용자 삭제
==========================================================
apache2 설치
./configure --enable-so --prefix=/usr/local/apache2
make
make install

PHP 설치
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-charset=euc_kr --with-config-file-path=/usr/local/lib
make
make install
cp php.ini-dist /usr/local/php/lib/php.ini

==아파치 conf 수정추가 작업==
기본언어 설정 한글로
AddDefaultCharset EUC-KR

DirectoryIndex index.html index.html.var index.php index.html -> 395라인
AddType application/x-httpd-php .php .htm .php3 .html 추가 -> 838라인
AddType application/x-httpd-php-source .phps
===================================================================
cd /usr/local/apache/bin
./apachectl start

===test.php===
phpinfo();
?>
===============

시작시 자동실행
echo "/usr/local/mysql/bin/mysqld_safe --language=korean &" >> /etc/rc.d/rc.local
echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.d/rc.local
,

작성자 : 김주홍

1. sendmail 설정 (센트OS 4.2기준)
- 먼저 rpm -qa |grep sendmail 명령으로 sendmail이 설치되어 있는지 확인, 없으면 시디로 팩키지를 설치해준다
- 설치할 팩키지 -> sendmail-cf-8.13.1-2
- Pop3를 사용할려면 imap 팩키지가 설치되어 있어야 함(dovecot) -> 기본 imap에 비해 보안향상

**/etc/dovecot.conf 화일 변경

14라인 protocal = pop3 pop3s imap imaps 수정
21라인 imap_listen = [::],pop3_listen = [::] 부분을
       imap_listen = *, pop3_listen = * 으로 수정
22라인  imapslisten = [::],pop3s_listen = [::] 부분을
       imaps_listen = *, pop3s_listen = * 으로 수정
[::]는 ipv6 프로토콜을 의미하며 우리는 ipv4를 사용하므로 *로 바꿔준다.

30 ssl_disable = no 주석제거
87 login_executable = /usr/libexec/dovecopt/imap_login 주석제거
92 login_user = dovecot 주석제거
132 login_executable = /usr/libexec/dovecopt/pop3_login 주석제거
166 #mail_extra_groups = mail_extra_groups = mail 수정
338 imap_executable = /usr/libexec/dovecot/imap 주석제거
353 pop3_executable = /usr/libexec/dovecot/pop3 주석제거
437 auth_executable = /usr/libexec/dovecot/auth 주석제거

dovecot 구동은 selinux설정되어 있으면 꺼주세요.


2. 설정파일 위치
- /etc/mail/sendmail.cf : 센드메일의 가장 기본적인 설치파일 -> 265라인에 addr 제거
- /etc/mail/access : 릴레이 허용파일,기본적으로 로컬만 허용, 허용할 IP,domain추가 한다.
*엑세스 파일 교체되면 makemap hash /etc/mail/access < /etc/mail/access 실행
- /etc/mail/local-host-names : 메일을 수신할 호스트이름 결정

3. sendmail 데몬 시작 / 확인
- service sendmail start 또는 init/sendmail start
- 마지막으로 telnet localhost 25 로 접속해서 아래와 같은 화면이 나오면 정상적으로 SMTP데몬이 돌고 있다.
[root@test mail]# telnet localhost 25
Trying 127.0.0.1...ㅅㄷ
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.12.8/8.12.8; Mon, 12 Apr 2004 14:18:30 +0900

[SMTP-AUTH 인증기능 추가]
* SASL 라이브러리가 설치되어 있어야 함
cyrus-sasl-md5-2.1.19-5.EL4
cyrus-sasl-2.1.19-5.EL4
cyrus-sasl-plain-2.1.19-5.EL4
cyrus-sasl-devel-2.1.19-5.EL4


SMTP 인증 기능을 사용하기 위해서 다음의 라인을 확인한다.
==============================================================================================
TRUST_AUTH_MECH(`LOGIN PLAIN EXTERNAL DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5')dnl
==============================================================================================

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf ->바뀐것을 적용한다.

* 인증확인
[root@hong mail]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.13.1/8.13.1; Fri, 14 Apr 2006 13:22:51 +0900
EHLO localhost
250-localhost.localdomain Hello hong [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP

* 현재 인증되는 서버
529 O AuthMechanisms=LOGIN PLAIN EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5
,