[CentOS 7] hostname 변경 방법


CentOS 7 이전에는 /etc/sysconfig/network에서 hostname을 변경하였습니다.


그러나 CentOS 7 부터는 방법이 변경되었습니다.


바로 hostnamectl 입니다.


# 방법


hostnamectl set-hostname 바뀔 호스트명


1. 변경 전



2. 변경 작업 : 저는 tac으로 호스트명을 변경하였습니다.



3. 변경 후



localhost 가 tac으로 변경된 것을 확인할 수 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고

      HTTP 응답코드

 

 

        // 1xx: Informational - Request received, continuing process
        100 => 'Continue',
        101 => 'Switching Protocols',

 

 

        // 2xx: Success - The action was successfully received, understood and
        // accepted
        200 => 'OK',
        201 => 'Created',
        202 => 'Accepted',
        203 => 'Non-Authoritative Information',
        204 => 'No Content',
        205 => 'Reset Content',
        206 => 'Partial Content',

 

 

        // 3xx: Redirection - Further action must be taken in order to complete
        // the request
        300 => 'Multiple Choices',
        301 => 'Moved Permanently',
        302 => 'Found',  // 1.1
        303 => 'See Other',
        304 => 'Not Modified',
        305 => 'Use Proxy',
        307 => 'Temporary Redirect',

 

 

        // 4xx: Client Error - The request contains bad syntax or cannot be
        // fulfilled
        400 => 'Bad Request',
        401 => 'Unauthorized',
        402 => 'Payment Required',
        403 => 'Forbidden',
        404 => 'Not Found',
        405 => 'Method Not Allowed',
        406 => 'Not Acceptable',
        407 => 'Proxy Authentication Required',
        408 => 'Request Timeout',
        409 => 'Conflict',
        410 => 'Gone',
        411 => 'Length Required',
        412 => 'Precondition Failed',
        413 => 'Request Entity Too Large',
        414 => 'Request-URI Too Long',
        415 => 'Unsupported Media Type',
        416 => 'Requested Range Not Satisfiable',
        417 => 'Expectation Failed',

 

 

        // 5xx: Server Error - The server failed to fulfill an apparently
        // valid request
        500 => 'Internal Server Error',
        501 => 'Not Implemented',
        502 => 'Bad Gateway',
        503 => 'Service Unavailable',
        504 => 'Gateway Timeout',
        505 => 'HTTP Version Not Supported',
        509 => 'Bandwidth Limit Exceeded',

저작자 표시 비영리 동일 조건 변경 허락
신고

[SSH] 리눅스에서 다중 포트로 SSH 활성화 하기



SSH 사용 시 가끔 기본 서비스 포트인 22번이 아닌 다른 포트를 활성화 해야 하는 경우가 있습니다.


물론 sshd_config 파일의 "Port 22" 라인을 수정하여 22번에서 다른 포트로 변경하여 사용하면 되지만...


TCP 22번 포트외 다른 포트를 다중으로 Listen 하게 끔 할 때 다음과 같은 방법을 사용하시면 됩니다.





/etc/ssh/sshd_config  파일을 위와 같이 변경 후 service sshd restart 등으로 SSH 서비스를 재 시작하면


기본 TCP 22번 외에 여러 포트를 동시에 Listening 할 수 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고
[^M] 리눅스 Ctrl M 문자 없애는 방법

 

 

 

 

 

윈도우 편집한 파일을 FTP와 같은 전송프로그램을 통해 리눅스에 업로드 할 경우,

각 파일의 라인 마지막에 ^M 이라는 문자가 붙게 됩니다.     // 여기서 ^M 은 Ctrl + V + M 입니다.

 

 

또한 덤프 데이터 등에서도 \r\n 등의 HEX 문자를 자주 보게 됩니다.

 

 

이는 개행문자(Carriage Return)에 의한 것으로 sed 를 통해 문자열 치환이 가능합니다.

 

 

 

 

 

# 방법

 

 

sed -i -e 's/\r$//' 파일명

 

 

 

 

 

1. 치환 전

 

 

 

 

 

 

2. 치환

 

 

 

 

 

 

3. 치환 후

 

 

저작자 표시 비영리 동일 조건 변경 허락
신고

[watchdog] 장애발생 시 리눅스 시스템 강제 재부팅 방법

 

 

 

 

 

네트워크 장애, 인터페이스 장애 등 여러가지 조건이 발생될 경우,

watchdog 타이머를 통해 리눅스 시스템을 강제로 재부팅 할 수 있습니다.

 

 

 

 

 

# watchdog 설정 방법

저는 CentOS 6.3 버전에서 테스트해봤습니다.

 

 

 

 

 

