'Linux'에 해당되는 글 19건
lunux(리눅스) 압축 파일 관리 (compress.tar, gzip 등)
Linux

압축(COMPRESS,GZIP,TAR,ZIP,JAR)

1. - compress

*기본 사용법

 * -압축하기
1.#compress file1
    ;file1.Z로 압축

2.#compress -v file1
    ;-v : 압축과정 보여줌

    (압축할 대상이 없으면
    "file unchanged" 라는 메시지가 출력되며 압축 안된다)

*    -압축 내용 미리보기
    1.# uncompress -c file1.Z
        ;압축된 파일의 내용 미리 보기
        (압축을 가상으로 풀어줘서 cat으로 보여주지만,
        사실은 임시저장 디렉토리에 압축이 풀린다. (윈도우의 임시파일이랑 같다))

    -압축 해제
        1.# uncompress file1.Z
            ;압축해제
2. - Gzip

■ gzip
*기본 사용법

* -압축하기        
 1.# gzip file1
       ;file1.gz 로 압축
 2.# gzip -v file1
       ;-v : 압축 과정 보여줌        

-압축 내용 미리보기
# gunzip -c file1.gz (O)   
              (주의 : # gzip -c file1.gz (X, 내용 깨져 보임))
                  ;압축된 파일의 내용 미리 보기
                       (= # gzcat file1.gz)

-압축 해제
              1.# gunzip file.gz
                       ;압축 해제
              2.# gzip -d file1.gz

*추가 사용법

    -서브 폴더도 압축하기
    # gzip -r 디렉토리명
              ;디렉토리 안의 모든 파일(서브,서브...포함) 압축
              ;(개개의 파일을 개개의 .gz 로 압축)
              ;(유닉스의 압축에는 묶어 압축 이란 건 없음.
                        묶음 과 압축을 따로 해주어야 함)

    -서브 폴더도 압축 해제
    # gzip -dr 디렉토리명
              ;디렉토리 안의 모든 파일(서브,서브...포함) 압축 해제
              ;(바로 위에서 압축한 걸(서브폴더도 압축하기) 해제할  사용)
■ tar

(=묶기)(=백업)
*기본 사용법

-묶기
# tar cvf file.tar file1 file2 file3
              ;(c : create, v : vervose, f : file or tape)
              ;(f는 이후 지정한 파일명으로 묶겠다는 것)

    -묶음 내용 미리 보기
              # tar tvf file.tar
              ;묶어진 것들 확인

    -묶음 해제
              # tar xvf file.tar

*추가 사용법

-디렉토리 묶기
# tar cvf dir.tar 디렉토리명
             ;해당 디렉토리 묶음 (서브,서브... 포함)

-테이프 장치로 묶기 (백업이라 함 - tar 는 백업에도 사용됨)
              1.# tar cvf /dev/rmt/0 file1 file2 file3
                       ;파일 세개를 테이프 장치로 백업
              2.# tar cvf /dev/rmt/0 /export/home
                       ;계정 홈 베이스 폴더 안의 것
                       (서브,서브...포함)을 테이프 장치로 백업
                       ?/dev/rmt/0 대신에 디스크 장치명(c0t0d0s7)
■ gtar

*기본 사용법

    -묶고 압축하기
    # gtar cvzf file.tar.gz file1

    -묶음 내용 미리보기
    # gtar tvzf file.tar.gz

    -묶음 해제
    # gtar xvzf file.tar.gz

(참) gtar 는 기존 tar 기능에, 특정 디렉토리 제외, 압축,묶기 동시 수행 두 개의 기능이 더 있어서 보통 tar 에 alias 지정해서 사용함 (시나리오 문서 참고)

     # alias tar='/usr/sfw/bin/gtar'

■ zip
     ;zip 은 gtar cvzf 와 유사 함 => 묶고 압축하기. 결국엔 묶기
     ;UNIX jar 와 호환, 윈도우 zip 과 호환
     ;zip 파일이면, 알집에서도 풀림
     ;묶음 유형의 명령어라 원본은 그대로 놔두고, 묶기,묶음해제 수행 함

*기본 사용법

             -묶고 압축하기
              # zip file.zip file1 file2 file3
                       ;file.zip 으로 묶고 압축하기

    -묶음 내용 미리 보기
              # unzip -l file.zip
                       ;묶음 내용 확인

    -묶음 해제
              # unzip file.zip

*추가 사용법
-디렉토리(서브,서브…포함) 묶기

              # zip -r dir.zip 디렉토리명
                       ;해당 디렉토리(서브,서브...포함) 를 dir.zip 이란 이름으로 묶기

    -디렉토리에 zip 사용시 주의사항
              # zip dir.zip 디렉토리명
                       ;이 경우 디렉토리명 자체에 대해 zip 명령 수행 (안의 것을 묶는 게 아님. 의미 없는 행동이니 디렉토리에 대해 zip 할때는 -r 쓰자)
■ jar
     ;jar 은 gtar cvzf 와 유사 => 묶고 압축하기. 결국엔 묶기

*기본 사용법

    - 묶고 압축하기
              # jar cvf file.jar file1 file2 file3
                       ;file.jar 으로 묶기

    -묶음 내용 미리 보기
              # jar tvf file.jar

    -묶음 해제
              # jar xvf file.jar

■ 정리 : 압축 해제 유형

     -file.tar.Z
              # zcat file.tar.Z | tar xvf -
                       ;.tar.Z 압축 해제하기 : 두 번의 작업이 필요하나, 한 번에 풀기 위한 요령 임

     -file.tar.gz
              # gzcat file.tar.gz | tar xvf -
                       ;.tar.gz 압축 해제하기 : 두 번의 작업이 필요하나, 한 번에 풀기 위한 요령 임

     -file.zip
              # unzip file.zip

     -file.jar
              # jar xvf file.jar

'Linux' 카테고리의 다른 글

리눅스(linux) LVM 디스크 관리 및 추가  (0) 2014.10.31
리눅스 shell script  (0) 2014.10.31
리눅스에 iptraf3.0 설치  (1) 2014.10.31
DNS 서버구축  (0) 2014.10.31
linux,unix에 vi editor 구문강조  (0) 2014.10.31
리눅스에 iptraf3.0 설치
Linux

iptraf 3.0 설치 가이드

  • 설치가이드래봤자 별거없고 과정만 조금 긁어봤다.
    1.운영체제는 oracle linux6.5
    2.iptraf 3.0.0 버전

iptraf는 실시간 패킷 분석 프로그램으로 네트워크 인터페이스 별 모니터링과
각 프로토콜 별 송수신 패킷 전송량을 측정, 송수신 IP 실시간 감시 등 TEXT 그래픽 인터페이스로 제공하는 프로그램이다.

[root@dbserver ~]# wget http://www.superuser.co.kr/home/files/iptraf-3.0.0.tar.g            z
--2014-07-31 19:15:02--  http://www.superuser.co.kr/home/files/iptraf-3.0.0.tar.            gz
Resolving www.superuser.co.kr... 222.97.189.20
Connecting to www.superuser.co.kr|222.97.189.20|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://www.linux.co.kr/home/files/iptraf-3.0.0.tar.gz [following]
--2014-07-31 19:15:04--  https://www.linux.co.kr/home/files/iptraf-3.0.0.tar.gz
Resolving www.linux.co.kr... 222.97.189.20
Connecting to www.linux.co.kr|222.97.189.20|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 575169 (562K) [application/x-gzip]
Saving to: ?쐇ptraf-3.0.0.tar.gz??

100%[======================================>] 575,169     1.29M/s   in 0.4s

2014-07-31 19:15:04 (1.29 MB/s) - ?쐇ptraf-3.0.0.tar.gz??saved [575169/575169            ]

[root@dbserver ~]#

터미널로 iptraf3.0.0 tar gz를 받는다.

[root@dbserver ~]# ls
anaconda-ks.cfg  Downloads           iptraf-3.0.0      Music     Templates
Desktop          install.log         iptraf-3.0.0.tar  Pictures  Videos
Documents        install.log.syslog  missfont.log      Public    yum.sh
[root@dbserver ~]# cd iptraf-3.0.0/
[root@dbserver iptraf-3.0.0]# ls
CHANGES        FAQ      README             README.platforms  Setup
contrib        INSTALL  README.contact     README.rvnamed    src
Documentation  LICENSE  README.interfaces  RELEASE-NOTES     support
[root@dbserver iptraf-3.0.0]# ./Setup

ls로 확인해 봤더니 root/home에 iptraf가 있었다.
압축을 풀어보자.

[root@dbserver ~]# iptraf-3.0.0.tar.gz           /gwet으로 받았는 2중압축 iptra
[root@dbserver ~]#
[root@dbserver ~]# gunzip iptraf-3.0.0.tar.gz    /gunzip으로 gz를 한번 풀고
[root@dbserver ~]#
[root@dbserver ~]# tar -xvf iptraf-3.0.0.tar     /tar로 나머지 tar압축을 푼다.

이렇게 전부 다 풀어주고 해당 디렉토리 안으로 들어가서 설치해주면 끝

[root@dbserver ~]# cd iptraf-3.0.0
[root@dbserver ~]#
[root@dbserver iptraf-3.0.0]#ls
CHANGES        FAQ      README             README.platforms  Setup
contrib        INSTALL  README.contact     README.rvnamed    src
Documentation  LICENSE  README.interfaces  RELEASE-NOTES     support

위에 setup 설치파일이 보인다.
./setup 해주면 설치를 할 수 있다.

[root@dbserver iptraf-3.0.0]#./Setup  /대소문자 주의해서 입력할것
=====================================================================
 IPTraf Version 3.0.0 Setup
 Target Platform: Linux/x86_64
---------------------------------------------------------------------

>>>>>> COMPILING IPTRAF 3.0.0 FROM SUPPLIED SOURCE CODE

make: Entering directory `/root/iptraf-3.0.0/src'
rm -f *.o *~ core iptraf rvnamed rawtime
make -C ../support clean
make[1]: Entering directory `/root/iptraf-3.0.0/support'
rm -rf *.o *~ libtextbox.a libtextbox.so
make[1]: Leaving directory `/root/iptraf-3.0.0/support'
make: Leaving directory `/root/iptraf-3.0.0/src'
make: Entering directory `/root/iptraf-3.0.0/support'
rm -rf *.o *~ libtextbox.a libtextbox.so
make: Leaving directory `/root/iptraf-3.0.0/support'
make: Entering directory `/root/iptraf-3.0.0/src'
gcc -Wall  -DWORKDIR=\"/var/local/iptraf\" -DLOGDIR=\"/var/log/iptraf\" -DEXECDIR=\"/usr/local/bin\" -I/usr/include/ncurses -I../support -DVERSION=\"3.0.0\" -DPLATFORM=\"Linux/x86_64\"     -c -o iptraf.o iptraf.c
In file included from iptraf.c:54:
tcptable.h:26:25: error: linux/if_tr.h: No such file or directory
make: *** [iptraf.o] Error 1
make: Leaving directory `/root/iptraf-3.0.0/src'
make: Entering directory `/root/iptraf-3.0.0/src'

*** Installing executable programs and preparing work directories

>>> Installing iptraf in /usr/local/bin
/usr/bin/install: cannot stat `iptraf': No such file or directory
>>> Installing rvnamed in /usr/local/bin
/usr/bin/install: cannot stat `rvnamed': No such file or directory
>>> IPTraf work directory /var/local/iptraf already exists
>>> IPTraf log directory /var/log/iptraf already exists
>>> IPTraf lockfile directory /var/run/iptraf already exists


*** iptraf, and rvnamed executables are in /usr/local/bin
*** Log files are placed in /var/log/iptraf


======================================================================

Please read the RELEASE-NOTES file for important new information about
this version. You can view this file now (will require the 'less'
program in /usr/bin.  Press Q to quit when done).

Would you like to view the RELEASE-NOTES file now (Y/N)? N

=====================================================================

Thank you for installing IPTraf.  You can now start IPTraf by issuing
the command

    /usr/local/bin/iptraf

at your shell prompt.  You can also add /usr/local/bin to your PATH environment
variable to avoid having to type the pathname when invoking the program.

make: Leaving directory `/root/iptraf-3.0.0/src'
[root@dbserver iptraf-3.0.0]# iptraf


 


'Linux' 카테고리의 다른 글

리눅스 shell script  (0) 2014.10.31
lunux(리눅스) 압축 파일 관리 (compress.tar, gzip 등)  (0) 2014.10.31
DNS 서버구축  (0) 2014.10.31
linux,unix에 vi editor 구문강조  (0) 2014.10.31
make install 안될 때 해결법  (0) 2014.10.31
DNS 서버구축
Linux

DNS Server 구축

[root@dbserver ~]# ls
anaconda-ks.cfg       Downloads           missfont.log  Templates
bind-9.9.2-P2.tar.gz  install.log         Music         Videos
Desktop               install.log.syslog  Pictures      vsftpd-3.0.2.tar.gz
Documents             iptraf-3.0.0        Public        yum.sh

우선은 dns서버구축 후에 바로 vsftpd까지 받았고,
rpm파일은 조금 구하기 힘들어서 컴파일파일을 winscp로 옮겨놨다.

[root@dbserver ~]# ls
anaconda-ks.cfg    Documents           iptraf-3.0.0  Public               yum.sh
bind-9.9.2-P2      Downloads           missfont.log  Templates
bind-9.9.2-P2.tar  install.log         Music         Videos
Desktop            install.log.syslog  Pictures      vsftpd-3.0.2.tar.gz
[root@dbserver ~]# rm -fr bind-9.9.2-P2.tar  /복잡해서 tar는 삭제.
[root@dbserver ~]#
[root@dbserver ~]# ls
anaconda-ks.cfg  Downloads           missfont.log  Templates
bind-9.9.2-P2    install.log         Music         Videos
Desktop          install.log.syslog  Pictures      vsftpd-3.0.2.tar.gz
Documents        iptraf-3.0.0        Public        yum.sh
[root@dbserver ~]#

지문이 길어져서 압축해제하는 내용은 넣지 않았다.

[root@dbserver ~]# cd bind-9.9.2-P2/    /바인드 디렉토리 안으로 접속
[root@dbserver bind-9.9.2-P2]# ls       /configure 파일이 보인다.
acconfig.h      config.threads.in  install-sh             mkinstalldirs
aclocal.m4      configure          isc-config.sh.1        README
Atffile         configure.in       isc-config.sh.docbook  REDIRECT-NOTES
bin             contrib            isc-config.sh.html     srcid
bind.keys       COPYRIGHT          isc-config.sh.in       unit
CHANGES         doc                lib                    util
config.guess    docutil            libtool.m4             version
config.h.in     FAQ                ltmain.sh              win32utils
config.h.win32  FAQ.xml            make
config.sub      HISTORY            Makefile.in
[root@dbserver bind-9.9.2-P2]#

디렉토리 안으로 들어가서 파일을 컴파일러해야한다.

[root@dbserver ~]# cd bind-9.9.2-P2/
[root@dbserver ~]#
[root@dbserver bind-9.9.2-P2]#./configure - -prefix=/usr/local/dns
[root@dbserver bind-9.9.2-P2]#

그냥 실행하면 안되고 다운받을 폴더를 같이 지정해줘야한다.
위와 같이 ./configure - -prefix=/usr/local/dns (dns 디렉토리에 다운)

[root@dbserver bind-9.9.2-P2]# make; make install

다운받을 폴더를 지정했으니 위 명령어를 쳐서 다운받는다. (조금 오래걸린다)

mkdir /usr/local/dns/var
mkdir /usr/local/dns/var/run
mkdir /usr/local/dns/etc
/bin/sh ./mkinstalldirs /usr/local/dns/share/man/man1
/usr/bin/install -c isc-config.sh /usr/local/dns/bin
/usr/bin/install -c -m 644 ./isc-config.sh.1 /usr/local/dns/share/man/man1
/usr/bin/install -c -m 644 ./bind.keys /usr/local/dns/etc
[root@dbserver bind-9.9.2-P2]# pwd
/root/bind-9.9.2-P2
[root@dbserver bind-9.9.2-P2]#
[root@dbserver bind-9.9.2-P2]# cd ~
[root@dbserver ~]#

이제 상위 디렉트리로 빠져나온후에 etc/ 디렉토리로 경로를 옮겨야 한다.

[root@dbserver ~]# cd /usr/local/dns/etc/
[root@dbserver etc]# ls
[root@dbserver etc]# pwd
/usr/local/dns/etc
[root@dbserver etc]#

이제 named.conf(데몬) 파일을 설정해야 한다.

[root@dbserver etc]# vi /usr/local/dns/etc/named.conf

  1   tabstop=8  background=light
  2         directory "/usr/local/dns/etc/namedb";
  3         dump-file "/usr/local/dns/etc/named_dump.db";
  4         statistics-file "/usr/local/dns/etc/tmp/named.stats";
  5         pid-file "/usr/local/dns/etc/run/named.pid";
  6 };
  7 zone "." IN {
  8         type hint;
  9         file "named.root";
 10 };
 11 zone "localhost" IN{
 12         type master;
 13         file "zone-localhost";
 14 };
 15 zone "0.0.127.in-addr.arpa " IN{
 16         type master;
 17         file "zone-0.0.127.in-addr.arpa";
 18 };
 19 zone "naver.com" IN{
 20         type master;
 21         file "zone-naver.com";
 22 };
 23

경로와 zone파일을 named.conf에 위처럼 적어준다

[root@dbserver etc]# ls
bind.keys  named.conf
[root@dbserver etc]#

named.conf가 정상적으로 생성된걸 확인했고
앞으로 존파일들은 namedb디렉토리에 만들겠다

[root@dbserver etc]# mkdir namedb
[root@dbserver etc]#
[root@dbserver etc]# cd namedb/
[root@dbserver namedb]#

여기서 이제 vi /named.root 파일을 만들어서 아래내용을 복붙하자.

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC 
;       under anonymous FTP as
;           file                /domain/named.cache
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    June 2, 2014
;       related version of root zone:   2014060201
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
A.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:BA3E::2:30
;
; FORMERLY NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     192.228.79.201
B.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:84::B
;
; FORMERLY C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
C.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2::C
;
; FORMERLY TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     199.7.91.13
D.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2D::D
;
; FORMERLY NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; FORMERLY NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
F.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2F::F
;
; FORMERLY NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; FORMERLY AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
H.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:1::803F:235
;
; FORMERLY NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
I.ROOT-SERVERS.NET.      3600000      AAAA  2001:7FE::53
;
; OPERATED BY VERISIGN, INC.
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
J.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:C27::2:30
;
; OPERATED BY RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
K.ROOT-SERVERS.NET.      3600000      AAAA  2001:7FD::1
;
; OPERATED BY ICANN
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     199.7.83.42
L.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:3::42
;
; OPERATED BY WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
M.ROOT-SERVERS.NET.      3600000      AAAA  2001:DC3::35
; End of File

vi named.root파일

@ORIGIN localhost
@       1D      IN      SOA     @       root    1999010100      3H 15M 1W 1D
@       1D      IN      NS      @
@       ID      IN      A       192.168.24.136
@       1D      IN      AAAA    ::1
~

vi zone-localhost 파일

$TTL 3W
@       3W      IN      SOA     localhost.      root.localhost  1999010100      3H 15M 1W 1D
@       3W      IN      NS      localhost.
1       3W      IN      PTR     localhost.
~

vi zone-0.0.127.in.addr.arpa 파일

$TTL 3H
@       SOA     @       root.   ( 2 1D 1H 1W 1H )
        IN      NS      @             /root는 나 자신을 지칭
        IN      A       74.125.128.94 /naver.com을 입력할때 들어가는 ip

www     IN      A       74.125.71.105 /www는 www.naver.com을 입력할때 들어가는 ip
ftp     IN      A       180.228.181.97 /ftp동일. in의 의미는 인터넷이고 a는 아이피 들어가는 변수
~

vi zone naver.com 파일

[root@dbserver ~]# cd /usr/local/dns/sbin
[root@dbserver sbin]# ls
arpaname             dnssec-keygen    dnssec-verify   named              named-journalprint
ddns-confgen         dnssec-revoke    genrandom       named-checkconf    nsec3hash
dnssec-dsfromkey     dnssec-settime   isc-hmac-fixup  named-checkzone    rndc
dnssec-keyfromlabel  dnssec-signzone  lwresd          named-compilezone  rndc-confgen
[root@dbserver sbin]#

존파일을 다 만들었으면 디렉토리를 빠져나와서
/usr/local/dns/sbin 디렉토리로 다시 이동합니다.

[root@dbserver sbin]#
[root@dbserver sbin]# ./named-checkconf /usr/local/dns/etc/named.conf
[root@dbserver sbin]# ./named-checkzone naver.com /usr/local/dns/etc/namedb/zone-naver.com
zone naver.com/IN: loaded serial 2
OK
[root@dbserver sbin]#

위 명령어를 쳐서 두파일 전부 실행시킨다.

그리고 이제 /usr/local/dns/etc/말고 root의 /etc/ 디렉토리로 이동해서
resolv.conf파일에 아이피를 추가 시켜야한다.

[root@dbserver sbin]# cd
[root@dbserver ~]# cd /root/etc/
[root@dbserver etc]#
[root@dbserver etc]# pwd
/etc
[root@dbserver etc]# vi resolv.conf
# Generated by NetworkManager
domain localdomain
search localdomain
#nameserver 192.168.24.2
nameserver 192.168.24.136

기존 아이피 주석처리하고
아래에 자신의 아이피를 적으면 된다.

[root@dbserver etc]# cd /usr/local/dns/sbin/
[root@dbserver sbin]# pwd
/usr/local/dns/sbin
[root@dbserver sbin]# ./named
[root@dbserver sbin]# ps -ef | grep named
root     58364     1  0 01:06 ?        00:00:00 ./named
root     58366 39646  0 01:06 pts/6    00:00:00 grep named

현제 실행되고 있는 데몬을 확인해보니 잘돌아간다.

[root@dbserver ~]# nslookup
> server
Default server: 192.168.24.136
Address: 192.168.24.136#53
> naver.com
Server:         192.168.24.136
Address:        192.168.24.136#53

Name:   naver.com
Address: 74.125.128.94
>

nslookup명령어를 치고 server . naver.com을 입력해보니 잘 올라온다.

'Linux' 카테고리의 다른 글

lunux(리눅스) 압축 파일 관리 (compress.tar, gzip 등)  (0) 2014.10.31
리눅스에 iptraf3.0 설치  (1) 2014.10.31
linux,unix에 vi editor 구문강조  (0) 2014.10.31
make install 안될 때 해결법  (0) 2014.10.31
FTP Server 구축  (0) 2014.10.31
linux,unix에 vi editor 구문강조
Linux

리눅스 VI editor에 구문강조 및 옵션넣기

 vi /root/.bashrc

/root/.bashrc 파일에 alias vi=’vim’을 추가

 1 # .bashrc
  2
  3 # User specific aliases and functions
  4
  5 alias rm='rm -i'
  6 alias cp='cp -i'
  7 alias mv='mv -i'
  8 alias vi='vim'
  9
 10 # Source global definitions
 11 if [ -f /etc/bashrc ]; then
 12         . /etc/bashrc
 13 fi

8번째 줄에 추가함

[root@dbserver ~]# yum install vim-enhanced

그리고 yum으로 vim=enhanced 패키지를 받음
20014/08/24일기준으로
vim-enhanced-7.2.411-1.8.el6.x86_64 버전임

[root@dbserver ~]# rpm -qa | grep vim-*
vim-enhanced-7.2.411-1.8.el6.x86_64
vim-common-7.2.411-1.8.el6.x86_64
vim-minimal-7.2.411-1.8.el6.x86_64

다 깔고 grep으로 확인해봤더니 정상적으로 깔림

[root@dbserver ~]# vi /root/.vimrc

여기서는 옵션을 정해줄수가 있음

set tabstop=숫자    : 탭 간격을 지정합니다.
set expandtab      : 탭문자를 공백문자로 변환합니다.
set visualbell     : 사용자 실수를 경고할 때, 비프음 대신에 비주얼벨로 경고합니다.
set nobackup       : 백업파일을 생성하지 않습니다.
set autoindent     : 자동 들여쓰기를 사용합니다.
set smartindent    : 좀 더 지능적인 들여쓰기를 사용합니다.
set incsearch      : 키워드를 입력할 대 검색하는 전진검색을 사용합니다.
syntax on          : 구문강조 기능을 사용합니다.
filetype on        : 파일의 종류에 따라 구분을 강조합니다.
set background=색상 : 배경색을 사용합니다.
set hisearch       : 검색어 강조 기능을 사용합니다.
set ignorecase     : 검색, 편집, 치환시에 대소문자를 구분하지 않습니다.
set nu             : vim 앞에 줄번호를 붙여줍니다.
colorscheme 타입    : vim 색상테마를 변경합니다.

엥간해선 위 옵션은 주지말고 걍 재부팅해서 하시면 되요.
저는 옵션주니까 불편하고 자꾸 에러뜨던데 안쓰시는걸 추천합니당

[root@dbserver ~]# which vi
alias vi='vim'
        /usr/bin/vim

which명령어로 확인해보니 아주 잘 설치되었다.
그리고 재부팅 끝

'Linux' 카테고리의 다른 글

리눅스에 iptraf3.0 설치  (1) 2014.10.31
DNS 서버구축  (0) 2014.10.31
make install 안될 때 해결법  (0) 2014.10.31
FTP Server 구축  (0) 2014.10.31
Mail Server 구축  (0) 2014.10.31
make install 안될 때 해결법
Linux

<div style="background-color: rgb(255, 255, 255); font-family: 'Lucida Grande', 'Segoe UI', 'Apple SD Gothic Neo', 'Malgun Gothic', 'Lucida Sans Unicode', Helvetica, Arial, sans-serif; font-size: 0.9em; overflow-x: hidden; overflow-y: auto; margin: 0px !important; padding: 5px 20px 26px !important;padding: 20px;padding: 20px; color: rgb(115, 115, 115); font-size: 15px; font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', AppleSDGothicNeo-Medium, 'Segoe UI', 'Malgun Gothic', Verdana, Tahoma, sans-serif; background-color: rgb(255, 255, 255); -webkit-font-smoothing: antialiased; background-position: initial initial; background-repeat: initial initial;">
  <ul>
<li style="display: list-item; line-height: 1.4em;">컴파일할 때 make가 안되면 커널버전이 달라서 안될수도 있다.<br style="clear: both;">*libcap-devel을 yum으로 받아설치하거나 rpm으로 받아 설치하면 된다.</li>
</ul><pre style="border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; overflow: auto;"><code class="bash hljs" data-origin="<pre><code class=&quot;bash&quot;>[root@dbserver vsftpd-3.0.2]# yum install libcap-devel -y
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--&amp;gt; Running transaction check
---&amp;gt; Package libcap-devel.x86_64 0:2.16-5.5.el6 will be installed
--&amp;gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch        Version             Repository              Size
================================================================================
Installing:
 libcap-devel      x86_64      2.16-5.5.el6        public_ol6_latest       24 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 24 k
Installed size: 15 k
Downloading Packages:
libcap-devel-2.16-5.5.el6.x86_64.rpm                     |  24 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libcap-devel-2.16-5.5.el6.x86_64                             1/1
  Verifying  : libcap-devel-2.16-5.5.el6.x86_64                             1/1

Installed:
  libcap-devel.x86_64 0:2.16-5.5.el6

Complete!
[root@dbserver vsftpd-3.0.2]#
</code></pre>" style="display: block;border: 1px solid rgb(204, 204, 204); white-space: pre; padding: 0.5em; margin: 0px;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-size: 0.9em; font-family: Consolas, Inconsolata, Courier, monospace;display: block; overflow-x: auto; padding: 0.5em; background-color: white; color: black; background-position: initial initial; background-repeat: initial initial;">[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);"># yum install libcap-devel -y</span>
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package libcap-devel.x86_64 <span class="hljs-number">0</span>:<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6 will be installed
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch        Version             Repository              Size
================================================================================
Installing:
 libcap-devel      x86_64      <span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6        public_ol6_latest       <span class="hljs-number">24</span> k

Transaction Summary
================================================================================
Install       <span class="hljs-number">1</span> Package(s)

Total download size: <span class="hljs-number">24</span> k
Installed size: <span class="hljs-number">15</span> k
Downloading Packages:
libcap-devel-<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6.x86_64.rpm                     |  <span class="hljs-number">24</span> kB     <span class="hljs-number">00</span>:<span class="hljs-number">00</span>
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libcap-devel-<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6.x86_64                             <span class="hljs-number">1</span>/<span class="hljs-number">1</span>
  Verifying  : libcap-devel-<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6.x86_64                             <span class="hljs-number">1</span>/<span class="hljs-number">1</span>

Installed:
  libcap-devel.x86_64 <span class="hljs-number">0</span>:<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6

Complete!
[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);">#</span>
</code></pre><ul>
<li style="display: list-item; line-height: 1.4em;">위와같이 패키지 설치가 완료 됐으면 다시 make를 해보자</li>
</ul><pre style="border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; overflow: auto;"><code class="bash hljs" data-origin="<pre><code class=&quot;bash&quot;>[root@dbserver vsftpd-3.0.2]# make
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,-s -fPIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`
</code></pre>" style="display: block;border: 1px solid rgb(204, 204, 204); white-space: pre; padding: 0.5em; margin: 0px;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-size: 0.9em; font-family: Consolas, Inconsolata, Courier, monospace;display: block; overflow-x: auto; padding: 0.5em; background-color: white; color: black; background-position: initial initial; background-repeat: initial initial;">[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);"># make</span>
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,<span class="hljs-operator">-s</span> <span class="hljs-operator">-f</span>PIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`
</code></pre><ul>
<li style="display: list-item; line-height: 1.4em;">정상적으로 에러없이 설치가 잘 된다.</li>
</ul><pre style="border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; overflow: auto;"><code class="bash hljs" data-origin="<pre><code class=&quot;bash&quot;>[root@dbserver vsftpd-3.0.2]# make install
if [ -x /usr/local/sbin ]; then \
                install -m 755 vsftpd /usr/local/sbin/vsftpd; \
        else \
                install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
                install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
        elif [ -x /usr/share/man ]; then \
                install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
        else \
                install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then \
                install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
[root@dbserver vsftpd-3.0.2]#
[root@dbserver vsftpd-3.0.2]#

```*    컴파일할 때 make가 안되면 커널버전이 달라서 안될수도 있다.
*libcap-devel을 yum으로 받아설치하거나 rpm으로 받아 설치하면 된다.

```bash
[root@dbserver vsftpd-3.0.2]# yum install libcap-devel -y
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--&amp;gt; Running transaction check
---&amp;gt; Package libcap-devel.x86_64 0:2.16-5.5.el6 will be installed
--&amp;gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch        Version             Repository              Size
================================================================================
Installing:
 libcap-devel      x86_64      2.16-5.5.el6        public_ol6_latest       24 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 24 k
Installed size: 15 k
Downloading Packages:
libcap-devel-2.16-5.5.el6.x86_64.rpm                     |  24 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libcap-devel-2.16-5.5.el6.x86_64                             1/1
  Verifying  : libcap-devel-2.16-5.5.el6.x86_64                             1/1

Installed:
  libcap-devel.x86_64 0:2.16-5.5.el6

Complete!
[root@dbserver vsftpd-3.0.2]#
</code></pre>" style="display: block;border: 1px solid rgb(204, 204, 204); white-space: pre; padding: 0.5em; margin: 0px;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-size: 0.9em; font-family: Consolas, Inconsolata, Courier, monospace;display: block; overflow-x: auto; padding: 0.5em; background-color: white; color: black; background-position: initial initial; background-repeat: initial initial;">[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);"># make install</span>
<span class="hljs-keyword" style="font-weight: bold;">if</span> [ -x /usr/local/sbin ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">755</span> vsftpd /usr/local/sbin/vsftpd; \
        <span class="hljs-keyword" style="font-weight: bold;">else</span> \
                install -m <span class="hljs-number">755</span> vsftpd /usr/sbin/vsftpd; <span class="hljs-keyword" style="font-weight: bold;">fi</span>
<span class="hljs-keyword" style="font-weight: bold;">if</span> [ -x /usr/local/man ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">644</span> vsftpd.<span class="hljs-number">8</span> /usr/local/man/man8/vsftpd.<span class="hljs-number">8</span>; \
                install -m <span class="hljs-number">644</span> vsftpd.conf.<span class="hljs-number">5</span> /usr/local/man/man5/vsftpd.conf.<span class="hljs-number">5</span>; \
        <span class="hljs-keyword" style="font-weight: bold;">elif</span> [ -x /usr/share/man ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">644</span> vsftpd.<span class="hljs-number">8</span> /usr/share/man/man8/vsftpd.<span class="hljs-number">8</span>; \
                install -m <span class="hljs-number">644</span> vsftpd.conf.<span class="hljs-number">5</span> /usr/share/man/man5/vsftpd.conf.<span class="hljs-number">5</span>; \
        <span class="hljs-keyword" style="font-weight: bold;">else</span> \
                install -m <span class="hljs-number">644</span> vsftpd.<span class="hljs-number">8</span> /usr/man/man8/vsftpd.<span class="hljs-number">8</span>; \
                install -m <span class="hljs-number">644</span> vsftpd.conf.<span class="hljs-number">5</span> /usr/man/man5/vsftpd.conf.<span class="hljs-number">5</span>; <span class="hljs-keyword" style="font-weight: bold;">fi</span>
<span class="hljs-keyword" style="font-weight: bold;">if</span> [ -x /etc/xinetd.d ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">644</span> xinetd.d/vsftpd /etc/xinetd.d/vsftpd; <span class="hljs-keyword" style="font-weight: bold;">fi</span>
[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);">#</span>
[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);">#</span>

```*    컴파일할 때 make가 안되면 커널버전이 달라서 안될수도 있다.
*libcap-devel을 yum으로 받아설치하거나 rpm으로 받아 설치하면 된다.

```bash
[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);"># yum install libcap-devel -y</span>
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--&gt; Running transaction check
---&gt; Package libcap-devel.x86_64 <span class="hljs-number">0</span>:<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6 will be installed
--&gt; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch        Version             Repository              Size
================================================================================
Installing:
 libcap-devel      x86_64      <span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6        public_ol6_latest       <span class="hljs-number">24</span> k

Transaction Summary
================================================================================
Install       <span class="hljs-number">1</span> Package(s)

Total download size: <span class="hljs-number">24</span> k
Installed size: <span class="hljs-number">15</span> k
Downloading Packages:
libcap-devel-<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6.x86_64.rpm                     |  <span class="hljs-number">24</span> kB     <span class="hljs-number">00</span>:<span class="hljs-number">00</span>
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libcap-devel-<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6.x86_64                             <span class="hljs-number">1</span>/<span class="hljs-number">1</span>
  Verifying  : libcap-devel-<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6.x86_64                             <span class="hljs-number">1</span>/<span class="hljs-number">1</span>

Installed:
  libcap-devel.x86_64 <span class="hljs-number">0</span>:<span class="hljs-number">2.16</span>-<span class="hljs-number">5.5</span>.el6

Complete!
[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);">#</span>
</code></pre><ul>
<li style="display: list-item; line-height: 1.4em;">위와같이 패키지 설치가 완료 됐으면 다시 make를 해보자</li>
</ul><pre style="border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; overflow: auto;"><code class="bash hljs" data-origin="<pre><code class=&quot;bash&quot;>[root@dbserver vsftpd-3.0.2]# make
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,-s -fPIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`
</code></pre>" style="display: block;border: 1px solid rgb(204, 204, 204); white-space: pre; padding: 0.5em; margin: 0px;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-size: 0.9em; font-family: Consolas, Inconsolata, Courier, monospace;display: block; overflow-x: auto; padding: 0.5em; background-color: white; color: black; background-position: initial initial; background-repeat: initial initial;">[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);"># make</span>
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,<span class="hljs-operator">-s</span> <span class="hljs-operator">-f</span>PIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`
</code></pre><ul>
<li style="display: list-item; line-height: 1.4em;">정상적으로 에러없이 설치가 잘 된다.</li>
</ul><pre style="border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; overflow: auto;"><code class="bash hljs" data-origin="<pre><code class=&quot;bash&quot;>[root@dbserver vsftpd-3.0.2]# make install
if [ -x /usr/local/sbin ]; then \
                install -m 755 vsftpd /usr/local/sbin/vsftpd; \
        else \
                install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
                install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
        elif [ -x /usr/share/man ]; then \
                install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
        else \
                install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then \
                install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
[root@dbserver vsftpd-3.0.2]#
[root@dbserver vsftpd-3.0.2]#
</code></pre>" style="display: block;border: 1px solid rgb(204, 204, 204); white-space: pre; padding: 0.5em; margin: 0px;border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-break: break-all; word-wrap: break-word; border: 1px solid rgb(204, 204, 204); padding: 0px 5px; margin: 0px 2px;font-size: 0.9em; font-family: Consolas, Inconsolata, Courier, monospace;display: block; overflow-x: auto; padding: 0.5em; background-color: white; color: black; background-position: initial initial; background-repeat: initial initial;">[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);"># make install</span>
<span class="hljs-keyword" style="font-weight: bold;">if</span> [ -x /usr/local/sbin ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">755</span> vsftpd /usr/local/sbin/vsftpd; \
        <span class="hljs-keyword" style="font-weight: bold;">else</span> \
                install -m <span class="hljs-number">755</span> vsftpd /usr/sbin/vsftpd; <span class="hljs-keyword" style="font-weight: bold;">fi</span>
<span class="hljs-keyword" style="font-weight: bold;">if</span> [ -x /usr/local/man ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">644</span> vsftpd.<span class="hljs-number">8</span> /usr/local/man/man8/vsftpd.<span class="hljs-number">8</span>; \
                install -m <span class="hljs-number">644</span> vsftpd.conf.<span class="hljs-number">5</span> /usr/local/man/man5/vsftpd.conf.<span class="hljs-number">5</span>; \
        <span class="hljs-keyword" style="font-weight: bold;">elif</span> [ -x /usr/share/man ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">644</span> vsftpd.<span class="hljs-number">8</span> /usr/share/man/man8/vsftpd.<span class="hljs-number">8</span>; \
                install -m <span class="hljs-number">644</span> vsftpd.conf.<span class="hljs-number">5</span> /usr/share/man/man5/vsftpd.conf.<span class="hljs-number">5</span>; \
        <span class="hljs-keyword" style="font-weight: bold;">else</span> \
                install -m <span class="hljs-number">644</span> vsftpd.<span class="hljs-number">8</span> /usr/man/man8/vsftpd.<span class="hljs-number">8</span>; \
                install -m <span class="hljs-number">644</span> vsftpd.conf.<span class="hljs-number">5</span> /usr/man/man5/vsftpd.conf.<span class="hljs-number">5</span>; <span class="hljs-keyword" style="font-weight: bold;">fi</span>
<span class="hljs-keyword" style="font-weight: bold;">if</span> [ -x /etc/xinetd.d ]; <span class="hljs-keyword" style="font-weight: bold;">then</span> \
                install -m <span class="hljs-number">644</span> xinetd.d/vsftpd /etc/xinetd.d/vsftpd; <span class="hljs-keyword" style="font-weight: bold;">fi</span>
[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);">#</span>
[root@dbserver vsftpd-<span class="hljs-number">3.0</span>.<span class="hljs-number">2</span>]<span class="hljs-comment" style="color: rgb(204, 204, 204);">#</span>
</code></pre></div>

'Linux' 카테고리의 다른 글

DNS 서버구축  (0) 2014.10.31
linux,unix에 vi editor 구문강조  (0) 2014.10.31
FTP Server 구축  (0) 2014.10.31
Mail Server 구축  (0) 2014.10.31
APM server 구축  (0) 2014.10.31
FTP Server 구축
Linux
  • 설치 OS는 RedHat Enterprise Linux 5
  • VSFTPD파일 버전은 3.0.2버전
[root@localhost ~]# ls
anaconda-ks.cfg       Desktop             sendmail.8.14.9.tar.gz  yum-2.0.7
bind-9.9.2-P2         install.log         vsftpd-3.0.2            yum-2.0.7.tar.gz
bind-9.9.2-P2.tar.gz  install.log.syslog  vsftpd-3.0.2.tar.gz
  • FTP를 사용할려면 vsftpd라는 파일이 필요한데
    여기서는 3.0.2버전을 가지고 설치를 해보겠다.
    위를 보면 vsftpd가 /root/home 디렉토리에 놓여져 있다
  • tar압축을 풀고, 압축이 풀린 디렉토리에 들어가자
[root@localhost ~]# cd vsftpd-3.0.2
[root@localhost vsftpd-3.0.2]#
[root@localhost vsftpd-3.0.2]#
[root@localhost vsftpd-3.0.2]# ls
access.c     filesize.h     ls.h              privops.h         secutil.h     sysutil.h
access.h     filestr.c      main.c            privsock.c        session.h     tcpwrap.c
ascii.c      filestr.h      Makefile          privsock.h        SIZE          tcpwrap.h
ascii.h      ftpcmdio.c     netstr.c          ptracesandbox.c   SPEED         TODO
AUDIT        ftpcmdio.h     netstr.h          ptracesandbox.h   ssl.c         tunables.c
banner.c     ftpcodes.h     oneprocess.c      README            ssl.h         tunables.h
banner.h     ftpdataio.c    oneprocess.h      README.security   sslslave.c    TUNING
BENCHMARKS   ftpdataio.h    opts.c            README.ssl        sslslave.h    twoprocess.c
BUGS         ftppolicy.c    opts.h            readwrite.c       standalone.c  twoprocess.h
builddefs.h  ftppolicy.h    parseconf.c       readwrite.h       standalone.h  utility.c
Changelog    hash.c         parseconf.h       RedHat            str.c         utility.h
COPYING      hash.h         port              REFS              str.h         vsf_findlibs.sh
COPYRIGHT    INSTALL        postlogin.c       REWARD            strlist.c     vsftpd.8
defs.h       ipaddrparse.c  postlogin.h       secbuf.c          strlist.h     vsftpd.conf
dummyinc     ipaddrparse.h  postprivparent.c  secbuf.h          sysdeputil.c  vsftpd.conf.5
EXAMPLE      LICENSE        postprivparent.h  seccompsandbox.c  sysdeputil.h  vsftpver.h
FAQ          logging.c      prelogin.c        seccompsandbox.h  sysstr.c      xinetd.d
features.c   logging.h      prelogin.h        SECURITY          sysstr.h
features.h   ls.c           privops.c         secutil.c         sysutil.c
[root@localhost vsftpd-3.0.2]#
  • 폴더를 만들어줘야 하는데 -p옵션으로 하위까지 전부 만들어버리자
  • 아래 명령어를 고대로 치면 된다.
[root@localhost vsftpd-3.0.2]#
[root@localhost vsftpd-3.0.2]# mkdir -p /usr/local/sbin /usr/local/man/man{5,8}
[root@localhost vsftpd-3.0.2]# mkdir /var/ftp
[root@localhost vsftpd-3.0.2]# chown root.root /var/ftp
[root@localhost vsftpd-3.0.2]# chmod og-w /var/ftp
[root@localhost vsftpd-3.0.2]#
  • 이제 디렉토리도 만들고 권한까지 다 줬으니 make && make install을 이용해서
    *디렉토리에 설치하면 된다.
[root@localhost vsftpd-3.0.2]# make
gcc -c main.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c utility.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c prelogin.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ftpcmdio.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c postlogin.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c privsock.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c tunables.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ftpdataio.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c secbuf.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ls.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c postprivparent.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c logging.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c str.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c netstr.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c sysstr.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c strlist.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c banner.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c filestr.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c parseconf.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c secutil.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ascii.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c oneprocess.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c twoprocess.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c privops.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c standalone.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c hash.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c tcpwrap.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ipaddrparse.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c access.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c features.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c readwrite.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c opts.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ssl.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c sslslave.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ptracesandbox.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c ftppolicy.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c sysutil.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c sysdeputil.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -c seccompsandbox.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wall -W -Wshadow -Werror -Wformat-security -D_FORTIFY_SOURCE=2  -idirafter dummyinc
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,-s -fPIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`
  • 여기선 make와 make install을 한꺼번에 해줬다 (make && make install)
[root@localhost vsftpd-3.0.2]# make install
if [ -x /usr/local/sbin ]; then \
                install -m 755 vsftpd /usr/local/sbin/vsftpd; \
        else \
                install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
                install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
        elif [ -x /usr/share/man ]; then \
                install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
        else \
                install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
                install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then \
                install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
  • 그리고 주요 설정파일들을 etc안의 디렉토리에 복사한다.
[root@localhost vsftpd-3.0.2]# cp vsftpd.conf /etc/vsftpd.conf
[root@localhost vsftpd-3.0.2]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
[root@localhost vsftpd-3.0.2]# cp RedHat/vsftpd.log /etc/logrotate.d/vsftpd

그리고 vsftpd.conf파일을 vi로 열고 아래와 같이 설정한다.

[root@localhost vsftpd-3.0.2]# vi /etc/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
listen=NO
pam_service_name=vsftpd      /이건 직접 맨 아래에 기재하면 된다.
  • 설정이 다 되었으면 데몬을 재실행시켜주면 된다.
  • 그리고 ftp localhost를 실행시켜서
  • name : root, password도 설정하면 끝난다.
[root@localhost vsftpd-3.0.2]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
[root@localhost vsftpd-3.0.2]#
[root@localhost vsftpd-3.0.2]#
[root@localhost vsftpd-3.0.2]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 3.0.2)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,203,36).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Aug 25 10:06 Desktop
-rw-------    1 0        0            1382 Aug 25 09:46 anaconda-ks.cfg
drwxrwxr-x   11 10292    9901         4096 Aug 25 10:41 bind-9.9.2-P2
-rw-r--r--    1 0        0         7277958 Aug 25 10:40 bind-9.9.2-P2.tar.gz
-rw-r--r--    1 0        0           41113 Aug 25 09:45 install.log
-rw-r--r--    1 0        0            3748 Aug 25 09:45 install.log.syslog
-rw-r--r--    1 0        0         2114293 Aug 25 10:40 sendmail.8.14.9.tar.gz
drwxr-x--x    8 1000     1000         4096 Aug 25 11:37 vsftpd-3.0.2
-rw-r--r--    1 0        0          192808 Aug 25 10:40 vsftpd-3.0.2.tar.gz
drwxrwxr-x    6 500      500          4096 Aug 25 10:08 yum-2.0.7
-rw-r--r--    1 0        0          174080 Aug 25 10:05 yum-2.0.7.tar.gz
226 Directory send OK.
ftp> bye
221 Goodbye.
  • bye를 통해서 빠져나올 수 있고
    이제 공유할 디렉토리를 만들고 그 안에 파일도 만들어 ftp에서 가능한지
    실행시켜 보면 된다.
  • 아래와 같이 ftp디렉토리로 이동해서 공유할 디렉토리를 하나 만들고
    그 안에 아무거나 만들어서 인터넷창에 ftp://(자신의 호스트ip)를 적어주면 끝
    그럼 알ftp나, 파일질라 등으로 실험해보자 (밑에 추가)
[root@localhost vsftpd-3.0.2]# cd /var/ftp
[root@localhost ftp]# mkdir byebye
[root@localhost ftp]# cd byebye
[root@localhost byebye]# vi goodbye.txt
[root@localhost byebye]#
[root@localhost byebye]# vi /etc/sysconfig/network /호스트네임변경 명령어
[root@localhost byebye]#
[root@localhost byebye]# chmod 777 /var/ftp /슈퍼유저 권한주기
[root@localhost byebye]#
Broadcast message from root (pts/1) (Mon Aug 25 21:02:10 2014):

The system is going down for reboot NOW!
  • 추가로 dns에 연동하고 싶다면 named.conf파일과 namedb디렉토레 안에 zone파일을생성해서 추가 해주면 가능하다.
  • 아래 /usr/local/dns/etc/named.conf열어서 아래 dbserver쪽 추가하시면 됩니다.
  • 저는 hostname이 dbserver라 dbserver라고 적어줬고 아래 file 이름,경로 잘 적어주셔야 합니다.

options {
           directory "/usr/local/dns/etc/namedb";
           dump-file "/usr/local/dns/etc/named_dump.db";
           statistics-file "/usr/local/dns/etc/tmp/named.stats";
           pid-file "/usr/local/dns/etc/run/named.pid";
};
zone "." IN{
         type hint;
         file "named.root";
};
zone "localhost" IN{
          type master;
          file "zone-localhost";
};
zone "0.0.127.in-addr.arpa " IN{
         type master;
         file "zone-0.0.127.in-addr.arpa";
};
zone "naver.com" IN{
          type master;
          file "zone-naver.com";
};
zone "dbserver.com" IN{
        type master;
        file "zone-dbserver.com";
};
  • 그리고 /usr/local/dns/etc/namedb/만들 존파일 생성 vi로 만들어서 아래처럼 적어주면 된다.
$TTL    3H
@       SOA     root. ( 2 1D 1H 1W 1H )
        IN      NS      @
        IN      A       192.168.24.143 /자신의 호스트ip

www     IN      A       192.168.24.143
ftp     IN      A       192.168.24.143
  • 끝이고 ftp://root@dbserver 적어주면 된다!

'Linux' 카테고리의 다른 글

linux,unix에 vi editor 구문강조  (0) 2014.10.31
make install 안될 때 해결법  (0) 2014.10.31
Mail Server 구축  (0) 2014.10.31
APM server 구축  (0) 2014.10.31
Linux의 네크워크 설정  (0) 2014.09.03
Mail Server 구축
Linux

Sendmail은 SMTP를 통해서 메일 서비스 기능을 하는 것인데, 메일 서버간에 메일을 주고 받는 역할을 하는 것임.

이메일 송수신에 사용되는 프로토콜은 3가지가 있는디 대충 알아놓자.

SMTP: Simple Mail Transfer Protocol, 클라이언트가 메일을 보내거나, 메일 서버끼리 메일을 주고 받을때

POP3: Post Office Protocol, 메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때

IMAP: Internet Mail Access Protocol, POP3이랑 같음
  1. 이전버전 체크 + 실행파일 생성

우선 sendmail 이 설치되어있는지 확인해보고 있으면 지워주자

[root@server103 ~]# rpm -qa | grep sendmail

sendmail-8.13.4-2
[root@server103 ~]# rpm -e --nodeps sendmail-8.13.4-2

(—nodeps: 의존성 무시하고 지우라는 옵션 추가)

지웠으면 이제 sendmail 소스를 다운

[root@server103 ~]# mkdir -p /usr/local/sendmail

[root@server103 ~]# cd /usr/local/sendmail

[root@server103 sendmail]# wget http://pkgs.fedoraproject.org/repo/pkgs/sendmail/sendmail.8.14.0.tar.gz/bc0dee396b8090b3f696e748a9caf83d/sendmail.8.14.0.tar.gz

[root@server103 sendmail]# tar zxvf sendmail.8.14.0.tar.gz

[root@server103 sendmail]# cd sendmail-8.14.0/

[root@server103 sendmail]# make

[root@server103 sendmail]# make install

make install 할때 에러가 뜨는 걸 확인 할 수 있다.

install: cannot create regular file `/usr/man/man5/aliases.5': No such file or directory

install: cannot create regular file `/usr/man/man8/editmap.8': No such file or directory

install: cannot create regular file `/usr/man/man1/vacation.1': No such file or directory

그래서 필요한 디렉토리를 만들고 다시 make install 하기

[root@server103 sendmail-8.14.0]# mkdir -p /usr/man/man{1,5,8}

[root@server103 sendmail-8.14.0]# make install

에러 없이 설치되었으면 다음스텝으로 넘어가기

  1. Sendmail 설정파일 생성

압축푼 폴더에서 INSTALL를 읽어보면

cf/cf 디렉토리에 가서 내 환경에 맞는 .mc파일을 sendmail.mc로 바꾼 후, sh Build sendmail.cf 명령어를 실행하라고 한다.

또한 압축 푼 폴더에서의 README랑 cf 디렉토리안의 README를 읽어보면,

Sendmail소스의 configuration files 는 cf고, cf 디렉토리 안에 있으며 .mc로 끝나는 파일이라고.

.mc 파일들이 여러종류가 있는데 지금 사용하고 있는 OS에 맞는 generic-*.mc를 사용하면 된다

나는 OS=Linux 이니까 generic-linux.mc를 사용 하면 될듯.

그다음 cf/cf디렉토리에서 sh Build install-cf 명령어를 이용해서 sendmail.cf를 인스톨,

이때 sendmail.cf가 /etc/mail로 이동한다.

그럼 따라해봅시다.

[root@server103 sendmail-8.14.0]# cd cf/cf

[root@server103 cf]# ll --> 하면 .mc 파일들이 촤라락 보일거임. 거기서 우리는 generic-linux.mc

[root@server103 cf]# mv generic-linux.mc sendmail.mc

[root@server103 cf]# sh Build sendmail.cf


[root@server103 cf]# cd /etc/mail

[root@server103 mail]# ll

total 60

-r--r--r--  1 bin  bin   5594 Dec  4 15:59 helpfile

drwxr-xr-x  2 root root  4096 Dec  2 12:55 spamassassin

-rw-------  1 root bin      0 Dec  4 15:59 statistics

-r--r--r--  1 root bin  41354 Dec  4 15:56 submit.cf

(아직 install 하기 전이라서 /etc/mail 에서 sendmail.cf가 보이지 않는걸 알 수 있다.)

[root@server103 mail]# cd /usr/local/sendmail/sendmail-8.14.0/cf/cf

[root@server103 cf]# sh Build install-cf

Using M4=/usr/bin/m4

../../devtools/bin/install.sh -c -o root -g bin -m 0444 sendmail.cf /etc/mail/sendmail.cf

../../devtools/bin/install.sh -c -o root -g bin -m 0444 submit.cf /etc/mail/submit.cf

[root@server103 cf]# cd /etc/mail

[root@server103 mail]# ll

total 104

-r--r--r--  1 bin  bin   5594 Dec  4 15:59 helpfile

-r--r--r--  1 root bin  41509 Dec  4 16:17 sendmail.cf

drwxr-xr-x  2 root root  4096 Dec  2 12:55 spamassassin

-rw-------  1 root bin      0 Dec  4 15:59 statistics

-r--r--r--  1 root bin  41354 Dec  4 16:17 submit.cf

(install 후 /etc/mail 에서 sendmail.cf가 생긴걸 확인할 수 있음)

  1. Sendmail 기타 설정파일 설정하기
  1. access - sendmail의 접근을 제어하는 파일, 호스트나 도메인, 아이피, 이메일주소를 쓰고 이것을 허용하겠다면 RELAY,

허용하지 않겠다고 하면 REJECT를 쓰면 된다. 특정 도메인의 스팸메일 차단하는데 쓰면 좋겠네.

[root@server103 mail]# vi access

자기ip주소 RELAY

127.0.0.1 RELAY

localhost RELAY

localhost.localdomain RELAY

적어주고 저장 (근데 이것들 안써도 되긴 하더이다.)

(적는 방법 더 자세히 알고 싶으면 cf/cf/ 에서 line 2509부터 읽어보쇼)

이것은 databse 즉 db파일이어야 하기 때문에 이렇게 텍스트로 적어논 파일을 db파일로 바꿔줘야한다.

makemap hash /etc/mail/access < /etc/mail/access 이런식으로 바꿔줄수 있다.

[root@server103 mail]# makemap hash access < access

[root@server103 mail]# ls access.db

access.db << 이렇게 생성이 되어야 함!!

  1. aliases - 특정 계정으로 메일을 보냈을 경우 그 계정으로 메일이 도착하지 않고, 이 파일에 지정된 다른 계정으로

메일이 전송될 수 있게 함. 즉, 특정 사용자에게 온 메일을 다른사람에게 보내준다거나, 메일링리스트를 작성해야 하는 경우에 사용되는 파일이라고 함

[root@server103 mail]# vi aliases

webmaster: root 적어주고 저장

역시 aliases.db 파일을 생성해줘야하니까.

(이때 makamap hash aliases < aliases 하면 db파일 생성 되긴 하던데,,,, 왜 newaliases로 하는지는 모르겠다 ㅠㅠ)

[root@server103 mail]# newaliases

/etc/mail/sendmail.cf: line 73: fileclass: cannot open ‘/etc/mail/local-host-names’: No such file or directory

can not chdir(/var/spool/mqueue/): No such file or directory

이런 에러가 뜨니까 없으면 만들어줘야지

[root@server103 mail]# touch local-host-names

[root@server103 mail]# mkdir /var/spool/mqueue

[root@server103 mail]# chmod 755 /var/spool/mqueue/ <<권한설정 해줘야함.

  1. Sendmail 실행

[root@server103 mail]# /usr/sbin/sendmail -Ac -q1h —>중계용 데몬

[root@server103 mail]# /usr/sbin/sendmail -bd -q1h —> 제출용 데몬

(중계용, 제출용 이거 잘 모르겠지만, 제출용 데몬은 백그라운드로 실행되어 다른 호스트로부터 메일을 받을 준비를 취하고 있는 상태, 여기서 -bd는 데몬모드로 실행하라는 옵션이고 뒤의 -q1h는 큐에 있는 내용을 한시간 간격으로 비우라 는 의미…)

[root@server103 mail]# ps -ef | grep sendmail

smmsp 8195 1 0 17:03 ? 00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue

root 8198 1 0 17:03 ? 00:00:00 sendmail: accepting connections

이렇게 확인 한번 해주고

테스트를 해봅시다.

[root@server103 mail]# telnet localhost 25

Trying 127.0.0.1…

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]’.

220 server103.localdomain ESMTP Sendmail 8.14.0/8.14.0; Tue, 4 Dec 2012 17:41:55 +0900

mail from:*@gmail.com << mail from:보내는사람메일주소

250 2.1.0 *@gmail.com… Sender ok

rcpt to:*@gmail.com << rcpt to:받는사람메일주소

250 2.1.5 *@gmail.com… Recipient ok

data << data

354 Enter mail, end with “.” on a line by itself

dfadfa

. << . 을 찍어야 끝남

250 2.0.0 qB48ftiU008759 Message accepted for delivery

quit << 나오기

221 2.0.0 server103.localdomain closing connection

Connection closed by foreign host.

'Linux' 카테고리의 다른 글

linux,unix에 vi editor 구문강조  (0) 2014.10.31
make install 안될 때 해결법  (0) 2014.10.31
FTP Server 구축  (0) 2014.10.31
APM server 구축  (0) 2014.10.31
Linux의 네크워크 설정  (0) 2014.09.03
APM server 구축
Linux

웹서버 구축 = APM설치 (Apache Php Mysql)

  1. Apache = httpd

[root@localhost ~]# rpm -qa | grep httpd (—> 있으면 rpm -e —nodeps로 지워주기)
[root@localhost ~]# mkdir /usr/local/httpd
[root@localhost ~]# cd /usr/local/httpd
[root@localhost httpd]# wget http://pkgs.fedoraproject.org/repo/pkgs/httpd/httpd-2.2.11.tar.gz/03e0a99a5de0f3f568a0087fb9993af9/httpd-2.2.11.tar.gz
[root@localhost httpd]# tar zxvf httpd-2.2.11.tar.gz
[root@localhost httpd]# cd httpd-2.2.11

[root@localhost httpd-2.2.11]# ./configure \
—prefix=/usr/local/httpd \
—enable-module=so \ —> DSO모드 활성화
—enable-mods-share=all —> 모든 모듈을 DSO모드로 지정

**아파치 설치 방식에는 DSO 방식과 Static 방식이 있는데, DSO모드는 xinetd랑 동일하다고 생각하면 된다.
즉, 사용자의 요청이 있을 때만 모듈을 로드하는 방식.

[root@localhost httpd-2.2.11]# make && make install

[root@localhost httpd-2.2.11]# cd /usr/local/httpd/bin
[root@localhost bin]# ./apachectl start

[root@localhost bin]# ps -ef | grep httpd
root 22990 1 0 16:34 ? 00:00:00 /usr/local/httpd/bin/httpd -k start
daemon 22991 22990 0 16:34 ? 00:00:00 /usr/local/httpd/bin/httpd -k start
daemon 22992 22990 0 16:34 ? 00:00:00 /usr/local/httpd/bin/httpd -k start
daemon 22993 22990 0 16:34 ? 00:00:00 /usr/local/httpd/bin/httpd -k start
daemon 22994 22990 0 16:34 ? 00:00:00 /usr/local/httpd/bin/httpd -k start
daemon 22995 22990 0 16:34 ? 00:00:00 /usr/local/httpd/bin/httpd -k start
root 23012 4832 0 16:35 pts/5 00:00:00 grep httpd

확인해봤을때 저렇게 6개가 뜨면 됨.

더 확인하기 위해서는 http://localhosthttp://127.0.0.1로 접속했을 때 It works! 가 뜨면 된것임.
(http://내아이피주소 해도 됨, 다른 컴퓨터아이피주소 쳤을때 그 컴퓨터에 아파치가 설치되서 실행되고 있으면 접속가능
하지만 아니면 접속이 불가능하다고 나온다)

자동실행 설정은 필요하지 않아서 설명ㄴㄴㄴㄴㄴ

  1. Mysql

[root@localhost ~]# mkdir -p /usr/local/mysql
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# wget http://pkgs.fedoraproject.org/repo/pkgs/mysql/mysql-5.0.45.tar.gz/a2a1c5a82bb22b45ab76a8ecab94e10d/mysql-5.0.45.tar.gz
[root@localhost mysql]# tar zxvf mysql-5.0.45.tar.gz
[root@localhost mysql]# cd mysql-5.0.45

[root@localhost mysql-5.0.45]# vi INSTALL-SOURCE 를 읽어보면 설명이 잘 나와있음. 요렇게..

 shell> groupadd mysql
 shell> useradd -g mysql mysql
 shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
 shell> cd mysql-VERSION
 shell> ./configure --prefix=/usr/local/mysql
 shell> make
 shell> make install
 shell> cp support-files/my-medium.cnf /etc/my.cnf
 shell> cd /usr/local/mysql
 shell> bin/mysql_install_db --user=mysql
 shell> chown -R root  .
 shell> chown -R mysql var
 shell> chgrp -R mysql .
 shell> bin/mysqld_safe --user=mysql &

그럼 쭉 따라해봅시다.

[root@localhost mysql-5.0.45]# groupadd mysql
[root@localhost mysql-5.0.45]# useradd -g mysql mysql
—> mysql 데몬을 위해서 mysql 유저와 mysql 그룹이 필요

./configure —help 치면 옵션들이 쭈욱 나옴, 우리가 쓸 옵션들은
—prefix=PREFIX
—with-charset=CHARSET —> 기본문자셋을 utf8fh
—localstatedir= —> 로그파일과 db디렉토리가 저장되는 곳 설정, 설정을 따로 안할경우 PREFIX/var <<여기에 저장됨.

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

—prefix=/usr/local/mysql \
—with-charset=utf8 \
—localstatedir=/usr/local/mysql/data

[root@localhost mysql-5.0.45]# make && make install
이거 좀 오래걸리니까 당황하지 말긔

[root@server103 bin]# ./mysql_install_db —user=mysql
—>mysql 처음 설치하는 사람은 이 명령어를 꼭 실행해야함.
MySQL data 디렉토리를 생성하고, root로 접속되어 있을경우는 뒤에 —user=mysql를 꼭 붙여주어야 함.
만약 mysql로 접속해 작업하고 있다면 생략해도 괜츈타.

[root@server103 bin]# chown -R root /usr/local/mysql/
[root@server103 bin]# chown -R mysql /usr/local/mysql/data
—>아까 ./configure할때 설정 안해놨으면 data->var로 바꾸면 됨.
—>mysql의 하위 디렉토리 및 파일의 소유주를 root로 변경하고,
데이터베이스가 생성될 /data 디렉토리의 소유주는 mysql로 바꿔주기

아까 ./mysql_install_db —user=mysql할 때 나오던 설명에 보면 이런게 있다.
You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
—> 즉, mysql을 실행하기 위해서는 mysql 데몬이 생성되어 있어야 한다!!!

[root@server103 bin]# ./mysqld_safe —user=mysql &

프로세스가 잘 돌아가고 있는지 확인
[root@server103 bin]# ps -ef | grep mysql
root 20781 3125 0 09:28 pts/1 00:00:00 /bin/sh ./mysqld_safe —user=mysql
mysql 20799 20781 0 09:28 pts/1 00:00:00 /usr/local/mysql/libexec/mysqld —basedir=/usr/local/mysql —datadir=/usr/local/mysql/data —user=mysql —pid-file=/usr/local/mysql/data/server103.pid —skip-external-locking

잘돌아가고 있는걸 확인했으니 이제 mysql을 실행!
[root@server103 bin]# ./mysql

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.30 Source distribution

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql>

↑↑↑↑↑
이렇게 뜨면 성공! (나오려면 exit나 quit)

역시 자동실행설정을 필요하지 않으므로 생략.

  1. php

[root@server103 ~]# mkdir /usr/local/php
[root@server103 ~]# cd /usr/local/php
[root@server103 php]# wget http://pkgs.fedoraproject.org/repo/pkgs/php/php-.2.0.tar.gz/52d7e8b3d8d7573e75c97340f131f988/php-5.2.0.tar.gz
[root@server103 php]# tar zxvf php-5.2.0.tar.gz
[root@server103 php]# cd php-5.2.0

[root@server103 php-5.2.0]#./configure \
—prefix=/usr/local/php \
—with-apxs2=/usr/local/httpd/bin/apxs \ —> Build shares Apache 2.0 Handler module.
—with-mysql=/usr/local/mysql \ —> Include mysql support. DIR is the mysql base directory
—with-config-file-path=/usr/local/httpd/conf \ —> Set the path in which to look for php.ini [PREFIX/lib]
—with-exec-dir=/usr/local/httpd/bin

[root@server103 php-5.2.0]# make && make install

[root@server103 php-5.2.0]# php -v
확인차 php -v 하면 됨 (version number 체크하기 위한 명령어: 버전이 퓽퓽뜨면 잘 설치가 되었다는것임)
(거꾸로 갈라면 make install clean, make clean —> 나중에 뭐 잘못되서 다 지우는것보단 이걸 사용해서 go back)

php환경설정을 하기 위해서 /usr/local/httpd/conf 가서 httpd.conf 열기
[root@server103 conf]# vi /usr/local/httpd/conf/httpd.conf

추가할 내용:
AddType application/x-httpd-php .php .htm .html
AddType application/x-httpd-php-source .phps
—> .php .html .htm 을 만났을때 안에 php소스가 있으면 x-httpd-php로 읽고, .phps안에 php소스는 x-httpd-php-source로 읽어라 라는걸 추가해주

는거임

추가할 위치:
나는 line 306줄 근처에 추가 (AddType이라고 쭉 써있는데 그 밑에다가 추가해주면됨)
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .html .htm <<<추가
AddType application/x-httpd-php-source .phps <<<추가

저장하고 나오기.
(이때 이미 아파치가 실행되고 있으면 /usr/local/httpd/bin/apachectl restart 해주기)

이제 테스트를 해보기 위해서 WEB 문서를 /usr/local/httpd/htdocs 에다가 생성해야함.
[root@server103 conf]# vi /usr/local/httpd/htdocs/phptest.php
(나는 phptest.php로 했지만 이거는 맘대로 해도됨, 대신 .php로 끝나야 한다는것!)

<?php
phpinfo();
?>

이걸적어주고 저장하고 나오기

웹브라우저를 키고 http://localhost/phptest.phphttp://(내아이피주소)/phptest.php를 했을때
이런 화면이 나오면 성공!

따단~

+++
/usr/local/httpd/htdocs/phptest.php 대신
/usr/local/httpd/htdocs 에 있는 index.html 여기에다가 내용을 적어주고
웹브라우저 키고 http://localhost 나 아이피주소만 쳐도 테스트 화면이 나올 수 있다.

성능이 떨어지는 여러대의 컴퓨터를 하나의 성능좋은 컴퓨터로 만드는것을 그리드라고 한다.


'Linux' 카테고리의 다른 글

linux,unix에 vi editor 구문강조  (0) 2014.10.31
make install 안될 때 해결법  (0) 2014.10.31
FTP Server 구축  (0) 2014.10.31
Mail Server 구축  (0) 2014.10.31
Linux의 네크워크 설정  (0) 2014.09.03
Linux의 네크워크 설정
Linux

Linux의 네트워크 설정

네트워크 설정 방법은 네트워크 설정 툴인 콘솔에서 실행 가능한 netconfig setup 그리고 xwindow에서 실행가능한system-config-network라는 툴이 있다여기서 변경한 내용은 /etc/sysconfig/network-scripts 디렉토리의 ifcfg-eth0 파일에 설정내용을 저장하게 된다.

 

1. 장치명 확인

부팅시 출력한 메시지를 저장하고 있으므로 dmesg 명령어를 이용하여 하드웨어 리소스 이름을 알 수 있다.

     #dmesg | grep eth : 메시지 중 랜카드에 대한 메시지 출력



2. 자동으로 ip주소 받기

/etc/sysconfig/network-scripts 디렉토리의 ifcfg-eth0 파일에 ip주소, netmask, gateway설정을 하면 된다.

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=<장치명>

BOOTPROTO= dhcp

ONBOOT = yes

TYPE : Ethernet






3. 수동으로 ip주소 지정

DEVICE=<장치명>

BOOTPROTO=static

ONBOOT = yes

TYPE : Ethernet

 

/etc/sysconfig/network-scrypts/ifcfg-eth0파일은 부팅시에 네트워크 데몬이 읽고 자동실행을 하여 자동 설정이 되도록 하기위해서 설정하는것이다.

 

 

4. DNS(네임서버주소 설정

#vi /etc/resolv.conf

nameserver <DNS주소1>

nameserver <DNS주소2>

 

또는

 

#vi /etc/sysconfig/network

DNS1=<DNS주소1>

DNS2=<DNS주소2>

#service network restart

 

만약 host가 없다는 오류 메시지가 나오면 위 두 파일을 확인해야 한다.

 

5. 호스트네임지정

#vi /etc/sysconfig/network

HOSTNAME=Linux.com

#service network restart

#hostname

 

#vi /etc/hosts

<아이피주소>   <포스트이름>

#hostname

 

프롬프트에 적용시키기 위해서는 로그아웃을 한 후 로그인을 하면 적용이 된다.

 

NIC(Network Interface Card, LANcard)

#ifconfig : ip 확인

#ifconfig eth0 down : eyh0 비활성화

#ifconfig

#ifconfig eth0 up : 비활성화된 eth0활성화

 

네트워크 서비스를 재 시작 하지 않은 상태에서 네트워크 설정하기

#ifconfig echo <아이피주소또는 #ifconfig echo <아이피주소> up

 

route

게이트웨이가 등록되지 않아 생긴 오류

#route add default gw <아이피주소>

 

순차적으로 네트워크 연결이 끊어지므로 한번에 실행

#ifconfig echo <아이피주소> up && route add default gw <아이피주소>

'Linux' 카테고리의 다른 글

linux,unix에 vi editor 구문강조  (0) 2014.10.31
make install 안될 때 해결법  (0) 2014.10.31
FTP Server 구축  (0) 2014.10.31
Mail Server 구축  (0) 2014.10.31
APM server 구축  (0) 2014.10.31