(이 글은 앞의 글인 '[안녕] 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
'Infrastructure' 카테고리의 다른 글
안녕리눅스 (0) | 2008.12.27 |
---|---|
리눅스 명령어 정리 (Ver 2.26) (0) | 2008.12.26 |
안녕 APM - 단독서버 운영을 위한 셋팅 (0) | 2008.12.24 |
안녕리눅스를 설치하고 가장 먼저 할 일은 무엇일까? (0) | 2008.12.24 |
AnNyung LInux 1.3 CD-ROM 설치 문서 (0) | 2008.12.23 |