달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

예전에 네이버 블로그에 적어놨던것 같은데... 찾기 귀찮아서 다시 올림.

qmail queue 에 쌓인 쓸데 없는 메일들을 지워주기도 하고,

queue 에 뭐가 어떻게 남았는지도 리스트로 뽑아볼 수도 있고 편리한 스크립트다.

qmail 정말 좋은 메일 서버임에 틀림없다.

Posted by tornado
|

[qmail]queue-fix

OS/LINUX 2006. 5. 30. 15:41
김남일
손님





올리기올려짐: 2004년2월12일 2:19 pm    주제: queue-fix 설치는 어떻게 하나요. 인용과 함께 답변

스팸메일로 인하여 자꾸만 queue에 쌓이네요.
그래서 큐를 모두 지우고 다시 생성할려고 하는데
queue-fix.tar.gz를 다운로드 하였거든요.
그런데 어떻게 설치해야 될지 모르겠네요.
설치해 보신분 답변 부탁드립니다.
위로
'); // :badtag -->
 
김남일
손님





올리기올려짐: 2004년2월12일 3:17 pm    주제: Re: [자답] 해결했습니다. 인용과 함께 답변

자답입니다.
여기에 찾아보니까 있더군요.
해결했습니다

tar xzf queue-fix.tar.gz
cat ../queue-fix-1.4.diff | patch -p1
make
rm -rf /var/qmail/queue
./queue-fix -i /var/qmail/queue



김남일 wrote..
> 스팸메일로 인하여 자꾸만 queue에 쌓이네요.
> 그래서 큐를 모두 지우고 다시 생성할려고 하는데
> queue-fix.tar.gz를 다운로드 하였거든요.
> 그런데 어떻게 설치해야 될지 모르겠네요.
> 설치해 보신분 답변 부탁드립니다.
Posted by tornado
|

linux.ro Forum Index ? ? Configurare linux ? ? Pb qmail
Autor Pb qmail
georgem1971


Inregistrat: Sep 13, 2003
Postari: 18
Sistem de operare: Red Hat