1. watchdog 패키지 설치

yum을 통해 패키지를 설치합니다.

yum -y install watchdog

 

 

 

 

 

 

2. 설치 후 watchdog 타미어 설정을 합니다.

vi /etc/watchdog.conf

 

저의 경우 리눅스 시스템의 게이트웨이가 192.168.10.1인 관계로 ping을 설정하고,

/var/log/messages 파일에 해당내용을 기록하게끔 설정하였습니다.

 

 

 

 

 

 

3. 설정 후 watchdog 서비스를 활성화 합니다.

/etc/init.d/watchdog start

 

ps -ef를 통해 해당 서비스가 실행되는 지 확인합니다.

 

 

 

 

 

 

4. 만약 네트워크가 다운되었다는 가정하에 iptables를 통해 ping 통신을 차단해봤습니다.

 

 

 

 

 

 

5. 차단 명령을 내린 지 30초 정도가 지나니 리눅스 시스템이 재부팅 되는 것을 확인하실 수 있습니다.

 

 

 

 

 

 

6. 재부팅이 되었기에 시스템의 uptime은 다음과 같습니다.

 

 

 

 

 

 

7. /var/log/messages 파일을 확인해보니 /etc/watchdog.conf 파일이 설정된 부분과

시스템이 shutdown 된 로그가 보입니다.

 

 

저작자 표시 비영리 동일 조건 변경 허락
신고
[32, 64비트] 리눅스 CPU 개수 및 32, 64 비트 확인 방법

 

 

 

 

 

리눅스 시스템에서 CPU를 확인할 경우 32비트 인지 64비트 인지 구분하기 어려운 경우가 있습니다.

 

 

물론 친숙한 리눅스 명령어 인

 

 

cat /proc/cpuinfo 로 확인 가능하지만 좀 더 쉬운 방법이 있습니다.

 

 

만약 리눅스 시스템에 dmidecode 라는 패키지가 설치되어 있을 경우,

 

 

한 눈에 CPU 개수 및 비트 수를 확인할 수 있습니다.

 

 

 

 

 

# 방법

 

 

dmidecode --type 4 명령을 이용합니다.

 

 

1. CPU 물리적 개수 확인 방법

 

 

dmidecode -t 4 | grep CPU

 

 

 

 

위와 같이 CPU1, CPU2의 경우 물리적으로 2개의 CPU를 표현합니다.

 

 

 

 

 

 

 

 

 

 

2. CPU 32, 64 비트 확인 방법

 

 

물론 cat /proc/cpuinfo 에서 lm flag(Long mode CPU / 64 bit) 가 있는 지 확인하는 방법도 있지만,

 

 

dmidecode -t 4 명령으로 쉽게 확인할 수 있습니다.

 

 

 

- dmidecode -type 4 명령 실행 화면 -

 

 

 

 

 

# 추가로 리눅스에서 비트를 확인하는 방법이 있습니다.

 

getconf LONG_BIT

 

저작자 표시 비영리 동일 조건 변경 허락
신고
  1. 또한 리눅스에서 arch 라는 명령을 통하여 확인하는 방법도 있습니다.

[Serial] 리눅스 서버에 콘솔 케이블 연결하기

 

 

 

 

사이트를 다니다 보면 리눅스 서버에 전원을 연결한 후 IP 등의 설정을 위해 모니터와 키보드를 연결해야 하는 불편한 상황이 자주 발생되기도 합니다.

 

 

 

 

리눅스 서버에 시리얼을 활성화 시켜 노트북에서 바로 콘솔을 통해 접속할 수 있는 방법이 있습니다.

 

 

 

 

# 서버에 시리얼 활성화 방법

 

 

 

1. 서버가 Serial을 지원하는 지 확인 합니다.

dmesg | grep tty

 

 

 

 

위와 같이 ttyS0 또는 ttyS1가 존재할 경우 시리얼 활성화가 가능합니다.

 

 

 

 

 

2. vi /etc/inittab 에 다음과 같은 줄을 넣어 줍니다.

s0:2345:respawn:/sbin/agetty -L -f /etc/issueserial 38400 ttyS0 vt100

 

(-f 옵션의 경우 /etc/issueserial 파일의 내용을 보여 줍니다.)

 

 

 

 

 

 

 

3. vi /etc/issueserial 파일을 생성합니다.

저는 파일에 Test System 이라고 넣었습니다.

 

 

 

 

 

 

 

 

4. vi /etc/securetty 파일에 다음과 같은 한 줄을 추가 합니다.

ttyS0

 

 

 

 

 

 

 

 

5. 마지막으로 콘솔화면에서 부팅화면까지 보고 싶은 경우 grub 파일을 수정합니다.

