카테고리 보관물: 컴퓨터

minikube 부팅 시 자동 시작

OS : Ubuntu 20.04

/usr/lib/systemd/system/minikube.service

[Unit]
Description=minikube

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/root
ExecStart=/usr/bin/minikube start –embed-certs –driver=none
ExecStop=/usr/bin/minikube stop

[Install]
WantedBy=multi-user.target

systemctl start minikube.service

systemctl status minikube.service

#부팅시 활성화

systemctl enable minikube.service

출처 : https://serverfault.com/questions/1035376/how-to-run-minikube-start-as-a-linux-service-on-startup

LG전자 2020 그램 13인치 ZD990-VX50K

 

AS를 위해 쿠팡안심케어 3년 적용하여 쿠팡에서 구입,

무상 AS는 1년이고, 쿠팡안심케어 가입으로 최대 3년까지 수리비 지원 가능해짐.

(사용 중 파손은 불가하고 기능상 문제에 대해서만..)

 

MySQL Query Log 남기기

라이브 중에 MySQL Query Log 남기기

(MySQL을 사용하면서 자주 사용하지만 기억하기 힘들어서 남겨 놓음.)

1. general_log 상태 확인

mysql> show variables like ‘general%’;
+———————-+————————————————-+
| Variable_name   | Value                                                  |
+———————-+————————————————-+
| general_log        | OFF                                                    |
| general_log_file | /var/lib/mysql/query.log                       |
+———————+————————————————–+

 

2. general_log 설정 변경

mysql> set global general_log = ‘on’;
Query OK, 0 rows affected (0.00 sec)

 

3. general_log 변경 상태 확인

mysql> show variables like ‘general%’;
+———————-+————————————————+
| Variable_name   | Value                                                 |
+———————-+————————————————+
| general_log        | ON                                                     |
| general_log_file | /var/lib/mysql/NXT-NAMS-LINUX.log |
+———————-+————————————————+

 

VMRC 콘솔의 연결이 끊어졌습니다. (VMRC console has disconnected)

vSphere 사용 중 vSphere Client를 사용하여 콘솔 연결 하려고 할때

VMRC 콘솔의 연결이 끊어졌습니다. 다시 연결하려고 시도 중입니다.

라는 메세지가 발생하며 콘솔 연결에 실패하였습니다.

 

[ 서버 환경 ]

Server : VMware ESXi 5.0.0, build-469512
Client : VMware ESXi Client 5.0.0, build-130600

 

[ 문제 해결 ]

문제를 해결하기 위해 구글 검색 시작..

구글에서 찾은 걸로는 아래 두 가지 해결 방법을 찾았습니다만,

제 경우엔 아래의 방법으로 문제를 해결할 수 없었습니다.

1. VMWare ESXi Client 최신 버전 업데이트
최신 버전으로 올려보았으나, 아무리 올려도 Disconnet 가 발생함

2. Disconnect 발생시, 작업 관리자에서 vmware-vmrc.exe 프로세스를 강제 종료 후 재접속
> 마찬가지로 아무리 시도 해봐도 안됨.


구글 검색으로 알려진 방법으로는 문제 해결이 어렵다 판단하여,

VMWare ESXi Client 를 통하지 않고, 콘솔 접근 하는 방법을 찾았습니다.


vmware-vmrc.exe 를 통해 VM Guest 콘솔로 접근하기

VMRC를 통해서 콘솔에 접근하기 위해서는 VMID를 알아야 합니다
VMID는 VM HOST 서버에 SSH로 접근하여 아래 명령어로 쉽게 알 수 있습니다.

# vim-cmd vmsvc/getallvms여기서 접속하고 싶은 VM GUEST의 vmid 번호를 기억해 둡니다.

자신의 컴퓨터의 아래 경로로 이동하여,

C:\Program Files (x86)\Common Files\VMware\VMware VMRC Plug-in\Internet Explorer

아래 명령어를 사용하면 VMWARE Client가 없어도 콘솔로 접근이 가능합니다.
vmware-vmrc.exe -h VMGUEST IP주소 -M vmid
근본적인 문제 해결은 못하였지만,

어쨋든 콘솔로 접근은 할 수 있었습니다.

RT-AC68U ASUS DDNS 연결 실패, NTP 시간동기화 실패

RT-AC68U 사용 중, 어느 순간부터 ASUS DDNS 동기화에 실패하고, 관리페이지 접속했을 때, 인터넷이 정상적으로 연결된 상태임에도 불구하고 연결 끊김 현상으로 표시되는 현상을 확인하였다.

원래는 인터넷 상태가 “연결됨” 이 정상이나 “연결끊김”으로 표시되었다.

ASUS에서 제공하는 DDNS도 정상적으로 동작하지 않았고, 시스템 설정쪽 NTP 설정에서는 오류 메세지가 나타나고 있었다.

원래는 NTP 서버 밑에 아무런 메세지가 없어야 하나, 당시에는 NTP 동기화에 실패했다는 메세지가 떴었다.

혹시나 싶어 콘솔에 연결하여 DATE로 시간을 확인해보니, 시간이 많이 틀어짐을 확인하였다.

지금은 2019년 인데 시스템시간은 2018년…

NTP서버를 다른 서버로 지정도 해보고, 콘솔에서 강제로 시간을 변경도 해보았으나, 리붓을 하면 다시 원래대로 저 시간으로 돌아왔다.

구글 검색해봐도 정확한 원인을 찾을 수가 없었으며, 일단 펌웨어부터 롤백해보기로 하였다.

내 공유기에 적용된 펌웨어는 2019년 9월 5일 출시된 “3.0.0.4.384.81049” 버전 사용중이었다.

2019년 5월 13일에 출시된 “3.0.0.4.384.45717” 버전을 다운받아 일단 롤백 진행하였다.

이전 펌웨어로 롤백 진행하고, 공유기가 재부팅 된 후 확인해보니 정상적으로 해결되었다.

NTP 시간동기화 에러는 3.0.0.4.384.81049 버전에서 발생하는 버그인 것 같다. 시간이 과거 시간으로 틀어짐으로 인해, ASUS DDNS 동기화에도 영향을 미쳤던 것으로 판단되며, 펌웨어를 롤백한 현재는 모 든것이 정상이다.

예전 펌웨어는 여기서 다운로드 할 수 있다.

https://www.asus.com/Networking/RTAC68U/HelpDesk_BIOS/

Windows 10 k, kn 윈도우 미디어 기능 팩 설치

GTA5를 설치하려고하니, 윈도우 미디어 기능팩을 요구합니다.

아래 사이트에서 다운로드 후 설치를 하려고 하면, 설치까지는 잘 진행 되나, 실제 실행하면 윈도우 미디어 기능팩을 못찾는 현상이 계속 발생하였습니다.

https://www.microsoft.com/ko-kr/download/details.aspx?id=48231

https://www.microsoft.com/ko-kr/download/details.aspx?id=49919

 

 

최신 버전의 윈도우 10 에서는 아래 사이트에서 제공하는 미디어 기능팩을 설치하셔야 저러한 문제를 해결 할 수 있습니다.

아래 링크를 클릭하신 후 다운로드 하여 설치하세요

“Windows_MediaFeaturePack_x64_1709.msu”

https://www.microsoft.com/en-us/software-download/mediafeaturepack

nginx UDP PROXY PASS 설정

1.  현재 사용하고 있는 nginx 버전 확인

-> nginx-1.13버전 이상 사용.

-> 그 이하 버전은 udp 옵션을 지원하지 않는 것 같음.. (언제 업데이트 된거지..)

 

2. nginx.conf 설정은 아래와 같이 설정.

stream {
server {
listen 5555 udp;
proxy_udp;
}
upstream proxy_udp {
server 192.168.0.10:5555;
}
}

3. 재구동 확인.

리눅스 디스크 공간이 실제 사용량과 맞지 않음.

리눅스에서 디스크 공간이 부족하여 공간을 정리하였으나, df나 du로 확인시 서로간에 용량이 틀린점을 볼 수 있습니다.

이럴 경우 누군가가 해당 파일을 잡고 있을 때, 이러한 현상이 발생합니다.

lsof 명령으로 해당 프로세스를 확인할 수 있습니다.

lsof /home

> lsof 명령으로 이미 제거된 파일을 잡고 있는 프로세스의 PID를 확인합니다.


