카테고리 없음2022. 12. 16. 10:11


<VirtualHost *:80>
   ServerName 10.0.0.2
   ProxyPass / balancer://myCluster/
   ProxyPassReverse / balancer://myCluster/

   <Proxy balancer://myCluster>
      BalancerMember http://10.0.3.6:8080
      BalancerMember http://10.0.3.7:8080
   </Proxy>
</VirtualHost>

Posted by requireme
Linux2021. 6. 21. 17:18


~]# chage -E 99999 -I 0 -m 0 -M 99999 requireme

 

'Linux' 카테고리의 다른 글

리눅스서버 설치후 보안세팅  (0) 2019.01.10
redhat 9 에서 qmail + vpopmail 설치  (0) 2019.01.10
백업 ftp + cron 설정  (0) 2019.01.10
IP 알리아스  (0) 2019.01.10
iptables로 IP, IP대역 막기  (0) 2019.01.10
Posted by requireme
카테고리 없음2019. 12. 6. 15:28


1. Nifi 다운로드 및 설치

https://nifi.apache.org/download.html

Binaries 파일 (nifi-1.10.0-bin.tar.gz) 다운로드 후 압축해제하여 바로 사용하면됨.

 

#cd /usr/local/src

#wget http://apache.tt.co.kr/nifi/1.10.0/nifi-1.10.0-bin.tar.gz

# tar zxvf nifi-1.10.0-bin.tar.gz

#cd nifi-1.10.0

#./bin/nifi.sh install My_Nifi   <== 데몬으로 설치(시스템 리붓시 자동시작)

 

2. 포트변경

conf/nifi.properties 파일에서 원하는 포트로 변경

nifi.web.http.port=8080

 

3. JVM 메모리 설정

conf/bootstrap.conf 파일에서 변경

java.arg.2=-Xms512m
java.arg.3=-Xmx512m

 

 

### 참고 ###

http://www.kwangsiklee.com/2018/07/%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-apache-nifi%EB%A5%BC-%EC%84%A4%EC%B9%98%ED%95%98%EA%B3%A0-%EC%8B%A4%ED%96%89%ED%95%B4%EB%B3%B4%EC%9E%90/

 

https://gist.github.com/cheerupdi/87eacaa87b74feee4de0bb5eba0216d2

 

 

# 로그인 박스

https://medium.com/@jayprakash.bilgaye/understanding-ssl-and-ldap-in-hdf-504844bea8b9

 

 

# mysql jdbc

jdbc:mysql://localhost:3306/dbname?zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8
com.mysql.jdbc.Driver

 

Posted by requireme
카테고리 없음2019. 12. 2. 14:55


# /etc/ssh/sshd_config  파일 수정

-------

# Subsystem 변경
# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

 

# 맨밑에 아래 옵션들 추가

Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

 

# 재시작

systemctl restart sshd.service

 

# 그룹 및 사용자 추가
groupadd sftpusers
useradd -G sftpusers -s /sbin/nologin user1 -d /data/user1
passwd user1
chown -R root:root /data/user1
chmod -R 755  /data/user1

mkdir /data/user1/in

chown user1:user1 /data/user1/in

 

Posted by requireme
기타 개발관련2019. 9. 5. 17:38




1. centos7 기본설정 및 apm 설치
  yum install gcc-c++

2. mecab 다운로드/설치
 cd /usr/local/src/
 https://bitbucket.org/eunjeon/mecab-ko/downloads 최신버전 다운로드
 wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz
 tar zxvf mecab-0.996-ko-0.9.2.tar.gz
 cd mecab-0.996-ko-0.9.2
 mkdir /usr/local/mecab
 ./configure --prefix=/usr/local/mecab
 make
 make install

3. 한국어 사전 다운로드/설치
 cd /usr/local/src/
 https://bitbucket.org/eunjeon/mecab-ko-dic/downloads  최신버전 다운로드
 wget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.1.1-20180720.tar.gz
 tar zxvf mecab-ko-dic-2.1.1-20180720.tar.gz
 cd mecab-ko-dic-2.1.1-20180720
 ./configure --prefix=/usr/local/mecab/dic --with-mecab-config=/usr/local/mecab/bin/mecab-config   --with-dicdir=/usr/local/mecab/dic   --libexecdir=/usr/local/mecab/libexec/mecab
 make
 make install