vi /etc/grub.conf 에 다음과 같은 항목을 넣습니다.

console=ttyS0,38400

 

 

 

 

 

 

이젠 콘솔 화면에서도 리눅스 시스템을 장비처럼 보실 수 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
신고

[YUM] Another app is currently holding the yum lock; 에러발생 시 조치방법



리눅스 서버에서 yum update 및 install 을 할 때 가끔 아래와 같은 에러 메시지가 나올 경우가 있습니다.




Existing lock /var/run/yum.pid: another copy is running as pid 32714.
Another app is currently holding the yum lock; waiting for it to exit...


와 같이 에러가 발생됩니다.



# 조치방법 : rm -rf /var/run/yum.pid



yum.pid 삭제 후 yum 명령을 사용하면 다시 되는 것을 확인할 수 있습니다.






저작자 표시
신고

[FTP] FTP 자동 백업 배치파일

 

 

 

 

 

가끔 서버의 설정 파일을 원격지에 백업을 해야할 경우가 있습니다.

 

 

이럴때 간단한 배치파일을 이용하여 FTP 서버에 자동 로그인하여 파일을 백업할 수 있습니다.

 

 

이러한 자동 로그인 배치파일은 자주 사용하는 FTP 서버에 접속할 때도 편하게 사용될 수 있습니다.

 

 

 

 

# 사용방법

 

 

1. 우선 텍스트 파일을 생성합니다. 내용은 다음과 같이 적은 후 auto_ftp.txt 파일로 저장 합니다.

 

 

 

open : ftp 서버에 접속

ftpuser : 계정

qwe123 : 비밀번호

bin : binary 형태로 파일 전송

hash : 파일전송 시 #로 상태 확인

prompt : 파일전송 확인여부 표시(on/off)

put : 파일 전송 / 업로드

quit : 종료

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. 이젠 auto_backup.bat 라는 배치파일을 만듭니다.

 

 

 

ftp -s:파일이름

 

예) ftp -s:auto_ftp.txt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. auto_backup.bat 파일 실행화면

 

 

 

이와 같은 방법을 통하여 배치파일을 이용하여 간단하게 원격지로 파일을 백업할 수 있습니다.

 

저작자 표시
신고
  1. 김병철 2015.01.20 16:37 신고

    좋은정보감사합니다 ip주소말고 ftp호스팅받은주소도 가능한가요?

[X11 Forwarding] 윈도우에서 리눅스 GUI 화면 띄우는 방법

 

 

 

 

 

X11 포워딩을 통하여 putty 나 SecureCRT 와 같은 접속툴에서 리눅스의 GUI 화면을 볼 수 있습니다.

 

 

물론 리눅스 GUI 화면은 명령을 실행했을 때의 화면이 접속툴을 통해 보여지는 것 입니다.

 

 

 

 

 

# 방법

 

 

1. 윈도우 접속툴의 경우 GUI 환경을 지원해 주지 못하므로 우선 Xming 을 다운로드하여 설치합니다.

 

 

 

 

 

다운로드 경로 : http://sourceforge.net/projects/xming/

 

 

Xming-6-9-0-31-setup.exe

 

 

 

 

 

저는 소스포지에서 6.9.0.31 버전을 다운 받았습니다.

 

 

 

 

 

 

 

2. 그냥 Full installation 으로 설치합니다.

 

 

 

 

 

 

 

3. 설치 후 실행을 합니다.

 

 

 

 

 

 

 

4. 다음은 putty 및 SecureCRT 에서 설정을 합니다.

 

 

가. putty 설정 화면

 

 

putty - Connection - SSH - X11 설정 탭에서

 

 

EnableX11 forwarding 에 체크 후 X display location 에 localhost:0.0 으로 합니다.

 

 

 

 

 

 

 

나. putty 에서 firefox 실행 화면

 

 

 

 

 

 

 

5. 마찬가지로 이번엔 SecureCRT 에서 설정을 한 후 테스트 해보겠습니다.

 

 

가. SecureCRT 설정 화면

 

 

SecureCRT 는 Session Options 및 Global Options 에서 간단하게 설정할 수 있습니다.

 

 

우선 Global Options 창의 Default Settings 으로 들어갑니다.

 

 

 

 

 

 

 

Session Options 에서 Forward X11 Packets 에 체크하면 됩니다.

 

 

 

 

 

 

 

나. SecureCRT 에서 firefox 실행 화면

 

 

 

 