ps -aux | grep PID값

> 누가 쓰고 있나 한번 더 확인하고,


kill -9 PID값

> KILL 명령으로 해당 프로세스를 날리면 용량이 바로 확보됩니다.


# 리부팅이 가능한 상태라면, 리부팅만으로도 해결 가능합니다.

VHD 용량 증설 하기

VHD 가상디스크를 만들어 사용하고 있는 경우, 용량이 부족할 경우 DISKPART 로 용량 추가가 가능합니다.

1. CMD 실행
2. DISKPART 실행
3. select vdisk file = “d:\test.vhd”  <- vhd 파일 위치 지정
4. detach vdisk  <- 이미 연결된 vhd 파일이 있을 경우 연결 해제

5. expand vdisk maximum=1024000 <- 1TB로 용량 증설

# 용량은 각자 원하는 대로 지정할 수 있습니다.
  현재 800G를 할당하여 사용 중일 경우 1T로 증설하게 되면,
  기존에 할당된 용량에서 부족한 200G만 추가되어 1T로 증설됩니다.

[DS216J] 서비스 [synolog] 시작 실패.

DS216J로 NAS를 교체하고 데이터를 옴기는 중,

어느 순간부터 NAS 재부팅시 아래와 같은 메세지가 발생했다.

NASM

갑자기 왜 발생한건지 모르겠다.

일단 콘솔로 접근하여 확인할 수 있는 부분을 찾아보았다.

 

상세 메세지라도 찾을 수 있으면 좀 더 자세히 알아보겠지만, 내가 볼 수 있는건 이게 다였다.

 serv-bootup-timeout.sh: service [ “synolog” ] failed on bootup.

여태 사용해왔던 리눅스와는 많이 틀려서, 좀 더 살펴봐야 할 것 같다.

 

일단 에러메세지 제거를 위해 Synology 기술센터로 Case Open 하여 해결을 요청하였다.

 

그 후, 몇가지 찾아보니 이런 부분을 찾을 수 있었다.

WebDAV 설정에 로그 기록 부분이 활성화 되어 있는 경우 위와 같은 에러메세지가 발생할 수 있음을 찾았다.

NASM2

 

몇 일전 WebDAV를 설정하고자 로그 활성화를 시키고 WebDAV 설정을 다시 OFF 한 적이 있었는데.. 이 문제 로 인해 발생한 것으로 보여진다.

추측하건데, WebDAV 로그 설정이 체크되어 있어, Synolog 서비스 시작시 WebDAV로 접근을 시도했을껀데, WebDAV 설정이 안되어 있다보니 이 과정에서 서비스를 정상화하지 못했을 거라 추측한다.

WebDAV 로그 활성화 부분을 제거 후 Synolog 서비스 시작 실패 메세지는 뜨지 않았다. WebDAV를 활성화 시킨 후 로그를 활성화시켜도 저 메세지는 발생하지 않았으며, WebDAV가 활성화되지 않은 상태에서 WebDAV 로그를 활성화시킨 경우에만 발생하였다.

현재 가장 최신 버전인 DSM 6.0.2-8451 Update2를 사용중인데 여기서 가지고 있는 버그인것 같다. 어쨋든 문제는 해결되었다.

 

그래픽카드 여러개인 노트북 윈도우10에서 부팅 빠르게 하기

노트북은 내장 그래픽도 있지만 외장 그래픽도 있는 경우가 있습니다.

이런 경우 윈도우 10에서 부팅시 1분정도 지연되는 현상이 있습니다.

 

레지스트르에 아래 해당되는 값을 1로 변경 후 부팅하면 정상적인 속도로 부팅이 가능합니다.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001\EnableUlps  -> 1로 변경
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001\EnableUlps_NA -> 1로 변경

 

 

WSUS Windows update 80072ee2 error 발생

WSUS로 구성된 서버에서 Windows Update시 80072ee2 에러가 발생하며 윈도우 업데이트가 이루어지지 않았습니다.

검색해보니 인터넷연결 오류로, 레지스트리에서 윈도우 업데이트 서버 지정된 부분을 삭제하고 다시 해보라고하는데 WSUS를 사용하고 있으므로 이부분은 해당사항이 안됩니다.

저는 아래와 같이 문제를 해결했습니다.

 1. Go to Start

2. In the Run box type services.exe and hit enter

3. Find the ‘Windows Update‘ (leave the Services windows open) at the bottom of the list

4. Right click it and select stop  (leave the Services windows open)

5. Browse to C:\Windows\SoftwareDistribution  in My Computer/Windows Explorer and Delete its contents

6. Return to the services window

7. Find the ‘Windows Update‘ service at the bottom of the list, right click it and select start

출처 : http://bobmckay.com/i-t-support-networking/simple-fix-windows-update-error-80072ee2-8024400a-8024400d-8024400e/

라즈베리파이3 chromium-browser 실행 안되는 현상

라즈베리파이3 부터 Chromium 브라우저가 apt-get으로 설치가 안되서 어떻게 설치는 했는데…  설치후 아래와 같은 오류메세지가 발생하며 실행이 안되었습니다.

데스크탑에서 실행시에는 아무런 에러가 안뜨고, Chromium 브라우저를 실행하면 아무런 반응이 없습니다.

콘솔에서 Chromium-browser를 실행하면 아래와 같은 에러메세지가 발생하여 실행이 되지 않는 것을 확인하였습니다.

[1:1:0615/234520:FATAL:setuid_sandbox_client.cc(126)] Check failed: IsFileSystemAccessDenied().
#0 0x000076e143c2 base::debug::StackTrace::StackTrace()
#1 0x000076e27c5a logging::LogMessage::~LogMessage()
#2 0x0000734920d4 sandbox::SetuidSandboxClient::ChrootMe()
#3 0x00007537e63a <unknown>
#4 0x00007510eab4 <unknown>
#5 0x00007510f002 <unknown>
#6 0x00007510e7c2 content::ContentMain()
#7 0x000054d2085c <unknown>
#8 0x000071db6294 __libc_start_main

Received signal 6
#0 0x000076e143c2 base::debug::StackTrace::StackTrace()
#1 0x000076e146f8 <unknown>
#2 0x000071dcd1a0 <unknown>
#3 0x000071dcbf70 gsignal
[end of stack trace]

정확한 원인은 모르겠으나 어쨋든 sandbox에서 오류가 발생하였으므로, –no-sandbox 옵션을 주면 정상적으로 실행이 가능합니다.

./chromium-browser –no-sandbox –user-data-dir’

 

데스크탑에서는 아래와 같이 설정해야 아이콘 클릭만으로 사용할 수 있습니다.

rasp_1

해당 아이콘 속성에 –no-sandbox를 추가해줍니다.

rasp_2

라즈베리파이3 HDMI DISPLAY PORT OFF

라즈베리파이에서 사용하지 않는 포트를 OFF하여 전원을 절약할 수 있습니다.

저의 경우 HDMI PORT는 처음 셋팅할 때만 사용했고, 그 이후에는 원격으로만 연결하여 사용하므로,  OFF시켰습니다.

HDMI DISPLAY PORT OFF

–  sudo /opt/vc/bin/tvservice -o

 

HDMI DISPLAY PORT ON

–  sudo /opt/vc/bin/tvservice -p

modsecurity unicode sql injection

웹사이트를 만들고, 한글을 post로 넘길 때, 유니코드로 넘어가게됩니다.

이 과정에서 modsecurity가 설치 되어 있는 경우 유니코드를 sql injection으로 탐지하는 경우가 있는데요.

아래와 같이 탐지 룰을 조정하면 해결 가능합니다.

기존

"(^[\"'`´’‘;]+|[\"'`´’‘;]+$)"

변경

"(^(?:(?&QC)|;)+|(?:(?&QC)|;)+$)(?(DEFINE)(?'QC'(?:[\"'`]|\xC2?\xB4|\xE2\x80(?:\x99|\0x98))))"

 

출처 : https://github.com/SpiderLabs/owasp-modsecurity-crs/issues/21

윈도우 원격데스크톱 포트 변경하기 (3389에서 다른 포트로)

윈도우 원격데스크톱 포트를 3389에서 다른 포트로 변경할 때 regedit에서 아래의 부분의 3389 포트부분을 변경해 줍니다.

