웹서버관련정보/윈도우 29

[팁] Zend Optimizer 업그레이드 하기

서버에서 PHP파일 로딩을 가속화 시켜주는 일종의 PHP모듈인 Zend Optimizer를 업그레이드 하는 방법을 소개하겠다. 현재(07.06.19기준) 3.2.8 버전이 최신 버전이다. Zend Optimizer는 PHP의 버전과 대강 맞아야 오류없이 잘돌아간다. 이번에 PHP와 Zend Optimizer를 업그레이드 하고나니 이전에 자꾸 에러로그에 생기던 Failed to start up concurrent users module! 메시지가 며칠씩 서버가 돌아가도 생기지 않는다 동시접속자 관련 모듈을 못읽어 들이는듯 하는데 이때문에 Child Process가 죽고 새로 생성되는 서버에는 약간이라도 부담이 갈수있는 에러였는데 해결됐다. 어쨋든 일단 ZendOptimizer 3.2.8버전을 아래링크에서 ..

[팁] 아파치 2.0.x 서버에서 mod_security 2.1.1 모듈 추가하기

(이글은 아파치 2.0.x버전대의 서버를 기준으로 설명하는 글입니다. 포함된 링크의 자료는 아파치 2.2.x 버전에서는 정상작동 하지 않고 또한 리눅스 아파치서버에서 작동하지 않습니다.) Win32용 아파치 서버 2.0.x 버전에서 mod_security 2.1.1 버전을 추가하는 방법을 소개한다. 참고로 mod_security는 아파치 서버 외부공격 방어모듈이다.(아파치서버 방화벽) 네트워크 공격에 대한 방어 모듈로는 mod_evasive등의 모듈이있으나 과도한 Dos,DDos 공격에는 견디기 힘든것으로 알려져 있다. 어쨋든 mod_security 설치방법에 대해 알아보겠다. 1.x 대의 버전과 2.x버전은 적용방법에 약간 차이가 있다. 1.x 버전에서는 mod_security.so 파일과 설정 파일 ..

[팁] 아파치 2.0.x 서버에서 mod_security, mod_bandwidth 모듈 추가하기

(이글은 아파치 2.0.x버전대의 서버를 기준으로 설명하는 글입니다. 포함된 링크의 자료는 아파치 2.2.x 버전에서는 정상작동 하지 않고 또한 리눅스 아파치서버에서 작동하지 않습니다.) 아파치 서버를 한동안 운영하다보면 온갖 공격에 시달릴수 있는데 여기서 소개하는 mod_security 모듈은 buffer overflow공격,각종 SQL injection공격,HTTP posting의 악용을 방지해주는 아파치서버 방화벽 모듈이다. 얼마나 효용성있는지는 잘 모르겠지만 많이쓰이는 모듈이기 때문에 올려본다. 그리고 mod_bandwidth는 자신의 서버에서 클라이언트들이 자료를 받아갈때 전송 속도를 제한해 주는 모듈이다. 자신의 회선속도에 맞춰서 예를들어 1Mb의 크기가 넘는 자료에 대해서 속도를 200kb로..

[강좌] 윈도우용 메일서버 설치하기

윈도우에서 PHP를 사용하는 설치가 간편한 웹메일이 있어서 소개를 하려한다. 현재 나도 쓰고있 는중이고 사실 요새 큰업체의 왠만한 메일계정들을 보면 메일서버를 굳이 설치해서 이용할필요는 없지만 한번 사용해보고 싶었다. 작업을 하기전에 물론 아파치서버와 MySQL이 설치되있어야한다. 한마디로 APM이 설치되어있어야한다. 그리고 고정 도메인 주소가 있는것이 좋다. 도메인포워딩된 주소도 이용할수 있으니 IP주소로 메일서버를 구축할 생각 하시진 말고 무료로 도메인 포워딩을 이용할수 있는 http://dnip.net 등을 이용하도록하자. http://passkorea.net 에 접속하여 Nmail PHP를 다운받도록 한다. 설치를 위해 위와같이 max_allowed_packet 의 사이즈를 16M으로 바꿔준다. ..

[팁] 아파치서버에서 특정폴더에 암호걸기(인증사용)

아파치 서버를 사용하다 보면 자료실 폴더등을 만들어 쓸수도 있는데 무단링크 방지도 해봐도 이리저리 편법을 사용해 자료만 외부에서 쏙 빼가는 경우가 많기 때문에 짜증나는 경우가 많다. 그리고 특정 폴더만 다른사람이 접근 불가능 하게 만들고 싶을 때가 있는데 그 방법에 대해 알아 보도록 하겠다. 1. 특정폴더에 나 자신만 접근하게 암호걸기 일단 httpd.conf 파일을 수정해야한다. 특정폴더에만 인증 암호를 넣을것이므로 따로 아래와 같이 구문을 추가하는것이 좋겠다. AllowOverride AuthConfig Order allow,deny Allow from all 그리고 혹시 # AccessFileName .htaccess 이부분에 '#'(주석)이 달려있다면 지워주면 된다. 수정,저장후에 메모장 같은 텍..

