웹마스터 팁

http://pclab.cataegu.ac.kr/Server.html저의 졸작인 [초보자를 위한 Windows용 Apache2 + PHP + MySQL 설치] 강좌가 엄청난 조회수를 기록하고 있네요.
그림이 너무 많아서 내용은 이곳에 직접 올리지 못하고 제 홈페이지를 링크시켰는데 벌써 많은 분이 제 홈페이지를 다녀가셨습니다.
별로 대단한 지식도 아닌데, 많은 관심에 감사드립니다.
이번에는 그림이 없어서 이곳에도 직접 올립니다.

열화같은 요청(?)에도 불구하고 예고편만 나간채, 마지막 강좌가 언제 끝나는지 궁금하셨을겁니다.
벌써 게시판에 들어온 질문도 있고해서, 서버설치에 성공하신 분들을 대상으로 관리에 필요한 몇가지 노하우를 알려드리고자 팁을 소개합니다.
설치 후 어느정도 지나야지 아래에 제시한 예들을 실감하게되고, 이해도 빠르리라 생각해서 뜸을 들인겁니다..라는 말은 작은 핑계고, 다른 일에 매달리느라 바빠서 못 올려드린점 다시 한번 사과드립니다.
이하 내용은 절대적인건 아니고 단지 제가 사용하고 있는 팁임을 먼저 알려드립니다.

1. Apache에서 폴더 설정에 대한 팁
게시판에 올라온 질문과 답을 먼저 소개합니다.

문> root directory를 열심히 바꾸어서 제 웹 관련 폴더로 연결시키려고 (예: conf 파일을 수정해서 c:apache2/htdoc---> c:myweb) 해봤는데 계속 실패 (restart불가능) 하네요.  그래서 제 폴더의 파일들을 걍 apache2 폴더로 다 넣어버렸습니다. 그러니 되더군요.  다른 방법이 있나요?

답> Apache Root Directory를 바꾸려면 httpd.conf 파일을 일부 수정해야합니다.
원본은 아마도 아래와 비슷할겁니다.
---------------------------------------------------------------------
DocumentRoot "C:/Apache2/htdocs"
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory "C:/Apache2/htdocs">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
---------------------------------------------------------------------
위에서 "C:/Apache2/htdocs"부분을 원하는 폴더로 바꾸어주면됩니다.


이 질문은 난이도는 높지 않지만 Apache 설치 후 꼭 한 번 거치게 되는 필수질문이 되지 싶군요.
왜냐하면, 위의 경우 뿐만 아니라 서버에 필요한 파일이나 홈페이지용 HTML 문서는 서버가 설치된 드라이브나 폴더에 저장해도 용량이 별로 커지지 않지만, 자료실등을 이용해서 자료가 많아지면 별도의 드라이브나 폴더에 자료를 저장해야 관리가 쉬워집니다. 이런 방법이 없다면 서버용 드라이브나 폴더는 조만간 용량이 한계에 도달하게 됩니다. 물론 이때마다 큰 용량의 하드디스크로 바꾸고 재설치해주면 되겠지만 이게 보통일이 아니겠죠?
서버용 드라이브에는 문서만 저장하고 자료실같은 큰 파일의 자료는 다른 드라이브에 저장하고 링크만 시켜주는 방법을 활용하면 용량의 한계는 겪지 않게되고 서버의 백업도 쉬워집니다.  실제로 제가 운영하고 있는 서버는 서버용으로 쓰고있는 드라이브의 총용량이 9기가짜리인데, 아직 1기가도 채 되지않는군요. 물론 자료실용 하드는 약 300기가를 쓰고 있습니다. 현재 300가가나되는 하드디스크는 시중에 없습니다.
소개말이 길었는데, 자 이제 방법을 소개합니다.

제 httpd.conf 파일에는 아래와 같은 내용이 추가되어 있습니다.
-------------------------------------------------------------------------------------
# 내가 추가한 Directory List ####
Alias /Music "G:/Music"
   <Directory "G:/Music">
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
   </Directory>

Alias /File "G:/File"
   <Directory "G:/File">
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
   </Directory>
--------------------------------------

줄 맨 앞에 # 기호를 붙이면 설명문(주석)이 됩니다. 설명만하고 실행은 되지 않는다는 말입니다.  프로그램 짜보신분들은 잘 아시는 얘기지만..
Alias는 별명 쯤이라고 보면 좋겠네요. Directory Aliasing이라고 해서 다른 폴더나 드라이브의 내용을 간단히 줄여서 링크시키는 개념이라고 생각하시면 됩니다.
저렇게 설정하면 htdocs 폴더아래에 있지않고 실제로는 G 드라이브의 Music이라는 폴더에 있는데도 htdocs 폴더아래에 Music이라는 폴더가 있는것처럼 사용할 수 있습니다.
필요로하는 내용은 위의 내용처럼 계속 추가할 수 있습니다.
위와같이 설정하고 예를들어 http://myhomepage.net/Music 이라고 주소를 치면 실제로는 G 드라이브의 Music 폴더를 연결시켜줍니다.

자 이제 Options 뒤에 붙는 설정을 하나씩 살펴보겠습니다. 이것도 여러모로 활용할 수 있습니다.

None: 옵션을 사용하지 않습니다.
All: 모든 옵션을 사용합니다.
Indexes: 해당 폴더에 Index 파일(Apache에서 설정한 Index.htm이나 index.php 같은 시작 파일)이 없으면 파일 목록을 보여줍니다. 이게 없으면 자료목록을 보여주지 않기때문에 보안에 유리합니다.
FollowSymLinks: 심볼링크로 이동할 수 있게합니다.