HKLM\System\CurrentControlSet\Control\Terminal Server\wds\rdpwd\tds\tcp
HKLM\System\CurrentControlSet\Control\Terminal Server\Winstations\Rdp-tcp

어렵진 않으나, 기억하기 힘들어서 기록차원에서 남김.

PHP에서 POWERSHELL SCRIPT 실행하기

환경 :  WINDOWS 2012 R2 + PHP + IIS

윈도우에서 사용하는 POWERSHELL(PS1) 스크립트를 PHP가 실행하여 해당 결과를 리턴받아 사용자에게 표시하는 기능이 필요했습니다.

일반적으로 리눅스에서는 exec(), shell_exec(), system()과 같은 함수를 사용하셔 bash script를 손쉽게 호출했고, 결과 값을 받아서 사용했었는데요.

윈도우에 해당 사항을 적용해보니 제대로 결과 값을 리턴하지 못하는 현상을 확인했습니다.

해당 스크립트 뒤에 2>&1 만 추가하면 파워쉘 실행후 파워쉘에서 결과를 리턴받아 웹에 출력이 가능합니다.

$output = shell_exec(‘powershell “get-user “testing” 2>&1“‘);

$fp = shell_exec(“$command 2>&1“);

 

출처 : http://stackoverflow.com/questions/2360228/php-to-powershell-using-shell-exec

 

 

PHP에서 간단하게 (6자리)랜덤 숫자 생성하기

PHP를 이용해 간단하게 6자리 랜덤키를 아래와 같이 생성할 수 있습니다.

rand(000000,999999);

위와 같이 할 경우 앞자리가 숫자 0인 경우 제대로 처리를 하지 못해 중간에 5자리로 표시되는 경우도 있는데요. 이럴 경우를 대비해서 숫자 0도 출력할 수 있도록 sprintf 문도 같이 사용합니다.

$rand_num = sprintf(‘%06d’,rand(000000,999999));

위와 같이 사용하면 6자리 랜덤한 숫자키를 생성할 수 있습니다.

AD 가입된 정보 확인 (fsmo)

AD 가입된 상태에서 현재 어느 AD서버를 바라보는지 확인하기

 

PS C:\Users\***> netdom query fsmo
스키마 마스터          testdc01.test.com
도메인 명명 마스터 testdc01.test.com
PDC                          testdc01.test.com
RID 풀 관리자          testdc01.test.com
인프라 마스터          testdc01.test.com
명령을 완료했습니다.

PHPExcel 에서 줄바꿈 처리

PHPExcel 을 이용해 EXCEL 파일 생성시 줄바꿈 처리 방법.

  1. setWrapText 허용  

$objPHPExcel->getActiveSheet()->getStyle(“D1”)->getAlignment()->setWrapText(true);

 

2. 줄바꿈 문자 처리

   $lfcr = chr(10);
$group_for_excel = str_replace(‘|’,$lfcr,substr($search_info_array[8], 1));

 

중요한 건 setWrapText 허용 부분과 php에서 줄 바꿈 처리하여 EXCEL파일 생성시 줄바꿈 문자는 chr(10)을 사용한다는 것.

 

AhnLab Safe Transaction 제거 하고 싶은데..

어느 순간부터 은행 사이트에서 거래를 하기위해선 “AhnLab Safe Transaction” 을 설치하라고 합니다.

뭐 설치하는건 문제가 없으나, 한번 설치하게되면 계속 프로세스로 상주해있습니다.

은행거래할때만 실행을 시키던가.. 이도 저도 아니고 은행사이트 떄문에 불가피하게 설치했는데 사용자 PC에 마냥 상주해 떠 있게 만들어 놓은 의도는 뭘까요.?

환결설정을 봐도 항상 실행하기를 해제할 수도 없게 만들어 놓고…

ast

안랩 사이트에  컴퓨터 실행시 자동실행을 막는 방법에 대해 문의를 해봐도 답이 없네요.

ast2

Active Directory에서 COMPUTER의 OU 정보 찾기

ActiveDirectory 관리자에서 특정 컴퓨터의 OU정보를 확인하려고 검색했는데

아무리 봐도 OU정보가 없다.

확인해보니 GUI 환경에서는 OU정보를 찾을 수 가없고,

파워쉘을 이용해서 검색해야만 OU정보가 표시된다.

get-adcomputer -filter {samAccountName -like ‘*컴퓨터이름*’}

윈도우 2012 R2 IIS 8.5에서 인증서 추가시 사라지는 현상

환경 : windows 2012 R2 iis 8.5

증상

  1. sha2 SSL 인증서 설치 후 IIS 서버인증서 항목에서 해당 인증서가 사라지는 현상.
  2. MMC 인증서 항목에는 정상적으로 들어가있음.

원인

  1. 서버상 개인키가 존재하지 않아 문제가 발생함.
  2. MMC 인증서 항목에서 해당 인증서를 보면 개인키에 대한 언급이 없음

PEAR Package offline install

PEAR Package를 설치할때 인터넷이 연결되지 않거나, 보안정책상 인터넷에 접속할 수 없는 경우 설치하기가 난감할 때가 있습니다.

이럴때는 패키지만 먼저 다운로드 받고 그 패키지로 아래와 같이 OFFLINE설치 할 수 있습니다.

[root@localhost ~]# pear install DB-1.8.2.tgz
Package “pear.php.net/DB” dependency “pear.php.net/PEAR” has no releases
install ok: channel://pear.php.net/DB-1.8.2

출처 : http://pear.php.net/manual/en/guide.users.commandline.installing.php

CentOS YUM install ERROR

CentOS를 설치하고 YUM UPDATE를 하려고 했는데 아래와 같은 메세지가 발생하며 YUM UPDATE가 진행되지 않았음.

1

이리저리 구글에도 검색해봤는데 딱히 답이 없어보임..

버전을 7.X, 6.X 바꿔가며 테스트해봤는데 동일한 증상.

뭔가 네트워크 설정 문제인것같은데….

암튼.. 여기에 많은 시간을 쏟을 수 없어 REPO를 DAUM으로 변경 후 진행하니 정상적으로 사용가능.

REPO 변경은 기존에 REPO 설정 백업 후 아래와 같이 함.

