간단하게 Sendmail을 설정하는 방법을 맨날 까먹어서 여기다 적어 놓습니다.


오늘 한시간정도 삽질 했습니다. T.T


여러분들은 삽질 안하시기를 빌면서 ^^;;



0. sendmail.mc 파일을 열기 

vi /etc/mail/sendmail.mc 

1. 아래 처럼 수정  

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

 

2. 아래 처럼 수정 

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

(수정 후)

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl



3. m4 명령으로 sendmail.cf 생성

cd /etc/mail/ 

m4 sendmail.mc > sendmail.cf


4. sendmail 데몬 재시작

/etc/init.d/sendmail restart


5. saslauthd 데몬 시작 또는 재시작

/etc/init.d/saslauthd restart


6. setup 명령어를 이용해서 서비스에 saslauthd 등록

# 맨날 setup 명령어 치면 깨져서 나오므로

export LANG=C 

setup 

   System services 에서 엔터

   커서를 saslauthd 에 위치 시키고 스페이스 키를 누른다. 이때 *로 되어 있으면 안눌러도 된다.


여기서 오늘의 삽질은 4번까지는 잘 했다 T.T 테스트도 열심히 했다. 5번이 안되어 있어서 T.T 외부 프로그램에서 로그인이 안됬다 T.T


다들 즐거운 주말 되십시오.



가끔 있는 일이라 맨날 인터넷만 뒤져서 사용하다가


오늘은 그냥 적어 둡니다.


우선 root 유져로 하셔야 됩니다. ^^;;


mkdir -p /mnt/cdrom


mount -o loop iso파일명 /mnt/cdrom


입니다.


출처는 : http://www.cyberciti.biz/tips/how-to-mount-iso-image-under-linux.html



다른 리눅스는 안될지도 모릅니다. ^^;; 


레드햇 계열에서 가능합니다.(RETHAT EL, CentOS, etc)


1. vi /etc/sysconfig/network


위 파일을 열어서 HOSTNAME 값을 원하는 값으로 변경합니다.


2. /etc/init.d/network restart


또는 reboot ^^;


그리고, 화면에 적용 되지 않는 것은 재로그인 하시면 적용 됩니다.


감사합니다.


저는 간단하게 적었습니다만 제가 참조한 문서는


https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=283


에서 참조를 했습니다.

Apache나, Tomcat 같은 웹서버나, WAS 서버를 공개 소프트웨어를 사용하게 되면 돈이 절약 됩니다.


하지만, 오픈소스 확산에 걸림돌로 작용하는 보안 패치문제는 걱정이 됩니다.


오픈 소스 패키지의 특정 버젼에서 버그를 일으키는 현상을 해커가 알고 있다면 그 홀(구멍)을 통해서 해킹을 할 수도 있습니다.


그래서 오늘은 Java로 웹 서비스할때 많이 쓰이는 apache Tomcat이 오류를 내보낼때 Tomcat의 버젼을 내보지 않도록 하는 설정에 대해서 말씀 드리겠습니다.


톰캣에서 오류를 일으켜 보면 아래와 같은 화면을 만날 수 있습니다.



위 화면에서는 Tomcat의 버젼이 표시 되어 있습니다. 


따라서 해당 버젼의 보안 취약점을 이용해서 공격이 들어 올 수도 있겠죠 ^^;;


1차적으로 브라우져를 통해서가지 아니고 curl 같은 툴을 통해서 확인 하는 부분 부터 해결 책을 알아 보면


<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" useBodyEncodingForURI="true"

URIEncoding="UTF-8"

server="apache" />

 

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" server="apache" />


위 문서 처럼 Connector 태그를 찾아서 server="apache" 라 써 주시면 됩니다.


curl -i 도메인 주소:포트 하시면


apache만 나오는 것을 보실 수 있을 것입니다.


그리고 웹에서의 해결책은 


cd [톰캣 설치 위치]/lib/org/apache/catalina/util


vi ServerInfo.properties

열어 보시면 아래와 같이 되어 있을 겁니다.

Server.info=Apache Tomcat/톰캣 버젼

server.number=톰캣 버젼

server.built=빌드 날짜


아래와 비슷하게 수정하시면 됩니다.

server.info=Apache Tomcat

server.number=

server.built=

그리고, 저파일이 저위치에 없을 경우에는 


cd [톰캣 설치 위치]/lib/


하시면


catalina.jar 파일이 있습니다.


이파일을 압축을 푸시면 해당 폴더가 생깁니다.


jar xf catalina.jar


그리고 압축을 해제한 jar 파일은 다른곳에 백업해 두십시오.


mv catalina.jar ../catalina.jar.bak


그리고 해당 위치에 가셔서 다시 저 작업을 수행한 후에


톰캣을 재실행하시면 됩니다.


그리고 다시 동일한 오류를 일으켜 보시면



위와 같이 보이시면 해결 된 것입니다. ^^;;


감사합니다.



정말 오랫만에 LINUX 카테고리에 글을 작성합니다.

레드햇 엔터프라이즈 리눅스 6.0 이상에서 기본 메일 서버가 Postfix 입니다.

Postfix 어제 하루종일 삽질해서 적응이 안됩니다. ^^;;

그런데 편리한 기능이 있더군요

제가 구성해야 되는 플랫폼은 방화벽 때문에

WAS + WEB으로 구성 되어 있고

WAS에서 메일을 전송하지만, WEB 하고만 25번 포트가 툴려 있습니다.

WEB 서버는 25번 포트가 열려 있습니다.

이러한 구성 때문에 

일단 Postfix의 

relayhost = 
옵션을 처음 사용해 봤습니다.

/etc/postfix/main.cf 

를 열어서

relayhost = 에다가 저희 웹서버의 아이피를 주었습니다.

그리고,

Web 서버도 6.0이어서 T.T