4. mecab 정상작동 확인
 cd /usr/local/medib/bin
 ./mecab -d /usr/local/mecab/dic
  아버지가방에들어가신다

5. php-mecab 다운로드/설치
 cd /usr/local/src/
 wget https://github.com/rsky/php-mecab/archive/master.zip
 unzip master.zip
 cd php-mecab-master/mecab/
 phpize
 ./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/mecab/bin/mecab-config
 make
 == /usr/local/src/php-mecab-master/mecab/mecab5.c:452: error: ‘PHP_FE_END’ undeclared here (not in a function)  오류 발생시 ==
  해당 파일 적당한 위치애 아래 3줄 추가 후 make
  #ifndef ZEND_FE_END
  #define ZEND_FE_END {NULL, NULL, NULL, 0, 0}
  #endif
 ====================================================
 make test
 make install
 ll /usr/lib64/php/modules/  폴더에 mecab.so 파일 있는지 확인
 echo "extension=mecab.so" > /etc/php.d/mecab.ini

6. apache 재시작
 apachectl restart



7. 샘플소스
---------------------------------------------------------
<?php
//$mecab = new \MeCab\Tagger(['-d', '/usr/local/mecab/dic']); // php5.4+
$mecab_dic_conf = array('-d', '/usr/local/mecab/dic');  // php5.3 
$mecab = new \MeCab\Tagger($mecab_dic_conf);  // php5.3 


$lines = explode("\n", $parse_data);
$data = array();
for($i=0;$i<sizeof($lines);$i++){
$row = explode("\t",$lines[$i]);
if(in_array(substr($row[1],0,3), array('NNP','NNG'))) {
$data[] =$row[0];
}
}
$fin = array_count_values($data);
asort($fin);

print_r($fin);
---------------------------------------------------------

 

 

8. 사용자 단어 추가 방법
 cd /usr/local/src/mecab-ko-dic-2.1.1-20180720
 ./user-dic 폴더에 csv 파일을 만들어서 내용 추가
 ./tools/add-userdic.sh
 make clean
 make
 make install


# 아래 오류 발생시
----------------------------------------------------------  
/usr/local/src/mecab-ko-dic-2.1.1-20180720/tools/add-userdic.sh: line 25: /usr/local/libexec/mecab/mecab-dict-index: No such file or directory
--------------------------------------------------------- 

/usr/local/src/mecab-ko-dic-2.1.1-20180720/tools/add-userdic.sh 파일을 열어서 MECAB_EXEC_PATH 변경
--------------------------------------------------------- 
/usr/local/libexec/mecab  => /usr/local/mecab/libexec/mecab  
--------------------------------------------------------- 





# 참고
https://konlpy-ko.readthedocs.io/ko/v0.4.3/morph/
https://github.com/rsky/php-mecab
https://github.com/nihongodera/php-mecab-documentation
https://github.com/Wandu/Mecab
http://eunjeon.blogspot.com/ 
https://docs.google.com/spreadsheets/d/1-9blXKjtjeKZqsf4NzHeYJCrr49-nXeRF6D80udfcwY/edit#gid=0

https://kugancity.tistory.com/category/프로그래밍/자연어처리?page=3

 

Posted by requireme
Linux2019. 1. 10. 12:46


/***************************
*** Linux Server Setting ***
****************************/

cd /etc/skel/(계정 추가시 마다 public_html이 자동으로 생성된다) 
mkdir public_html 
chmod 701 public_html/ 

### 중요화일 퍼미션 변경및 불필요한 서비스를 내린다. 

-->먼저 ps -aux 데몬들을 확인하고 삭제 할 데몬들을 죽인다.(kill -9 ) 
rpm -e --nodeps portmap-4.0-38(rpm은 자신의 환경에 맞게 제거한다) 
rpm -e --nodeps pidentd-3.0.14-1 
rpm -e --nodeps gpm-1.19.3-20 
rpm -e --nodeps gpm-devel-1.19.3-20 
rpm -e --nodeps nfs-utils-0.3.1-13 
rpm -e apmd-3.0final-34 

## setup -> system services
crond
keytable
network
opensshd-inetd
random
syslog
vsftpd
xinetd