echo '[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.daum.net/centos/$releasever/os/$basearch/
gpgcheck=0 
[updates]
name=CentOS-$releasever - Updates
baseurl=http://ftp.daum.net/centos/$releasever/updates/$basearch/
gpgcheck=0
[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.daum.net/centos/$releasever/extras/$basearch/
gpgcheck=0' > /etc/yum.repos.d/Daum.repo

출처 : http://zetawiki.com/wiki/Yum_Daum_%EC%A0%80%EC%9E%A5%EC%86%8C_%EC%84%A4%EC%A0%95

이빨빠진 array 재정렬 하기

PHP에서 ARRAY배열을 사용하다보면 잦은 unset 으로 중간에 array 이빨이 빠진 경우가 종종 있습니다.

이럴 경우 아래와 같이 설정하여 이빨빠진 배열을 재정리해줌으로써 불필요한 공간을 정리할 수 있습니다.

$var_array = array_values(array_filter($var_array));

아니면

$var_array = array_slice(array_filter($var_array),0);

PHP에서 함수에 배열 넘기기

목적 : PHP에서 함수 매개변수에 배열넘기기

배열을 그냥 만들어서 함수의 매개변수로 넘기지 제대로 값이 넘어가지 않는 현상 확인.

해결방법 : 배열을 함수에 넘기기전, serialize후 넘기고, 함수에서는 받은 값을 unserialize 후 사용

http://kr.php.net/manual/en/function.serialize.php

스팸 댓글 남기는 IP차단

요근래, 스팸 댓글이 많이 달리고, 쓸데없는 트래픽이 증가되고 있어, 스팸댓글을 다는 IP를 차단했습니다.

195.154.188.41
195.154.188.74
195.154.173.141
195.154.191.162
195.154.189.155
195.154.211.220
195.154.188.224
62.210.177.242
62.210.89.37

뭐하는 애들인지 모르겠네요…

일단 접근 자체를 아예 봉쇄 했습니다 ㅎㅎ

[사용기] AnyGate NAS350D 나스 구입!~

AnyGate 사에서 예전에 출시한 NAS 제품을 구입하였습니다.

지금은 NAS 사업을 철수해서, AS도 불가능하고, 제품에 대한 고객지원도 불가능합니다.

하지만 가격이 깡패라 그냥 한번 구입해봅니다.

기능상 주요 특징은

1. RAID 지원 (1 과 0 을 지원하고 있습니다.)

2. 2BAY HDD 지원

딱 2개만 봤습니다. 속도 느리다고 하는데 속도 느린건 사실 상관없거든요.

사진만 저장/보관할꺼라서요

500G HDD 2개를 꽂아 RAID1으로 구성할껀데, 아직 기존에 사용하던 HDD가 정리가 되지 않아

실제 사용해보진 못했네요 ㅠㅠ

NAS350D_1

NAS350D_2

NAS350D_3

MySQL TABLE 대소문자 구분 없애기

/etc/mysql/my.cnf 파일을 수정

[mysqld] 항목에 아래 내용 추가 후 재시작
lower_case_table_names=1

 

정상 적용 상태 확인은 MYSQL 접속후 아래의 명령으로 확인 가능합니다.
show variables like ‘lower_case_table_names’;

lower_mysql

lower_case_table_names에 지정되는 값의 의미입니다.

의미
0 테이블과 데이터베이스 이름들은 CREATE TABLE 또는 DATABASE 문에 정의된 문자로 디스크에 저장되며 이름 비교시 대소문자를 구분
1 테이블과 데이터베이스 이름들은 소문자로 저장되고 이름 비교시 대소문자를 구분하지 않는다
2 테이블과 데이터베이스 이름들은 CREATE TABLE 또는 DATABASE 문에 정의된 문자로 디스크에 저장되며 이름 비교시 대소문자를 구분하지 않는다

LINUX “open files” 사이즈 확인

 

시스템에서 설정할 수 있는 open file 크기는 서버 스펙마다 다릅니다.

내 시스템에서 지원하는 open file크기는 아래의 명령어로 확인 가능합니다.

아래 둘중 하나의 명령어를 사용

1.  cat /proc/sys/fs/file-max

2.  sysctl fs.file-max

 

 

MICROSOFT Azure 서비스 살펴보기.

azure_intro

Azure는 Amazon AWS와 유사한 서비스로 마이크로소프트에서 서비스하고 있습니다.

단 시간에 서버 구축 , 서비스를 구축할 수 있고, 쓴만큼만 비용을 지불 하는 서비스입니다.

azure_intro2

다양한 서비스가 제공되고 있으며, 이모든 서비스에 대해서 사용한 만큼만 요금을 지불하면 됩니다.

하지만 가격을 보면 개인이 사용하기엔 부담스러운 가격입니다. ㅠㅠ

[요금계산기]

윈도우서버나, 오라클, MSSQL와 같은 유료 SW에 대한 사용부분도 라이선스 비용이 이용요금에 포함되어 있어 별도의 구매절차가 없이 사용하기엔 좋은 것 같습니다.

azure_logo

MYSQL GROUP BY 후 ROW COUNT

MYSQL 에서 GROUP BY로 중복데이터를 묶은 후 ROW COUNT를 확인할 필요가 있었습니다.

 

내가 원하는 결과는 아래와 같은 결과인데…

groupby_1

 

Group by를 하고 난후 count를 하게되면 아래와 같은 결과가 나옵니다 ㅠ.ㅠ

groupby_2

 

 

내가 필요한 데이터는  SELECT된 ROW의 COUNT 인데.. 항목별 COUNT가 표시가 됩니다..

 

이럴 때, GROUP BY 후 ROW COUNT 결과를 얻으려면 아래와 같이 쿼리를 사용하면 원하는 결과를 찾을 수 있습니다

groupby_3

SELECT COUNT(*) AS 별명 FROM ( GROUP BY 들어간 SELECT 쿼리) AS 별명

MYSQL Replication Error 넘기기

MySQL Replication 구성으로 사용중 SLAVE에서 에러가 발생한 경우 아래와 같이 에러난 부분을 제외시킬 수 있습니다.

stop slave;                                                       < SLAVE 중지
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;   < 1단계 넘기기
start slave;                                                      < SLAVE 시작
show slave status\G;                                        < 상태확인

MYSQL 감사 로그 (audit log)

MYSQL은 MSSQL과 달리 따로 감사로그가 남지 않는다.

GENERAL LOG를 남기면 발생하는 쿼리들과 함께 접속 로그가 남긴하는데, 쿼리도 같이 남기때문에 기록되는 데이터량이 클수 밖에 없다.

MYSQL 감사로그를 남기기 위해 여러 방법을 찾아보았는데 아래와 같이 로그인 트리거를 통해 기록하는 방법이 있다.

http://www.fromdual.com/sites/default/files/logon_trigger_wp.pdf

mongoDB ReplicaSet 설정시 couldn’t initiate : can’t find self in the replset config my port 오류

 

mongoDB ReplicaSet 설정시 rs.initiate() 실행시 오류가 발생하며 정상적으로 설정이 진행이 안되는 문제가 있었습니다.

[root@mongo03 cfg]# mongo localhost:31000
MongoDB shell version: 2.4.4-pre-
connecting to: localhost:31000/test
Welcome to the MongoDB shell.
For interactive help, type “help”.
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
> use admin
ㅁswitched to db admin
> rs.initiate()
{
“info2” : “no configuration explicitly specified — making one”,
“me” : “mongo03:31000”,
“ok” : 0,
“errmsg” : “couldn’t initiate : can’t find self in the replset config my port: 31000
}

문제 해결 : 해당 에러가 발생하는 건 mongoDB에서 IP로 해당 서버 DB에 접근하는 것이 아닌 HOSTNAME으로 접근하기때문에 발생한 문제입니다. 에러메세지를 보면 “me”라고 된 부분에 hostname이 표시되어있습니다. 해당 hostname으로 mongoDB에 잘 찾아갈 수 있게 /etc/hosts파일에 해당 hostname을 추가해주면 해결이 가능합니다.

 

 

Server Signature 변경 후에도 적용되지 않는 현상

ModSecurity 설치 후 Server Signature를 변경 후 적용 하였으나, 실제 확인해보면

적용이 제대로 안된 것으로 나오는 현상이 있음.

[증상]

# curl -i localhost
HTTP/1.1 403 Forbidden
Date: Mon, 19 May 2014 05:28:57 GMT
Server: Apache
Content-Length: 202
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don’t have permission to access /
on this server.</p>
</body></html>

 

[해결방법]

apache httpd.conf에 ServerTokens를 Full로 변경 후 아파치 재시작 하면 적용 가능

 

/etc/httpd/httpd.conf

ServerTokens Full

 

설정 변경 후 아파치 재시작. 그리고 다시 테스트

# curl -i localhost
HTTP/1.1 403 Forbidden
Date: Tue, 20 May 2014 00:43:51 GMT
Server: Microsoft-IIS/5.0
Content-Length: 202
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don’t have permission to access /
on this server.</p>
</body></html>

MYSQL 운영중 QUERY LOG 남기기

MYSQL 5.1 이상 버전부터는 서비스 운영중에 언제든지 MYSQL QUERY LOG를 남길수 있습니다.

MYSQL에 접속하여 현재 QUERY LOG 기록 상태를 확인합니다.

mysql> SHOW VARIABLES LIKE ‘general%’;

+———————+—————————————+
| Variable_name    | Value                                        |
+———————+—————————————+
| general_log        | OFF                                          |
| general_log_file | /var/log/query.log                      |
+———————+—————————————+

여기서 보이는 general_log = OFF는 현재 로그가 남지 않도록 설정 된 것이며, 아래의 쿼리로 로그를 남기도록 설정할 수 있습니다.

mysql> SET GLOBAL general_log = ‘ON’;
Query OK, 0 rows affected (0.00 sec)

 

PHP Notice 로그 제거

PHP에서 NOTICE 에러가 표시되는 부분을 제거하려면 아래와 같이 하시면 됩니다.

 

–  php.ini 파일에 아래 항목 수정
error_reporting = E_ALL & ~E_NOTICE

레노버 E320에서 크롬 멈추는 현상

레노버 E320노트북을 사용중인데, 이노트북은 그래픽카드를 전환하여 사용할 수 있는 특징이 있습니다.

고성능 작업을 할때는 고성능의 GPU를 사용하게 설정할 수 있고, 고성능이 아닌 작업을 할때에는 메인보드 내장 그래픽의 저성능 GPU를 사용하여 전원을 절약할 수 있습니다.

하지만 이런 기능때문에 E320에서 크롬이 멈추는 듯한 현상을 볼 수 있으며, 멈추었을때 크롬 브라우저의 사이즈를 조절하면 다시 화면이 표시되기도 합니다. 뭔가 전환그래픽이라는 독특한 시스템 특성상 발생하는 문제 같습니다.

일단 해당 문제를 해결하려면 Catalyst Control Center에 접속하여 “전환가능 그래픽 방법”에서 기본 설정인 “응용프로그램 요구를 기반으로 그래픽 프로세서를 선택합니다” 가 아닌 “수동으로 또는 전원을 기반으로 그래픽프로세서를 선택합니다,“를 선택해주시면 문제 해결이 가능합니다.

aa

 

고성능 GPU를 선택했을 때도 정상 동작하고, 저성능 GPU를 선택했을 때도 문제 없이 잘동작합니다.

 

출처 : http://blog.naver.com/kyusuen88?Redirect=Log&logNo=110164327304

쉘스크립트 IF문 조건식

쉘스크립트에서 자주사용하지만 매번 헷갈리는 IF문 조건식입니다.

문자열체크

[ stringName ] – 문자열이 널(NULL)인지 체크, Null이 아니면 참
[ -n stringName ] – 문자열의 사이즈가 0 이상인지 체크, 0 이상이면 참
[ -z stringName ] – 문자열의 사이즈가 0 인지 체크, 0이면 참
[ stringNameA = stringNameB ] – A문자열과 B문자열이 같은지 체크, 같으면 참
[ stringNameA != stringNameB ] – A문자열과 B문자열이 다른지 체크, 다르면 참

 

숫자 대소 관계 체크

[ intA -ge 100 ] – 숫자 A가 100보다 크거나 같은지 체크, 100 이상이면 참
[ intA -gt 100 ] – 숫자 A가 100보다 큰지 체크, 100이 넘으면 참
[ intA -le 100 ] – 숫자 A가 100보다 작거나 같은지 체크, 100 이하이면 참
[ intA -lt 100 ] – 숫자 A가 100보자 작은지 체크, 100 미만이면 참

 

파일 체크

[ -r filename ] – 해당 파일이 읽기 가능한지 체크
[ -w filename ] – 해당 파일이 쓰기 가능한지 체크
[ -x filename ] – 해당 파일이 실행 가능한지 체크
[ -s filename ] – 해당 파일의 사이즈가 제로 이상인지 체크
[ -d filename ] – 해당 파일이 디렉토리 파일인지 체크
[ -f filename ] – 해당 파일이 보통 파일인지 체크
[ -h filename ] – 해당 파일이 링크 파일인지 체크

 

조건문의 결합

[ 조건문A -a 조건문B ] – 조건문 A와 B가 모두 참인지 체크, -a는 AND
[ 조건문A -o 조건문B ] – 조건문 A와 B중 참이 하나라도 있는지 체크, -o는 OR

네이버 검색 티스토리 RSS등록하기

 

네이버 블로그의 경우 네이버 검색에서 바로 노출이 되지만, 티스토리, 이글루스, 워드프레스와 같은 블로그의 경우 별도의 RSS를 해당 검색엔진에 등록을 해야 정상적으로 검색엔진에 노출이됩니다.

네이버 RSS는 아래의 링크에서 등록이 가능하며, 단순히 RSS주소만 추가해주시면 등록이 가능합니다. RSS등록은 신청한다고 다 되는게 아니라 어느 정도 정보성이 있다고 네이버에서 판단할 경우에만 등록 됩니다.

만약 등록신청했는데 등록이 안되었다고해서 실망하지마세요. 블로그를 좀 더 운영하시고 등록신청하시면 대부분 통과가능합니다~

 

[네이버 RSS 등록화면 바로가기]

인텔 CPU 모델명 찾기, CPU 정보확인

인텔은 CPU 라인업이 많아서 이CPU가 정확히 어떤 성능을 가지고 있는지 그냥봐서는 모릅니다.

 

아래의 인텔사이트로 접속하시면 서버,노트북,데스크탑별로 CPU모델명으로 정보확인이 가능하여 CPU성능확인에 많은 도움이 됩니다. 참고하세요~

http://www.intel.co.kr/content/www/kr/ko/processor-comparison/compare-intel-processors.html?select=server

NGINX + PHP spawn-fcgi 실행시 문제 255

nginx 설치후 spawn-fcgi 실행시 아래와 같은 오류가 발생하였습니다.

/etc/init.d/php_cgi start
spawn-fcgi: child exited with: 255

원인은 php-fpm 이 문제입니다.

현재 제가 쓰고있는건 php 5.2버전인데 php 5.2버전에서는 fpm을 사용하려면 php 코어를 컴파일 해야한다고합니다. php 5.3.6 버전에서는 해당 fpm이 통합되어 별도의 컴파일 없이 바로 사용이 가능합니다.

최소 php 5.3.6 이상 버전으로 업데이트하고 php_cgi를 실행해보니 정상적으로 동작하고 있습니다.

GET 특수문자 넘기기

페이지간 데이터를 주고 받을때 주고받을 데이터내에 특수문자가 존재하는 경우, POST는 문제가 없으나 GET의 경우 제대로 인식하지 않는 경우가 있습니다.

POST로 데이터 주고받는 방식을 바꾸면 바로 해결이 되나 불가피하게 GET으로 사용해야할 경우, 아래와 같이 해당 특수 문자를 변경해주면 사용이 가능합니다.

& %26
+ %2B
/ %2F
= %3D

Facebook API ipv6 Network is unreachable

LINUX에서 FACEBOOK API 연동시 아래와 같은 오류가 발생했습니다

Failed to connect to 2a03:2880:2050:1f08:face:b00c:0:1: Network is unreachable

 이 오류는 ipv4 설정이 되있는 서버에서 ipv6가 활성화 되면서 해당 도메인의 ipv6 주소로 접근을 하려고하나, 해당 서버의 ipv6 네트워크가 정상적이지 않기 때문에 발생하는 오류입니다.

 이 문제는 해당서버의 ipv6를 disable 해주므로써 해결이 가능합니다.

vi /etc/sysctl.conf
# disable ipv6
net.ipv6.conf.all.disable_ipv6=1sysctl -p (재부팅 안하고 적용)

위와 같이 설정후 재부팅하면 적용이 가능하고, 혹시라도 안되면 아래의 사이트에서 다른 방법을 찾아봐야할 것 같습니다.

 

http://wiki.centos.org/FAQ/CentOS5#head-47912ebdae3b5ac10ff76053ef057c366b421dc4

 

9. How do I disable IPv6?

  • Edit /etc/sysconfig/network and set “NETWORKING_IPV6” to “no”
  • For 5.4 and later, replace in /etc/modprobe.conf

 

alias ipv6 off

by

options ipv6 disable=1

Alternative (which might be easier and works on any release with /etc/modprobe.d):

# touch /etc/modprobe.d/disable-ipv6.conf
# echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6.conf
  • For CentOS 5.3 or older, add the following to /etc/modprobe.conf :

 

alias ipv6 off
alias net-pf-10 off
  • Run /sbin/chkconfig ip6tables off to disable the IPv6 firewall
  • Reboot the system

<!> With the 5.4 update symbol/ipv6 module dependency capabilities have been introduced; therefore, if IPv6 has been previously disabled as above an upgrade to the bonding driver in 5.4 will result in the bonding kernel module failing to load. For the module to load properly use instead:

# touch /etc/modprobe.d/disable-ipv6.conf
# echo "options ipv6 disable=1" >> /etc/modprobe.d/disable-ipv6.conf

<!> <!> Upstream employee Daniel Walsh recommends not disabling the ipv6 module but adding the following to /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1

MYSQL REPLICATION ERROR 1872

MYSQL REPLICATION 으로 운영중 MASTER와 SLAVE간에 REPLICATION이 제대로 동작하지 않아, MASTER와 SLAVE 데이터 동기화시키고, SLAVE에서 SLAVE START를 실행했을 때 아래와 같은 메세지가 발생.

“ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository”

해결방법 : reset slave 후 다시 start slave 실행 “정상동작”

 

RESET SLAVE 설명 보기

리눅스 MTU 변경

MTU (Maximum Transmission Unit) : 최대 전송 단위

리눅스에서 아래의 명령으로 쉽게 MTU 값을 변경할 수 있습니다.
# ifconfig eth0 mtu 1500

가상서버호스팅 절약형 모델 비교

가상서버호스팅 절약형 모델 비교

구분 스쿨호스팅 cafe24 팀장닷컴
메모리 512M 512M 512M
HDD 20G 20M 50G
트래픽 120G/월 100G/월 10G/일,300G/월
설치비 20,000원 22,000원 없음
월사용료 4,950원 5,500원 9,800원

자신의 사용용도에 따라 가상서버 호스팅을 선택하면 됩니다.
1년 미만의 단기간 사용할 것이라면 팀장닷컴의 가상호스팅이 별도의 설치비를 지불하지 않아 저렴합니다.

하지만 1년이상 서비스를 유지할 계획이시라면 스쿨호스팅이나 CAFE24로 고려해볼 필요가 있습니다.

제가 추천한다면 구지 CAFE24보단 스쿨호스팅을 추천하겠습니다.

지금도 사용중입니다 ^^

네이버 블로그 RSS 등록하기

네이버에 블로그 RSS등록하기.

네이버 블로그나 티스토리 같은 블로그를 운영하면 네이버에서 자동 색인이 되어 검색어에 노출됩니다. 하지만 개인 블로그는 검색엔진에 직접 RSS 추가 요청을 해야지만, 검색엔진 로봇에 색인하여 검색에 노출 될 수 있습니다.

RSS등록은 아래와 같이 할 수 있습니다.

1. 아래의 링크로 이동하여 ‘문의하기’ 클릭.

[네이버 등록 하기]

 

2. 아래와 같이 문의 사항 작성 후 등록신청rss

 

 

등록하려는 블로그에 충분히 내용이 없다면 아래와 같이 거절 메일이 옵니다. ㅠㅠ

rssno

리눅스에서 윈도우 공유폴더 마운트

[문제점]

리눅스에서 윈도우 공유폴더 마운트시 아래와 같은 명령어로 마운트를 합니다.

mount -t cifs //xxx.xxx.xxx.xxx/sharefolder /mnt/sharefolder -o user=’account’,password=’password’

마운트시 아래와 같은 오류가 발생했을 시 해결 방법입니다.

mount error(13): Permission denied

[해결방법]

공유폴더를 지정한 윈도우서버에서 아래의 정책을 확인합니다.

b

로컬보안정책 – 로컬정책 – 보안옵션 – LAN manager – 위그림과 같은 옵션.

 

윈도우8 .NET FRAMEWORK 3.5 OFFLINE 설치

준비물 : 윈도우8 CD

설치방법

CMD.exe 실행후 아래 명령어 실행

dism /online /enable-feature /featurename:Netx3 /All /Source:D:\sources\sxs /LimitAccess

(/Source: 뒷부분 D: 만 CDROM 드라이브로 변경하여 적용)

http://msdn.microsoft.com/ko-kr/library/hh506443.aspx

java.lang.OutOfMemoryError: Java heap space

톰캣 운영중 http 서비스가 제대로 되지 않고 아래의 에러메시지가 catalina.out 로그에 발생함.

java.lang.OutOfMemoryError: Java heap space

1. heap size를 늘려 조치

2. /usr/local/tomcat6/bin/catalina.sh 을 열어 아래 옵션 추가
    CATALINA_OPTS=”-Xms512m -Xmx512m”;

3. 톰캣 재시작 후 정상 적용 여부 확인
    jps -lvm
    24428 sun.tools.jps.Jps -lvm -Dapplication.home=/usr/java/jdk1.7.0_21 -Xms8m
    24172 org.apache.catalina.startup.Bootstrap start -Djava.util.logging.config.file=/usr/local/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms512m -Xmx512m -Djava.endorsed.dirs=/usr/local/tomcat6/endorsed -Dcatalina.base=/usr/local/tomcat6 -Dcatalina.home=/usr/local/tomcat6 -Djava.io.tmpdir=/usr/local/tomcat6/temp

톰캣 시작 스크립트

/etc/init.d/tomcat

#!/bin/sh
tomcat=usr/local/tomcat/tomcat-6.0.35
startup=$tomcat/bin/startup.sh
shutdown=$tomcat/bin/shutdown.sh

start() {
  echo -n $”Starting Tomcat service: “
  sh $startup
  echo $?
}

stop() {
  echo -n $”Stopping Tomcat service: “
  sh $shutdown
  echo $?
}

restart() {
  stop
  start
}

status() {
  ps -aef | grep tomcat | grep -v grep
}

# Handle the different input options
case “$1” in
start)
  start
  ;;
