Apache
지각생 연습장
서버관리 페이지로
목차 |
설치
컴파일
- 컴파일 옵션 지정
./configure --prefix=/usr/local/apache2 --enable-so --enable-module=so --enable-mods-shared=most --with-mpm=worker
패키지 관리자 이용
- APT 시스템
아파치만 설치 # apt-get install apache2 APM 설치(+php +mysql) # apt-get install php5 mysql-server php5-gd php5-mysql
설정
버추얼호스트
이름-기반 방식과 IP-기반 방식이 있다. 대부분 한 IP주소에 여러 웹서버가 공존하는 이름-기반(Name-based) 방식을 쓴다.
NameVirtualHost *
<Virtualhost *>
DocumentRoot 웹문서 위치
ServerName 웹호스트 이름 (http://latecomer.pe.kr 식의 URL)
ServerAlias 호스트 이름 별칭 (http://www.latecomer.pe.kr 식. 얼마든지 별칭을 더 만들 수 있음)
</VirtualHost>
로그 로테이트
- 윈도우 서버 / Autoset 으로 apm 설치한 경우 : httpd.conf 혹은 httpd-vhost.conf의 가상호스트 설정부분에 추가
- CustomLog "|c:/autoset8/server/bin/rotatelogs.exe logs/www-access-%Y-%m-%d.log 86400" common
- ErrorLog "|c:/autoset8/server/bin/rotatelogs.exe logs/www-error-%Y-%m-%d.log 86400"
기타
- tcp6 80번 포트만 열려 있을때 : ports.conf 에서 Listen 80 으로 되어 있으면 Listen 0.0.0.0:80 으로
사용 팁
인증하기
<? function authenticate () { Header("WWW-Authenticate: basic realm=\"Board Admin 영역\" "); Header("HTTP/1.0 401 Unautherized"); $title="Invalid Login"; echo "이곳에 들어오려면 아이디와 암호가 필요합니다!"; exit; } $OFFICE_IP='222.xxx.ooo.@@@'; if(strcmp(getenv("REMOTE_ADDR"), $OFFICE_IP) != 0) { $auth[admin_id] = ''; $auth[user_id] = ''; $auth[admin_pw] = ''; $auth[user_pw] = ''; if(!isset($_SERVER[PHP_AUTH_USER])) { authenticate(); } else { if(!(($_SERVER[PHP_AUTH_USER] == $auth[admin_id] && $_SERVER[PHP_AUTH_PW] == $auth[admin_pw]) || ($_SERVER[PHP_AUTH_USER] == $auth[user_id] && $_SERVER[PHP_AUTH_PW] == $auth[user_pw]))) { authenticate(); } } } // end of if(first) ?>