자동실행을 잘 활용하면 편하다.

/etc/cron.d/ 폴더에 해당 스크립트를 복사하는 형태로 관리한다.

/etc/crontab 에 직접관리하는 것 보다 편리하다.


Centos 에서 쓰던 cron 스크립트를 Ubuntu 에 적용하니 cron 이 실행이 안되었다.

이것저것 찾아보던중.

11doSomethingJob.cron  => 이런 형태는 ubuntu 에서 동작을 안한다.

11doSomethingjobCron 이나 11doSomethingjob_cron 은 되는 듯 하다.


Centos 와 다른 부분이 있다.



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

CentOS 에서 audit backlog 관련 오류가 난다.

시스템이 이상해서 살펴보니.

dmesg 에 이런 메시지가 나온다.

audit: audit_backlog=321 > audit_backlog_limit=320
audit: audit_lost=2343 audit_rate_limit=0 audit_backlog_limit=320
audit: backlog limit exceeded
audit: audit_backlog=321 > audit_backlog_limit=320
audit: audit_lost=2344 audit_rate_limit=0 audit_backlog_limit=320
audit: backlog limit exceeded
audit: audit_backlog=321 > audit_backlog_limit=320
audit: audit_lost=2345 audit_rate_limit=0 audit_backlog_limit=320
audit: backlog limit exceeded
audit: audit_backlog=321 > audit_backlog_limit=320
__ratelimit: 53 callbacks suppressed
audit: audit_backlog=321 > audit_backlog_limit=320
audit: audit_lost=2364 audit_rate_limit=0 audit_backlog_limit=320
audit: backlog limit exceeded
audit: audit_backlog=321 > audit_backlog_limit=320
audit: audit_lost=2365 audit_rate_limit=0 audit_backlog_limit=320
audit: backlog limit exceeded
audit: audit_backlog=321 > audit_backlog_limit=320
audit: audit_lost=2366 audit_rate_limit=0 audit_backlog_limit=320
audit: backlog limit exceeded
audit: audit_backlog=321 > audit_backlog_limit=320

로그파일쪽 limit 가 걸린 듯 하다. 파일수 제한인가?
log 를 보니 cron 실행과 관련이 있어 보인다.

아무튼 이것때문에 시스템이 이상해졌다.


/etc/init.d/auditd stop

chkconfig auditd off

또는 /etc/audit/audit.rules 를 수정해서 audit_backlog_limit 값을 늘려준다.

-b 320

320이 기본값으로 되어 있다. 그냥 무식하게 0 하나를 더 늘렸다.


centos 에서 selinux 와 함께 audit 요놈도 좀 이상하다.
보안과 관련된 것들일 듯 싶은데, 그에 대한 가이드가 필요할 듯 하다.





WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
2012-09-24
epel 패키지 주소가 바뀌었다.(언제인지 모르겠지만) - 기존 주소가 사라진듯.
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
(날짜를 보니 바뀌었다기 보다. 아래 주소가 사라진듯)


2011년 12월 19일
remi 패키지를 이용하는 방법

http://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/

Centos 5 를 기준으로 설명(다른 버전은 위 링크를 참조)

## Remi Dependency on CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
 
## CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
Epel 과 remi  저장소를 이용한다.

nginx 는 nginx.org 에서 패키지를 제공하는 것 같다.
다음처럼 nginx.org 쪽으로 저장소 지정 (/etc/yum.repos.d/nginx.repo )
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

nginx , php-fpm 그외 php 모듈등을 설치한다.
yum --enablerepo=remi install  nginx php-fpm php-mysql php-gd php php-pear
php-mysql 때문에 mysql-libs 가 설치되는데, mysql 5.5.19 버전에 의존성이 있다.
기존 centos5 는 5.0.77 이다. 기본패키지를 쓰면서, remi 패키지를 사용하는 방법이 있을 듯 한데.
그냥 mysql 5.5.19 로 설치했다.
yum --enablerepo=remi install mysql mysql-server
의존성 에러가 발생하면 재설치 해주면 된다.
데이터가 없다면 /var/lib/mysql 을 삭제하고 설치해주는 것이 좋다.




[그냥 잡다한 정리]
핵심은 centos 에서 epel,ius repository 를 등록하고, php53u-fpm , php53u-pecl-apc 를 설치한다.
그외 추가 패키지는 알아서 설치 - php53u-mysql 같은...
상세한 설명은 생략.


nginx 를 설치하는 방법. 컴파일, 패키지


# 새 방법  ius 의 패키지 사용법 - 현 작동중지



