apache 설치
# gzip -d apache_1.3.27.tar.gz
# tar xvf apache_1.3.27.tar
# cd apache_1.3.27
# ./configure --prefix=/usr/local/apache --enable-shared=max --enable-module=rewrite --enable-shared=rewrite --enable-module=info --enable-shared=info
# make
# make install
mysql 설치
# gzip -d mysql-3.23.55.tar.gz
# tar xvf mysql-3.23.55.tar
# cd mysql-3.23.55
# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr
# make
# make install
# cd /usr/local/mysql/bin/mysql_install_db
# vi /usr/local/mysql/share/mysql/mysql.server
* 182라인을 다음과 같이 수정
$bindir/safe_mysqld --user=root --datadir=$datadir --pid-file=$pid_file &
# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
# ln -s /etc/init.d/mysqld /etc/rc3.d/S90mysqld
# /etc/init.d/mysql start
qmail 설치
# gzip -d qmail-1.03.tar.gz
# tar xvf qmail-1.03.tar
# cd qmail-1.03
# mkdir -p /var/qmail
# sh user.ids
# make
# make setup check
# ./config-fast 메일서버도메인명
ucspi-tcp 설치
# gzip -d ucspi-tcp-0.88.tar.gz
# tar xvf ucspi-tcp-0.88.tar
# cd ucspi-tcp-0.88
# make
# make setup check
daemontools 설치
# gzip -d daemontools-0.76.tar.gz
# tar xvf daemontools-0.76.tar
# cd daemontools-0.76
# cd admin/daemontools-0.76
# package/install
# vi /etc/inittab
* 마지막라인의 다음내용을 삭제후 저장
SV:123456:respawn:/command/svscanboot
# rm -rf /service
# rm -rf /command
# cd command
# mv * /usr/local/bin
# ps -ef | grep svscan
# kill -9 "관련프로세스종료"
checkpassword 설치
# gzip -d checkpassword-0.90.tar.gz
# tar xvf checkpassword-0.90.tar
# cd checkpassword-0.90
# make
# make setup check
qmail 설정
# mkdir -p /var/qmail/supervise/qmail-send/log
# mkdir -p /var/qmail/supervise/qmail-smtp/log
# mkdir -p /var/qmail/supervise/qmail-pop3/log
# chmod +t /var/qmail/supervise/qmail-send
# chmod +t /var/qmail/supervise/qmail-smtp
# chmod +t /var/qmail/supervise/qmail-pop3
# vi /var/qmail/supervise/qmail-send/run
#!/bin/sh
exec /var/qmail/rc
# vi /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/send
# vi /var/qmail/supervise/qmail-smtp/run
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 5000000 \
/usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
# vi /var/qmail/supervise/qmail-smtp/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtp
# vi /var/qmail/supervise/qmail-pop3/run
#!/bin/sh
exec /usr/local/bin/softlimit -m 5000000 \
/usr/local/bin/tcpserver -v -R -H -l 0 0 pop3 /var/qmail/bin/qmail-popup \
메일서버도메인명 /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
# vi /var/qmail/supervise/qmail-pop3/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/pop3
# chmod 755 /var/qmail/supervise/qmail-send/run
# chmod 755 /var/qmail/supervise/qmail-send/log/run
# chmod 755 /var/qmail/supervise/qmail-smtp/run
# chmod 755 /var/qmail/supervise/qmail-smtp/log/run
# chmod 755 /var/qmail/supervise/qmail-pop3/run
# chmod 755 /var/qmail/supervise/qmail-pop3/log/run
# cd ~alias
# echo 사용자아이디 > .qmail-mailer-daemon
# echo 사용자아이디 > .qmail-postmaster
# echo 사용자아이디 > .qmail-root
# cp /var/qmail/boot/proc /var/qmail/rc
# vi /var/qmail/rc
* 7라인을 다음과 같이 수정
qmail-start '|preline procmail ./Maildir/' splogger qmail
# mkdir -p /var/log/qmail/send
# mkdir -p /var/log/qmail/smtp
# mkdir -p /var/log/qmail/pop3
# chown qmaill /var/log/qmail /var/log/qmail/send /var/log/qmail/smtp /var/log/qmail/pop3
# vi /etc/init.d/qmail
#!/bin/sh
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 80 80
# description: sendmail을 대체하는 빠르며, 안정적이고, 유연한 MTA
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
case "$1" in
start)
echo -n "Starting qmail: svscan"
cd /var/qmail/supervise
env - PATH="$PATH" svscan &
echo $! > /var/run/svscan.pid
echo "."
;;
stop)
echo -n "Stopping qmail: svscan"
kill `cat /var/run/svscan.pid`
echo -n " qmail"
svc -dx /var/qmail/supervise/*
echo -n " logging"
svc -dx /var/qmail/supervise/*/log
echo "."
;;
stat)
cd /var/qmail/supervise
svstat * */log
;;
doqueue|alrm)
echo "Sending ALRM signal to qmail-send."
svc -a /var/qmail/supervise/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /var/qmail/supervise/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /var/qmail/supervise/qmail-send
echo "Pausing qmail-smtp"
svc -p /var/qmail/supervise/qmail-smtp
echo "Pausing qmail-pop3"
svc -p /var/qmail/supervise/qmail-pop3
;;
cont)
echo "Continuing qmail-send"
svc -c /var/qmail/supervise/qmail-send
echo "Continuing qmail-smtp"
svc -c /var/qmail/supervise/qmail-smtp
echo "Continuing qmail-pop3"
svc -c /var/qmail/supervise/qmail-pop3
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtp."
svc -d /var/qmail/supervise/qmail-smtp
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /var/qmail/supervise/qmail-send
echo "* Restarting qmail-smtp"
svc -u /var/qmail/supervise/qmail-smtp
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp*
echo "Reloaded /etc/tcp.smtp."
;;
help)
cat << HELP
stop -- stops mail service (smtp connections refused, nothing goes out)
start -- starts mail service (smtp connection accepted, mail can go out)
pause -- temporarily stops mail service (connections accepted, nothing leaves)
cont -- continues paused mail service
stat -- displays status of mail service
cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- sends qmail-send ALRM, scheduling queued messages for delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue|help}"
exit 1
;;
esac
exit 0
# vi /etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
릴레이를 허용할 아이피주소:allow,RELAYCLIENT=""
:allow
# /etc/init.d/qmail cdb
# /etc/init.d/sendmail stop
# mv /etc/rc3.d/S88sendmail /etc/rc3.d/K88sendmail
# mv /usr/lib/sendmail /usr/lib/sendmail.old
# mv /usr/sbin/sendmail /usr/sbin/sendmail.old
# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
# vi /var/qmail/control/sqlserver
mysql_use yes
server localhost
login phpmail
password phpmail
db phpmail
table mailuser
port 3306
check_host yes
quota yes
ignore_validity yes
swap_check_order yes
# /usr/local/mysql/bin/mysqladmin create phpmail
# /usr/local/mysql/bin/mysql -u root -p mysql
mysql> insert into user values ('localhost', 'phpmail', password('phpmail'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
mysql> insert into db values ('localhost', 'phpmail', 'phpmail', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y');
mysql> flush privileges;
mysql> exit;
# /usr/local/mysql/bin/mysql -u phpmail -p phpmail
mysql> create table mailuser (
mbox_host varchar(32) binary null,
id varchar(32) binary not null,
passwd varchar(32) binary not null,
crypt varchar(32) binary not null,
uid int(5) unsigned not null default '99',
gid int(5) unsigned not null default '99',
shell varchar(16) not null default '/bin/false',
home varchar(64) binary not null,
quota_size int(10) null,
start_date date not null default '0000-00-00',
expire_date date not null default '0000-00-00',
active enum('Y','N') not null default 'Y'
);
mysql> insert into mailuser (mbox_host, id, passwd, crypt, uid, gid, shell, home) values ('메일서버도메인명', 'phpmail', 'phpmail', encrypt('phpmail'), 99, 99, '/bin/false', '/phpmail/메일서버도메인명/phpmail');
mysql> exit;
# mkdir -p /phpmail/메일서버도메인명/phpmail
# /var/qmail/bin/maildirmake /phpmail/메일서버도메인명/phpmail/Maildir
# echo ./Maildir/ > /phpmail/메일서버도메인명/phpmail/.qmail
# chown -R 99:99 /phpmail
# /etc/init.d/qmail start
# pstree
|-svscan-+-supervise---qmail-send-+-qmail-clean
| | |-qmail-lspawn
| | |-qmail-rspawn
| | `-splogger
| |-3*[supervise---multilog]
| `-2*[supervise---tcpserver]
# /var/qmail/bin/qmail-getpw phpmail 메일서버도메인명
* 다음과 같은 출력결과가 나와야 정상
phpmail9999/phpmail/메일서버도메인명/phpmail0
imap 설치
imap-2001a 버그가 존재하여 imap-4.7c를 이용하실것을 권장합니다.
# gzip -d imap-2001a.tar.gz
# tar xvf imap-2001a.tar
# cd imap-2001a
# gzip -d imap-4.7c.tar.gz
# tar xvf imap-4.7c.tar
# cd imap-4.7c
# make slx
# cd ..
# cp -r imap-2001a /usr/local/imap
# cp -r imap-4.7c /usr/local/imap
# cd /usr/local/imap
# ln -s c-client include
# ln -s c-client lib
# cd /usr/local/imap/c-client
# ln -s c-client.a libc-client.a
# cd ..
# cp imapd/imapd /usr/sbin/in.imapd
# vi /etc/xinetd.d/imap
service imap
{
disable = no
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.imapd
log_on_failure += USERID
}
# /etc/init.d/xinetd restart
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK localhost.localdomain IMAP4rev1 v12.264 server ready
a00 login phpmail@메일서버도메인명 비밀번호
a00 OK LOGIN completed
a01 list mbox *
* LIST (\NoInferiors) NIL INBOX
a01 OK LIST completed
a02 logout
#
libiconv 설치
# gzip -d libiconv-1.7.tar.gz
# tar xvf libiconv-1.7.tar
# cd libiconv-1.7
# ./configure
# make
# make install
php 설치
# vi /etc/ld.so.conf
* 다음라인을 추가
/lib
/usr/lib
/usr/local/lib
/usr/local/mysql/lib/mysql
# gzip -d php-4.3.1.tar.gz
# tar xvf php-4.3.1.tar
# cd php-4.3.1
# CFLAGS="-L/usr/local/mysql/lib/mysql -lmysqlclient" ./configure --with-apxs=/usr/local/apache/bin/apxs --with-imap=/usr/local/imap --with-mysql=/usr/local/mysql --with-iconv=/usr/local --with-language=korean --with-charset=euc_kr --enable-track-vars --enable-module=so --disable-cli --disable-cgi --with-config-file-path=/usr/local/apache/conf --enable-versioning
* --with-imap-ssl 관련 에러발생시 아래내용을 configure에 추가
--with-imap-ssl=/usr
위의 내용은 imap makefile내 ssl부분을 none으로 바꾸시면 ssl을 사용하지 않도록 할수 있습니다.
또는 imap 설치시 make slx PASSWDTYPE=std SSLTYPE=none 으로 설치를 하십시오
# make
# make install
# cp php.ini-recommended /usr/local/apache/conf/php.ini
# vi /usr/local/apache/conf/php.ini
* 1088라인을 다음과 같이 수정
register_globals = On
* 1093라인을 다음과 같이 수정
magic_quotes_gpc = On
hcode 설치
# gzip -d hcode-2.1m3.tar.gz
# tar xvf hcode-2.1m3.tar
# cd hcode-2.1m3
# make
# cp hcode /usr/bin
procmail 설정
# vi /phpmail/메일서버도메인/phpmail/.qmail
|/var/qmail/bin/preline /usr/bin/procmail -p -m /phpmail/메일서버도메인/phpmail/.procmailrc
# vi /phpmail/메일서버도메인/phpmail/.procmailrc
PATH=/bin:/usr/bin:/usr/bin
DEFAULT=/phpmail/메일서버도메인/phpmail/Maildir/
MAILDIR=/phpmail/메일서버도메인/phpmail/Maildir/
LOGFILE=/var/log/qmail/procmail
VERBOSE=no
SHELL=/bin/sh
###### 제목 디코딩 ######
:0 Efhw
*^(Subject|From|Cc):.*=\?EUC-KR\?(B|Q)\?
|formail -c | hcode -dk -m
:0 Efhw
*^(Subject|From|Cc):.*=\?ks_c_5601-1987\?(B|Q)\?
|formail -c | hcode -dk -m
#########################
:0
* ^Subject: .*(advert|광고|홍보|廣告|몰카)
"/phpmail/메일서버도메인/phpmail/Trash/cur"
# /var/qmail/bin/maildirmake /phpmail/메일서버도메인/phpmail/Trash
quota 설정
# cp qmail-quota /var/qmail/bin
# chmod 755 /var/qmail/bin/qmail-quota
# vi /phpmail/메일서버도메인/phpmail/.qmail
|/var/qmail/bin/qmail-quota
|/var/qmail/bin/preline /usr/bin/procmail -p -m /phpmail/메일서버도메인/phpmail/.procmailrc
# echo 1024 > /phpmail/메일서버도메인/phpmail/.quota
# touch /var/log/qmail/procmail
# chown -R nobody:nobody /var/log/qmail/procmail
autorespond 설정
# gzip -d autorespond-2.0.3.tar.gz
# tar xvf autorespond-2.0.3.tar
# cd autorespond-2.0.3
# make
# make install
# vi /phpmail/메일서버도메인/phpmail/.qmail
|/var/qmail/bin/qmail-quota
|/var/qmail/bin/qmail-autorespond 86400 5 /phpmail/메일도메인/phpmail/.autorespond /var/log/qmail/vaca 0 $
|/var/qmail/bin/preline /usr/bin/procmail -p -m /phpmail/메일서버도메인/phpmail/.procmailrc
# mkdir -p /var/log/qmail/vaca
# chown -R nobody:nobody /var/log/qmail/vaca
# echo "test" > /phpmail/메일서버도메인/phpmail/.autorespond
* 정식배포판에서 제가 약간의 소스수정을 했습니다. 배포판을 설치하시면 안되실겁니다 :)
apache 설정
# vi /usr/local/apache/conf/httpd.conf
* 1036라인 아래에 다음내용을 추가
AddType application/x-httpd-php .html .php .ph
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
# /etc/init.d/httpd start
phpmail 1.0.x 설정
server
bibaram2005.02.18 · 20분 읽기 · 조회 4,243
Qmail 설치 -Kldp.net 에서
bibaram2005.02.18 · 20분 읽기 · 조회 4,243이어서 읽기
html↗
favicon.ico Status 404 해결방법
favicon.ico 파일이 있어서 경로를 직접 설정해주는 게 최선이지만favicon.ico가 없다면 아래와 같이 넣어준다. <html> <head> <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> </head…
2020.09.25·1분 읽기
php↗
Codeigniter api에서 어떤 곳에서 보낸 json
$aData = var_export(file_get_contents('php://input'),TRUE); $aArr = json_decode(str_replace("'", "", $aData), true); 버전에 따라 다를 수도 있음 $this->input->raw_input_stream 이렇게 해보면 됨
2020.09.11·1분 읽기
server↗
apache 이미지 로그 안쌓이게 하기
웹서버를 운영하다 보면 Apache log 가 엄청나게 많이 쌓인다. logrotate 가 실행되고 있다면 어느 정도 로그가 정리가 되겠지만 아니라면 로그가 쌓여서 서버가 엄청 느려지거나 서버가 다운될 수도 있다. ErrorLo…
2020.02.17·2분 읽기
댓글 0
아직 댓글이 없습니다.