웹서버관련정보 34

[팁] PHP업그레이드후 Nmail 사용문제 해결방법

메일서버 프로그램인 Nmail(http://passkorea.net)은 PHP의 확장모듈을 몇가지 사용하는데 이중 세가지가 없으면 설치도 되지 않고 만일 PHP버전을 업그레이드 한후에 이 확장모듈들도 버전이 맞지 않으면 사용이 불가능 하게 되는 경우가 있다. 다행히 PHP 확장모듈은 찾아보면 리눅스용은 말할것도 없고 Win32용도 간편하게 구할수 있는데 문제 해결방법을 간단히 소개하겠다. 일단 여기서 나는 PHP 5.1.x 버전을 최근버전(07.06.20기준)인 5.2.x 버전으로 업그레이드 했다. PHP 업그레이드 후에 아파치 서버 에러로그를 보면 다음과 같은 메시지를 발견할수 있다. Warning : PHP Startup: mailparse: Unable to initialize module Modu..

[팁] 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 파일과 설정 파일 ..

[강좌] Fedora Core(Linux) 에서 APM설치하기

APM설치에 대한 강좌나 팁은 수없이 많이 올라와 있지만 제대로 적용되지 않는 부분도 많고 원본 강좌를 그대로 복사한 글들이 많아 일관성 없이 설치가 더 혼란해 지는 경우가 많다. 예전 아파치 1.x 버전대에서 APM을 레드햇 리눅스에서 설치해본뒤로 한번도 손을 대질 않아서 다 잊어버렸었 는데 이번에 Win32용 아파치 서버에 대한 회의감이 들어 여름에 리눅스로 서버운영체제를 바꿀 계획을 가지고 로컬테스트용으로 APM을 페도라 코어 4와 6에서 설치해봤다. 성공했고 기왕에 설치까지 했으니 최근버전(07.0614기준)의 APM패키지들을 가지고 설치하는 글을 올린다. 이글에서는 APM의 환경설정에 대해서 말하진 않겠다. 글이 너무 길어지기때문에..설치에만 중점을 둔다. 일단 내가 설치한 환경을 간략히 표시한..

[팁] 아파치 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..