# 컴파일
최신 버전에 좋다.
http://blog.sor.co.kr/32
  spawn-fcgi
http://starforum.kr/336
http://interfacelab.com/nginx-php-fpm-apc-awesome/

http://adityo.blog.binusian.org/?p=428

# php 를 사용하는 방법
spawn-fcgi 예전방식 - 컴파일이 필요없다. 간단함.
최근은 php-fpm 방식 - php 최신버전은 컴파일 필요없음. 그외에는 컴파일 필요.



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
Centos 의 기본패키지에 proftpd 가 빠져있다.
proftpd + mysql 설정을 위해 rpmforge 를 저장소로 추가한다.

# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
# yum install proftpd proftpd-mysql
여기까지 설치 끝.


가상계정 설정은 다음을 참조 : http://blog.1day1.org/363


# 추가
Centos 에서 설정후에 이상한 부분이 있었다.
가상계정으로 로그인이 되지 않는 것이다.
AuthPAMConfig                   proftpd
AuthOrder                      mod_auth_pam.c* mod_auth_unix.c
위와 같이 설정되어 있는데, AuthOrder 를 주석처리했다.( # AuthOrder  ... ...)
위 설정은 가상계정을 확인하지 않고 그냥 넘어간다.

AuthPAMConfig 부분은 설정되어 있어야 정상작동한다.
우분투쪽의 설정에는 없는데, 정확한 이유는 확인해야 겠다.



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
그냥 이걸로 하면 끝.
# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

# yum install ffmpeg

=== 이전 내용 =====================================
Centos 의 기본패키지에 ffmpeg 가 포함되어 있지 않다.
써드파티 저장소를 이용해야 한다.

/etc/yum.repos.d 에  임의의 파일을 만든다.
# vi /etc/yum.repos.d/CentOS-DAG.repo
내용은 다음을 넣는다.
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
ffmpeg 패키지를 설치한다.
# yum install ffmpeg
SDL , lame 등의 패키지가 같이 설치된다.
  SDL.i386 0:1.2.10-8.el5                  a52dec.i386 0:0.7.4-8.el5.rf      amrnb.i386 0:7.0.0.2-1.el5.rf
  amrwb.i386 0:7.0.0.3-1.el5.rf            cppunit.i386 0:1.12.0-3.el5.rf    dirac.i386 0:1.0.2-1.el5.rf
  faac.i386 0:1.26-1.el5.rf                faad2.i386 0:2.7-1.el5.rf         ffmpeg-libpostproc.i386 0:0.5-3.el5.rf
  giflib.i386 0:4.1.3-7.1.el5_3.1          imlib2.i386 0:1.4.0-1.el5.rf      lame.i386 0:3.98.2-1.el5.rf
  libid3tag.i386 0:0.15.1b-3.el5.rf        libogg.i386 2:1.1.3-3.el5         libtheora.i386 0:1.0alpha7-1
  x264.i386 0:0.0.0-0.4.20090708.el5.rf



ffmpeg 를 사용하는 용도는 동영상사이트까지는 아니고, 사용자가 올리는 flv 파일에서 이미지를 추출하는 간단한 용도이다. 그래서 위 패키지(ffmpeg) 설치만으로 충분하다.

그외에 avi 를 flv 로 변환한다거나 음성을 추출한다거나 하는 경우 추가로 필요한 패키지를 설치해야 할 것이다.( 이곳을 참조한다 : http://www.mysql-apache-php.com/ffmpeg-install.htm )



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  1 , 댓글  0개가 달렸습니다.
secret
centos 에서 아파치모듈을 컴파일 하는데, 다음과 같은 에러가 난다.
cannot open /httpd/build/config_vars.mk: 그런 파일이나 디렉토리가 없음 at /usr/sbin/apxs line 201.
apxs 는 perl 로 작성되어 있다. 코드를 보다보니.
pkg-config --variable=libdir apr-1
이 부분에서 아무 리턴값이 없는 것이다. (정상은 /usr/lib64 로 나와야 한다)

yum list apr*
으로 확인해보니,  apr-devel  이 i386 버전으로 설치되어 있고, x64 용으로는 설치가 되어 있지 않았다.
그래서
yum install apr-devel
으로 x64 버전도 설치했다.

apxs -ic mod_url.c
apxs -ic mod_bw.c
모두 정상적으로 컴파일 된다.


WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
Centos 에서 삼바를 설정하는데, 기존에 쓰는 우분투 설정과 같게 했는데도 다음과 같은 에러가 난다.
smbd[9726]: [2009/10/10 08:33:24, 0] smbd/service.c:make_connection_snum(1003)
smbd[9726]:   '/user/data' does not exist or permission denied when connecting to [httpd] Error was 허가 거부됨
삼바(/etc/samba/smb.conf) 설정을 이것저것 바꿔보는데도 별다른 진척이 없었다.

처음에는  접속이 안되길래 확인해 보니 /etc/sysconfig/iptables 의 방화벽이 막혀 있었다.
(해당포트를 열거나 방화벽 설정을 해제하면 되겠다. 개발서버용이라 방화벽을 껐다.)

혹시나 해서 Selinux 를 살펴봤다. Selinux 를 끄고 다시 해보니, 정상적이었다.
/etc/selinux/config 의
SELINUX=enforcing 으로 된것을  SELINUX=disabled  로 바꿔줬다.

SELINUX 를 제대로 활용하는 방법은 없나?
찾아보면 Centos 의 제일 먼저 나오는 팁이 Selinux 를 끄세요 라니...


# 다음 자료를 보고 적용해봐야 겠다.
http://wiki.centos.org/HowTos/SELinux
http://www.linuxtopia.org/online_books/centos_linux_guides/centos_selinux_guide/index.html
http://centos.pe.kr/owiki/index.php?url=centos&no=11



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
Centos 5 는 사용하기 편한 배포판중 하나다.(개인적으로 우분투가 좋다)
yum 으로 패키지 관리하는 것도 우분투(데비안)의 apt-get  부럽지 않을만큼 편하다.

그런데, centos5 가 나온지 꽤 되어서 인지 버전이 낮은 프로그램이 있다.
그중 하나가 php 인데, 공식지원은 5.1.6 버전이다.

5.2.x 버전을 사용하기 위해서는 비공식 저장소를 이용해야 한다.

http://wiki.centos.org/AdditionalResources/Repositories
를 보면 추가 가능한 저장소들이 있다. 이중 CentOS-Testing 를 이용하자.
# cd /etc/yum.repos.d
# wget http://dev.centos.org/centos/5/CentOS-Testing.repo
테스팅 저장소를 등록한다.

php 업데이트 방법은
# yum --enablerepo=c5-testing update php
혹시 php-mcrypt 같은 추가로 설치한 확장이 같이 업데이트 되지 않으면 별도로 업데이트해준다.
# yum --enablerepo=c5-testing update php-mcrypt


참조 : SRPM 으로 하는 방법
http://echodittolabs.org/blog/2009/05/all-i-want-php-52-centosrhel

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
cafe24 가상서버호스팅을 사용중이다. 꽤 좋은 성능을 보여줘서 만족하고 있다.
가상호스팅의 특성(?)상 하드 용량이 부족하다. 그렇다 보니 몇메가도 아쉽게 된다.

cafe24 는 centos5 를 사용한다.
쓸데없는 패키지를 삭제해서 용량을 줄였다.
대충살펴보니 1기가 이상줄일 수 있었다.
yum remove xorg-x11*
yum remove evolution*
yum remove openoffice.org*
yum remove gnome*
다음과 같은 패키지들이다. 주로 X윈도 관련 패키지 들이다.
더 세세하게 찾아서 없애면 더 줄일 수 있겠지만, 일단 이정도로 만족.


ps. centos5 기본용량이 원래 큰가? 1기가 내외로 안되겠니?


# 지우기전
 18664164   4120760  13580028  24% /
# 지운후
 18664164   2856220  14844568  17% /


WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
기존에 qmail + vpopmail(with cdb) 를 사용했었다.
pop3 는 vpopmail 을 이용했다. 그리고, imap 은 bincimap 을 사용했다.
그런데, squirrelmail 을 사용하려고 테스트 하는 중 bincimap 1.2.x 버전에 없는 기능때문에 사용할 수 없다. 1.3.x 버전은 사용이 가능한 듯 하지만, 컴파일 에러가 생겨서 dovecot 을 쓰기로 했다.
요즘 추세(?)가 dovecot 인것 같다. (bincimap 도 가벼워서 괜찮긴한데)

http://www.dovecot.org/download.html

소스 RPM 을 이용.(vpopmail 적용이 안되나?)

vpopmail 을 적용하기 위해서는 직접 소스컴파일을 해야 하는 듯 하다.
SRPM , spec 을 수정해서도 할 수 있겠지만, 고칠 부분이 많아서 별 의미가 없을 듯 함.


직접 소스 컴파일
wget http://dovecot.org/releases/1.2/dovecot-1.2.4.tar.gz
configure --with-vpopmail
make
make install

설정은 다음과 같이 한다.
http://wiki.dovecot.org/#Dovecot_installation
http://wiki.dovecot.org/BasicConfiguration

dovecot  계정을 생성한다.
useradd -d /usr/local/libexec/dovecot -s /sbin/nologin dovecot

기본적으로 /usr/local/etc 에 설정 파일이 저장된다.
mv dovecot-example.conf dovecot.conf
로 샘플설정파일을 기준으로 자신의 환경에 맞게 설정한다.(주석을 해제해 준다)

protocols = imap
pop3 를 쓸경우 pop3 도 추가

disable_plaintext_auth = no
ssl = no
SSL 을 쓰지 않고, 평문으로 인증하는 것을 허용한다.

auth default {
}
부분의 vpopmail 부분을 해제/추가한다
userdb vpopmail{
}
passdb vpopmail{
}
user = vpopmail
vpopmail 계정 uid, gid 설정
# id -u vpopmail
# id -g vpopmail
를 확인해서 아래 처럼 설정값을 넣어준다.
first_valid_uid = 100
last_valid_uid = 100
first_valid_gid = 101
last_valid_gid = 101

dovecot 실행하기
dovecot 실행스크립트를 복사한다.
cp {소스디렉토리}/doc/dovecot-initd.sh  /etc/init.d/dovecot
chmod 755 /etc/init.d/dovecot




[추가 - 18-06-20]  centos 6 에서 추가

1. centos 6 에서 package 로 설치해봤다. 설정은 검색해서 참조.

2. telnet localhost 143  해보면 원하는 메시지가 안나온다.

* OK Waiting for authentication process to respond


원래 기대하던 메시지는

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN]  Dovecot Ready

로그 메시지를 확인해보니.

Jun 20 05:46:01 auth: Fatal: Support not compiled in for passdb driver 'vpopmail'

Jun 20 05:46:01 master: Error: service(auth): command startup failed, throttling

패키지가 vpopmail 지원되도록 컴파일 되지 않은 듯 하다.

즉, 소스로 설치해야 할 듯 함. ㅜㅜ

yum groupinstall "Development Tools"


몇가지 imap 체크 방법


LOGIN [username] [password] LIST [flags] [folder separator] [search term] STATUS [mailbox] [flags] SELECT [mailbox] FETCH [first]:[last] flags FETCH [mail number] body[header] FETCH [mail number] body[text] LOGOUT


로그인시 혹시 이런 메시지가 나온다면, vpopmail 사용시

NO [AUTHENTICATIONFAILED] Authentication failed

/home/vpopmail/domains/도메인/vpasswd

이 파일의 권한을 체크해본다. ( vpopmail 으로 되어 있어야 한다) - 원인중 하나일 수 있다.

또는 vpasswd {메일계정}  으로 암호를 재설정 해준다.
(domains 를 복사한 경우 - 재설정이 필요한 듯 하다)


WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
Cubrid 2008 R2.0 버전을 쎈토스에서 SRPM 빌드하는 법을 정리한다.

SRPM 빌드전에 뭐하지?

일단 빌드 전에 필요한 패키지들이 있다.
yum install rpm-build

당연히 빌드할 rpmbuild 패키지가 필요하다.(이미 깔려 있으면 생략)


0) 빌드에 필요한 패키지