[강좌] 아파치 서버에서 로그분석기(Webalizer) 설치하기, Rotatelogs 사용하기

서버를 돌리다보면 아파치에서는 logs 디렉토리에 자동으로 access.log 와 error.log 파일을 저장하게 된다. 말그대로 access.log는 서버접속에 대한 외내부의 기록이고 error.log파일은 아파치 서버의 상태가 기록된 파일이다. error.log파일은 외부에서 만약 내 서버로 접속시에 파일을 찾을수 없었다면 IP와 그 상태도 기록하게 된다. error.log는 크기가 많이 커질일이 별로 없지만 요새는 검색사이트들의 로봇들이 웹페이지를 긁어가면서 못찾는 파일에 대한 에러가 꽤나 쌓인다. 어쨋든.. access.log 파일은 접속자 수가 많다면 순식간에 Mbyte 단위로 늘어나는데 이를 쌓아두면 로그분석도 쉽지 않을뿐더러 웹서버 성능도 떨어지게 된다. 때문에 일정 파일단위로 나눠서 로그..

[팁] Mysql 서버 접속자수 늘리기

윈도우 폴더(기본 c:\windows)를 보면 my.ini라는 mysql 설정 파일이 있다. max connection은 기본으로 250이 주어지지만 접속자가 많아 이를 늘리고 싶다면 mysqld 항목에 아래와 같이 추가하면 된다. [mysqld] port = socket = key_buffer = max_connections=1000 1000이나 되는걸.. 일반 데스크탑 서버에서 감당할수 있을지는 모르겠지만 이런식으로 원하는 만큼 늘려주면 된다.

[팁] 아파치 2.x 로그파일 지우기

로그파일은 apache2/logs 폴더에 저장되어있는데 아파치 서버를 실행하면 파일이 보이고 서버를 종료하면 파일이 없어진것 처럼 보여 지울수가 없다. 로그파일은 access.log , error.log 두개의 파일로 이뤄지는데 일평균 1000명쯤 되는 방문객들이 있다면 로그파일이 순식간에 100메가 단위로 늘어나는것을 볼수 있고 서버에 큰 부담을 주게된다. 로그파일은 어떤 접속이 있었는지 부정한 접속등은 없었는지를 확인할수 있는 중요자료이지만 파일이 커지는건 일별 이나 시간별 로그 관리 모듈을 설치하거나 하는 방법 밖에 해결방법이 없다. 그래서 제일 편한 방법으론 지워버리는 방법이 있는데 그다지 추천하고 싶지만 팁을 남겨본다 httpd.conf 파일을 열어 CustomLog logs/access.log..

[팁] 아파치2.x 서버가 응답이 없을경우 해결법

최근에 나는 아파치 서버의 에러로그를 보던중 다음과 같은 메시지를 발견했다.. 'winnt_accept: Asynchronous AcceptEx failed ' 지정된 네트워크 이름을 더이상 사용할수 없다는 메시지가 함께 뜨면서 말이다. 외부에서 접속여부를 확인해 보지 않았지만 아파치 서버에 클라이언트들이 접근시 반응속도가 매우 느려진다 한다. 인트라넷에서 블로그를 쓰는 것도 아니고 개인서버라 24시간 구동이 안될때도 많은데 반응속도 마저 느리면 방문자 수가 더 줄어들것이다. 찾아보니 'Win32DisableAcceptEx' 구문을 httpd.conf 에 추가하면 된다.. ex) ThreadsPerChild MaxRequestsPerChild Win32DisableAcceptEx 여기에 추가하면 되는데 ..

[강좌] 윈도우에서 APMsetup을 사용한 웹서버 활용법(가상호스트 설정)(3/3)

(이강좌는 운영자의 미니홈피 http://cyworld.com/hy313 에서도 보실수 있습니다.) 앞의 모든강좌에서 APMsetup의 사용용도와 설치방법 APMsetup의 phpmyadmin을 이용한 mysql의 DB설치와 이에 연동되는 제로보드의 설치방법에 대해서 알아보았다. 세부설정에 대해서는 이강좌에 서 다루기 보다는 더 자세히 다른곳에서 찾아보기를 권장한다. 아파치 서버에 대해서만 해도 분량이 엄청나며 SQL도 마찬가지이다. 전강좌에서 제로보드를 설치할때 필자는 8080번 포트를 사용해서 로컬호스트로 접속하였다. htdocs폴더내에 있는 bbs(제로보드 데이터폴더) 는 다시 설치하면 물론 안되기 때문에 가상호스트를 이용한 것이다. 개념은 생략하고 가상호스트를 왜쓰는지만 설명 하도록 하겠다. 필자..