포스트 픽스 웨부에서 릴레이 허용할려고 여러가지 작업을 해봤지만, 안되더라구요 T.T

그래서, Sendmail을 가지고 작업을 했습니다.

Postfix를 제거를 하고요

rpm으로 Sendmail 최신 버젼을 설치 했습니다.

끝으로 access 파일을 수정 했습니다.

Connect:저희 WAS 서버 주소                         RELAY

요렇게 해주고

makemap hash access < access

명령어로 access DB를 업데이트 해주었습니다.

끝으로 

/etc/init.d/sendmail restart 명령어를 통해서 

sendmail 재시작을 했습니다.

메일이 잘 나가더라구요

제가 구닥다리라서 그런지 T.T

Postfix 외부 릴레이는 왜 안될까요 T.T

mynetworks 하고 많은 것들을 건들었는데 말이죠 T.T

감사합니다.




#!/usr/bin/ksh

HOST=www.yourhost.co.kr
USER=userid
PASSWD=password
x=$1;
target=/home/yourdirect/

exec 4>&1
ftp -nv >&4 2>&4 |&

print -p open $HOST
print -p user $USER $PASSWD
print -p mkdir $1
print -p cd $1
print -p put $2

사용법
ksh  파일이름.ksh 생성할폴더 파일이름

이렇게 하면 target 폴더 내에

생성할폴더를 만들고 파일이름 파일을 등록 합니다.


SENDMAIL 의 가상 계정은

/etc/mail/virtualtable

를 수정하고 업데이트 시켜 주면 된다.

호스팅 하는 곳에 가면 webmaster@도메인

으로 많은 계정을 발급해 주는 사람들을 보았을 것이다.

이경우에 위의 파일을 수정한다. 아래와 같이


이메일@도메인 [탭] 머신의 실제 아이디

ex) webmaster@userdomain.co.kr kayaprince
webmaster@mydomain.co.kr kjh0523

이렇게 작성하고 파일을 저장하고 빠져 나와서

반드시 다음은 해 주어야 한다.

makemap hash virtualtable < virtualtable

그리고 메일 서버를 리스타트 해준다.

/etc/rc.d/init.d/sendmail restart
음 보통 저건 link를 안걸어 주면 나는 오류 입니다. ^^;;

그런데

LINUX에서 순서가 매우 중요한 것 같습니다. T.T

gcc test.c

test.c:(.text+0x49): undefined reference to
test.c:(.text+0x71): undefined reference to
test.c:(.text+0x82): undefined reference to
test.c:(.text+0xaa): undefined reference to
test.c:(.text+0xbb): undefined reference to
test.c:(.text+0xe3): undefined reference to
test.c:(.text+0xf4): undefined reference to
test.c:(.text+0x130): undefined reference to
test.c:(.text+0x141): undefined reference to
test.c:(.text+0x17d): undefined reference to
test.c:(.text+0x18e): undefined reference to
test.c:(.text+0x1ca): undefined reference to
test.c:(.text+0x1db): undefined reference to
test.c:(.text+0x217): undefined reference to
test.c:(.text+0x228): undefined reference to
test.c:(.text+0x27d): undefined reference to
test.c:(.text+0x28e): undefined reference to
test.c:(.text+0x2d3): undefined reference to
test.c:(.text+0x30c): undefined reference to

일단 뒤에 함수명은 이유가 있어서 제끼고 ㅋㅋㅋ

to 뒤에는 함수명이 옵니다. ^^;;






네이버를 열심히 뒤지다 보니

저 함수들을 포함하는 라이버러리가 없다 그래서

T.T

gcc -lmylib test.c

이렇게 했습니다.

그래도 똑같이 나는 겁니다.

gcc -lmylib -L/usr/local/lib test.c

이렇게 해주라 그래서 또 해봤는데 똑같은 오류가 납니다. ^^;;

그래서 또 네이버와 구글을 전전 긍긍하다가

KLDP에서

순서 이야기를 살짝 본 기억이 나서 T.T

gcc test.c -lmylib -L/usr/local/lib

이렇게 했습니다.

T.T

a.out가 나옵니다. 흑흑흑

gcc -o test.exe test.c -lmylib -L/usr/local/lib

이렇게 하시면

a.out가 아니고

test.exe로 실행 파일을 생성 할 수 있습니다.

여튼 일단 제가 원하는 것을 컴파일을 했구용 ^^;;

이제 퇴근 하렵니다. ^^;;


  1. 행인 2017.09.05 11:31 신고

    감사합니다.

음 회사 NAS에 Mount 할 일이 있어서 인터넷을 뒤졌습니다.

네이버에서 검색을 진행 했구요.

검색 결과 ^^;;

날탱일기라는 사이트에서 아래글을 발견 할 수 있었습니다.

상세한 정보는 아래글을 참조 하십시오 ^^;;

http://nalnari.tistory.com/183

전 맨날 까먹어서 ^^;;

mount -t cifs -o username=xxxxx,password=xxxxx //xxx.xxx.xxx.xxx/Pcbackup mnt

P.S 오랫만에 리눅스 카테고리에 글을 적네용 ^^;;








 

이번에 참여해서 진행하고 있는 프로젝트 요구사항 중에 하나가

 

보안서버를 적용 하는 것이었습니다.

 

그런데,

 

몇가지 이슈 때문에 전체에 SSL을 적용하는 것으로 했습니다.

 

몇가지 우여 곡절 끝에

 

Application이 있는 서버와 이미지 서버를 분리 하기로 했습니다.

 

그런데 이미지서버가 주기적으로 매우 느려 지는 현상을 발견 했습니다.

 

그래서 아파치 설정을 변경 하던 중에

 

#SSLSessionCache        none
#SSLSessionCache        shmht:/usr/********/apache2/logs/ssl_scache(512000)
#SSLSessionCache        shmcb:/usr/********/apache2/logs/ssl_scache(512000)
SSLSessionCache         dbm:/usr/********/apache2/logs/ssl_scache
SSLSessionCacheTimeout  300

 