stop)
  stop
  ;;
status)
  status
  ;;
restart)
  restart
  ;;
*)
  echo $”Usage: $0 {start|stop|restart|status}”
  exit 1
esac

exit 0

해당 파일 등록 후 service tomcat restart 로 톰캣 재시작 가능

SENDMAIL 접근권한 추가

SENDMAIL 접근 권한 추가

/etc/mail/access 파일 수정


Connect:localhost.localdomain           RELAY

Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY
121.170.XXX.XXX RELAY

해당 파일 수정완료후 아래 명령서 실행 후 SENDMAIL 재시작

makemap -v hash /etc/mail/access.db < /etc/mail/access



LINUX OPEN FILES SIZE 조절

LINUX OPEN FILES SIZE 조절

/etc/security/limits.conf

*               soft    nofile          20480
*               hard    nofile          20480

– 재부팅 못할때는 아래 명령어로 바로 적용

  ulimit -S -c 0 > /dev/null 2>&1



  ulimit -n 20480

응용프로그램 풀 오류로 인해 중지.

문제점 : 윈도우서버에서 웹서비스 운영중 특정 웹사이트가 아무 이유없이 멈추는 현상이 발생.

             웹사이트 재시작으로는 해결이 안되며 재부팅을 해야만 해결이 됨.