yum install elfutils-libelf-devel ncurses-devel libstdc++-devel

1) javac (jdk) 필요. JDK 패키지 설치

yum install java-1.6.0-openjdk-devel

JAVA_HOME 설정 추가. (~/.bash_profile 에 넣어주거나, 콘솔상에서 입력해준다.)

JAVA_HOME=/usr/lib/jvm/java
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin


export JAVA_HOME

2) 다음은 ant

yum install ant

3) c++

yum install gcc-c++


본격적인 SRPM 빌드 작업


1) SRPM 다운로드

wget http://dev.naver.com/frs/download.php/500/CUBRID-8.2.0.1150-el5.src.rpm
wget http://dev.naver.com/frs/download.php/515/cubrid.spec

2) SRPM 빌드

rpmbuild —rebuild CUBRID-8.2.0.1150-el5.src.rpm

빌드가 완료되면  /usr/src/redhat/RPMS 에   설치할 rpm 파일이 생성된다.

설치는 보통에 하던식으로  rpm -Uvh ... .rpm   으로 하면 된다.



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
메일서버에는 다양한 어플들이 있다.
흔히(?) 쓰는 sendmail 부터, 요즘 우분투쪽에서 밀고 있는 듯한 postfix.
지금은 어떤지 모르겠지만, 예전에는 sendmail 의 보안문제에 대해서 말이 많았다.