-->/etc/passwd 와 /etc/group 
ftp,xfs,adm,lp,news,gopher,sync,uucp,operator,games,dip(등 필요없는 계정은 주석을 달거나 삭제한다) 

-->퍼미션 변경 
chmod 700 /etc/exports 
chmod 700 /etc/fstab 
chmod 700 /usr/bin/chage 
chmod 700 /usr/bin/wall 
chmod 755 /usr/bin/man 
chmod 700 /usr/bin/chfn 
chmod 700 /usr/bin/write 
chmod 700 /usr/sbin/usernetctl 
chmod 700 /bin/mount 
chmod 700 /bin/umount 
chmod 700 /sbin/netreport 

chmod 750 /bin/ps 
chmod 750 /bin/netstat 
chmod 750 /bin/dmesg 
chmod 750 /bin/df 
chmod 750 /usr/bin/who 
chmod 750 /usr/bin/finger 
chmod 750 /usr/bin/last 
chmod 750 /usr/bin/top 
chmod 750 /usr/bin/w 

chgrp wheel /bin/ps 
chgrp wheel /bin/netstat 
chgrp wheel /bin/dmesg 
chgrp wheel /bin/df 
chgrp wheel /usr/bin/w 
chgrp wheel /usr/bin/who 
chgrp wheel /usr/bin/finger 
chgrp wheel /usr/bin/last 
chgrp wheel /usr/bin/top 

chmod 751 /home 
chmod 751 /var/named 
chmod 600 /usr/local/apache/conf/httpd.conf
chmod 110 /usr/bin/top 
chmod 550 /bin/ps 
chmod 110 /usr/bin/uptime 
chmod 110 /usr/sbin/useradd 
chmod 110 /usr/sbin/userdel 
#chmod 110 /usr/bin/last 
#chmod 110 /usr/bin/find 

변경해서는 안되는 중요한 파일에는 chattr을 사용하여 락을 걸어준다. 
chattr +i 파일명 --> 루트도 지우거나 수정 할수 없다. 
풀어줄때는 반대로 
chattr -i 파일명 하면된다. 


-->최상위 루트 하의 디렉토리의 퍼미션들은 다음과 같이 한다. 
drwxr-x--x 2 root root 2048 Jun 8 14:52 bin 
drwxr-x--x 4 root root 1024 Mar 27 04:23 boot 
drwxr-x--x 17 root root 77824 Jun 10 09:10 dev 
drwxr-x--x 35 root root 3072 Jun 10 10:16 etc 
drwxr-x--x 18 root root 4096 Jun 7 16:29 home 
drwxr-x--x 2 root root 1024 Jun 22 2001 initrd 
drwxr-x--x 7 root root 3072 Mar 27 04:25 lib 
drwxr-x--x 2 root root 12288 Mar 27 04:19 lost+found 
drwxr-x--x 2 root root 1024 Aug 30 2001 misc 
drwxr-x--x 4 root root 1024 Mar 26 19:28 mnt 
drwxr-x--x 2 root root 1024 Aug 24 1999 opt 
dr-xr-xr-x 54 root root 0 Jun 10 2002 proc 
drwxr-x--- 3 root root 1024 Jun 7 18:08 root 
drwxr-x--x 2 root root 4096 Jun 7 16:00 sbin 
drwxrwxrwx 2 root root 1024 Jun 10 09:10 tmp 
drwxr-x--x 18 root root 4096 Mar 27 20:12 usr 
drwxr-x--x 17 root root 4096 Mar 27 04:23 var 

-->계정 디렉토리의 퍼미션은 701로 준다.(chmod 701 계정명) 

### 전자우편만 사용할수 있는 계정추가하기 
(-d 위치 지정, -s 쉘지정, ftp도 사용할수 없다) 
useradd 계정명 -d /home/mailbox/dbckdghk -s /bin/false 
passwd 계정명 

### FTP계정만 주고 Shell계정은 주지 않기 
/etc/passwd을 연다. 
test:x:500:500::/home/test:/bin/bash <-- /bin/bash 부분입니다. 
cat /etc/shells (쉘이 등록된 것이 보임) 
/bin/bash2 
/bin/bash 
/bin/sh 
/bin/ash 
/bin/bsh 
/bin/tcsh 
/bin/csh 
이곳에 임의로 하나를 등록 합니다. 
예를 들어 /bin/nosh 이라고 아래부분에 추가한후 