오류메시지 : 

EVENT ID :1002 응용프로그램 풀에 사용되는 프로세스에서 일련의 오류가 발생했기 때문에 해당 응용 프로그램 풀 ‘???’이(가) 자동으로 일시 중지됩니다.

해결방법 : 

구글 검색한 결과 대부분 아래와 같이 설정하여 해결을 한 것 같음.

해당 응용프로그램 풀에서 “다음 시간(분) 후 작업자 프로세스 재생(P)’ 를 체크 해제 후 모니터링하여 문제가 재발되는지 확인이 필요함.

윈도우 SNMP Service 설치 및 실행 오류

서버 : 윈도우2003 스탠다드 64비트

– 윈도우 2003 서버 구성요소중 SNMP Service 설치중 아래와 같은 메세지 발생.

“One or more services for the Simple Network Management Protocol component could not be started due to error ‘The service did not respond to the start or control request in a timely fashion,’.Installation will continue, but services will not be available until they are started.”

– Service.msc에서 SNMP Service 실행시 아래와 같은 메시지 발생.

“Could not start the SNMP Service service on Local Computer. Error 1053: The service did not respond to the start or control request in a timely fashion.”


해당 내용으로 구글 검색도 해보고 많이 찾아보았지만 정확한 원인을 찾지 못하였음.

혹시 몰라 C:\Windows\system32\snmp.exe 파일이 정상적인지 확인 해본 결과, 제대로된 사이즈의 파일이 들어가있지 않은 것을 확인하여, 기존에 잘운영되고있던 서버에서 snmp.exe파일을 가져와서 적용시킴.


정상사이즈는 snmp.exe (59.5KB , 60,928byte)

IIS 웹서비스 오류 (EVENT ID : 2269)

“작업자 프로세스가 http.sys 통신 또는 w3svc 통신 레이어를 초기화하지 못했으므로 시작하지 못했습니다. 데이터 필드에 오류 번호가 있습니다.”

일단 재부팅하면 바로 복구는 가능하나 근본적인 문제 해결이 아니므로, 아래 URL 참고하여 추후 재발 방지하도록 설정함.

http://support.microsoft.com/kb/896286/ko

윈도우7 에서 Windows meida plyaer 사용하기

윈도우7 에서 Windows meida plyaer 사용하기


 


윈도우7에서는 기본적으로 Windows Media Player가 내장되어있지 않아 별도의 기능팩 설치가 필요합니다.


 


