1.LAN은 이더넷으로 구성되는 것이 대부분이다. ※이더넷은 OSI 7계층에서 물리 계층과 데이터 링크 계층에 대한 규격이다. 2.이더넷으로 LAN을 구축하기 위해서는 3가지 하드웨어가 필요하다 1)LAN 카드 : PC에 탑재되어 있는 경우가 많다. (=NIC)2)UTP케이블3)스위치(허브) 이더넷 종류 종류 최대 전송 속도 사용 케이블 패스트 이더넷 100Mbps UTP 케이블(카테고리5), 광케이블 기가비트 이더넷 1Gbps UTP 케이블(카테고리5e, 6), 광케이블 10기가비트 이더넷 10Gbps UTP 케이블(카테고리6A, 7), 광케이블 3.MAC 주소LAN카드나 네트워크 장비들은 전용 메모리(ROM)을 가지고 있어 그곳에 고유의 주소가 기록되어 있다. 이 주소를 MAC 주소라고 하며, 이더넷..
1. 기업용 & 가정용 네트워크의 차이점기업용 네트워크 : 규모가 크다, 보안에 더욱 집중가정용 네트워크 : 규모가 작다, (과거에는 기업용보다 느렸지만 이제 가정용에도 광 케이블이 들어와 속도차이가 거의 없다.) 2. 기업용 네트워크1) 서비스 프로바이더 네트워크(=통신 캐리어 사업자용 네트워크) : 통신 사업자나 ISP의 네트워크를 말함(WAN의 부분을 말함), 제공하는 서비스는 IP-VPN이나 광역네트워크이다. ex)KT, SK텔레콤, LG유플러스 2) 기업 전용 네트워크(=엔터프라이즈용 네트워크) : 업종별로 나눌 수 있다. 금융업이라면 보안을 고려한 기밀성이 높은 네트워크 구성이 되어야 하고 제조업이라면 CAD 데이터 등 대용량 데이터를 송신하는 경우가 있다. 이처럼 업종별로 네트워크 접근 방법..
suEXEC 아파치가 수행하는 프로그램의 권한을 변경시켜줌으로써 해킹에 대한 위험을 줄인다. suEXEC는 아파치 자신이 아닌 다른 사용자 혹은 그룹 소유의 스크립트에 대해서 요청이 들어올 때마다 실행된다. 쉽게 말해 클라이언트로 부터 cgi 스크립파일 요청이 들어온 경우 suEXEC를 중간에 거치면서 권한에 대해 (아래와 같은) 무척 까다로운 검사를 거쳐 프로그램을 실행시키는 것이다. suEXEC가 위와 같은 검사를 거쳐 프로그램을 실행하기로 결정했다면 안전을 위해 기존에 지정되어 있는 모든 환경 변수들을 제거한다. 그리고 PATH는 suexec.h에서 지정한 SAFE_PATH로 교체한다. 이렇게 안전하게 바뀐 환경 변수들의 자세한 내용은 suexec.c의 safe_env_list 변수를 보면 알 수 ..
1.아파치의 환경변수란?아파치 웹서버는 환경변수(environment variable)라는 변수에 정보를 저장할 수 있다. 이 정보를 사용하여 로그나 접근제어 등 여러 작업을 조절한다. 또, 환경변수는 CGI 스크립트와 같은 외부 프로그램과 통신하는 수단이 된다. 이 변수들을 환경변수라고 부르지만, 운영체제에서 말하는 환경변수와 다르다. 이 변수는 아파치 내부에 저장되고 사용된다. 환경변수는 CGI 스크립트나 Server Side Include 스크립트로 넘겨질때만 실제 운영체제 환경변수가 된다. 서버를 실행하는 운영체제 환경을 수정하고 싶다면 운영체제 쉘에서 환경을 수정해야 한다.2.지시자 --아파치 모듈 : mod_env1)SetEnv 변수 변수값 : CGI 스크립트나 SSL 페이지에 전달할 환경변수..
1. .htaccess .htaccess파일을 사용하기 위해서는 httpd.conf파일에서 AllowOverride 부분들을 None이 아닌 다른 것으로 바꿔야 한다. 서버를 재시작하지 않고서 설정 내용을 바꾸려면 .htaccess를 사용한다. 설정 파일에서 변경 가능한 부분을 .../htdocs 디렉토리에 저장하는 것이다. 아파치가 처음 시작할 때 한번 읽어들이는 설정 파일과 달리 이 파일은 해당 디렉토리에 접근할 때마다 매번 읽어들이기 때문에 웹마스터가 필요할 때마다 언제든지 내용을 수정해두기만 하면 굳이 서버 프로세스를 재시작하는 번거로움이 없으며 좀더 신축성있게 웹사이트를 운영할 수 있다. 이 방식의 단점은 매 접속할 때마다 파일을 읽어들이기 때문에 파일의 내용을 읽고 해석하는데 시간이 걸려 그에..
아파치는 특별한 목적을 위해 HTTP 응답 헤더 중에서 일부를 따로 설정하거나 제거할 수 있다. 하지만 아파치는 응답 헤더를 임의로 변형하는 것이 타당한지 따로 체크를 하지 않으므로 변형이 미치는 영향에 대해 잘 생각한 후 개발하길 바란다. 1.HeaderName [set|add|unset|append] HTTP헤더 "값" HeaderName 지시자는 , , 섹션에서 지정할 수 있다. 헤더를 수정하거나 제거, 추가하는 지시자이다. 2.Options +/-값 Options 지시자는 , , 섹션에서 지정할 수 있다.1)All : MultiViews,IncludesNoEXEC,SymLinksIfOwnerMath를 제외한 모든 옵션을 활성화2)ExecCGI : CGI 스크립트를 사용할 수 있도록 한다.3)Fol..
1. 이름 기반의 버추얼 호스트1개의 IP에 2개의 도메인을 쓰는 경우 NameVirtualHost 지시자를 사용해야 한다. ex) 192.168.123.2에 www.butterthlies.com과 sales.butterthlies.com 2개를 쓰고 싶은 경우NameVirtual Host 192.168.123.2ServerAdmin sales@butterthlies.comDocumentRoot /usr/www/site.virtual/htdocs/customersServerName www.butterthlies.comErrorLog /usr/www/site.virtual/name-based/logs/error_logCustomLog ...ServerAdmin sales@butterthlies.comDoc..
1.KeepAlive on Apache의 특정 한 프로세스가 특정 사용자의 지속적인 요청작업들을 계속해서 처리하도록 허용할 것인가 아닌가에 대한 여부를 설정한다. 즉, 한 방문자가 홈페이지에 접속하여 다른 여러페이지들을 계속해서 보게될때 그 방문자의 지속적인 다른 요청들을 한 프로세스가 계속해서 처리하도록 할 것인가를 결정하는 지시자이다.2.KeepAliveTimeout 숫자KeepAlive의 값이 On일 경우에 유효한 값으로, 설정한 시간(초)동안 요청이 없다면 그 연결을 끊기 위해 타임아웃 시킨다. 효율적인 프로세스관리와 자원낭비를 줄이기 위한 설정이다. 이 값이 낮다면 동시접속 수를 좀더 올리는데 공헌할 수 있다.3.Timeout 숫자클라이언트의 요청에 의해 서버와 연결이 되었을 때 클라이언트와 서..
1.ErrorDocument httpd.conf에서 ErrorDocument 지시자를 사용하면 에러에 대한 해결을 커스텀화할 수 있다.1)소스코드에 정의된 에러 메시지를 그냥 출력한다. -> 기본설정2)사용자가 정의한 에러 메시지를 출력한다. :ErrorDocument 404 "Sorry can't allow you access..."3)로컬 URL로 재전송한다. : ErrorDocument 401 /subscript_info.html (파일을 상대경로로 지정, 401을 사용한 경우 로컬 문서를 참조함)4)외부 URL로 재전송한다. : ErrorDocument 403 http://foo.example.com/cgi-bin/tester 2.DirectoryIndex httpd.conf에서 Directory..
1. 중요 폴더&파일 conf : 아파치가 여러 가지 서로 다른 종류의 요청에 어떻게 응답할 것인지 정의한 설정 파일 htdocs : 문서, 이미지, 데이터 등 클라이언측에 제공하려는 것들이 담겨져 있다. logs : 어떤 일이 일어나는지 기록하는 로그 파일들 2. 아파치 실행 순서 아파치 실행 -> 아파치는 자기 자신이 감시하고 있는 네트워크 인터페이스 인터페이스의 포트로부터 클라이언트의 요청이 들어오기를 기다리며 백그라운드 모드에서 조용히 동작함 -> 요청이 들어오면 아파치는 자신이 담당한 일을 수행하고 문제가 있을 경우에는 로그 파일에 기록함 3. 아파치 실행 옵션 httpd -D : 지시자에서 사용할 이름 정의 -d : ServerRoot 디렉토리 정의 -f : ServerConfig 파일 정의 ..