Apache에서 기본 설정된 디렉토리(폴더) 설정들을 보면 이해가 쉬울겁니다.


2. 내 컴퓨터에서는 접속이되는데 외부에서는 접속이 안되는경우
이것도 게시판에 올라왔던 질문인데, 이런 경우를 접하고 보니 참 황당하더군요. 사용자 환경이 다 다르다보니 별스런 경우도 있구나하고 생각했지요.
올챙이적을 생각해서 되짚어보면... 두가지 경우로 생각할 수 있는데, 하나는 서버컴퓨터가 인터넷에 접속이 되어있지않고 단지 내부에서만 테스트한 경우(localhost 또는 127.0.0.1 로만 테스트)인데 이런 경우는 논외로 하겠습니다. ^_^
두번째는 일부 인터넷 제공회사에서 서버사용에 의한 부하를 막기위해 특정 Port(인터넷 사용 통신 통로)를 막아 놓은 경우입니다. 주로 사용하는 HTTP(Web 서비스용; 80번)나 FTP(자료교환용; 21번)를 제한합니다. Apache는 Web 서비스용이므로 기본적으로 80번을 사용하도록 지정됩니다.
이런 경우에는 Apache에서 기본 Port를 변경해주어야합니다.
Apache의 httpd.conf 파일 중 Listen 80부분의 80을 다른 번호로 바꾸어보세요.
80번은 기본적으로 인정하기때문에 별도로 입력하지 않아도 자동으로 인식됩니다만, 이렇게되면 번거롭지만 외부접속시 이 Port번호도 아래와 같이 입력해야됩니다 (8080번일 경우).
http://pclab.cataegu.ac.kr:8080

FTP는 FTP 서버 설정시 Port 번호를 바꾸어주어야 되겠지요.


3. Apache log 파일 관리
앞에서 설치한 Apache는 잘 돌아가고 있는지요?
Apache 폴더 아래에 보면 logs라는 폴더가 있습니다.(C:Apache2logs)
여기에 access.log라는 파일이 있는데, 이게 날이 지날수록 크기가 점점 더 커질 수 밖에 없습니다.
아무래도 크기가 커지면 속도가 느려지겠지요?
여러가지 해결 방법들이 있는데, 제가 사용하는 방법을 소개합니다.
하루가 지나면 새로운 파일로 저장하도록 하는 방법입니다.

아무런 설정을 바꾸지 않았다면
httpd.conf파일에
CustomLog logs/access.log common
이라는 줄이 있습니다.

이줄을 아래와 같이 바꾸면 됩니다.
CustomLog "|c:/Apache2/bin/cronolog.exe c:/apache2/logs/access_log.%Y%m%d" combined

원래줄은 지우던지 아니면 주석처리 (줄 맨 앞에 # 기호를 붙이면 됩니다) 해주면 되겠지요.

눈치빠른 분들은 이미 아셨겠지만..
cronolog라는 파일이 bin이라는 폴더에 있어야됩니다. 없다면 아래 링크된 자료실에서 받으시면 됩니다.

파일 [받기]

그리고 당연히 Apache를 다시 기동해주면 적용이됩니다.
위에 적어 준 옵션대로라면 access_log.20040521 같이 확장자가 날짜로 됩니다. 길이가 너무길다면 %Y를 없애도 되겠네요.
그러면 access_log.0521 처럼 될겁니다.

일주일에 한번쯤 log 파일을 확인하고 불필요하면 지우면되겠네요.
성질급하신 분들은 시스템 날짜를 변경해서 테스트 해보시려고 할텐데....^_^

여기저기 줏어들은 잡다한 정보라 도움이 되실런지..
제목 글쓴이 날짜
[초보강좌] 윈도우 서버의 용량 제한~~!! [17] file HoYa™ 2004.01.08
procmail로 마이둠 웜(MyDoom Worm) 필터링 좋은진호 2004.02.04
[XAMPP]한 컴퓨터에서 여러 개의 홈페이지 운영하는 방법(가상호스트 아님) [8] The Darkness 2004.02.05
Windows XP 에서 Apache 2 + PHP 5 + SQLite 설치하기 [8] 엔젤퀸 2004.02.23
Serv-U의 보안 설정 [1] 87K300 2004.02.24
apache,php,mysql,zendoptimizer,phpmyadmin 다운 받기 [5] 이성헌 2004.02.28
xampp 1.3 설치해 보기(winxp) [3] 이주성 2004.03.03
-초보의 초보대상 강좌-커널 패치하기... [2] 87K300 2004.03.19
Apache 자체 Log 관리 87K300 2004.03.20
경량화 리눅스 'Linux Annyung' [5] u2em 2004.03.27
초보자를 위한 Windows용 Apache2 + PHP + MySQL 설치 [7] PCLab 2004.03.29
Apache 보안 [4] u2em 2004.04.05
개인서버로 메일 서버 및 기타 서버를 운영할 때 메일 및 서비스 절대 못 하게 하기...(xp이상) [3] 그냥이렇게。 2004.04.20
[경보]Serv-U 4.0 이전 버전 크래킹 툴 발견 [4] u2em 2004.04.26
FTP서버설치 (filezilla server) [6] 이주성 2004.05.20
Apache 서버운영에 쓸모있는 팁 몇가지 [2] PCLab 2004.05.21
Apache 서비스를 위한 NT 보안 설정 [2] 토토루 2004.05.24
IIS6.0+PHP4.3.3+MySql4.0.18+제로보드4.1 pl4 [10] 류진곤 2004.06.08
[펌]유동아이피->고정아이피(포워딩 아님!!) [12] Plus가좋다 2004.06.08
웹호스팅 사용자를 위한 계정관리 스크립트 [5] 알지로넷 2004.06.25