그렇다 보니 다른 대안을 찾아다니게 된다.
그 중에 유명한 메일서버가 qmail 이 아닐까 한다.
큐메일.
그런데, 문제가 컴파일 해서 사용해야 하기때문에 비경험자에게는 쉽지않은 난이도를 가지고 있었다.
그리고 환경에 따라 다양한 방법이 존재한다.(각종 패치는 더욱 많다)
다양한 요구를 만족시킬 수 있다는 장점은 다른 면에서 복잡성을 나타내기 때문에 어려워진다.

서버의 실제 계정을 활용하는 가장 기본적인 방법과 (qmail 기본)
파일로 관리하는 가상계정을 사용하는 방법(qmail + vpopmail)
DB 로 관리하는 가상계정을 사용하는 방법(qmail + vpopmail + mysql)

등 여러방법이 존재한다.
기타 자세한 정보는 http://qmail.kldp.net  를 참조한다.

지금 설명하려는 부분은 qmail + vpopmail 의 가상계정을 이용하는 방법이다.
지금까지 qmail 기본 설정을 사용했었다. 원래 sendmail 으로 운영했었는데(몇년전) 관리의 어려움이 있어 qmail 로 변경을 했다. 그당시 설정이 어려운부분이 많아서, 제일 간단한 방법이면서, 기존의 설정을 그대로 가져갈 수 있기 때문에 qmail 기본을 사용했었다.