Windows 7 N 서비스 팩 1 및 Windows 7 KN 서비스 팩 1용 Media 기능 팩(KB968211)


http://www.microsoft.com/ko-kr/download/details.aspx?id=16546


 


위의 URL에서 다운로드가 가능하며 해당 기능 팩을 설치해야 윈도우미디어플레이어 사용이 가능합니다.

MSSQL 2005 SP2 스케줄러 작업 등록 오류

MSSQL 2005 SP2, 스케줄러 작업 등록시 아래와 같이 메세지가 발생하며 정상적으로 등록이 되지 않음,


 




Unable to cast object of type ‘Microsoft.SqlServer.Management.Smo.SimpleObjectKey’ to type ‘Microsoft.SqlServer.Management.Smo.Agent.JobObjectKey’. (Microsoft.SqlServer.Smo)


 


SQL 2005 SP2 버그로, SP4로 업그래이드 하거나,


아래의 패치 파일을 검색후 설치하여 해결함.


SQLServer2005-KB936252-x64-ENU.exe

opentracker option

opentracker 사용시 WEB에서 사용하는 OPTION


http://127.0.0.1:6969/stats?mode=option


 

































OPTION


 


peer


TASK_STATS_PEERS 


conn


TASK_STATS_CONNS 


scrp


TASK_STATS_SCRAPE


udp4


TASK_STATS_UDP 


tcp4 


TASK_STATS_TCP


busy


TASK_STATS_BUSY_NETWORKS 


torr


TASK_STATS_TORRENTS 


fscr


TASK_STATS_FULLSCRAPE 





































s24s


TASK_STATS_SLASH24S 


tpbs


TASK_STATS_TPB


herr


TASK_STATS_HTTPERRORS 


completed 


TASK_STATS_COMPLETED


top100


TASK_STATS_TOP100 


top10


TASK_STATS_TOP10


renew


TASK_STATS_RENEW


syncs


TASK_STATS_SYNCS


version 


TASK_STATS_VERSION 


everything


TASK_STATS_EVERYTHING














statedump


TASK_STATS_TRACKERSTATE


fulllog


TASK_STATS_FULLLOG


woodpeckers


TASK_STATS_WOODPECKERS 

아파치 Directory Listing 차단

아파치 Directory Listing 차단을 아래와 같이 하였으나 정상적으로 동작하지 않음.


 


 


httpd.conf


– Options Indexes 제거


 


 


위와 같이 설정후에도 Directory Listing될 경우 아래와 같이 옵션을 주면 됩니다.


 


 


httpd.conf


Options +Includes -Indexes   로 설정하니 정상적으로 Directory Listing 차단됨.


 


 


 

mongoDB DB Drop.

mongoDB DB Drop


 







 


  mongos> use logdb;  <- 제거할 DB로 이동


  switched to db logdb


 


  mongos> db.dropDatabase()   <- 대소문자 주의하여 drop


  { “dropped” : “logdb”, “oko” : 1 }


 


 


 


SQL에서는 쉽게 하는건데 mongoDB는 생소하여 이런 기본적인 부분조차 외우기가 힘드네요 ㅠㅠ


 

PHP에서 mongoDB 사용하기

PHP RPM 설치된 환경.


 


# pecl install mongo  로 설치하면 pecl.php.net 사이트에서 mongo관련 파일을 내려받아 컴파일 하게됨.


컴파일 완료후 /usr/lib64/php/modules/mongo.so 파일이 생성됨.


 


해당 파일을 /etc/php.ini 파일에서 아래와 같이 설정


extension=mongo.so


후에 아파치 재시작


 


phpinfo()를 통해 mongo가 제대로 로딩 되었는지 확인 후 사용

SK WIBRO CBR-510S 안드로이드 와이파이 연결 끊김.

SK WIBRO CBR-510S 를 사용중입니다.


KT WIBRO 사용시에는 별다른 문제가 없었으나, SK 와이브로는 단말기가 문제인지, 안드로이드폰으로 와이파이 연결후 일정시간 사용을 안하면 실제 핸드폰에서는 와이파이가 연결된 것으로 나오나, 단말기에서는 연결이 끊긴 상태로 유지되는 문제가 있습니다.


iOS는 정상이나, 안드로이드에서만 문제가 발생하였고, 와이브로 단말기가 문제이지 않을까 생각했으나, iOS는 문제없는걸로 봐서 단말기 문제는 아니라 생각했고 안드로이드 폰의 와이파이 환경설정을 수정하여 해결하였습니다.


 


설정 -> 무선 및 네트워크 -> WIFI설정 -> 옵션 -> 비정상 AP 접속해제 “체크”


 


위와 같이 설정 후 테스트 한 결과 문제없이 연결이 유지됨을 확인하였습니다.

shading rs.initiate() 오류

mongoDB 에서 sharding 설정시,


첫번째 node를 primary로 설정시 rs.initiate()로 설정할 수 있으나, 아래와 같은 오류가 발생하는 경우가 발생


 







[root@loony22-test1 mongodb]# ./mongo mongodbtest:30000
MongoDB shell version: 2.0.6
connecting to: mongodbtest:30000/test


 > rs.initiate()
{
        “info2” : “no configuration explicitly specified — making one”,
        “me” : “mongodbtest:30000”,
        “errmsg” : “couldn’t initiate : can’t find self in the replset config my port: 30000”,
        “ok” : 0
}


 






$ sudo hostname (name chosen above including the .local at the end)

LINUX에서 HOSTNAME확인후 표시되는 HOSTNAME으로 mongo 접근


[root@mongodbtest mongodb]# ./mongo hostname:30000
MongoDB shell version: 2.0.6
connecting to: hostname:30000/test
> rs.initiate()
{
        “info2” : “no configuration explicitly specified — making one”,
        “me” : “hostname:30000”,
        “info” : “Config now saved locally.  Should come online in about a minute.”,
        “ok” : 1
}
>


 


참고 URL :  http://www.mongodb.org/display/DOCS/Replica+Sets+Troubleshooting

CentOS Network Install

준비물 : CentOS-5.7-x86_64-netinstall.iso

CD넣고 부팅

1. Instsallation Method -> HTTP 선택

2. IP할당

3. 다운로드 경로 입력
   WebSite name : ftp.daum.net
   CentOS directory : centos/5.7/os/x86_64

기본적으로 FTP가 막혀있어, HTTP로 설치가 필요해 이와 같이 진행하였습니다.

이후 설치 과정은 동일합니다.
   
 

SUBNET MASK

































































 slash subnet  slash  subnet  slash  subnet 
 /8  255.0.0.0 /16   255.255.0.0 /24   255.255.255.0
 /9  255.128.0.0 /17  255.255.128.0 /25  255.255.255.128
/10  255.192.0.0 /18  255.255.192.0 /26  255.255.255.192
/11  255.224.0.0 /19  255.255.224.0 /27  255.255.255.224
/12  255.240.0.0 /20  255.255.240.0 /28  255.255.255.240
/13   255.248.0.0 /21  255.255.248.0 /29  255.255.255.248
 /14  255.252.0.0 /22  255.255.252.0 /30  255.255.255.252
 /15  255.254.0.0 /23 255.255.254.0  /31 255.255.255.254 

nrpe compile 시 SSL Header 오류

nrpe-2.12
CentOS 5.6 32bit

nrpe 컴파일시 SSL Header를 찾지 못하는 오류가 발생함.

./configure
..

….
checking for SSL headers… configure: error: Cannot find ssl headers

해당 문제는 openssl-devel 패키지가 없어 발생하였음.

yum install openssl-devel 로 openssl-devel 패키지 설치 후 해결

nagios compile 시 오류

nagios-3.3.1.tar.gz
OS : CentOS 5.6 32BIT

nagios 컴파일시 다음과 같은 오류가 발생하여 더 이상 컴파일을 진행할 수가 없었다.




 [root@localhost nagios]# make fullinstall