cd /bin 
touch nosh 

그리고 /etc/passwd 쪽에서 쉘부분의 세팅만 바꿔 주면 됩니다. 
test:x:500:500::/home/test:/bin/nosh <-- 요깁니다. 


### ftp 명령어 모음 
ascii : 전송모드를 ASCII모드로 설정한다.(ascii또는 as) 
binary : 전송모드를 BINARY모드로 설정한다.( binary또는 bi) 
bell : 명령어 완료시에 벨소리를 나게한다.(bell) 
bye : ftp접속을 종료하고 빠져나간다.(bye) 
cd : remote시스템의 디렉토리를 변경한다.(cd 디렉토리명) 
cdup : remote시스템에서 한단계 상위디렉토리로 이동한다.(cdup) 
chmod : remote시스템의 파일퍼미션을 변경한다.(chmod 755 index.html) 
close : ftp접속을 종료한다. (close) 
delete : remote시스템의 파일을 삭제한다.(delete index.old) 
dir : remote시스템의 디렉토리 내용을 디스플레이한다.(dir) 
disconnect : ftp접속을 종료한다.(disconnect) 
exit : ftp접속을 종료하고 빠져나간다.(exit) 
get : 지정된 파일하나를 가져온다.(get index.html) 
hash : 파일전송 도중에 "#"표시를 하여 전송중임을 나타낸다.(hash) 
help : ftp명령어 도움말을 볼 수 있다.(help또는 help 명령어) 
lcd : local시스템의 디렉토리를 변경한다.(lcd 디렉토리명) 
ls : remote시스템의 디렉토리 내용을 디스플레이한다. (ls 또는 ls -l) 
mdelete : 여러개의 파일을 한꺼번에 지울 때 사용한다.( mdelete *.old) 
mget : 여러개의 파일을 한꺼번에 가져오려할 때 사용한다. ( mget *.gz) 
mput : 한꺼번에 여러개의 파일을 remote시스템에 올린다.(mput *.html) 
open : ftp접속을 시도한다.(open 168.126.72.51또는 open ftp.kornet.net) 
prompt : 파일전송시에 확인과정을 거친다. on/off 토글 (prompt) 
put : 하나의 파일을 remote시스템에 올린다.(put index.html) 
pwd : remote시스템의 현재 작업디렉토리를 표시한다.(pwd) 
quit : ftp접속을 종료하고 빠져나간다.(quit) 
rstatus : remote시스템의 상황(version, 어디서, 접속ID등)을 표시한다.(rstatus) 
rename : remote시스템의 파일명을 바꾼다.(remote 현재파일명 바꿀파일명) 
rmdir : remote시스템의 디렉토리을 삭제한다.(rmdir 디렉토리명) 
size :remote시스템에 있는 파일의 크기를 byte단위로 표시한다.(size index.html) 
status : 현재 연결된 ftp세션모드에 대한 설정을 보여준다.(status) 
type : 전송모드를 설정한다.(type 또는 type ascii 또는 type binary) 

'Linux' 카테고리의 다른 글

비밀번호 만료일 제거 centOS  (0) 2021.06.21
redhat 9 에서 qmail + vpopmail 설치  (0) 2019.01.10
백업 ftp + cron 설정  (0) 2019.01.10
IP 알리아스  (0) 2019.01.10
iptables로 IP, IP대역 막기  (0) 2019.01.10
Posted by requireme
Linux2019. 1. 10. 12:01



==================
OS : redhat9
==================


1. 필요한 프로그램 

qmail-1.03.tar.gz
qmail-103.patch
qmail-1.03.errno.patch
qmail-1.03.qmail_local.patch

ucspi-tcp-0.88.tar.gz
daemontools-0.76.tar.gz
autorespond-2.0.2.tar.gz
vpopmail-4.9.10.tar.gz

/*
qmailadmin-0.42.tar.gz
ezmlm-0.53.tar.gz
ezmlm-idx-0.40.tar.gz
*/

2. qmail 설치
위 프로그램들을 모두 /usr/local/src/qmail 디렉토리 및에 다운로드한다.

== qmail 컴파일 설치 ==
mkdir /var/qmail
cd /usr/local/src/qmail
tar zxvf qmail-1.03.tar.gz 
cp qmail*.patch qmail-1.03
cd qmail-1.03

