(이 글은 앞의 글인 '[안녕] APM - 단독서버 운영을 위한 셋팅'과 이어지는 글입니다.. ^^*)

 

한 대의 서버에 여러 개의 도메인으로 홈페이지를 운영하는 경우라면, 아파치의 VirtualHost를 이용한다.

대표적인 서버로는 웹호스팅서버를 들 수 있다.

 

여기서는, 추가하는 도메인을 naver.com 으로 예를 들어보자.

 

1. 계정 추가

 

    # useradd naver

    # passwd naver

 

계정명은 도메인 명과 같게 하는 것이 관리상 편리하다.  홈디렉토리는 /home/naver/html 이 될 것이다.

 

 

2. 계정 디렉토리의 퍼미션 변경

 

    # chmod 701 /home/annyung11

 

계정을 생성하면, 기본적으로 계정 디렉토리의 퍼미션이 700으로 되어 있다.

이럴 경우, 홈페이지를 만들더라도 외부에서 홈페이지 관련 파일들을 읽을 수 없어서 에러가 난다.

 

 

3. Apache 환경설정파일 : VirtualHost 의 설정

 

아파치를 rpm으로 설치하였으므로, 환경설정파일의 위치는 /etc/httpd/conf/httpd.conf 이다.

 

① 200라인 : BindAddress *

    앞부분의 주석표시를 삭제한다.

 

② 1073라인 : Include /etc/httpd/conf/conf.d/*.conf

    버추얼호스팅 관련 설정은 별도의 파일(/etc/httpd/conf/conf.d/virtual.conf)로 분리하여 Include 시켰다.

    이젠 /etc/httpd/conf/conf.d/virtual.conf 파일에서 작업을 한다.

 

③ 16라인(virtual.conf파일) : NameVirtualHost 192.168.7.3:80

    앞부분의 주석을 지우고, 서버의 IP를 적어준다.

 

④ virtual.conf 파일의 마지막에 다음 내용을 추가한다.

 

    <VirtualHost 192.168.7.3>
        ServerAdmin 
webmaster@naver.com
        DocumentRoot /home/naver/html
        ServerName naver.com
        ServerAlias 
www.naver.com
        ErrorLog /var/log/httpd/naver-error_log
        CustomLog /var/log/httpd/naver-access_log common env=!img-nosave,!CodeRedNimda
    </VirtualHost>

 

     - CustomLog 에서 env(환경설정)값으로, !img-nosave 는 이미지파일을 여는 것은 로그파일로 남기지 말라는 뜻이고,

     - !CodeRedNimda 는 님다바이러스의 로그를 남기지 말라는 것이다.

     - 이 두가지 옵션만 주어도 로그파일의 크기를 반 이상 줄일 수 있다.

 

 

4. index.html 파일의 생성

 

    # cat /home/naver/html/index.html 

 

    vmware 속으로 네이버가 들어왔어요.. ^^*

 

    # chown naver.naver /home/naver/html/index.html

   

 

홈페이지가 제대로 뜨는지 확인하기 위해서 index.html 파일을 해당 계정의 디렉토리 안에 간단한 내용을 넣고 만들어 준다.

만들어준 파일의 소유권을 naver 계정의 소유로 변경해서, 추후에 naver 계정 사용자가 FTP로 접속했을 때

삭제할 수 있게 만들어준다.

 

 

5. Apache 재실행

 

    # /etc/rc.d/init.d/httpd restart
    Shutting down http:                                    [  확인  ]
    Starting httpd:                                            [  확인  ]
    #

 

아파치 환경설정파일을 수정하였으므로, 당연히 아파치 데몬을 restart 시켜주는 작업이다.

 

 

6. 윈도우XP에서 확인

 

앞의 강좌에서 배운 편법으로, naver.com 홈페이지가 잘 열리는지 확인해 보자.

윈도우XP의 경우에는 C:\WINDOWS\system32\drivers\etc\hosts 파일에 다음과 같이 마지막에 한 줄을 추가해 준다.

 

    127.0.0.1           localhost
    192.168.7.3        annyung11.org
    192.168.7.3    naver.com

 

MS Windows 에서는 사용자가 지정한 DNS 서버를 찾기 전에, hosts 파일이 먼저 우선시된다.

hosts 파일에 IP와 도메인 주소가 매칭되어 적혀있다면, 이 값을 맞는 값으로 알게 되는 것이다.

 

이제, 웹브라우저 주소란에 http://naver.com 를 넣고 엔터키를 눌러보자. 아래와 같이 나오면 성공한 것이다..!!

 

 

확인한 후에는 C:\WINDOWS\system32\drivers\etc\hosts 파일에서 추가한 부분을 삭제하여 원위치를 시키자.

계속 사용한다면, 진짜 네이버 홈페이지를 들어갈 수 없다.. ^^;

 

 

7. MySQL 계정의 추가

 

새로운 계정을 생성하였으므로, mysql 에도 데이타베이스를 등록해 주자.

계정명은 naver, 패스워드는 98567, 데이타베이스명은 naverdb 로 설정하는 예제를 보자.

 

    mysql -u root -p mysql

 

    mysql> create database naverdb;

    mysql> insert into user values ('localhost','naver',password('98567'),
          -> 'n','n','n','n','n','n','n','n','n','n',
          -> 'n','n','n','n','n','n','n','n','n','n',
          -> 'n','','','','','0','0','0');
    Query OK, 1 row affected (0.00 sec)

 

    mysql> insert into db values ('localhost','naverdb','naver',
          -> 'y','y','y','y','y','y','y','y','y','y','y','y');
    Query OK, 1 row affected (0.00 sec)

 

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

 

    mysql> exit

    Bye

    #

 

만약 하나의 서버에 많은 수의 홈페이지를 운영한다면, /etc/my.cnf 파일에서 max_connections 옵션의 숫자를 늘려주자.

여러 사용자가 동시에 사용하는 서버의 경우에는 접속자가 많을 수 있으므로,

접속자가 많을 경우의 mysql 튜닝에 대하여는 http://database.sarang.net 등을 참고하면 된다.

 


http://cafe.naver.com/linuxcare/3398

+ Recent posts