이렇게 설정 되어 있는 것을 발견 했습니다.

 

Timeout도 바꿔 보고

 

KeepAliveTime 등도 바꿔 봤지만

 

소용이 없었는뎅

 

위의 것을 발견 하고는

 

그 주기가 5분이라는 것을 알았습니다. ^^;;

 

SSL 세션 캐쉬를 남기는 시간 5분마다 느려졌던거죠 T.T

 

그래서

 

젤위에 있는 none를 주석을 풀고

 

밑에 있는 두줄

 

시간 설정과 캐쉬 파일 설정을

 

주석 처리 했습니다.

 

그리고 아파치를 다시 켜서

 

스트레스 테스트를 진행 했는데

 

끄떡 없는 것을 발견했습니다.

 

저거 발견하기 전에 삽질한걸 생각하면 T.T

 

다른 분들은 이런 삽질을 좀 안했으면 해서 적어 봅니다.

 

좋은 하루 되십시오.

 


 

이 글은 스프링노트에서 작성되었습니다.

일반적으로 ab https://yourdomain.com

 

이렇게 하면 

 

 SSL not compiled in; no https support

 

메시지를 만나게 됩니다.

 

그래서 열심히 뒤졌습니다. ^^;;

 

기본적으로 컴파일 된 ab는 SSL을 지원하지 못한다고 되어있더라구용

 

그럼 어떻게 컴파일 해야 되는지를 조사하게 되었습니다.

 

SSL을 컴파일 할때 기본적으로

 

./configure --with-ssl --with-mpm=prefork --prefix=/home/ase/non/install --with-mods-shared=most ./configure --with-ssl --with-mpm=prefork --prefix=/home/ase/non/install --with-mods-shared=most

 

위와 비슷한 컴파일 옵션을 줄겁니다.

 

이렇게 하면 아파치로  SSL 서비스를 할 수 있지만

 

ab로 ssl 테스트는 진행 할 수 없습니다.

 

./configure --with-ssl --enable-ssl --with-mpm=prefork --prefix=/home/ase/non/install --with-mods-shared=most

 

컴파일 하실때 옵션을 위와 같이 주시면

 

ssl이 테스트 가능한 ab가 컴파일 이 됩니다.

 

여기서 중요한 것은

 

--enable-ssl 을 추가 해주는 것입니다.

 

아파치 configure의 도움말을 보면

 

--enable-ssl            SSL/TLS support (mod_ssl)

 

요렇게 되어 있답니다.

 

이제 다시

 

./ab  https://yourdomain.com

 

해보니깐

 

일반적으로 http에서 내보내는 메시지와 동일한 값을 보여 주네용 ^^;;

 

모두들 좋은 하루 되십시오..

 

 참고로 제가 테스트 해본 아파치 소스는 apache 2.1.13

 

입니다.

 

그리고

 

잘 아시겠지만 혹시나 해서용

 

yourdomain.com 은 그냥 제가 문서적을때 적는겁니다.

 

자기자신의 도메인이나 테스트하려고 하는 적당한 도메인으로 변경 하십시오 ^^;;

 

 앗 출처...

 

제가 참조한 곳은 

 

아래 주소 입니다.

 

http://www.linuxquestions.org/blog/zhjim-147126/2009/8/24/apache2.2-ab-with-ssl-2204/

 

 

이 글은 스프링노트에서 작성되었습니다.

 

dircmp [ -d ] [ -s ] [ -w num ] Directory1 Directory2

 

 옵션 설명

 -d 각각의 공통 파일 이름에 대해 서로 다른 파일 내용의 두 버전을 표시합니다. 표
시 형식은 diff 명령에서 사용된 형식과 동일합니다.

-s 동일한 파일의 파일 이름은 나열하지 않습니다.

-w num 출력의 폭을 num 개의 문자로 변경합니다.

 

diff -r 명령은 dircmp 명령과 유사한 기능을 제공합니다

 

출처 : linux에서 man dircmp

 

음 파일 비교는 diff로 하고 있는데 디렉토리 사이가 비교가 안되어서^^;;

 

찾아봤습니다.

 

dircmp라는 명령어가 있네요.

 

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.

SENDMAIL 의 가상 계정은

/etc/mail/virtualtable

를 수정하고 업데이트 시켜 주면 된다.

호스팅 하는 곳에 가면 webmaster@도메인

으로 많은 계정을 발급해 주는 사람들을 보았을 것이다.

이경우에 위의 파일을 수정한다. 아래와 같이


이메일@도메인 [탭] 머신의 실제 아이디

ex) webmaster@userdomain.co.kr kayaprince
webmaster@mydomain.co.kr kjh0523

이렇게 작성하고 파일을 저장하고 빠져 나와서

반드시 다음은 해 주어야 한다.

makemap hash virtualtable < virtualtable

그리고 메일 서버를 리스타트 해준다.

/etc/rc.d/init.d/sendmail restart

이 글은 스프링노트에서 작성되었습니다.

1호점에서 이관해왔습니다.

리눅스에서 포맷 하기

제가 자주쓰질 않아 까먹어서 ㅋ ㅋ ㅋ 적어 놓습니다.

명령어가 한참을 생각했는데 기억이 안났다는

T.T

mkfs.*

파일을 사용합니다.

*에는 여러가지 파일 시스템이 올 수 있습니다.

ext2, ext3, reiserfs 등등등

'리눅스(LINUX)' 카테고리의 다른 글

[LINUX] dircmp - 서로다른 디렉토리 비교하기  (0) 2009.08.25
Linux - SEND MAIL 가상 계정 추가하기  (0) 2009.07.26
리눅스에서 포맷 하기  (0) 2009.06.15
tar 분할 압축하기  (0) 2009.06.11
RPM 사용법 2  (0) 2009.06.10
RPM 사용법 1  (0) 2009.06.10