-- qmail 에 필요한 계정과 그룹등록 --
vi INSTALL.ids (리눅스부분만 빼고 모두 삭제)
-----------------------------------------------
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
-------------------------------------------------

sh INSTALL.ids
cat /etc/passwd (생성된 계정확인)

큐메일 패치
patch -p1 < ./qmail-103.patch 
patch -p1 < ./qmail-1.03.errno.patch 
patch -p1 < ./qmail-1.03.qmail_local.patch 

make
make setup check

기본 /var/qmail/control 및의 설정 파일의 설정
./config --> 실패시 다음을 실행한다.
./config-fast pentachord.com (여기서 pentachord.com 은 실제 도메인네임)


== ucspi-tcp 설치 ==
cd ..
tar zxvf ucspi-tcp-0.88.tar.gz 
cp ucspi-tcp-0.88*.patch ucspi-tcp-0.88/
cd ucspi-tcp-0.88

patch -p1 < ./ucspi-tcp-0.88.errno.patch 
patch -p1 < ./ucspi-tcp-0.88.nobase.patch 
patch -p1 < ./ucspi-tcp-0.88.a_record.patch 
make
make setup check

== daemontools 설치 ==
cd ..
mkdir -p /package
cp /usr/local/src/qmail/daemontools-0.76.* /package/
cd /package/
tar zxvf daemontools-0.76.tar.gz 
rm daemontools-0.76.tar.gz 
mv daemontools-0.76.errno.patch admin/daemontools-0.76/
cd admin/daemontools-0.76/

patch -p1 < ./daemontools-0.76.errno.patch 
package/install 


== autorespond 설치 ==
cd /usr/local/src/qmail
tar zxvf autorespond-2.0.2.tar.gz 
cd autorespond-2.0.2
make
make install



3. 스크립트 생성

vi /var/qmail/rc
------------------------------------------
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail
------------------------------------------
chmod a+x /var/qmail/rc


mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd


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
----------------------------------------------


vi /var/qmail/supervise/qmail-smtpd/run 
--------------------------------------------------------------
#!/bin/sh
Q_UID=`id -u vpopmail` 
Q_GID=`id -g vpopmail` 
exec /usr/local/bin/softlimit -m 7340032 \
/usr/local/bin/tcpserver -vRH -l 0 -x /etc/tcp.smtp.cdb \
-u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1
--------------------------------------------------------------


vi /var/qmail/supervise/qmail-smtpd/log/run 
--------------------------------------------------------------
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail/smtpd
--------------------------------------------------------------

== 권한주기
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run


mkdir -p /var/log/qmail/smtpd
chown qmaill /var/log/qmail /var/log/qmail/smtpd


vi /etc/tcp.smtp
---------------------------------
127.0.0.1:allow,RELAYCLIENT=""
165.246.190.:allow,RELAYCLIENT=""
---------------------------------
cf.) 후에 이 파일에 변경이 있는 경우 다음의 qmail 부트 스크립트를 이용해 다음과 같이 한다.
/etc/rc.d/init.d/qmail cdb


= tcprules의 $PATH 추가 (/usr/local/bin)
vi ~/.bash_profile
------------------------------
PATH=$PATH:$HOME/bin:/usr/local/bin
------------------------------
export PATH=$PATH:/usr/local/bin



=실제로 tcpserver가 읽을 수 있는 cdb 형식으로 바꿔준다
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

= 기본계정 알리아스 설정
echo postmaster > /var/qmail/alias/.qmail-root
echo postmaster > /var/qmail/alias/.qmail-mailer-daemon


== qmail 시동파일
vi /etc/rc.d/init.d/qmail
--------------------------------------------------------------------------------
#!/bin/sh

# For Red Hat chkconfig
# chkconfig: - 80 30
# description: the qmail MTA

PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH

case "$1" in
start)
echo "Starting qmail"
if [ -e /service/qmail-send ] ; then
if svok /service/qmail-send ; then
svc -u /service/qmail-send
else
echo qmail-send supervise not running
fi
else
ln -s /var/qmail/supervise/qmail-send /service/
fi