저작자 표시
신고
  1. ㅁㄴㅇㅁㅇ 2013.01.06 19:33 신고

    설치하면 그냥 트레이에 상주해있고 아무것도 실행이 안되는데 잘못설치한건가요?

    • 윈도우 작업표시줄 트레이에 Xming이 상주해 있으면 설치가 잘 된 것입니다.
      이제 putty나 SecureCRT에서 X11 포워딩을 설정하시면 됩니다.

  2. 데니스 2016.11.23 11:19 신고

    감사합니다! 이것 때문에 no display name and no $DISPLAY environment variable와 같은 문제가 발생했는데 해결 되었습니다^^

[taskkill] 윈도우 프로세스를 한방에 종료시키는 방법

 

 

 

윈도우 명령어 중 taskkill 명령은 리눅스의 killall과 비슷하게 하나이상의 프로세스를 종료시킬 수 있는 명령어 입니다.

 

 

 

ex) taskkill /f /im notepad.exe(윈도우)  ==  killall java(리눅스)

 

 

 

 

 

 

 

 

 

 

 # 사용방법

 

 

- 프로세스가 다수 떠있는 경우 -

 

 

 

꼭 웜 바이러스처럼 메모장 프로세스가 상당히 많이 로딩되어 있는 것을 확인하실 수 있습니다.

 

사용방법은 다음과 같습니다.

 

 

taskkill /f /im notepad.exe          // 여기서 F는 프로세스 강제 종료, IM은 프로세스 이름을 뜻합니다.

 

 

마찬가지로 taskkill /f /im notepad* 와 같이 와일드카드(*) 필터를 사용하여 프로세스를 종료할 수도 있습니다.

 

 

 

- 명령 실행 후 모습 -

 

저작자 표시
신고

[리눅스] 리눅스 서버 강제 재부팅 방법

 

 

 

가끔 리눅스 서버를 운영하다 보면,

메모리 부족 및 디스크 부족 등의 이유로 시스템이 HangUp 상태에 이르게되는 경우가 있습니다.

 

 

위의 경우

reboot 또는 init 6 등의 명령어를 사용하더라도 재부팅이 안 되는 상황에 이르게 됩니다.

 

 

결국 파워 오프를 하게 되는데...

 

 

이럴 때 매직 키를 사용하여 재부팅을 할 수 있습니다.

 

 

 

# 방법

echo b > /proc/sysrq-trigger

 

 

저작자 표시
신고

[윈도우] 원격데스크톱 유틸리티




MultiDesk는 원격 터미널 서비스 클라이언트를 동시에 여러 개 띄울 수 있는 유틸리티 입니다.




다운로드 URL : http://syvik.com/multidesk/multidesk_2_4_4.zip





# 특징 :

1. 그룹별 접속 및 관리 가능

2. 빠른 접속

3. 풀 스크린 및 드라이브 지원 가능 등...





# 화면




저작자 표시
신고

[윈도우] 홈페이지 리프레쉬 스크립트




가끔 사이트의 홈페이지를 모니터링 하는 경우가 있습니다.


이럴 때 아래와 같이 자바스크립트로 된 페이지를 통해 자동으로 홈페이지를 리프레쉬 할 수 있습니다.

결과적으로는 F5 키를 주기적으로 입력한 효과가 있습니다.



# Homepage Refresh Script


<html>

<head>

<script language="JavaScript">

setTimeout("history.go(0);" , 1000);

</script>

</head>

<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">

<iframe name=iframe1 src=http://www.test.co.kr width=1152 height=864>

</iframe>

</body>

</html>




참고 : setTimeout("history.go(0);" , 1000); 에서 1000은 ms를 의미합니다.

저작자 표시
신고

[VSZ] 리눅스 프로세스 메모리 누수 확인 방법






리눅스 시스템에서 프로세스에 의한 메모리 누수는 VSZ 나 RSS 값으로 확인 할 수 있습니다.





# man page 내용


VSZ : virtual memory size of the process in KiB(1024-byte units).

         Device mappings are currently excluded; this is subject to change. (alias vsize).


RSS : resident set size, the non-swapped physical memory that a task has used (in kiloBytes).

         (alias rssize, rsz).






즉,


VSZ : 프로세스의 가상메모리 크기

RSS : 프로세스가 사용하고 있는 물리적 메모리 크기


입니다.





만약 프로세스가 메모리 반환 없이 메모리 누수가 발생될 경우 VSZ 값이 증가하게 됩니다.











저작자 표시
신고

[Linux] swap memory 활성화 방법



리눅스에서 물리적 메모리가 부족할 경우 스왑메모리를 활성화하여 메모리를 확충할 수 있습니다.




# 방법


1. 2G의 파일을 /backup 파티션에 파일로 생성

dd if=/dev/zero of=/backup/swapfile bs=4096 count=500000








2. 생성된 파일을 swap 형식으로 변환