Postat: 2004-05-16 13:40   
Uh-oh:_.qmail_has_prog_delivery_but_has_x_bit_set._(#4.7.0)/ = asta e eroarea din /var/log/qmail/qmail-send.Mailurile ajung de la user@domeniu la orice alta adresa numai la cea locala nu.(de la user@domeniu catre orice@domeniu nu vine nimich)
Multumesc!!!


Vezi profilul lui georgem1971   Email georgem1971       Editeaza/Sterge This Post   Reply with quote
horchi


Inregistrat: Mar 07, 2003
Postari: 119
Sistem de operare: Free BSD &


De la: Bucuresti
Postat: 2004-05-17 08:35   
Salut!
Din cate cred ai instalat qmai+vpopmail. Daca e asa chmod -x /home/vpopmail/domain/domenui.ro/.qmail-default. De asemenea trebuie sa stii ca orice fisier .qmail- nu trebuie sa aiba setat +x (risc de securitate). In concluzie e bine sa faci un chmod -x la toate fisierele .qmail- (inclusiv acelea din /var/qmail/alias/)
Bafta!
_________________
Actually, unix is a very user-friendly system. It’s just that it is particular about which users it chooses to be friendly with.


Vezi profilul lui horchi   Email horchi     Editeaza/Sterge This Post   Reply with quote

http://www.linux.ro/forum/viewtopic.php?topic=10831&forum=6&1

'OS > LINUX' 카테고리의 다른 글

[qmail]queue-fix  (0) 2006.05.30
[qmHandle 1.2] 큐메일 제어 스크립트  (0) 2006.05.29
qmail+vpopmail 설치  (0) 2006.02.24
Apache James Setting  (0) 2006.02.23
sendmail 설정후 외부메일 안들어올때 -0-  (0) 2006.02.21
Posted by tornado
|

qmail+vpopmail 설치

OS/LINUX 2006. 2. 24. 12:54
qmail + vpopmail 설치편


qmail을 설치해봅시다. 여기서는 qmail+vpopmail+mysql+courier-imap 기반으로 설치를 합니다.

설치할 소스
apache_1.3.31 (http://httpd.apache.org/download.cgi)
php_4.3.7 (http://www.php.net/downloads.php)
mysql_4.0.20 (http://dev.mysql.com/downloads/)
gd_2.0.26 (http://www.boutell.com/gd/http/)
freetype_2.1.9 (http://prdownloads.sourceforge.net/freetype)
ZendOptimizer_2.5.2 (http://zend.com/store/products/zend-optimizer.php)
imap_4.7c2 (ftp://ftp.cac.washington.edu/imap/)
courier-imap_3.0.7 (http://prdownloads.sourceforge.net/courier/)
libiconv_1.9.1 (http://ftp.gnu.org/pub/gnu/libiconv/)
qmail_1.03 (http://qmail.org)
vpopmail_5.4.5 (http://www.inter7.com/vpopmail.html)
daemontools_0.76 (http://qmail.org/moni.csi.hu/pub/qmail/qmail-run/)
ucspi-tcp_0.88 (http://qmail.org/moni.csi.hu/pub/qmail/qmail-run/)
autorespond_2.0.2 (http://www.inter7.com/devel/)
ezmlm_0.53 (http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/)
qmailadmin_1.2.1 (http://www.inter7.com/qmailadmin/)
maildrop_1.5.2 (http://prdownloads.sourceforge.net/courier/)
ntop_3.0 (http://sourceforge.net/projects/ntop)
libpcab (ftp://ftp.ee.lbl.gov)

패치파일
gd 패치 : patch_gd2.0.26_gif_040622 (http://downloads.rhyme.com.au/gd/)
daemontools 패치 : daemontools-0.76.errno.patch (http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/)
qmail 패치 : cocktail.patch (http://people.kldp.org/~eunjea/qmail/patch/)
ucspi-tcp 패치 : ucspi-tcp-0.88.errno.patch, ucspi-tcp-0.88.a_record.patch, ucspi-tcp-0.88.nobase.patch(http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/)
ezmlm 패치 : idx.patch (http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/)


▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧▧

1. 설치준비

먼저 설치할 소스를 다운받아 특정폴더에 넣어놓자

여기서는 /usr/local/source 디렉토리를 만들어서 여기에 모두 카피하였다.


2. RPM으로 설치된 패키지 제거

리눅스 설치를 everything으로 하였다면 rpm으로 APM이 설치되어있을 것이다.

해당 패키지들은 모두 제거해줘야한다.


먼저 관련 프로세스가 떠있는지 확인하고 떠있다면 죽여주자


apache 데몬이 있는지 확인

[root@localhost root]# ps -ef | grep httpd

root      4458  3462  0 20:02 pts/0    00:00:00 grep httpd

위와 같이 나오면 데몬이 없는 것이다.

실행중인 데몬이 있으면 데몬을 종료 (killall httpd)


mysql 데몬이 있는지 확인

[root@localhost root]# ps -ef | grep mysqld

이것 역시 떠있는 데몬이 있으면 종료해준다.


RPM 패키지 확인


설치된 apache 패키지 검색

[root@localhost root]# rpm -qa | grep httpd

httpd-manual-2.0.40-21

redhat-config-httpd-1.0.1-18

httpd-devel-2.0.40-21

httpd-2.0.40-21


apache 제거

[root@localhost root]# rpm -e --nodeps httpd-2.0.40-21

위와같은 방법으로 검색된 패키지들은 모두 삭제하자. --nodeps 옵션을 붙혀준 것은 의존성 때문이다.

이 옵션을 붙히지 않으면 다른 패키지가 이 패키지를 dependant 하고 있으므로 삭제할 수 없다는 메시지가 나온다.


설치된 mysql 패키지 검색

[root@localhost root]# rpm -qa | grep mysql

mysql-devel-3.23.54a-11

php-mysql-4.2.2-17

libdbi-dbd-mysql-0.6.5-5

mysql-server-3.23.54a-11

mysql-3.23.54a-11

mod_auth_mysql-1.11-12


mysql 제거

[root@localhost root]# rpm -e --nodeps mysql-3.23.54a-11

검색된 다른 패키지들도 동일한 방법으로 지워줌


설치된 php 패키지 검색

[root@localhost root]# rpm -qa | grep php

php-ldap-4.2.2-17

php-4.2.2-17

asp2php-gtk-0.76.2-5

php-manual-4.2.2-17

asp2php-0.76.2-5

php-devel-4.2.2-17

php-pgsql-4.2.2-17

php-odbc-4.2.2-17

php-snmp-4.2.2-17

php-imap-4.2.2-17


php 제거

[root@localhost root]# rpm -e --nodeps php-4.2.2-17

검색된 다른 패키지들도 동일한 방법으로 지워줌


gd 제거

[root@localhost root]# rpm -e --nodeps gd


freetype 제거

[root@localhost root]# rpm -e --nodeps freetype

3. libiconv 설치
웹메일에서 사용하게 될 iconv를 설치하자

[root@localhost root]# cd /usr/local/source/
[root@localhost source]# tar xvfz ./libiconv-1.9.1.tar.gz
[root@localhost source]# cd libiconv*
[root@localhost libiconv-1.9.1]# ./configure --prefix=/usr/local
[root@localhost libiconv-1.9.1]# make
[root@localhost libiconv-1.9.1]# make install


4. mysql 설치

mysql 그룹과 유저가 등록이 되어있는지 확인한다. 리눅스를 everything 으로 설치했다면 당연히 존재할것이다.

/etc/passwd 파일과 /etc/group 파일을 열면 존재여부를 확인할수 있다.


# vi /etc/passwd

:

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

:

# vi /etc/group

:

mysql:x:27:

:


보는바와 같이 이미 mysql 그룹과 유저가 생성되어 있다는 것을 알수 있다. Rpm으로 설치된 mysql때문이다.

만약 만약 생성되어있지 않다면 다음과같이 그룹과 유저를 추가시켜준다.


# groupadd mysql

# useradd -g mysql mysql


등록이 끝났으면 mysql을 다운받은 소스 디렉토리로 이동하여 설치할 준비를 하자

# cd /usr/local/source

[root@localhost source]# tar xvfz mysql*

[root@localhost source]# cd mysql*

[root@localhost mysql-4.0.20]# ./configure \

--prefix=/usr/local/mysql \

--with-charset=euc_kr \

--localstatedir=/usr/local/mysql/data


[root@localhost mysql-4.0.20]# make

[root@localhost mysql-4.0.20]# make install


인스톨까지 끝났다면 mysql에 사용될 기초적인 DB를 생성해준다.

[root@localhost mysql-4.0.20]# scripts/mysql_install_db


DB 생성후엔 데이터가 저장되는 폴더안의 내용물들의 소유권을 mysql 유저에게 주어야 한다.

[root@localhost mysql-4.0.20]# chown -R mysql.mysql /usr/local/mysql/data


환경설정 파일을/etc/my.cnf 에 복사한다.

[root@localhost mysql-4.0.20]# cp support-files/my-medium.cnf /etc/my.cnf


mysql 데몬스크립트 mysql.server 파일에 mysql_safe가 실행되는 라인에 language 옵션을 추가한다.

현재 설치하고 있는 mysql 버전은 4.0.20 임을 잊지말자.

[root@localhost mysql-4.0.20]# vi /usr/local/mysql/share/mysql/mysql.server

mysql.server 내용

$bindir/mysqld_safe --datadir=$datadir --language=korean --pid-file=$pid_file >/dev/null 2>&1 &


mysql 경로 설정

[root@dentistrytest mysql-4.0.20]# vi /root/.bash_profile

/usr/local/mysql/bin 추가

.bash_profile 내용

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin


부팅시 자동실행될 수 있도록 링크를 걸고 데몬을 띄워보자

[여기서 잠깐!]

mysql rpm 패키지를 제거할 때 관련패키지를 제거하지 않았다면 기존의 mysql이 부팅시 자동실행되도록 등록되어있을것이다. 여기서는 위와같이 링크를 걸어줬으므로 이 링크파일은 제거해줘야한다. 아까전에 생성한 링크원본 파일이 리눅스 배포판의 mysql데몬 이름과 같다면 새롭게 링크를 걸 필요가 없지만 지우고 새로이 만드는게 좋다.


root@localhost mysql-4.0.20]# cd /etc/rc.d/init.d/rc3.d

root@localhost rc3.d]# ls al *mysql*

lrwxrwxrwx    1 root     root           16 Oct 11 15:21 K20mysqld -> ../init.d/mysqld


위와같이 mysql 관련 링크가 있으면 삭제해주자

root@localhost rc3.d]# rm rf K20mysqld


rc5.d 디렉토리 내용도 똑같이 삭제해준다.

root@localhost mysql-4.0.20]# cd /etc/rc.d/init.d/rc5.d

root@localhost rc5.d]# ls al *mysql*

lrwxrwxrwx    1 root     root           16 Oct 11 15:21 K20mysqld -> ../init.d/mysqld

root@localhost rc5.d]# rm rf K20mysqld


이제 링크를 걸어주면 되겠다.

root@localhost mysql-4.0.20]# cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld

이 과정에서 혹 같은 이름의 파일이 존재한다는 경고창이 나오면 y를 누르고 그냥 무시하자

root@localhost mysql-4.0.20]#ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/S90mysqld

root@localhost mysql-4.0.20]#ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc5.d/S90mysqld

root@localhost mysql-4.0.20]# /etc/rc.d/init.d/mysqld start


위와같이 링크를 걸지 않고 편하게 하고 싶다면 /etc/rc.d/rc.local 파일을 vi 에디터로 열어서 제일 마지막 라인에

데몬파일의 경로를 써주면 되겠다.


mysql 데몬 확인

# ps -ef | grep mysql

mysql     3537  3501  0 15:02 ?        00:00:00 [mysqld]

500       4055  3421  0 15:04 pts/0    00:00:00 grep mysqld


이제 다 끝났으면 mysql에 접속을 해보자

[root@localhost mysql-4.0.20]# /usr/local/mysql/bin/mysql mysql

mysql>


위와같이 프롬프트가 떴다면 정상적으로 설치된것이다.

기타 mysql 계정 추가하는 법은 여기서 설명하지 않겠다. DB 계정추가 및 자세한 사항은 MYSQL TIP 메뉴를 이용 바란다.


5. Freetype 설치

# cd /usr/local/source

[root@localhost source]# tar xvfz freetype-2.1.9*

[root@localhost source]# cd freetype-2.1.9

[root@dentistrytest freetype-2.1.9]# ./configure

[root@dentistrytest freetype-2.1.9]# make

[root@dentistrytest freetype-2.1.9]# make install



6. GD 설치

# cd /usr/local/source

[root@localhost source]# tar xvfz gd*

[root@localhost source]# cd gd*


gif 지원을 위해 패치를 해준다. 현재 GD버전은 gd-2.0.26이다.

본인의 경우는 패치파일들은 모두 /usr/local/source/patches에 모아놨다. 패치파일이 다른 디렉토리에 있다면 경로를 적절하게 써주면 되겠다.

[root@localhost gd-2.0.26]# patch -l < ../patches/patch_gd2.0.26_gif_040622

[root@localhost gd-2.0.26]# ./configure --prefix=/usr/local/gd --with-freetype=/usr/local/include/freetype2

[root@localhost gd-2.0.26]# make

[root@localhost gd-2.0.26]# make install



7. Apache 설치(1)

php 컴파일을 위해 apache 를 설정해준다.

# cd ..

[root@localhost source]# tar xvfz apache*

[root@localhost source]# cd apache*

[root@localhost apache_1.3.31]# ./configure -prefix=/usr/local/apache


8. IMAP 설치 (웹메일도 설치할 경우만)

이쯤에서 php 컴팔할때 사용할 IMAP을 설치해주자 IMAP2001 시리즈나 2002시리즈는 비추한다. IMAP4.7C2 강추!

최신 버전의 레드햇 계열에서 그냥 컴파일을 한다면 우리는 time.h 오류를 접할수 있을것이다.
IMAP configure 소스파일의 경로가 /usr/include/sys/time.h 로 되어있는데 한스텝 올려줘야 에러가 안난다.
현재 설치버전을 반드시 기억하기 바란다. 곧 이러한 삽질을 줄여줄수 있는 버전이 나올것이다.

# mv /usr/include/sys/time.h /usr/include/sys/time.h.ori
# ln -s /usr/include/time.h /usr/include/sys/time.h

설정이 끝났으면 IMAP을 설치하자

# cd /usr/local/source/
[root@localhost source]# tar xvfz imap*
[root@localhost source]# cp ?R imap* /usr/local/
[root@localhost source]# mv /usr/local/imap* /usr/local/imap
[root@localhost source]# cd /usr/local/imap
[root@localhost imap]# make slx
[root@localhost imap]# ln -s c-client include
[root@localhost imap]# ln -s c-client lib
[root@localhost imap]# cd c-client
[root@localhost c-client]# ln -s c-client.a libc-client.a
[root@localhost c-client]# cd ..
[root@localhost imap]# cp imapd/imapd /usr/sbin/in.imapd

xinetd.d/imap 파일을 vi 에디터로 열어서 아래와같이 수정한다. 만약 존재하지 않는다면 만들어준다.
[root@localhost imap]# 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
}


xinetd 데몬을 다시 띄우고 time.h를 원상복구 시켜준다.

[root@localhost imap]# /etc/init.d/xinetd restart
[root@localhost imap]# rm /usr/include/sys/time.h
[root@localhost imap]# mv /usr/include/sys/time.h.ori /usr/include/sys/time.h


9. php 설치

이제 php 설치를 한다. 여기서 좀 특별한 것은 는 imap function과 iconv function을 사용하기 위해 옵션을 추가한점이다.

# cd /usr/local/source

[root@localhost source]# tar xvfz php*

[root@localhost source]# cd php*


[root@localhost php-4.3.7]# ./configure --with-config-file-path=/etc \
 --with-exec-prefix=/usr/bin \
 --with-mysql=/usr/local/mysql \
 --with-apache=../apache_1.3.31 \
 --with-imap=/usr/local/source/imap-4.7c \
 --with-gd=/usr/local/gd \
 --with-freetype-dir=/usr/local/include/freetype2 \
 --with-jpeg-dir=/usr/lib/ \
 --with-png-dir=/usr/lib/ \
 --with-zlib-dir=/usr/lib/ \
 --with-language=korean \
 --with-charset=euc-kr \
 --disable-debug \
 --enable-track-vars \
 --enable-safe-mode \
 --enable-gd-native-ttf \
--with-kerberos \
 --enable-mbstring \
 --with-mime-magic \
 --with-iconv=/usr/local/lib/


[root@localhost php-4.3.7]# make

[root@localhost php-4.3.7]# make install


php 환경설정 파일 복사

[root@localhost php-4.3.7]# cp ./php.ini-dist /etc/php.ini


10. apache 설치(2)

[root@localhost php-4.3.7]# cd ../apache*

[root@localhost apache_1.3.31]# ./configure --prefix=/usr/local/apache \

--activate-module=src/modules/php4/libphp4.a \

--enable-module=so \

--enable-shared=max \

--sysconfdir=/usr/local/apache/conf \

--htdocsdir=/usr/local/apache/htdocs \

--logfiledir=/var/log/httpd


[root@localhost apache_1.3.31]# make

[root@localhost apache_1.3.31]# make install


인스톨이 끝났으면 httpd.conf 파일을 수정해줘야한다.

[root@localhost apache_1.3.31]# vi /usr/local/apache/conf/httpd.conf


- ServerName 부분을 주석 해제하고 본인의 아이피나 도메인으로 설정한다.

ServerName 127.0.0.1


- 아래 부분에 index.php 추가

<IfModule mod_dir.c>

    DirectoryIndex index.html index.php

</IfModule>


- AddType 추가

AddType application/x-httpd-php .php .php3 .inc .ph .htm .html

AddType application/x-httpd-php-source .phps


디렉토리 보안을위해 Options 부분 Indexes 를 삭제해준다.

Options Indexes FollowSymLinks MultiViews


시스템 부팅시에 자동 실행되도록 링크를 걸어준다.

[root@localhost apache_1.3.31]# cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd

[root@localhost apache_1.3.31]# ln s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S99httpd

[root@localhost apache_1.3.31]# ln s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S99httpd

[root@localhost apache_1.3.31]# /etc/rc.d/init.d/httpd start


<P style="FONT-SIZE: 12px; MARGIN: 0px
Posted by tornado
|