if [ -e /service/qmail-smtpd ] ; then
if svok /service/qmail-smtpd ; then
svc -u /service/qmail-smtpd
else
echo qmail-smtpd supervise not running
fi
else
ln -s /var/qmail/supervise/qmail-smtpd /service/
fi

if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/qmail
fi
;;
stop)
echo "Stopping qmail..."
echo " qmail-smtpd"
svc -dx /service/qmail-smtpd /service/qmail-smtpd/log
rm -f /service/qmail-smtpd
echo " qmail-send"
svc -dx /service/qmail-send /service/qmail-send/log
rm -f /service/qmail-send
if [ -f /var/lock/subsys/qmail ]; then
rm /var/lock/subsys/qmail
fi
;;
stat)
svstat /service/qmail-send
svstat /service/qmail-send/log
svstat /service/qmail-smtpd
svstat /service/qmail-smtpd/log
qmail-qstat
;;
doqueue|alrm|flush)
echo "Flushing timeout table and sending ALRM signal to qmail-send."
/var/qmail/bin/qmail-tcpok
svc -a /service/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /service/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /service/qmail-send
echo "Pausing qmail-smtpd"
svc -p /service/qmail-smtpd
;;
cont)
echo "Continuing qmail-send"
svc -c /service/qmail-send
echo "Continuing qmail-smtpd"
svc -c /service/qmail-smtpd
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /service/qmail-smtpd
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /service/qmail-send
echo "* Restarting qmail-smtpd."
svc -u /service/qmail-smtpd
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp.cdb
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 -- schedules queued messages for immediate delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
flush -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
exit 1
;;
esac

exit 0
------------------------------------------------------------------------------
chmod 700 /etc/rc.d/init.d/qmail





3. vpopmail 설치

- 유저, 그룹추가
groupadd vchkpw
useradd -g vchkpw vpopmail

- vpopmail 설치
cd /usr/local/src/qmail/
tar zxvf vpopmail-5.2.1.tar.gz 
cd vpopmail-5.2.1
./configure --enable-default-domain=pentachord.com
make
make install-strip


- pop3 시동파일
mkdir /var/qmail/supervise/vpop
vi /var/qmail/supervise/vpop/run
-----------------------------------------------------------------------
#!/bin/sh
VPOP_UID=`id -u vpopmail`
VPOP_GID=`id -g vpopmail`

exec /usr/local/bin/softlimit -m 2500000 \
tcpserver -vRH -l 0 -u $VPOP_UID -g $VPOP_GID 0 110 \
/var/qmail/bin/qmail-popup pentachord.com \
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
-----------------------------------------------------------------------

chmod 755 /var/qmail/supervise/vpop/run

데몬의 실행은
ln -s /var/qmail/supervise/vpop /service (5초 이내로 daemontool에 의해 pop 데몬이 구동될 것이다)

-기존의 sendmail 바이너리를 qmail 의 것으로 바꾼다.
mv /usr/lib/sendmail /usr/lib/sendmail.old
mv /usr/sbin/sendmail /usr/sbin/sendmail.old
ln -s /var/qmail/bin/sendmail /usr/lib
ln -s /var/qmail/bin/sendmail /usr/sbin


-qmail 시동
ln -s /var/qmail/supervise/qmail-send /service/
ln -s /var/qmail/supervise/qmail-smtpd /service/


============== 서버제어 ================
- 종료
cd /service/qmail-send
rm -f /service/qmail-send
svc -dx . log

cd /service/qmail-smtpd
rm -f /service/qmail-smtpd
svc -dx . log

cd /service/vpop
rm -f /service/vpop
svc -dx .


- stat 보기
svstat /service/vpop/


- qmail 큐에 있는 메일을 강제로 배달하기
svc -a /service/qmail-send


- 서버 잠시 중지 시키기
svc -p /service/qmail-send
svc -p /service/qmail-smtpd
svc -p /service/vpop


- 다시 진행 시키기
svc -c /service/qmail-send
svc -c /service/qmail-smtpd
svc -c /service/vpop
=========================================== 


** 재대로 설정파일이 변경이 되었는지 확인해 보자. **

cat /var/qmail/control/locals 
------------------------------------------------
localhost

주 도메인도 vpopmail이 관리하기로 했다면 /var/qmail/control/locals 파일의 
내용은 localhost 만이 있어야 정상이다. 다른것이 있으면 지운다.