mkswap -f /backup/swapfile







3. 재부팅 시 그대로 적용되게 끔 /etc/fstab에 마운트

echo "/backup/swapfile   swap            swap    defaults    1       2" >> /etc/fstab


- /etc/fstab 화면 -




4. swap 활성화

swapon -a




위와 같이 swap을 활성화 하면 메모리가 확충되는 것을 확인할 수 있습니다.





저작자 표시
신고

[시스템 침입 차단] 리눅스에서 root 이외의 사용자 접속을 차단하는 방법


리눅스 시스템을 관리하면서 가끔 시스템 침입의 위협을 느낄 경우가 있습니다.


그럴 때 간단하게 root 이외의 사용자 접속을 차단하는 방법이 있습니다.



# 방법

touch /etc/nologin

-> nologin 파일이 있을 경우 해당 시스템에는 root 만 접속이 가능합니다.



1. /etc/nologin 파일이 없을 경우          // 보통 시스템의 경우



2. /etc/nologin 파일이 있을 경우         



저작자 표시
신고



[mysql] mysql 비밀번호 초기화





테스트를 진행하다보면 mysql 비밀번호를 초기화 할 때가 있습니다. 

비밀번호를 업데이트 할 경우,
간혹 다음과 같은 에러메시지를 보기도 합니다.



ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' 
 



이럴 경우 비밀번호를 초기화하는 방법은...


1. mysqld_safe --skip-grant-tables &


2. mysql -u root -p


[엔터]


3. update mysql.user set password=password('변경 비밀번호') where user='root';


4. flush privileges;



입니다...



비밀번호 변경 후,

mysql -u root -p 명령을 내리면

변경된 비밀번호를 넣어야 접근이 가능하게 됩니다.



참고자료 : 
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix
 


저작자 표시
신고
  1. 신입 2014.03.14 14:40 신고

    감사합니다 ㅠ 해결했습니다 ㅠㅠ



[홈페이지 히트 맵 체크하기] 홈페이지의 클릭된 부분을 통계적으로 확인하기



홈페이지 운영자 들은 더 많은 방문자의 확보를 위하여 사용자들이 자주 클릭하는 부분, 즉 핫스팟을 알고 싶어 합니다.
또는 더 많은 광고 클릭을 위하여 홈페이지의 hotspot map을 통해 광고의 위치를 옮기기도 합니다.


이러한 경우,
간단한 방법으로 홈페이지의 히트 맵(heat map)을 확인할 수 있는 소프트웨어가 있습니다.


다운로드 경로 : 
http://sourceforge.net/project/showfiles.php?group_id=181196





# 설치 방법


1. 본인의 홈페이지 document root 에 해당파일을 다운로드 한 뒤 압축을 해제합니다.

예) 경로 : www.site.com/clickheat/ 





2. index.php를 호출하여 설치를 진행합니다. 

예) www.site.com/clickheat/index.php





3. 설치 중 다음과 같은 에러가 나오면 /clickheat/config/ 경로의 퍼미션을 쓰기 가능으로 바꿉니다.

예) chmod 777 config







4. config 디렉터리의 퍼미션을 777로 변경한 후 페이지를 리프레쉬 하면 다음과 같이 화면이 변경됩니다.






5. Next step 을 클릭하여 다음 설정으로 넘어 갑니다.




6. 맵에 표시될 투명도 및 메모리 등을 설정합니다.






7. 관리자의 아이디와 비밀번호를 설정합니다.

 





8. 다음과 같은 에러 발생 시 로그파일, 캐쉬 디렉터리 또한 chmod 777 logs ; chmod 777 cache 로 퍼미션을 변경해 줍니다.







9. 다 완료가 되었으면 설정을 저장한 후 로그인을 합니다.

 

 




10. 마지막으로 홈페이지에 다음과 같은 자바스크립트 소스를 포함합니다.


<script type="text/javascript" src="http://site.co.kr/clickheat/js/clickheat.js"></script><noscript><p><a href="http://www.dugwood.com/index.html">Heatmap plugin</a></p></noscript><script type="text/javascript"><!--
clickHeatSite = 'site.co.kr';clickHeatGroup = encodeURIComponent(window.location.pathname+window.location.search);clickHeatServer = 'http://site.co.kr/clickheat/click.php';initClickHeat(); //-->
</script>
 







11. 어느 정도 방문자가 확보된 후 (시간이 지난 후) 확인하면 다음과 같은 히트맵을 볼 수 있습니다.

 


저작자 표시
신고

[팁]  MSSQL SA 비밀번호를 까먹었을때...

QA에 들어가서,

sp_password null, '변경하고자하는 비밀번호', 'sa'