그리고 몇년이 지난후 서버의 운영체제를 업그레이드 하다보니, 메일서버가 문제였다.
예전의 컴파일 하던 방식이 새운영체제에 맞지 않는 것이었다.
여러 방법을 찾아보다가 qmail + vpopmail 로 이전하는 것으로 결론을 내렸다.
그 사이에 쉽게 처리할 수 있는 방법이 나왔기 때문이다.

Centos 에서 SRPM 으로 빌드하는 방법이다.
http://qmail.kldp.net/phpbb/viewtopic.php?t=7887

1. 해당 SRPM 패키지를 받아서. 빌드한다.
rpmbuild --rebuild --with cdb knetqmail-0.0.1-3.src.rpm
이때 /var/qmail 디렉토리가 없다는 에러가 나온다. ( mkdir /var/qmail 로 만들어 준다.)
빌드된 rpm 파일은 /usr/src/redhat/RPMS/x86_64 에 위치한다. ( x86_64 또는 i386 )

2. 빌드된 rpm 패키지를 설치한다.
centos 는 기본 sendmail 이 설치가 되어 있어, 먼저 제거를 해준다.
rpm -e sendmail --nodeps
rpm -Uvh /usr/src/redhat/RPMS/x86_64/knetqmail-0.0.1-3.x86_64.rpm
(빌드된 rpm 파일명은 본인의 것을 확인한다.)

3. qmail 실행
/etc/init.d/qmaild start
/etc/init.d/pop3d start
위 처럼 실행하면 /service 에 다음처럼 링크가 된다.
ll /service/
합계 0
lrwxrwxrwx 1 root root 31  8월 27 17:46 qmail-pop3 -> /var/qmail/supervise/qmail-pop3
lrwxrwxrwx 1 root root 31  8월 27 17:45 qmail-send -> /var/qmail/supervise/qmail-send
lrwxrwxrwx 1 root root 32  8월 27 17:45 qmail-smtpd -> /var/qmail/supervise/qmail-smtpd
위와 같이 나오고, ps ax 에
# ps ax|grep qmail
27800 ?        S      0:00 supervise qmail-smtpd
27802 ?        S      0:00 supervise qmail-send
27803 ?        S      0:00 /usr/bin/tcpserver -vRHl0 -x/etc/tcp.smtp.cdb -c 100 -u 108 -g 106 0 smtp /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true
27804 ?        S      0:00 /usr/bin/multilog t s2500000 n10 /var/log/qmail/smtpd
27805 ?        S      0:00 qmail-send
27812 ?        S      0:00 /usr/bin/multilog s2500000 n10 /var/log/qmail/send
27813 ?        S      0:00 qmail-lspawn ./Maildir/
27815 ?        S      0:00 qmail-rspawn
27816 ?        S      0:00 qmail-clean
27824 ?        S      0:00 supervise qmail-pop3
27826 ?        S      0:00 /usr/bin/multilog n10 s2500000 /var/log/qmail/pop3
27827 ?        S      0:00 /usr/bin/tcpserver -vRHl0 -u 108 -g 106 0 pop3 /var/qmail/bin/qmail-popup mymail.mydomain.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir
위와 같이 관련 데몬이 뜨는 것을 볼 수 있다.