cat /var/qmail/control/virtualdomains
-----------------------------------------------
test.net:test.net
tru64unix.co.kr:tru64unix.co.kr


cat /var/qmail/users/assign
-----------------------------------------------
+test.net-:test.net:515:510:/home/vpopmail/domains/test.net:-::
+tru64unix.co.kr-:tru64unix.co.kr:515:510:~vpopmail/domains/tru64unix.co.kr:-::



4. vpopmail 사용하기

cd /home/vpopmail/bin

- 도메인추가
./vadddomain 1280.co.kr

- 계정추가
./vadduser suil@1280.co.kr

...
..
.


'Linux' 카테고리의 다른 글

비밀번호 만료일 제거 centOS  (0) 2021.06.21
리눅스서버 설치후 보안세팅  (0) 2019.01.10
백업 ftp + cron 설정  (0) 2019.01.10
IP 알리아스  (0) 2019.01.10
iptables로 IP, IP대역 막기  (0) 2019.01.10
Posted by requireme
Linux2019. 1. 10. 11:59


-------- 서버 side -------------
#]crontab -l
00 03 * * * /var/spool/cron/backup.sh

#]cat /var/spool/cron/backup.sh
#!/bin/bash
# DB Backup
/usr/local/mysql/bin/mysqldump --opt -uUSERNAME -pPASSWD DBname > /backup/DBname_$(date +%Y%m%d).dump
######################
# COMPRESS
gzip /backup/db_*.dump
######################
#
# SOURCE Backup
tar zcf /backup/www_$(date +%Y%m%d).tar.gz /home/www


--------- 클라이언트 side -------------
#]crontab -l
00 04 * * * /backup/backup_script/ftpcron.sh

#]cat /backup/backup_script/ftpcron.sh
find /backup/serv_backup -type f -name "*.tar.gz" -mtime +1 -exec rm -f {} \;
find /backup/serv_backup -type f -name "DBname*" -mtime +1 -exec rm -f {} \;
ftp -n 211.32.149.174 1121 < /backup/backup_script/ftpscript

#]cat /backup/backup_script/ftpscript
user suil PASSWD
cd /backup/
lcd /backup/serv_backup
binary
prompt
mget *.gz
bye

'Linux' 카테고리의 다른 글

리눅스서버 설치후 보안세팅  (0) 2019.01.10
redhat 9 에서 qmail + vpopmail 설치  (0) 2019.01.10
IP 알리아스  (0) 2019.01.10
iptables로 IP, IP대역 막기  (0) 2019.01.10
CentOS6 에서 nodejs 설치  (0) 2018.02.07
Posted by requireme
Linux2019. 1. 10. 11:57


** 기존 IP를 사용하고있으면서 한 머신에서 IP를 추가하여 사용할경우 'IP 알리아스' 를 이용한다.



cd /etc/sysconfig/network-scripts

cp ifcfg-eth0 ifcfg-eth0:1



ifcfg-eth0:1 파일에서 다음 두줄만 수정

----------------------

DEVICE=eth0:1

IPADDR=61.37.198.110

----------------------


/etc/rc.d/init.d/network restart



'Linux' 카테고리의 다른 글

redhat 9 에서 qmail + vpopmail 설치  (0) 2019.01.10
백업 ftp + cron 설정  (0) 2019.01.10
iptables로 IP, IP대역 막기  (0) 2019.01.10
CentOS6 에서 nodejs 설치  (0) 2018.02.07
CentOS5.11 네트워크 설치 및 yum repo 등록  (0) 2017.06.22
Posted by requireme
Linux2019. 1. 10. 11:56


# IP대역 

#iptables -A INPUT -p tcp -m iprange --src-range 64.18.0.0-64.18.15.255 -j DROP



# 특정 IP

# iptables -A INPUT -p tcp -s 64.18.4.10 -j DROP

'Linux' 카테고리의 다른 글

백업 ftp + cron 설정  (0) 2019.01.10
IP 알리아스  (0) 2019.01.10
CentOS6 에서 nodejs 설치  (0) 2018.02.07
CentOS5.11 네트워크 설치 및 yum repo 등록  (0) 2017.06.22
CentOS에 Tibero5 설치  (0) 2017.02.10
Posted by requireme