을 실행...

신고

[팁] 윈도우 명령어 모음

1. About msc
  가. 인증서 ; certmgr.msc
  나. 컴퓨터관리 ; compmgmt.msc
  다. 장치관리자 ; devmgmt.msc
  라. 디스크관리 ; diskmgmt.msc
  마. 이벤트뷰어 ; evenvwr(.msc 생략가능)
  바. 그룹정책 ; gpedit.msc
  사. 인덱싱서비스 ; ciadv.msc
  아. 로컬사용자 및 그룹 ; lusrmgr.msc
  자. 성능 ; perfmon.msc
  차. Removable Storage ; ntmsmgr.msc
  카. 이동식 저장소 운영자 요청 ; ntmsoprq.msc
  타. 로컬 보안 설정 ; secpol.msc


2. Etc command
  가. mrt ; Microsoft Windows 악성 소프트웨어 제거 도구
  나. conf ; 넷미팅
  다. winver ; 윈도우 정보
  라. winchat ; 채팅
  마. migwiz ; 파일 및 설정 전송 마법사
  바. wab ; 주소록(wabmig 주소록 가져오기)
  사. narrator ; Microsoft Narrator
  아. taskmgr ; 작업관리자
  자. sysedit ; 시스템 구성 편집기
  차. mobsync ; 동기화할 항목
  카. sigverif ; 파일 서명 확인
  타. eudcedit ; 사용자 정의 문자편집기
  파. packager ; 개체포장기
  하. cleanmgr ;  디스크 정리 유틸


cf) charmap ; 문자표 / clipbrd ; 클립북 뷰어 / odbcad32 ; ODBC 데이터 원본 관리자
  / dxdiag ; DirectX 진단도구 / drwtsn32 ; 윈도우용 Dr. Watson

언제쯤 머리 속에 정리가 될런지...^^;

신고

[웹서버] GeoIP 설치하기

AWStats와 GeoIP를 연동하여 방문자 통계를 국가별로 확인할 수 있습니다.


# GeoIP 설치

1. 디렉터리를 만듭니다.
mkdir -p /usr/local/share/GeoIP



2. GeoIP를 다운로드 합니다.
cd /usr/local/share/GeoIP/
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz



3. 다운로드 한 GeoIP 파일의 압축을 해제합니다.
gzip -d GeoIP.dat.gz
gzip -d GeoLiteCity.dat.gz



4. awstats 파일을 수정하여 GeoIP 플러그인과 연동합니다.

vi /etc/awstats/awstats.www.xxx.com.conf

1320, 1321 라인을 다음과 같이 수정합니다.
LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoLiteCity.dat"





5. awstats 파일을 업데이트 합니다.
/usr/local/awstats/tools/awstats_updateall.pl now


6. MaxMind에서 PurePerl Module을 다운로드 합니다.
wget http://geolite.maxmind.com/download/geoip/api/perl/Geo-IP-1.38.tar.gz


7. 해당 파일을 컴파일 합니다.
tar xvfz Geo-IP-1.38.tar.gz
cd Geo-IP-1.38
perl Makefile.PL


# perl Makefile.PL 시 다음과 같은 에러가 발생될 수 있습니다.
 Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.

-> 해결방안
yum install perl-ExtUtils-MakeMaker
또는 yum install perl*로 해당 파일을 업데이트



8. 해당 파일을 계속 컴파일 합니다...
make ; make test
make install


9. awstat 파일을 업데이트하면 작업이 완료되어 국가가 표시되는 것을 확인할 수 있습니다.
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.xxx.com

 




저작자 표시
신고

[웹서버] AWStats를 사용하여 웹로그 분석하기



웹로그 분석유틸인 AWStats를 사용하면 홈페이지에 접속한 사용자들의 분석이 가능합니다.



# AWStats 설치 방법

1. AWStats 파일을 다운로드 합니다.
http://awstats.sourceforge.net/#DOWNLOAD
또는 wget http://prdownloads.sourceforge.net/awstats/awstats-7.0.tar.gz

저는 최신 안정화 버전인 7.0을 다운로드 하였습니다.





2. 다운로드 된 파일을 압축해제 합니다. (편의상 /usr/local에 압축해제 후 디렉터리 이름을 변경합니다.)
tar xvfz awstats-7.0.tar.gz -C /usr/local
cd /usr/local
mv awstats-7.0/ awstats/




3. 설정파일을 실행합니다.
cd /usr/local/awstats/tools
./awstats_configure.pl




4. 아파치 httpd.conf의 경로를 입력합니다.
예) /etc/httpd/conf/httpd.conf





5. 새로운 프로파일을 생성합니다. / y 누름