telnet localhost 25   (smtp)
telnet localhost 110   (pop3)
등으로 테스트를 해본다.
http://www.abuse.net/relay.html  나
http://people.kldp.org/~eunjea/relay-test.php
에서 릴레이 테스트도 해본다.

4. vpopmail 계정관리
vadddomain blahblah.com
도메인 추가.
vdeldomain blahblah.com
도메인 삭제. 조심하자. 아주 깨끗히 삭제한다.
vadduser foo@blahblah.com 
메일사용자 계정을 추가한다. 전체 메일주소를 쓴다.
vdeluser foo@blahblah.com
메일사용자 계정 삭제. 역시 조심. 그냥 삭제한다.
vpasswd foo@blahblah.com
암호변경. 암호는 바꾸고 써야지.
vaddaliasdomain newblah.com  blahblah.com
기존쓰던 도메인 계정그대로 다른 도메인으로도 메일을 같이 받고 싶을때.

자세한 사항은  http://ejlabs.net/txt/vpopmail  를 참조한다.


여기까지 기본적인 설치와 설정에 관한 부분이다.
예전에 qmail 써봤던 분들은 SRPM 빌드 방법을 해보면 정말 편해졌다는 것을 느낄 것이다.

다음에는 기존 /etc/passwd 의 계정을 vpopmail 가상계정으로 가져오는 방법과
그에 따라 간단하게 만든 실행 스크립트를 소개한다.


[추가] : yum update 시의 conflict 문제.

yum update 를 했을때. 
knetqmail ... conflicts with exim
이런식의 메세지가 나오면서 진행이 되지 않으면, 관련 패키지를 빼고 업데이트한다.
yum update -x exim -x postfix -x sendmail

위에서 sendmail 을 삭제할 때. rpm -e  보다는 yum remove  를 쓰는것이 좋을 듯 싶다.
(문제가 생길지는 모르겠다 - 테스트 필요.)


[추가-18-06-20] : centos6 에서 추가조치

1. rpmbuild 설치

yum install rpm-build


2. 진행도중 다음과 같은 에러.

chkuser.c:38:22: error: vpopmail.h: No such file or directory

chkuser.c:39:19: error: vauth.h: No such file or directory

chkuser.c:40:29: error: vpopmail_config.h: No such file or directory

chkuser.c: In function 'realrcpt':

chkuser.c:746: warning: comparison between pointer and integer

chkuser.c:875: warning: assignment makes pointer from integer without a cast

chkuser.c:885: warning: assignment makes pointer from integer without a cast

chkuser.c:896: error: dereferencing pointer to incomplete type

chkuser.c:896: error: 'BOUNCE_MAIL' undeclared (first use in this function)

chkuser.c:896: error: (Each undeclared identifier is reported only once

chkuser.c:896: error: for each function it appears in.)

chkuser.c:901: error: dereferencing pointer to incomplete type

chkuser.c:902: error: dereferencing pointer to incomplete type

chkuser.c:906: error: dereferencing pointer to incomplete type

make: *** [chkuser.o] Error 1

오류: /var/tmp/rpm-tmp.cZvvkq의 잘못된 종료 상황 (%build)



RPM 제작 오류:

    /var/tmp/rpm-tmp.cZvvkq의 잘못된 종료 상황 (%build)



3. 기존 srpm 버전이 centos 6 에 대응이 안된 듯 하다.  

knetqmail-0.0.1-3.src.rpm  대신에
knetqmail-0.0.1-5.src.rpm  버전을 구해서 해보니 rebuild 잘된다.

(생성된 rpm 위치는 /root/rpmbuild/RPMS/x86_64/  => 사용자 계정에 생성 )

4. 리빌드 후 설치 시 centos 6 - postfix 를 제거  ( centos 6 는 아마도 sendmail 이 아닌 postfix 가 기본인 듯 하다)

rpm -e postfix --nodeps




WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
centos 쪽에 네임서버를 설치하려 한다.
우분투와 차이점이 있어 정리한다.

우분투는 /etc/bind/ 에 설정파일이 있다.
/etc/bind/named.conf.local 에 도메인 설정을 한다.
zone 파일은 /var/cache/bind 에 위치한다.