1호점에서 가져왔습니다.

제목그대로 입니다...어떤 이유에서건 가끔가다 큰화일을 분할해야할때가 있을떼
유용합니다...
$split -b 300k
하면 300k씩화일부할됩니다...
man 페이지에보면 화일이름까지 정할수 있습니다...

합칠때..
$cat 분활된 화일이름 > 합칠화일이름
예>


만약 linux.tar.gz 1G가 있을때..
$split -b 100m
하면 xxa xxb xxc 이런식으로 100메가씩나눠집니다...
합칠때..
$cat xx* > linux2.tar.gz 하면 화일이 합쳐집니다...

더자세한건 man split


출처 : http://linux-sarang.net/board/?p=read&table=tip&no=4258&page=&o[at]=s&o[sc]=t&o[ss]=%BA%D0%C7%D2&o[st]=a

출처는 적수네 입니다. 현재 리눅스 사랑넷이 동작하지 않고 있습니다.

역쉬 답은 리눅스 사랑넷에 ㅋㅋㅋ

'리눅스(LINUX)' 카테고리의 다른 글

Linux - SEND MAIL 가상 계정 추가하기  (0) 2009.07.26
리눅스에서 포맷 하기  (0) 2009.06.15
tar 분할 압축하기  (0) 2009.06.11
RPM 사용법 2  (0) 2009.06.10
RPM 사용법 1  (0) 2009.06.10
웹서비스 로그 분석 툴 - Webalizer (2)  (2) 2009.05.30
1호점에서 가져왔습니다.

이문서를 보시기 전에 <RPM 사용법>을 먼저 참조 하시기 바랍니다.

이문서는 위 문서에 대해서 제가 필요로 하는 다른 부분을 말씀 드리는 것입니다.

요즘 리눅스는  x86형태만 있는 것이 아니고 x86_64 등 다양한 리눅스가 버젼별로 존재합니다.

저 x86_64라는 놈이 좀 이상해서 32비트 패키지와 64비트 패키지를 모두 가지고 있습니다.

이때문에

rpm -e mysql

이렇게 하면

error: "mysql-4.1.12-3.RHEL4.1" specifies multiple packages

위와 같은 오류를 뱉어 냅니다.

이때 활용하는 방법입니다.

구글신에서 열심히 뒤졌습니다. 1년전에 분명이 사용한 방법인데

기억이 안나서 ㅎㅎㅎ

/etc/rpm/macros.local

위 파일을 만들어 줍니다.

내용은 다음과 같습니다.

%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

그렇게 해놓고

rpm -qa | grep mysql

이렇게 해보시면

libdbi-dbd-mysql-0.6.5-10.RHEL4.1.x86_64
mysqlclient10-3.23.58-4.RHEL4.1.i386
mysql-4.1.12-3.RHEL4.1.i386
mysqlclient10-3.23.58-4.RHEL4.1.x86_64
mysql-4.1.12-3.RHEL4.1.x86_64

위와 같이 명확한 버젼이 나타납니다.

풀 패키지명을 다 써주시면 제거가 됩니다.

또다른 한가지는

--allmatches                     remove all packages which match <package>
                                     (normally an error is generated if
                                      <package> specified multiple packages)
위의 옵션을 사용하는것입니다.

저는 위의 옵션 보다는 앞서 말한 파일 변경법을 선호 하고 권장합니다.

왜냐면 명확하게 제거 할 수 있기 대문입니다.

그래서 실제로 mysql 패키지를 지울때는

rpm -e --nodeps mysql-4.1.12-3.RHEL4.1.i386

저렇게 지우시면 됩니다.


'리눅스(LINUX)' 카테고리의 다른 글

리눅스에서 포맷 하기  (0) 2009.06.15
tar 분할 압축하기  (0) 2009.06.11
RPM 사용법 2  (0) 2009.06.10
RPM 사용법 1  (0) 2009.06.10
웹서비스 로그 분석 툴 - Webalizer (2)  (2) 2009.05.30
리눅스는 무엇인가?  (0) 2009.05.29

1호점에서 가져 왔습니다.

우선 RPM은 미국의 레드햇이라는 리눅스 회사에서 공개한 패키징 시스템을 말 합니다.

1. 설치 하기

rpm -ivh 설치할 패키지명.rpm

의존성 에러가 있을 경우 설치

rpm -ivh --force 설치할 패키지명 (단 설치한 패키지가 제대로 동작할지는 장담할 수 없습니다. 의존성 에러는 다 해결해 주시는것이 좋습니다. ^^;)

2. 업그레이드

rmp -Uvh 업그레이드할 패키지명.rpm

3. 제거

rpm -e 제거할 패키지명

의존성 에러가 날 경우 제거

rpm -e --nodeps 제거할 패키지명

4. SRPM 컴파일

rpm --rebuild 펄파일 할 패키지명.src.rpm

이때 컴파일 된 패키지는 