6. 프로파일 이름을 설정합니다. 보통 도메인을 입력합니다.



7. config 파일의 경로를 지정합니다. / default 엔터


8. 엔터 / 엔터 입력~


9. 프로파일 중 3군데를 수정합니다.
vi /etc/awstats/awstats.www.xxx.com.conf
51번째 라인 LogFile="/var/log/httpd/access_log" 로 수정
905번째 라인 Lang="ko" 로 수정



10. 설정파일을 업데이트 합니다.
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.xxx.com


11. Crontab에 등록하여 자동 업데이트를 합니다.
*/10 * * * *       root    /usr/local/awstats/tools/awstats_updateall.pl now


12. 확인
http://www.xxx.com/awstats/awstats.pl?config=www.xxx.com 에 접속하여 확인합니다.


 


저작자 표시
신고

[TCPDUMP] 리눅스 tcpdump 사용법 


예제 1)

방화벽 운영 중 통신이 안 된다는 장애를 접수하였을 경우, 

tcpdump -i eth0 'tcp[13]=2' and host 1.1.1.1

이렇게 덤프를 뜨면, SYN packet 만 잡을 수 있으므로 어디서부터 통신이 안 되는지를 쉽게 볼 수 있습니다. ^_^

저작자 표시
신고
  1. 재환 2013.09.25 15:29 신고

    안녕하세요
    'tcp[13]=2' 가 무엇을 뜻하는지도 알 수 있을까요? 괜찮으시다면 사소하더라도 위 메일로 받고 싶은데요 ㅎ
    jaehwanjoa@naver.com
    유용한 자료 감사합니다.

    • 13 -> TCP 헤더 중 13번째 옥텟을 의미합니다.
      2 -> TCP 플래그 필드 중 SYN 플래그를 의미합니다.

      메일 보내드렸으니 참고하세요~ ^^;


[MRTG] 리눅스 RPM으로 MRTG 설치하기


보통 리눅스에서 MRTG를 설치할 경우 소스 컴파일을 통하여 설치하나,
RPM을 통하여 간단히 설치할 수도 있습니다.


1. 리눅스 설치
먼저 리눅스를 설치합니다. (전 CentOS 6.0 x64 비트로 설치하였습니다.)





2. 리눅스 기본 설정
리눅스 설치가 끝나면 기본 설정을 합니다.



# selinux 비활성화

활성화해도 상관없으나 여러 옵션값을 바꿔야 하므로 그냥 비활성화 합니다.
vi /etc/sysconfig/selinux




# 방화벽 비활성화
마찬가지로 방화벽 INPUT 옵션을 설정하면 되나 추후에 하기로 하고 그냥 비활성화 합니다.
setup

이렇게 글자가 깨질경우 TAB을 눌러 Quit 합니다.

unset LANG 명령어를 입력한 후 다시 setup을 합니다.

이렇게 정상적으로 글자가 보이면 방화벽을 해제한 후 OK를 누룹니다.



# IP 설정
setup의 네트워크 설정에서 IP 및 DNS를 설정합니다.






3. RPM 설치


# YUM을 통해 RPM을 설치합니다.
yum -y install net-snmp* mrtg* freetype-devel gd-devel libjpeg-devel libpng-devel




# cfg 파일을 만듭니다.
cfgmaker --global 'WorkDir: /var/www/mrtg/' --global 'Language: korean' --global 'Options[_]: bits,growright' -output /var/www/mrtg/mrtg.cfg switch@192.168.10.254
여기서 switch는 snmp community 값이며, 192.168.10.254는 스위치 IP 입니다.

위와 같이 snmp에 응답할 수 없다는 에러메시지가 발생하면 스위치에서 snmp 설정을 해줍니다.



# 시스코 스위치 snmp 설정
전 시스코 스위치를 mrtg로 띄우려고 합니다.
conf t 후
snmp-server community switch ro       <-- snmp 커뮤니티 입력
snmp-server enable traps
snmp-server host 192.168.10.97 switch  <-- 커뮤니티 및 MRTG 서버 IP 입력

 





그 후 MRTG 서버의 snmp를 활성화 합니다.
service snmpd restart


활성화 후 cfg를 다시 만듭니다.

cfgmaker --global 'WorkDir: /var/www/mrtg/' --global 'Language: korean' --global 'Options[_]: bits,growright' -output /var/www/mrtg/mrtg.cfg switch@192.168.10.254

이젠 정상적으로 설정파일이 만들어졌습니다. ^^



# index.html 파일을 만듭니다.
indexmaker --title "mrtg Testing" --output /var/www/mrtg/index.html /var/www/mrtg/mrtg.cfg

 