Centos 는 뭐가 다르지?
그런데, centos 는 조금 다르다.
가장 큰 차이점은 chroot 로 네임서버를 구동한다.
우분투쪽도 그런방식이 가능할 것으로 생각한다.(최신 배포판은 그런방식을 쓸지도,현 hardy)
그래서 chroot 의 root path 는 /var/named/chroot 가 된다.
네임서버 실행시 저 위치가 root 가 된다. 설정파일도 그 안에 위치한다.
/var/named/chroot/etc/named.caching-nameserver.conf
/var/named/chroot/etc/named.rfc1912.zone
도메인 설정은 named.rfc1912.zone 에 설정하면 된다.

그럼 zone 파일은 어디에 위치하나!
바로 /var/named 인데, chroot 상의 /var/named 이다.
/var/named/chroot/var/named
가 된다.

/etc/named.conf 등의 파일은 뭐지?
그냥 관리자가 관리하기 편하게 링크를 걸어준것 뿐이다.
해당 파일들을 삭제하고 재시작 해봐도 정상적으로 작동하는 것을 볼 수 있다.

ps 로 네임서버 프로세스를 확인해보면.
/usr/sbin/named -u named -c /etc/named.caching-nameserver.conf -t /var/named/chroot
chroot 로 시작하고 chroot 의 /etc/named.caching-nameserver.conf  설정을 불러들이는 것을 볼 수 있다.


기존 우분투 설정을 그대로 쓰고 싶어
우분투의 설정을 그대로 가져가 쓴다고 할때.
우분투의 named.conf.local 설정을
/var/named/chroot/etc/ 에 복사한후
/etc/named.conf.local 로 심볼릭 링크를 한다.
ln -s /var/named/chroot/etc/named.conf.local /etc/named.conf.local
/var/named/chroot/etc/named.caching-nameserver.conf  ( /etc/named.conf )
의 마지막 줄에. named.conf.local  설정을 불러오도록 다음 줄을 추가한다.
include "/etc/named.conf.local";

그리고 기존의 zone 파일들은
/var/named/chroot/var/named 에 복사해 주면 된다.

그리고 재시작하고, nslookup , dig 등으로 확인한다.



외부에서 도메인 질의가 안된다면
로컬에서는 되는데, 외부에서는 안된다면 다음의 사항을 체크한다.

1. 방화벽
iptable 로 53 번 포트를 열러줘야 한다.
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

2. 설정
설정파일의 기본이 localhost 를 기준으로 되어 있다.( named.caching-nameserver.conf )
    allow-query     { any; };

    match-clients      { any; };
    match-destinations { any; };
위처럼 localhost 를 any 로 바꿔준다.


nslookup 으로 질의확인
nslooup 으로 질의를 해서 네임서버 설정이 잘 되어 있는지 확인할 수 있다.
nslookup my.domain.com  localhost
처럼 질의를 했을때.
Non-authoritative answer:
Name:   my.domain.com
Address: 111.222.333.444
Non-authoritative  라는 메세지가 나오면 안된다.
해당 메세지가 없어야 일단 로컬설정이 제대로 된 것이다.


슬레이브 설정시 필요한 마스터 설정.
options 의 설정중에
allow-query 는  nslookup, dig 등을 이용한 일반 쿼리를 말한다.
슬레이브에서 마스터의 설정을 가져가려 하면
allow-transfer { slave-server_ip; };
의 설정을 해준다. (기본설정이 모두 허용인 듯 싶다. 필요한 서버만 허가를 하려면 필요하다)


ps. Centos 에서 bind-chroot 패키지를 설치하면 chroot 가 적용된다.


WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
Centos 를 쓰는데, 유난히 다운로드 속도가 떨어진다.
그래서 빠른 곳으로 바꾸고자 한다.

저장소 위치는 /etc/yum.repos.d/CentOS-Base.repo  파일을 바꾼다.

기본설정이 mirrorlist 로 되어 있다. baseurl 은 주석처리 되어 있다.
반대로 mirrolist 는 주석처리하고, baseurl 에 빠른 곳을 직접 지정하면 된다.

기본 설정은
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
으로 되어 있다.  난  ftp.daum.net 으로 지정했다.
baseurl=http://ftp.daum.net/centos/$releasever/os/$basearch/
이런식으로 바꿔줬다.


base , updates 등의 다른 탭들도 바꿔준다. (addons, extras, centosplus )
base , updates 정도만 바꿔줘도 될 듯하다. 나머지는 추가적인 패키지들.


WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  1개가 달렸습니다.
  1. yum-fastestmirror 패키지를 설치하시면 별도 파일 수정이 필요없습니다.
    설치법은 간단하게
    yum install yum-fastestmirror

    yum실행시 알아서 가장 빠른 미러를 찾아 연결합니다.