/usr/src/redhat/BUILD (여기 없으면 /usr/src/redhat/RPMS/* 디렉토리를 살펴 보십시오.)

에 들어가 있습니다.

2009/01/18 01:42 2009/01/18 01:42

'리눅스(LINUX)' 카테고리의 다른 글

tar 분할 압축하기  (0) 2009.06.11
RPM 사용법 2  (0) 2009.06.10
RPM 사용법 1  (0) 2009.06.10
웹서비스 로그 분석 툴 - Webalizer (2)  (2) 2009.05.30
리눅스는 무엇인가?  (0) 2009.05.29
리눅스 강의 1  (0) 2009.05.16
 1호점에서 퍼왔습니다. ^^;;

앞 페이퍼를 작성하고, 너무 많은 시간이 흐른것 같아 독자들에게 미안함을 감추지 못하면서.


요즘 정신없이 살아가고 있고, 슬럼프에 빠지기도 하면서 이를 극복하고자 노력 하고 있습니다.


우선 필자도 가물 가물 하여 앞 페이퍼를 보고, 이번에 새로 들여 놓은 서버에다가 방금 Webalizer를 설치 했습니다.


우선 웹얼라이즈를 필자의 설명대로 인스톨에 성공 했다면


설치 디렉토리를 유심히 살펴 보면


sample.conf 라는 파일이 하나 있을 것이다.


이 파일을 수정한다.


각종 옵션을 이용해서 웹얼라이즈를 사용할 수도 있지만


여러분들의 편의를 위해서 위 파일을 수정하고 다른 이름으로 저장하여 사용한다.


그리고, 또 한가지 필자의 한가지 습관을 알려 주고자 한다.


우선, sample.conf 파일을 살펴 보면


#LogFile        /var/lib/httpd/logs/access_log

위와 같이 주석 처리된 것을 볼 수 있을 것이다.


이를 주석을 풀고 해당 로그 파일을 적는다.


그리고 또 아래를 살피다 보면


#LogType        clf


위와 같은 주석을 볼 수 있을 것이다.


이도 역시 주석을 풀고 각자의 방식에 맞게 셋팅 한다.


아파치의 로그 기록 방식에 따라 달리 기록 한는데


   CustomLog logs/dummy-host.example.com-access_log common

위와 같이 마지막으로 common이라고 적혀 있을 경우


주석을 그대로 두어도 된다.


또 아래로 내리다 보면


#OutputDir      /var/lib/httpd/htdocs/usage

위와 같은 주석이 나올 것이다.


이는 로그를 분석한구 보고 데이타를 어디가 넣을 것인가 하는 것이다.


그러므로 독자들의 서버에 맞게 적당하게 적어 둔다.


더 많은 주석과 옵션이 있으나, 필자는 필 수 항목들인 위의 항목만을 설명하고


분석을 해보겠다.


참고로 비록 영어이긴 하나, 주석이 잘 처리 되어 있음으로 한번쯤 눈여겨 읽어 보기 바란다.


이제 위 파일을 저장하고 빠져 나온다.


그리고 sample.conf 를 적당한 디렉토리에 위치 시킨다.


필자의 습관을 여기서 이야기 하고 넘어 가고자 한다.


필자의 습관은 다른 리눅서들도 그럴지 모르겠지만, Home과 /usr/local/ 파티션을 최대한 충분이 잡는 것이다.


그리고, 대부분의 자료는 저 두부분에 적절히 나눠서 배치 한다.


필자는 이번에 /usr/local/webalizer 이라는 폴더를 만들 것이다.


저곳에는 실행 파일이 들어가지 않는다. conf 파일을 넣을 것이다.


그래서 번거럽긴 하지만 저속에 다시 conf 파일을 생성하고자 한다.


결론적으로 /usr/local/webalizer/conf 라는 폴더에 설정 파일이 놓이게 된다.


이제 실제로 다음과 같이 명령을 내린다.


cp sample.conf /usr/local/webalizer/conf/분석할사이트도메인.conf


그럼 이제 분석할 준비는 다 되었다


필자의 글대로 웹얼라이즈를 설치 하였다면


독자들은 다음 명령을 내림으로써, 결과를 얻을 수 잇을 것이다.


webalizer -c /usr/local/webalizer/conf/분석할사이트도메인.conf


필자의 생각에 독자들은 한 사이트를 관리 할 수도 있지만, 여러 사이트를 관리 한다는 전제 하에서 위와 같이 설정을 파일을 만들어서 분석 하는 것이 좋을 것이다.


이제 분석된 로그를 살펴 보자


http://자신의 도메인명/로그페이지/

위와 같이 치면 웹얼라이즈가 분석한 로그를 볼 수 있을 것이다.


필자가 분석한 웹페이지를 보여 주고 싶지만


보안상 보여 주지 않는다.


이제 또 언제가 될진 모르겠지만,


또 다른 오픈소스 로그 분석기인 AWSTAT를 가지고 다음 페이퍼에서 찾아뵙겠다.


^^;;


그럼 뜻 깊은 한주를 맞이 하길 바라면서.


Happy Linuxing With 가야태자 ^^;


'리눅스(LINUX)' 카테고리의 다른 글

RPM 사용법 2  (0) 2009.06.10
RPM 사용법 1  (0) 2009.06.10
웹서비스 로그 분석 툴 - Webalizer (2)  (2) 2009.05.30
리눅스는 무엇인가?  (0) 2009.05.29
리눅스 강의 1  (0) 2009.05.16
[SHELL SCRIPT] 원하는 변수에 날짜 대입 하기  (0) 2009.03.10
  1. 양소명 2009.06.02 18:18 신고

    안녕하세요.
    webalizer 설정 중 궁금한 사항이 있어서 염치불고하고 질문 드립니다.
    logtype 에서 logformat 이 common 이 아닌 경우에는 설정을 어떤식으로 해야 하는것인지요?

    • 가야태자 2009.06.03 21:14 신고

      일단,

      WebAlizer의 매뉴얼에는

      # LogType defines the log type being processed. Normally, the Webalizer
      # expects a CLF or Combined web server log as input. Using this option,
      # you can process ftp logs (xferlog as produced by wu-ftp and others),
      # Squid native logs or W3C extended format web logs. Values can be 'clf',
      # 'ftp', 'squid' or 'w3c'. The default is 'clf'.

      요렇게 되어 있는 걸로 봐서

      clf

      w3c

      squid

      ftp

      등으로 보입니다.

      로그 포맷이 다르다면 어떻게 다른지 알려 주시면 조금더 찾아 보겠습니다.

요즘 1호점에 있는 글을 옮기고 있습니다.

그런데 이글을 보다가 Upgrade가 되어야겠다는 생각이 들어서 찾아 봤습니다. ^^;;


원래 제가 가지고 있는 이미지 입니다.


저는 한 2.6에 관한 이미지가 있을 줄 알고 찾았었는데

아직 2.4네요 ㅎㅎ

리눅스는 자유다

1호점에서 옮겨 온 자료 입니다.

이게 아마 제가 적은 최초의 리눅스 관련 문서 인것 같네요 ^^;;

도움이 될지는 모르지만 서류정리 하다가 나와서 다시 쳐 봅니다. ^^;;

리눅스를 사용하는 이유

리눅스는 공짜라는 생각을 가진 사람들이 많다. 특히 대한민국에 하지만 요즘은 리눅스도 상용화 되어 있다. 하지만, 그 리눅스를 받아 쓸 수 있다는 점에서 공짜라는 생각도 든다.

리 눅스를 사용하는 원래의 목적은 저것이 아니다. 보통의 유닉스는 최소한 몇천만원 단위를 호가한다. 하지만 리눅스라는 운영체제는 잡지 부록, FTP 사이트, 회사방문, 거리 배포 또는 저렴한 가격(MS의 운영체제에 비해서)으로 구입 할 수 있다.
유닉스 에서의 관리자의 강력한 기능을 만끽하지 못한다. 요즘 대학교에서는 저런 기회가 많겠지만 말이다. 하지만, 리눅스를 사용하면 유닉스와 똑같은 기분을 낼 수 있다. 자신의 PC에 리눅스를 깔고 root 유져로서의 몇가지 명령어들을 익히면 말이다.

1. 리눅스 서버 관리자의 기초

1) 로그인

리눅스 또는 다른 운영 체제를 사용하더라도, 컴퓨터를 사용하기 위해서는 컴퓨터를 켜거나 그 컴퓨터에 원격으로 접속해야 한다. 그 접속하는 과정을 로그인 이라고 한다.
특히 리눅스에서는 이 로그인 과정이 중요하다.

리눅스 머신에 접속하면 보통 다음이 뜨고 _(커서)가 깜빡이고 있다.

logn:_

여기에 S/A(System Administrator)로 부터 발급 받은 아이디와 패스워드를 넣어 로그인 한다.

보 통 콘솔과 터미널로 불리는 기계들이 있다. 요즘은 일반 컴퓨터도 터미널로 부른다. 콘솔은 기계 자체의 화면을 말한다. 옛날에 서버실에 가보면 써버 한대에 모니터가 있고 그 주위에 모니터와 키보드가 수십에서 많게는 수백대가 존재한다.

이것이 바로 터미널이다. 그리고 또한 컴퓨터가 두개 있다. 접속하는 리눅스를 터미널 접속 받는 리눅스를 콘솔로 생각하면 된다. 또한 윈도우즈를 터미널 리눅스를 콘솔로 생각해도 된다.

일단 리눅스 콘솔에서 root로 접속해 보자 그러면 접속이 될 것이다.

하지만 다른 컴퓨터에서 telnet으로 접속해서 root 로 접속해보자 그러면 일반적으로 접속이 안될 것이다. 그 이유는 root라는 유져가 너무나 막강한 권한을 가졌기 때문에 밖에서는 접속을 못하도록 해 둔 것이다.

그리고, 콘솔에서도 되도록이면 root 유져로 접속하지 않기를 바란다. 왜냐면 실수해서 리눅스를 지워 버리거나 중요한 데이타를 함부로 지울 수도 있으니까.

사용자를 추가해서 사용하는 것이 옳다 하지만 아직 사용자 추가를 배지 않았음으로 root 유져로 한다.

2) 로그아웃

로구아웃은 로그인의 반대 개념이다. 즉 접속을 끊는 것이다.
그 명령으로 다음과 같은 것들이 있다.

logout
exit
콘솔에서는 CTRL + D 키 조합을 사용해도 된다.

자신이 자리를 뜰때는 꼭 로그아웃을 해 두기를 바란다.

3) 컴퓨터 켜고 끄기

컴퓨터를 켜려면 그냥 파워 버튼을 눌러 주면 된다. ^^; 그리고 혹쉬나 다중 운영체제를 사용한다면 리눅스를 한번 중간에서 선택해 준다.

그리고 컴퓨터를 끌때는 MS의 운영체제 처럼 컴퓨터 끄기 명령어를 내려 준다.

도스 시절의 PARK 윈도우즈의 시스템 종료 명령 등과 비슷한 명령이다.

직접적인 명령어는 halt를 사용하면 된다.

그렇게 하면 맨 마니막에 system halted 라는 메시지가 뜰때까지 기다렸다가 컴퓨터 전원을 내린다.

그리고 리붓을 원한다면 reboot 명령을 사용한다.

여러가지 옵션을 사용하고 싶으면 shutdown 명령을 사용하라

shutdown -h now --> halt 명령어와 동일

shutdown -r now --> reboot 명령어와 동일

뒤에 now 옵션을 여러가지로 바꿀 수 있다.

now 즉시 실행하라.

+m 몇분 뒤에 실행 하라.

hh:mm 몇시 몇분에 실행 하라.

등을 사용 할 수 있다.

위의 명령어들 now 제외 ^^ 을 취소 하려면

shutdown -c 명령을 사용하면 된다.

4) 사용자의 추가

리눅스의  사용자 정책은 다음 두가지를 가지고 있다.

user group

위의 두가지는 중요한 역할을 하고있다.

와우 리눅스는 레드햇 리눅스의 사용자 정책을 그대로 따록 있는데 편안한 사용자 추가 이다.

사용자를 추가하는 방법은

/etc/passwd 파일을 변경해주는 방법과 --> 설명만 해 주겠다.

adduser

useradd

명령을 사용하는 방법이 있다.

단순히 adduser userid 하면 사용자가 생성된다.

좀더 복잡한 옵션을 사용하려면

useradd 명령을 사용하라.

그 옵션들은 설명하지 않겠다.

아직 추가가 끝난 것이 아니다. 다음의 사용자 비밀번호 변경을 끝내야 사용자 추가가 끝난다.

5)사용자 비밀번호 변경

adduser 명령으로 생성한 user에 비밀번호를 준다.
passwd 명령을 사용하는데 단순히 passwd 명령을 사용하면 사용자의 패스워드를 변경 할 수 있다. 그리고, passwd userid 를 사용하면 (root 유져 또는 root 그룹의 유져만 사용하능하다.) user의 패스워드를 변경 또는 생성해 줄 수 있다. 그러면 이제 사용자 추가가 끝났다.

6) 사용자 삭제

사용자 삭제는 다음과 같이 한다.
userdel userid
이렇게 하면 사용자 디렉토리와 메일의 내용은 그대로 있다.

하지만

userdel -r userid  하면

사용자의 디렉토리와 메일도 함께 사라진다.

다시 치고 보니 정말 기초 적인 내용이네요 하지만 도움이 되셨으면 합니다.

^^;


tdate=`date +%Y%m%d`

맨날 잊어버려서 ^^;;

이 문서는 Redhat 계열의 BIND 9.2.4에서 쓰여졌습니다.

다른 Linux 에서는 설정 방법이 다를 수 있습니다.

BIND가 보안 때문에 chroot를 사용합니다.

그래서

설정해야 할 위치는

/var/named/chroot

입니다.

위 폴더에 보시면

dev

etc

var

위 세폴더가 존재할 것입니다.

우선 새로운 도메인을 등록 할 경우는

etc 폴더 내에 있는 파일을 설정해야 합니다.

etc 폴더에 보시면 named.conf  

가 있습니다.

위 파일에 추가 하고자 하는 도메인을 아래와 같이 추가 합니다.

zone "도메인명" IN {
        type master;
        file "Zone File 명";
};

저는 습관적으로 Zone File 명을 도메인명과 동일하게 씁니다만 여러분들은 뒤에 .zone 같은 것을 붙여 주시거나 도메인과 완전히 달라도 상관 없습니다.

zone "yourdomain.co.kr" IN {
        type master;
        file "yourdomain.co.kr";
};


저렇게 만드셨으면

/var/named/chroot/var/named/

Zone File을 만듭니다.

Zone File 형식은 아래와 같습니다.

@ IN    SOA 도메인서버명. 이메일주소. (
                2006310105 ; Serial
                360 ; Refresh
                360 ; Retry
                360 ; Expire
                360 ) ; Minimum

        IN      NS      도메인서버명.
        IN      A       아이피
        IN      MX  5  메일익스체인지 도메인.

localhost       IN      A       127.0.0.1
도메인명.   IN      A       아이피
호스트명     IN      A       아이피
www     IN      A       아이피
mail    IN      A       아이피

문자열과 문자열 사이는 되도록이면 Tab으로 띄워 주셔야 합니다.


@ IN    SOA ns1.yourdomain.co.kr. yourid.yourdomain.co.kr. (
                2006310105 ; Serial
                360 ; Refresh
                360 ; Retry
                360 ; Expire
                360 ) ; Minimum

        IN      NS      ns1.yourdomain.co.kr.
        IN      A       xxx.xxx.xxx.xxx
        IN      MX  5  mail.yourdomain.co.kr.

localhost       IN      A       127.0.0.1
yourdomain.co.kr.   IN      A       xxx.xxx.xxx.xxx
ns1     IN      A       xxx.xxx.xxx.xxx
www     IN      A       xxx.xxx.xxx.xxx
mail     IN       A       xxx.xxx.xxx.xxx

위 예제를 복사해다가 your로 시작하는 도메인과 id를 여러분의 것으로 변경 하시고
xxx.xxx.xxx.xxx 를 여러분의 IP로 변경 하시면

도메인이 동작합니다.

그리고 여기서 몇가지 주의하실 점이 있습니다.

모든 도메인을 Full 경로는 맨 마지막에 .을 찍으셔야 합니다.

예를 들어 yourdomain.co.kr 이면 DNS 설정 문서 안에는 yourdomain.co.kr. 입니다.

그리고 이메일 주소는 @로 쓰시는게 아니고 yourid@yourdomain.co.kr 이면
yourid.yourdomain.co.kr. 이렇게 적으셔야 합니다.

끝으로  2006310105 ; Serial
부분은 항상 자릿수는 동일하게 기존 문자열 보다 높은 숫자로 변경해 주셔야 합니다.

제가 쓴 문서는 최신 버젼에 DNS 서버에 적용이 안될 수 있습니다.

최신 버젼도 비슷하지만 설정 파일 명이 좀 바꼈을 수 있습니다.










 



우선 오늘 소개 하려고 하는 프로그램은 Open Source 로그 분석기 중의 하나인 Webalizer이다.

Open Source 로그 분석기에는 Webalizer, AWSTATS, ANALOG 등이 있다.

이들을 3회에 걸처 연재 하려고 한다.

여러분들은 홈페이지를 운영하고 있는가?

그렇다면 홈페이지에 방문자 수는 어떻게 체크 하는가?

Open Source 로그분석기를 사용해 보라.

그 첫번째로 오늘은 Webalizer를 소개 한다.

필자가 운영하는 서버에는 대부분 Webalizer가 설치 되어 있다.

하지만, 설치 되지 않은 곳이 있음으로 ^^;;

오늘도 그 서버에 설치 하면서 이야기를 하겠다.

http://www.mrunix.net/webalizer/

위 홈페이지에서 영어로 된 설명과 소스/바이너리를 구할 수 있다.

우리는 소스로 설치 할 것이다.

파일을 받아야 함으로 ^^;;

지난 번에 한것처럼

wget
ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tgz

하면 파일을 받을 수 있다.

이 받은 파일을 압축을 해제 한다.

tar xzfp webalizer-version-src.tgz

압축 푼 디렉토리로 이동한다.

cd webalizer-version

이제는 설치를 위해서 설정 파일을 만든다.

./configure --prefix=/usr --with-language=korean

콘피규어 시에 오류가 없었다면

컴파일을 시작 합니다.

make

컴파일시에 오류가 없으면 설치를 시작합니다.

make install

오늘은 일단 설치를 끝냈다.

다음 연재에서 본격적으로 Webalizer를 이용해서 사이트의 로그를 본격적으로 분석해보자 ^^;;


지난 기사 보기

MC를 다룬 지난 호에서 여러분들은 MC가 좋은 프로그램이라고 생각했는지 모르겠다.

오늘은 우선 설치 부터 시작해본다. 실제로 필자가 관리하는 리눅스 머신들 중에

mc를 다시 깔기 시작한것은 최근에 설치한 몇몇 서버 밖에 없다. ^^;;

그래서 조금 오래전에 깔았던 서버에 mc를 설치해 보려 한다.

우선 여러분들이 REDHAT 계열의 리눅스를 사용하신다면

대부분 리눅스 씨디에 mc*.rpm이라는 패키지가 들어 있다.

이때 씨디를 마운터 하고

mount -t iso9660 /dev/cdrom(or /dev/hdc or /dev/hdd, etc) /mnt/cdrom

rpm -ivh mc*.rpm

이라고 치면 각종 의존성 에러를 뱉을 지도 모르지만 대부분 설치 된다.

어떤 의존성 에러가 나올지 모른다 이때는 그 의존하는 패키지를 먼저 설치 하고

다시 저 명령어를 실행 하면 설치가 된다.

필자가 설명하려고 하는 설치 방법은 소위 tar.gz로 압축 되어 있는 소스 설치 방법에 대해 알아 보려 한다.

그럼 필자를 한번 따라 해보시기를 ^^)

리눅스를 잘 모르는 독자들은

우선 윈도우즈 머신에 mc의 소스를 다운로드 받는다.

그리고, 다시 FTP로 접속해서 다시 서버에 파일을 업로드 할 것이다.

하지만 앞으로는 필자가 알려 드리는 방법으로 하라.

레드햇 계열의 대부분의 운영체제는

wget이라는 텍스트용 파일 다운로드 프로그램이 존재 한다.

lynx라는 텍스트 브라우져는 설치 되어 있을 수도 있고 없을 수도 있다.

하지만 대부분 쉘상에서 wget 라고 쳐보면 명령어를 찾을 수 없다는 에러 대신에 각종 활용법에 관한 메시지가 뿌려 질 것이다.

우선

mc의 프로젝트 사이트인

http://www.ibiblio.org/mc/

에 접속 한다.

그리고

Last stable version 4.6.0 (released February 5, 2003): source

이부분을 보고 source에서 오른쪽 마우스를 누르고 바로 가기 복사를 선택한다.

그리고는 접속한 텔넷/SSH 프로그램으로 가서 아래와 같이 친다.

wget http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-4.6.0.tar.gz

엔터를 쳐 주면 다운로드 받기 시작 할 것이다.

그리고 ls를 쳐 보면 mc-4.6.0.tar.gz 파일이 존재 할 것이다.

파일은 준비가 되었으니 다음으로 넘어 간다.

이제는 압축을 풀어야 한다.

tar xzfp mc-4.6.tar.gz


압축을 푼 디렉토리로 이동한다.

그리고, configure를 한다.

./configure --prefix=/usr/

make

make install

이렇게 세가지 명령어만 입력하면 된다.

그런데 중간에 GTK 관련 오류가 나타날 수 있다.

이때는

ftp://ftp.gtk.org/pub/gtk/

여기서 GLIB의 안정 버전을 받는다.

필자는 2.4를 설치 했다.

설치 방법은 INSTALL

파일을 참조 하라. ^^;;

그리고, 설치가 끝났는데도 동일한 오류가 발생한다면

다음 명령어를 입력해 주시면 된다.

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig


이제 mc를 실행 해 보자

쉘에서 mc라고 입력하면 위 사진과 같은 화면이 뜰 것이다.

앗 그런데 메뉴가 영문일 수도 있다.

이때 한글로 된 메뉴를 보고 싶다면

/etc/sysconfig/i18n

파일을 수정해 준다

다음은 필자의 i18n 파일이다.

LANG="ko_KR.euc_KR"
SUPPORTED="ko_KR.euc_KR:en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

mc에서 FTP 이용 하기

mc에서 FTP를 이용해 보려면 펑션키 9(F9키)를 누르고 오른쪽 또는 Right라고 되어 있는 부분또는 왼쪽 또는 left라고 되어 있는 부분에 보면 FTP 연결이라는 메뉴가 있다.

그것을 선택하고 아래와 같이 입력한다.

/#ftp:사용자아이디:비밀번호@호스트주소:포트

ex) /#ftp:userid:passwd@yourdomain.com:21

이렇게 입력 하면 선택한 방향의 화면에 원격 FTP의 내용이 뿌려지고 반대편에는 로컬의 파일이 뿌려진다 이제는 일반 FTP 사용하듯이 사용하면 된다. ^^;;

그럼 잘 사용해 보시기를 ...

  1. 지나가다 2009.02.06 02:17 신고

    alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
    ?

    • 가야태자 2009.02.12 13:05 신고

      지나가다님 뭘 여쭤 보시는건지를 잘 모르겠습니다. 명확한 질문을 해주시면 제가 아는 한도 내에서 답변 드리겠습니다. ^^;;

+ Recent posts