cd ././base && make install
make[1]: Entering directory `/root/nagios/nagios/base’
make install-basic
make[2]: Entering directory `/root/nagios/nagios/base’
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin
/usr/bin/install -c -m 774 -o nagios -g nagios nagios /usr/local/nagios/bin
/usr/bin/install -c -m 774 -o nagios -g nagios nagiostats /usr/local/nagios/bin
make[2]: Leaving directory `/root/nagios/nagios/base’
make strip-post-install
make[2]: Entering directory `/root/nagios/nagios/base’
/usr/bin/strip /usr/local/nagios/bin/nagios
/usr/bin/strip /usr/local/nagios/bin/nagiostats
make[2]: Leaving directory `/root/nagios/nagios/base’
make[1]: Leaving directory `/root/nagios/nagios/base’
cd ././cgi && make install
make[1]: Entering directory `/root/nagios/nagios/cgi’
make install-basic
make[2]: Entering directory `/root/nagios/nagios/cgi’
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/sbin
for file in *.cgi; do \
                /usr/bin/install -c -m 775 -o nagios -g nagios $file /usr/local/nagios/sbin; \
        done
make[2]: Leaving directory `/root/nagios/nagios/cgi’
make strip-post-install
make[2]: Entering directory `/root/nagios/nagios/cgi’
for file in *.cgi; do \
                /usr/bin/strip /usr/local/nagios/sbin/$file; \
        done
make[2]: Leaving directory `/root/nagios/nagios/cgi’
make[1]: Leaving directory `/root/nagios/nagios/cgi’
cd ././html && make install
make[1]: Entering directory `/root/nagios/nagios/html’
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/media
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/stylesheets
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/contexthelp
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/docs
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/docs/images
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/images
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/images/logos
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes/rss
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes/rss/extlib
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/ssi
/usr/bin/install -c -m 664 -o nagios -g nagios robots.txt /usr/local/nagios/share
rm -f /usr/local/nagios/share/index.html
rm -f /usr/local/nagios/share/main.html
rm -f /usr/local/nagios/share/side.html
for file in *.php; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share; done
for file in stylesheets/*.css; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/stylesheets; done
for file in contexthelp/*.html; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/contexthelp; done
for file in images/*.gif; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/*.jpg; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/*.png; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/*.ico; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/logos/*.*; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images/logos; done
for file in includes/*.*; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/includes; done
for file in includes/rss/*; \
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/includes/rss; done
/usr/bin/install: omitting directory `includes/rss/extlib’
/usr/bin/install: omitting directory `includes/rss/htdocs’
/usr/bin/install: omitting directory `includes/rss/scripts’
make[1]: *** [install] 오류 1
make[1]: Leaving directory `/root/nagios/nagios/html’

디렉토리 권한문제로 인해 발생하였으며, 검색한 결과 다음과 같은 방법으로 해결할 수 있다.

1. ./configure
2. sed -i ‘s:for file in includes/rss/\*;:for file in includes/rss/\*.\*;:g’ ./html/Makefile
   sed -i ‘s:for file in includes/rss/extlib/\*;:for file in includes/rss/extlib/\*.\*;:g’ ./html/Makefile
3. make all
4. make fullinstall

위와 같이 configure 후 Makefile의 내용 수정후 다시 make시 정상적으로 컴파일을 마칠 수 있다.

윈도우 서버 관리 프로그램 mRemote

그동안 윈도우 서버에 접속하려면 윈도우 원격데스크톱(mstsc)를 사용해서 접속했었는데요.

관리하는 서버가 많다보면 mstsc를 사용하는 것은 한계가 있습니다.

mRemote라는 프로그램은 윈도우서버 정보를 미리 등록시켜놓고 클릭만 하면 바로 윈도우서버로 연결을 시켜주는 편리한 프로그램입니다.

SSL적용된 아파치 재시작시 비밀번호 자동으로 입력되게 하기

1. vi /etc/httpd/conf/SSL/httpdpass.sh




 #!/bin/sh
echo
‘SSL 비밀번호’
:wq

2. chmod 755 /etc/httpd/conf/SSL/httpdpass.sh

3. vi ssl.conf
SSLPassPhraseDialog  exec:/etc/httpd/conf/SSL/highpass.sh

PHP 컴파일

아파치 worker 컴파일하면서 같이 진행한 php 컴파일입니다.





 #!/bin/sh
#####################################
# Build Configure
#buildconf: autoconf version 2.13 (ok)
#buildconf: automake version 1.5 (ok)
#buildconf: libtool version 1.4.3 (ok)
#####################################
#rm configure
#rm buildmk.stamp
#./buildconf
#./configure –help | grep xecure
#./configure –help | grep sso


#####################################
# Clean
#####################################
rm config.cache
make clean
make -dist clean


#####################################
# Confiugre Make Make Install(DSO)
#####################################
./configure \
–with-apxs2=/usr/local/apache2/bin/apxs \
–with-mysql=/usr/bin \
–with-libdir=lib64 \
–with-freetype-dir \
–with-zlib-dir \
–with-jpeg-dir \
–with-gd \
–with-openssl \
–with-mime-magic \
–with-oci8=instantclient,/usr/lib/oracle/10.2.0.3/client64/lib \
–with-config-file-path=/usr/apache2/conf \
–disable-debug \
–with-xml \
–enable-soap \
–enable-sockets \
–enable-mbstring \
–enable-bcmath \


make
make install


아파치 Worker 컴파일

아파치 Worker 컴파일

– 기본적으로 RPM으로 아파치를 설치하게되면 기본설정이 prefork입니다.
   prefork 말고 아파치에서 worker방식을 사용하기 위해 아파치 컴파일을 진행하였습니다.

httpd-2.2.17.tar
OS : RHEL5.5 64BIT

/httpd-2.2.17/server/mpm/worker/worker.c




  – 아래 부분 수정
#Ifndef DEFAULT_SERVER_LIMIT
#define DEFAULT_SERVER_LIMIT 16 -> 128 <= 변경
#endif

위의 부분만 설정 후 컴파일을 하면 됩니다.




 ./configure \
 –prefix=/usr/local/apache2 \
 –enable-so \
 –enable-ssl \
 –with-mpm=worker \

make
make install

컴파일후
/usr/local/apache2/bin/apachectl -V를 입력하면 worker 방식으로 동작하는 것을 확인할 수 있습니다.




 Server version: Apache/2.2.17 (Unix)
Server built:   Apr  5 2011 12:21:49
Server’s Module Magic Number: 20051115:25
Server loaded:  APR 1.4.2, APR-Util 1.3.10
Compiled using: APR 1.4.2, APR-Util 1.3.10
Architecture:   64-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with….
 -D APACHE_MPM_DIR=”server/mpm/worker”
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=”/usr/apache2″
 -D SUEXEC_BIN=”/usr/apache2/bin/suexec”
 -D DEFAULT_SCOREBOARD=”logs/apache_runtime_status”
 -D DEFAULT_ERRORLOG=”logs/error_log”
 -D AP_TYPES_CONFIG_FILE=”conf/mime.types”
 -D SERVER_CONFIG_FILE=”conf/httpd.conf”

Worker 환경설정
/usr/local/apache2/conf/extra/httpd-mpm.conf




 # worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0

상황에 맞게 위의 수치를 변경하여 사용하실 수 있습니다.

PHP 컴파일 시 configure: error: Cannot find libmysqlclient under 오류

OS : RHEL 5.5
apache : worker

php 컴파일시 다음과 같은 오류 발생시

checking for specified location of the MySQL UNIX socket… no
checking for MySQL UNIX socket location… no
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install’.  Stop.

–with-mysql=/usr/bin \
–with-libdir=lib64 \

설정후 재컴파일 하여 성공하였습니다.
상황에 따라 틀리겠지만 참고하면 좋을것같습니다.

윈도우7에서 삼바 연결시 속도 느린 현상

윈도우7에서 삼바 연결시 속도 느린 현상

시작 -> gpedit.msc 실행

로컬 그룹 정책 편집기

로컬 컴퓨터 정책 -> 컴퓨터 구성 -> Windows 설정 -> 보안 설정 -> 로컬 정책 -> 보안 옵션

– Microsoft 네트워크 클라이언트 : 타사 SMB 서버에 암호화되지 않은 암호 보내기 (사용)
– 네트워크 보안 : LAN Manager 인증 수준 (LM 및 NTLM 보내기 – 협상되면 NTLMv2 세션 보안 사용(& ) )

위와 같이 정책을 변경하면 빠른 속도로 연결이 가능합니다.

윈도우7 홈프리미엄 이하버전의 경우 로컬 그룹 정책 편집기가 없으므로 http://pips.wo.tc/191 사이트를 참조하여 사용하시면 됩니다.