정상적으로 index.html 파일이 만들어졌으므로, httpd 서비스를 올립니다.



# httpd 서비스 올리기
yum -y install httpd 명령어를 통해 httpd를 설치합니다.




# httpd.conf 를 수정합니다.
vi /etc/httpd/conf/httpd.conf
DocumentRoot 와 Directory를 다음과 같이 수정합니다.


 DocumentRoot "/var/www/mrtg"

<Directory "/var/www/mrtg">



# httpd 서비스를 재시작 합니다.
service httpd restart




# 홈페이지를 확인합니다.
MRTG 서버를 호출합니다.

http://설정된 mrtg IP


?? ㅜㅜ 이와같이 이상하게 나오면 CRON에 등록을 해줍니다.


# Crontab 등록하기
vi /etc/crontab에 다음과 같은 항목을 넣은 후 service crond restart 합니다.




cron이 실행되는 5분을 기다리기 힘드시다면...ㅋ
/usr/bin/mrtg /var/www/mrtg/mrtg.cfg 명령어를 통해 데이터를 gathering 합니다.


(또는 env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg 로 하셔도 됩니다.)




# 완성된 화면 짜짠~! ^^




Cf)
# 그러나 기쁨도 잠시 세부항목을 클릭해보니 다음과 같이 글자가 깨집니다...ㅜㅜ





--> 글자깨짐 해결방법
MRTG 설치 후 글자가 깨졌을 경우 httpd.conf의 문자셋을 수정합니다.
(UTF-8 -> off 로 수정합니다.)

vi /etc/httpd/conf/httpd.conf 의 AddDefaultCharset 수정





# 최종 마무리된 화면!
마지막으로 httpd 서비스를 재시작하면 됩니다.
service httpd restart



저작자 표시
신고
  1. 섀도 2012.11.05 11:35 신고

    최고네요! 깔끔한 정리! 잘보고 갑니다!!

    • 멋진관우 2012.11.07 00:18 신고

      감사합니다~ ^^;

  2. darkseenee 2015.08.06 10:59 신고

    정말 깔끔하게 잘 정리하셨네요 ㅎㅎ
    잘 보고 갑니다 ^^


[SSH 접근제한하기] SSH AllowUsers 설정하기

서버 설치 후 SSH에 접근제한을 할 경우가 있습니다.

리눅스의 경우 sshd_config 설정에서 간단하게 접근제어가 가능합니다.

# 방법
1. vi /etc/ssh/sshd_config      // 설정파일 수정

2. AllowUsers root@1.1.1.1      // 접근가능한 IP 추가


3. service sshd restart      // ssh 데몬 재 시작


 

저작자 표시
신고
[윈도우] Microsoft 제품 지원 기간 정책

2002년 10월부터 시작된 MS 제품 지원 정책 입니다.

ref) http://support.microsoft.com/lifecycle/


저작자 표시
신고

[부팅] 서버 부팅 시각을 기록하는 배치파일

가끔 서버가 윈도우 업데이트나 서버 어드민의 작업으로 인하여 재부팅 되는 경우가 있습니다.

아래는 이럴 경우 간단하게 서버의 부팅 시각을 기록하여 체크할 수 있는 배치 입니다.

@echo off
set nowdatetime=%date% %time%
set yy=%nowdatetime:~0,4%
set mm=%nowdatetime:~5,2%
set dd=%nowdatetime:~8,2%
set hh=%nowdatetime:~11,2%
set mi=%nowdatetime:~14,2%
set ss=%nowdatetime:~17,2%
set bootlogdatetime=%yy%년 %mm%월 %dd%일 %hh%시 %mi%분 %ss%초
echo %bootlogdatetime% 에 PC가 부팅되었습니다.>> c:\bootlog.txt


저작자 표시
신고

[HDD Temp] 리눅스 서버 하드디스크 온도 측정

[root@tank ~]# yum install hddtemp

 Running Transaction
  Installing     : hddtemp                                                                                                      1/1

Installed:
  hddtemp.i386 0:0.3-0.14.beta15.el5.centos                                                                                        

Complete!


[root@tank ~]# hddtemp /dev/hda

/dev/hda: VMware Virtual IDE Hard Drive: S.M.A.R.T. not available

VMware는 S.M.A.R.T가 지원되지 않네요...^^;




저작자 표시
신고

[Linux] CPU, Core number Verification

CHIP_COUNT=`cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l`; CHIP_CORES=`cat /proc/cpuinfo | grep "siblings" | tail -1 | cut -d: -f2`; echo "CPU: $CHIP_COUNT chips x $CHIP_CORES cores"


answer example  : CPU: 1 chips x  2 cores


저작자 표시
신고

+ Recent posts