secret
Centos 에서 yum update 를 하면.  sqlite 관련 에러가 나오면서. 에러가 난다.
yum  File "/usr/bin/yum", line 29, in
...
...

 TypeError: unsubscriptable object.
해결 방법은
yum clean metadata
또는
yum clean all


또 다른 에러는
TypeError: rpmdb open failed
인 경우에는
rm -f /var/lib/rpm/__db*
rpm --rebuilddb
하라고 한다.


참조 :
sqlite 패키지를 이전 버전으로 다운그레이드(?) 하라는 방법도 있는데, 왠지 이건 아니다 싶다.
rpm -Uvh --oldpackage sqlite-3.2.8-1.i386.rpm



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
코어호스팅을 신청했다.
서버운영체제로 많이 쓰는 Centos 가 설치되어 있었다.

그런데, root 를 열어놓다니(ssh) 헐! (centos 가 원래 그런가?)
호스팅업체가 관리편의를 위해 그런 듯.

일단 개인 계정을 만들고, 우선 ssh 로 root 접속을 막았다.
ssh 의 기본포트인 22 번도 다른 포트번호로 할당했다.

방화벽을 사용한다면, 다르게 지정한 ssh 포트번호를 방화벽에서 허용해준다.

일단 접속시의 보안설정은 이정도로...
FTP 는 sftp 로 사용한다. vsftpd 가 깔려있는데, sftp 만 사용할 것이므로, 서비스 중지시킨다.
# chkconfig vsftpd --del  ( --list 로 현재 서비스상태를 확인한다)

가상호스팅이라서 그런지(관리 편의상?), vnc 를 열어놓았는데(5901 포트)
일단 방화벽으로 막아놓았다.(정확히는 열어놓지 않았다)

이제 웹서버 설정을 하자.


ps. centos 커널  2.6.18-128.1.6.el5  으로 4월1일자 업데이트 되었나 보다.
 kernel panic 이 나길래, 재설치 ( yum remove .. , yum install ) 한 후 이상없이 재가동 되었다.
 커널이미지가 깨진 것일까?


WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
그동안 우분투를 주력으로 써왔다.
데스크탑, 서버까지(서버는 Centos 를 쳐주지만...) 우분투로 밀고 있다.

그런데, 너무 하나에 치우치는 것 같아. 다른 배포판도 써보기로 했다.
Centos , OpenSuse , Fedora 등등..

그동안 더 쉬워졌다. 설치는 이제 그냥 클릭클릭이면 끝(예전에도 그랬지만...)
설치후에도 별 다른 설정없이 바로 사용가능하다.
다들 패키지관리자 형태로 원하는 프로그램을 설치해서 쓰면 그만이다.

진짜 쉬워졌다. 설치시간도 빠르다. 몇십분내에 다 끝난다.

또한 이들에게 감사한다.
빠른 저장소로 시간을 줄여준다.


겸사겸사해서 DistroWatch 에 가보니, 눈에 띄는 놈들이 있다.

한번 깔아봐야 겠다.



WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  2 , 댓글  0개가 달렸습니다.
secret
버쳘박스에 리눅스배포판을 설치한 후 게스트확장을 추가로 설치하고자 할때 필요한 사항
800x600 은 너무 작단 말이야.

1. Centos (v5.2)
yum 으로 개발관련/커널 패키지를 설치한다.
yum install kernel-devel gcc
확장을 설치하고, 재부팅하면 1024x768 이 뜬다(그 이상의 해상도를 지원하는지는 모르겠음)
1024 정도면 충분할 듯(virtualbox 해상도가 너무 크면 또 불편함.)

2. openSuse (v11.0)
필요한 패키지가 있다.
yast 의 패키지 설치를 이용해서 설치하거나 zypper 명령으로 설치한다.
sudo zypper install gcc make automake autoconf kernel-source
확장설치, 재부팅하면 역시 1024.
KERN_INCL 관련 에러가 나면, 커널버전을 확인한다.
kernel-source 버전과 현재 부팅된 버전이 같아야 한다.




WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  1 , 댓글  2개가 달렸습니다.
  1. Guest Additions을 설치하시면 virtualbox 화면의 크기에 따라서 자동으로 우분투의 해상도도 바뀌게 할 수 있더군요. 하는 일이 하는 일인지라, 1024는 너무 작아서 회사에서는 화면 꽉 메워서 쓰고 있습니다. :)
    • VB 창을 늘리면 게스트 해상도가 같이 늘어나는군요.^^

      근데, centos 는 안되고, openSUSE 는 되네요. ^^
secret