강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

[SULINUX 강좌#5] 아파치웹서버 설정 및 운영

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

[SULINUX 강좌#5] 아파치웹서버 설정 및 운영 



웹서버

8981409a36269487e41dd29ffd6a290d_1644979365_5119.png
 

인터넷이 발전하면서 대부분의 서비스는 웹을 사용하게 되었습니다. SULinux는 현재 웹서버중에서 가장 많이 사용하는 Apache 웹서버를 제공합니다. 다음 그림은 netcraft.com에서 발췌한 그림입니다.

 

November 2017 Web Server Survey

8981409a36269487e41dd29ffd6a290d_1644979380_5263.png
 

출처: https://news.netcraft.com/archives/2017/11/21/november-2017-web-server-survey.html#more-25872

 

위 그림에 의하면 44.50%Apache를 사용하는 것을 볼 수 있습니다. 이 처럼 전 세계적으로 웹서버인 Apache를 많이 사용하고, 또 안정성 및 성능 또한 입증을 받은 것입니다.

 

SULinux에 기본 Apache 2.4.x 버전이 설치됩니다. 최신버전 또는 하위 버전의 Apache, PHP, MySQL을 연동 설치 할 수 있는 APM_Install-tools를 제공하며 설치편을 참조하시기 바랍니다.

 

 

SULinuxAPM 연동 구조

 

8981409a36269487e41dd29ffd6a290d_1644979413_6329.png
 

 

위 그림은 APM의 연동 관계를 그림으로 나타낸 것입니다. ApachePHP의 연결 관계는 ApacheDSO(Dynamic Shared Objects) 방식으로 연결됩니다. 이는 Apache프로그램이 동적으로 필요시 PHP모듈을 불러 사용하는 형태가 됩니다. ApachePHP가 분리되어 있기 때문에 PHP의 버전 및 기타 이유로 변경시 PHP만 다시 설치하는 것이 가능합니다.

 

PHPMySQLMySQL의 클라이언트 라이브러리를 PHP에서 불러 들어와 사용하는 형태입니다. PHP 컴파일 과정에서 MySQL의 클라이언트 라이브러리 파일을 사용한 PHP만의 클라이언트 라이브러리를 만들고 이를 이용하여 MySQL에 접속하게 됩니다. PHP 버전에 따라 mysqli 등 다양한 라이브러리를 지원하며, MySQL 서버와 연결하기 위해서는 tcp/ip socket 을 사용하여 접속 할 수 있습니다. 기본적으로 tcp/ip에서는 TCP 3306 포트를 사용하며, socket/var/lib/mysql/mysql.sock 또는 /tmp/mysql.sock 파일을 이용하여 PHP에서 MySQL 서버에 접속 할 수 있습니다.

 

 

APM 동작 구조

 

8981409a36269487e41dd29ffd6a290d_1644979431_2001.png
 

 

위 그림은 APM 동작 구조를 그림으로 나타낸 것입니다. 클라이언트로부터 요청이 들어오면 웹서버인 Apache에서 요청되는 파일의 확장자를 분석합니다. SULinux".php" 확장자를 가진 파일을 PHP에 의해 인터프리팅 됩니다. (, APMTools로 설치하는 경우 “.php4 .php3 .php .htm .html .phtml .ph .inc .phps”) phps 파일은 소스를 보여주는 용도로 사용됩니다. 만약 PHP소스에 DB 연결 함수가 사용되었다면, MySQL에 접속되는 구조로 되어 있습니다.

 

기타파일 jpg, gif, pdf, doc 등의 일반적인 파일은 Apache만으로 처리되며, PHP모듈을 사용하지 않습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

웹서버 접속 및 확인

 

SULinux를 설치하고, Apache 서비스를 시작하였다면 바로 웹서비스를 할 수 있습니다. 만약 서비스 시작을 하지 않았다면 아래 시작하는 방법을 확인하시기 바랍니다.

 

* 웹서버 확인

 

8981409a36269487e41dd29ffd6a290d_1644979447_3235.png
 

 

위 그림은 SULinux에서 웹브라우저(Firefox)를 사용하여 http://localhost"에 접속한 화면입니다. 위와 같이 나타나면 웹서버가 정상적으로 작동합니다.

 

 

 

* 웹페이지 작동 테스트

웹페이지의 정상 작동 여부를 확인하기 위하여 다음과 같은 소스코드를 작성하여 테스트 합니다.

 

1) 기본 Document Root 디렉토리 이동 및 웹페이지 작성

 

SULinux의 기본 Document Root/var/www/html/입니다. 디렉토리 이동 후 info.php 파일을 작성하여 보도록 하겠습니다.

 

info.php

<?php

phpinfo();

?>

위 소스 코드는 php의 정보를 보여주는 함수인 phpinfo()를 사용하여 php 정보를 보여주는 프로그램입니다. 실행 결과는 다음 그림과 같습니다.

 

8981409a36269487e41dd29ffd6a290d_1644979462_396.png
 

 

위 그림은 앞에서 작성한, info.php 파일의 실행 결과입니다. 위 결과 확인으로 PHP 정상 작동을 확인 할 수 있습니다.

 

 

* 프로세스 확인 (시스템 정보 프로그램 이용)

 

프로그램 > 시스템 도구 > 시스템 정보

 

시스템 모니터링 도구 실행 후 프로세스탭에서 httpd 프로세스가 떠 있는지 확인 합니다.

8981409a36269487e41dd29ffd6a290d_1644979475_9449.png
 

 

위 그림은 웹서버의 프로세스가 떠 있는지 확인하기 위해 시스템 정보프로그램을 이용하여 httpd 프로세스를 확인 한 결과입니다. 위와 같이 httpd 프로세스가 있으면, 웹서버가 작동중에 있습니다.

 

* 프로세스 확인 ( 명령어 창 )

대부분의 리눅스 시스템에서 프로세스를 확인하기 위해 콘솔 명령어를 많이 사용합니다.

8981409a36269487e41dd29ffd6a290d_1644979490_8483.png
 

 

위 결과는 “ps -ef | grep http" 명령어 조합으로 위 결과를 얻었습니다. 여러 프로세스를 확인 할 수 있습니다.

웹서버 시작 및 종료

 

웹서버(Apache)를 시작 및 종료 시키는 방법은 다음과 같습니다.

 

* 웹서버 시작 (콘솔 명령어 이용하기)

리눅스 시스템의 명령어를 이용하면 쉽게 웹서버를 시작 할 수 있습니다.

다음과 같은 명령어로 가능합니다.

8981409a36269487e41dd29ffd6a290d_1644979504_9324.png
 

위 그림은 "service httpd start"를 실행한 결과입니다. 동일한 명령어로 "/etc/init.d/httpd start"가 있으며 모두 동일한 결과를 가집니다.

 

* 웹서버 정지

8981409a36269487e41dd29ffd6a290d_1644979517_6541.png
 

위 그림은 콘솔 명령어를 이용하여 웹서비스를 정지한 그림입니다.

 

* 웹서버 재시작

8981409a36269487e41dd29ffd6a290d_1644979531_4784.png
 

 

웹서버 설정 및 운영

 

SULinux를 사용하여 웹서비스를 운영하다 보면 여러 가지 요구사항이 발생하게 됩니다. 자주 발생하는 상황에 대해서 설정하는 방법을 설명하도록 하겠습니다.

 

참 고

 

SULinux는 여러 가지 웹서버(아파치)버전을 APM_Install-tools을 통해 제공합니다. 각 버전에 따라 조금씩 차이가 있을 수 있습니다. 각 버전별 큰 차이는 다음과 같습니다.

 

1. Apache 2.2.X

현재 가장 많이 사용되는 버전입니다. 여러 가지 성능 및 기능이 개선된 버전입니다. 예전의 모듈과 호환되지 않을 수 도 있습니다. 기본적으로 SSL을 제공하며, 설정파일이 용도에 따라 분산되어 있습니다.

 

2. Apache 2.4.X

가장 최근의 Apache 버전입니다. 여러 가지 성능 및 기능이 개선된 버전입니다. Apache 2.2.X 까지 설정과는 변경된 부분이 많기 때문에 관련 매뉴얼을 숙지하고 사용하시기 바랍니다.

 

 

알아 두기

 

 

아파치 웹서버의 환경 설정 및 운영에서 다음 사항과 같이 설정파일 위치, 로그파일 위치, 웹서버 시작/종료 명령어를 익혀 두시면 편리하게 작업을 진행 할 수 있습니다.

 

1. 설정파일 위치

- 설정파일 : /etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*

/etc/php.ini

 

* APMTools 이용하여 설치시

/usr/local/apache/conf/httpd.conf

/usr/local/apache/conf/extra/*.conf (Apache 2.2.X 버전 설치시)

/usr/local/lib/php.ini (PHP 설정파일)

 

2. 로그 파일 위치

- 로그파일 : /var/log/httpd/

* APMTools 이용하여 설치시

- 로그파일 : /usr/local/apache/logs/

 

3. 웹서버 (시작 및 종료, 재시작)

- 시작 : systemctl start httpd 또는 service httpd start

- 정지 : systemctl stop httpd 또는 service httpd stop

- 재시작 : systemctl restart httpd 또는 service httpd restart

 

* APMTools 이용하여 설치시

- 시작 : /usr/local/apache/bin/apachectl start 또는 service httpd start

- 정지 : /usr/local/apache/bin/apachectl stop 또는 service httpd stop

- 재시작 : /usr/local/apache/bin/apachectl restart 또는 service httpd restart

 

 

 

(1) 최대 접속 수 늘리기

 

처음 설치시 아파치의 최대 접속 수는 150으로 되어 있습니다. SULinux는 기본적으로 튜닝되어 있으며 최대 4096개의 접속을 받을 수 있게 설치됩니다. 서버의 사양과 웹 프로그램의 무게를 고려하여 이 값을 적적히 조절하면, 서버를 100% 활용할 수 있습니다. 서버의 자원(메모리, CPU)은 많이 남았는데 프로세스가 항상 150이라면 이 값을 변경해 보시기 바랍니다.

 

방법 : 설정파일(httpd.conf 또는 extra/httpd-mpm.conf)을 열어서 다음 사항을 수정 합니다.

MaxClients 150 --> MaxClients 512

위 설정 값(512)은 절대 적인 것이 아니며, 조금씩 올려가면서 자원 사용량을 측정하며 최적의 값을 찾으시기 바랍니다. 설정 값 변경 후 꼭 웹서버를 재시작하시기 바랍니다.

 

(2) 동영상파일 막는 방법

 

웹호스팅을 하다보면, 가끔 동영상 파일이 있어 트래픽을 많이 유발하는 사용자가 있습니다. 이런 사용자가 동영상 파일을 서비스 하지 못하게 다음과 같이 설정 할 수 있습니다.

 

방법 : 설정파일(httpd.conf)을 열어서 다음 사항을 수정 합니다.

SetEnvIfNoCase Request_URI "\.(wmv|asf|avi|mov)$" is_movie=1

<Directory /home/사용자아이디>

Order allow,deny

deny from env=is_movie

allow from all

</Directory>

 

위 설정은 요청되는 파일을 조사하여 확장자가 “.wmv, asf, avi, mov"인 경우 동영상 파일으로 판단하고 차단하는 설정입니다. 만약 새로운 확장자를 추가하려면, 위 설정에 추가하시기 바랍니다. 요즘은 flv를 사용하는 경우가 있으니 참고 바랍니다. 반드시 설정파일 수정 후 아파치를 재시작합니다.

 

적용 확인 방법: access_log error_log를 확인합니다.

error_log 내용 확인

[Wed Apr 22 08:02:02 2013] [error] [client 127.0.0.1] client denied by server configuration: /usr/local/apache/htdocs/test.avi

위 내용은 서버설정에 의해서 클라이언트의 test.avi 파일요청을 거부한 로그입니다.

 

access_log 내용 확인

127.0.0.1 - - [22/Apr/2013:08:02:02 +0900] "GET /test.avi HTTP/1.1" 403 323

위 내용은 클라이언트가 test.avi를 요청했지만, 에러메시지(403:Forbidden)을 보냈다는 로그입니다.

 

 

(3) 그림 파일 로그 남기지 않게 하는 방법

 

웹 로그를 남기면 유용한 정보를 많이 얻을 수 있습니다. 하지만, 접속자가 많은 웹사이트의 경우 아주 많이 쌓이게 됩니다. Apache 1.3.x의 경우 2G를 넘어버리면, 로그는 더 이상 남지 않고 비정상적인 상황이 발생합니다. 필요하지 않은 그림파일에 관한 로그를 빼고 남길 수 있습니다.

 

방법 : 설정파일(httpd.conf)을 열어서 다음 사항을 수정 합니다.

SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1

CustomLog /usr/local/apache/logs/access_log common env=!IMAGE

 

위 설정은 클라이언트에서 요청하는 파일의 확장자가 “.gif, .png, .jpg, .js, .bmp, .jpeg, .swf"의 경우 이미지 파일로 인식하고 로그를 남기지 않습니다. 설정파일 수정 후 아파치를 재시작합니다.

 

가상호스트 별로 로그를 남겼다면, CustomLog 부분의 마지막에 env=!IMAGE를 넣으면 이미지 관련 로그가 남지 않습니다.

 

(4) 무단링크 막기

 

웹 사이트를 운영하다 보면, 겔러리, 게시판등에 그림파일을 올리고, 쇼핑몰이나, 카페에서 무단링크해서 사용하는 경우가 있습니다. 이런 경우 필요이상의 트래픽이 발생하여 많은 트래픽 비용을 지불해야 할 경우가 발생합니다. 이런 무단 링크를 제거하기 위해서는 다음과 같이 설정하면 가능합니다.

 

방법 : 설정파일(httpd.conf)을 열어서 다음 사항을 수정 합니다.

SetEnvIFNoCase Referer "도메인" link_allow

<FilesMatch "\.(gif|jpg|png|GIF|JPG|PNG)$">

Order allow,deny

allow from env=link_allow

</FilesMatch>

 

위 설정의 경우 어떤 요청이 있으면, 요청하기 전 페이지(Referer)의 도메인을 참조하여 같은 도메인일 경우 이미지 파일 허용하도록 설정합니다. 이미지 파일은 확장자가 “.gif, .jpg, .png, .GIF, .JPG, .PNG"인 경우로 설정하였습니다. 설정파일 변경 후 아파치를 재 시작하여야 설정 내역이 반영됩니다.

 

만약 무단 링크를 요청하면, error_log access_log에 관련 로그가 남게 됩니다.

관련 로그는 “2. 동영상 파일 막는 방법과 비슷한 403 에러를 남기게 됩니다.

(5) 웹페이지 인증 설정

 

관리자 페이지의 경우, 모든 페이지 및 하위 모든 페이지에 인증을 걸어야 합니다. 이렇게 작성하기에는 웹프로그램을 수정하여 인증 부분을 넣어야 하지만 이런 경우 코딩양이 상당히 많아집니다. 그리고 프로그램 적용이 불가능한 문서파일 및 html 파일의 경우는 어쩔 방법이 없습니다. 이런 경우에는 웹서버(아파치)에서 인증을 걸어줍니다.

 

방법 : 인증을 걸어줄 디렉토리에 파일(.htaccess)을 생성합니다.

 

) /home/sulinux/www/admin/.htaccess

AuthName "표시내용"

AuthType Basic

AuthUserFile "패스워드 파일 위치"

AuthGroupFile /dev/null

<Limit GET POST>

require valid-user

</Limit>

위와 같은 내용으로 파일을 생성합니다. 위 내용에서 표시내용패스워드 파일 위치를 사용 환경 및 용도에 맞게 변경하시기 바랍니다.

 

다음으로 계정 및 비밀번호 파일인 .htpasswd 파일을 생성합니다. 패스워드 파일의 위치는 웹에서 접근불가능 곳에 위치시킵니다.

) /home/sulinux/.htpasswd

[root@sulinux htdocs]# htpasswd -c /home/sulinux/.htpasswd 아이디

New password: ******

Re-type new password: ******

Adding password for user 아이디

위 명령어로 인증에 사용될 계정을 생성합니다. “아이디부분에 적당한 아이디를 넣으시기 바랍니다. ( Apmtools로 설치한 경우 /usr/local/apache/bin/htpasswd )

 

마지막으로 아파치에서 인증을 처리할 수 있게 설정파일(httpd.conf)을 편집합니다.

<Directory /home/sulinux/www/admin>

AllowOverride AuthConfig

</Directory>

위에서 설정한 디렉토리 이하에서는 .htaccess 파일이 있으면, 읽어 드리게 됩니다. 만약 위 설정이 되어 있지 않으면 .htaccess 파일을 생성하더라도 인증창이 뜨지 않습니다.

이렇게 설정한 다음, 아파치를 재 시작합니다.

 

8981409a36269487e41dd29ffd6a290d_1644979553_9394.png
 

 

위 그림은 웹서버 인증을 설정하고 웹브라우저에서 접속한 화면입니다. 생성한 계정 및 비밀번호를 입력하시면 정상 접근이 가능합니다.

 

 

(6) FlashGet 등으로 홈페이지 긁어 가는 것 막기

 

사이트에 유용한 정보를 올려두면, 모든 내용을 FlashGet등의 프로그램을 가지고 모두 긁어가는 사람이 있습니다. 모두 긁어가는 것을 막기 위해 다음과 같이 설정합니다.

 

방법 : 설정파일(httpd.conf)을 열어서 다음 사항을 수정 합니다.

BrowserMatchNoCase "FlashGet" no_access

BrowserMatchNoCase "WebZIP" no_access

BrowserMatchNoCase "Teleport" no_access

BrowserMatchNoCase "Teleport Pro/1.29" no_access

BrowserMatchNoCase "NamoWebEditor" no_access

BrowserMatchNoCase "WebSymmetrix" no_access

 

위와 같이 설정하고 아파치를 재 시작합니다.

 

요즘은 다양한 방법으로 긁어가니, 위 방법이 100% 막지는 못하며, 사용되는 응용프로그램들을 알아서 위의 형식으로 추가하시기 바랍니다.

 

 

(7) 로그 로테이트 방법

 

자꾸만 쌓여가는 로그를 효율적으로 관리하기 위해 그림파일을 제외하고 로그를 남기는 방법을 설명했었습니다. 그렇게 설정을 하면 늘어나는 로그의 양이 줄어들기는 하지만, 시간이 지나면 많아지는 것은 막을 방법이 없습니다.

로그 파일을 효율적으로 보관, 관리하기 위해 특정 시간이 지났을 때 오래된 로그 파일은 보관하고 새로운 로그 파일을 생성 시켜 로그를 남기며, 특정 기간 또는 개수 이상된 로그파일은 삭제 하도록 설정할 수 있습니다.

 

방법1. 쉘프로그램 활용

원하는 방법으로 로그를 로테이트 시키기 위해 다음과 같은 쉘 스크립트를 이용할 수 있습니다. 다음 쉘 스크립트 파일을 작성합니다.

 

/root/weblog_rotate.sh

#!/bin/bash

## 로그 자동 로테이터

## crontab : 00 00 * * * su - root -c '/root/log_rotate.sh >& /dev/null'

 

## 어제날짜

TODAY=`/bin/date -d '1 days ago' '+%Y-%m-%d'`

#### 로그 파일에 어제 날짜를 붙여 보관

/bin/mv /usr/local/apache/logs/access_log /usr/local/apache/logs/access_log.$TODAY

/usr/local/apache/bin/apachectl restart

## 로그를 압축해서 보관합니다.

/bin/gzip /usr/local/apache/logs/access_log.$TODAY

 

 

크론탭에 등록합니다.

 

crontab -e

크론 편집모드로 진입하고 아래 내용을 붙여 넣습니다.

0 0 * * * /root/log_rotate.sh

위와 같은 방법으로 작성해 두면, 매일 00분에 작동하여 지난 로그를 자동으로 날짜를 붙여 보관하며, 공간 확보를 위해 압축을 하게 됩니다. 로그 확인 시 zcat등의 명령어로 확인하면 쉽게 확인 할 수 있습니다.

 

방법2. rotatelogs 프로그램 활용

아파치에서 제공해 주는 기본 프로그램(rotatelogs)를 사용합니다.

TransferLog "| /usr/local/apache/bin/rotatelogs logs/access 86400"

위 설정은 하루(86400)마다 로그를 로테이트 하게 됩니다. 로그를 분산하기 위해 별도의 프로그램을 사용하며, 항상 프로세스가 떠 있습니다. 남겨지는 파일을 보고 로그 날짜를 확인하는 것이 어렵다는 단점이 있습니다.

 

방법3. logrotate(로그로테이터) 이용

리눅스 시스템의 로그를 효율적으로 관리하기 위한 logrotate를 이용하여 웹로그를 효율적으로 보관 할 수 있습니다. 다음 파일을 생성합니다.

 

/etc/logrotate.d/http

/usr/local/apache/logs/access_log {

daily

rotate 30

size=102400k

postrotate

/usr/local/apache/bin/apachectl restart

endscript

}

위와 같이 작성하면 매일 로그를 로테이트 하며, 지난 로그는 30개를 보관합니다. 로그 파일의 크기가 100M이상 일 때도 로그를 로테이트 하게 됩니다. 오래된 로그는 자동으로 삭제된다는 장점은 있지만, 남겨지는 로그의 날짜와 파일명의 연관성이 없어 날짜별 로그 찾기가 힘든 단점이 있습니다.

 

이 처럼 로그를 효율적으로 관리하는 방법은 여러 가지 있습니다. 적당한 방법을 선택하여 사용하시기 바랍니다.

 

 

(8) 업로드 용량 늘리기 () 100M)

 

웹서비스를 할 때 파일을 업로드 하는 일은 아주 많이 있습니다. PHP를 이용하여 웹페이지를 작성하였다면, PHP는 기본 파일을 2M까지만 업로드 할 수 있도록 설정 되어 있습니다. 2M 보다 큰 파일을 업로드 하기 위해서는 다음과 같이 설정하시기 바랍니다.

 

방법 : PHP설정파일(php.ini)을 열어 다음 항목을 찾아 수정합니다.

( 업로드 용량을 100M로 설정하는 예제입니다.)

 

default_socket_timeout = 60 =====> 600

post_max_size = 8M =====> 100M

memory_limit = 8M =====> 100M

upload_max_filesize = 2M =====> 100M

위 설정에서 600600초 즉, 10분이며, 10분 동안 100M를 올릴 수 있는 환경(회선)이어야 한다는 것입니다. 위와 같이 설정한 다음 아파치를 재 시작합니다. PHP 설정파일 이지만, 웹에서 적용을 하기 위해서는 아파치 웹서버를 재시작 합니다.

(9) 가상호스트 생성

 

요즘은 서버 한 대에 하나의 도메인만을 셋팅해서 사용하는 분들은 거의 없다고 생각합니다. 아파치의 가상호스트 기능을 사용해서 많은 도메인을 하나의 서버에서 사용할 것입니다. 도메인이 추가 삭제 될 때마다 httpd.conf 파일을 건드려야 하고, 실수가 있을 수도 있습니다. 간단하게 이 설정을 해주는 프로그램이 있습니다. su_vhostssu 패키지의 일부입니다. SULinux는 기본적으로 ssu패키지를 지원합니다. 다음과 같은 방법으로 원하는 작업을 쉽고 편하게 할 수 있습니다.

su_vhostApache 1.3.X , Apache 2.0.X, Apache 2.2.X, Apache 2.4.X 모든 버전을 지원합니다. Apache 1.3.XApache 2.0.Xhttpd.conf 파일에 가상 호스트 값을 설정하고, Apache 2.2.X2.4.Xextra/httpd-vhost.conf 파일에 가상호스트 설정을 추가하게 됩니다.

su_vhost는 설정 후 자동으로 아파치 웹서버를 재시작하게 됩니다.

 

 

. 가상 도메인 추가

su_vhost --add 가상WebRoot 도메인

 

) sulinux.net 도메인 추가

[root@sulinux conf]# su_vhost --add /home/sulinux/www sulinux.net

가상 도메인 추가

apache 재 시작 중.....

이렇게 하면 /hom/sulinux/www를 가상WebRoot로 하고, sulinux.net www.sulinux.net 에 대한 가상호스트 설정이 완료됩니다.

설정된 내역은 다음과 같이 확인 할 수 있습니다.

<VirtualHost *:80>

DocumentRoot /home/sulinux/www

ServerName www.sulinux.net

ServerAlias sulinux.net

# ErrorLog /home/sulinux/www/web_log/error_log

# CustomLog /home/sulinux/www/web_log/access_log common

</VirtualHost>

위 설정과 같이 www.sulinux.net까지 설정된 것을 볼 수 있습니다. 그리고, ErrorLog CustomLog를 사용자가 쉽게 설정할 수 있도록 추천 설정이 나오고 “#”으로 주석처리 되어 있습니다.

 

 

. 가상 호스트 도메인 정보 변경

su_vhost --mod 도메인

가상 호스트 도메인 정보 변경은 단순히 설정파일을 열어 설정파일을 편집 할 수 있게 합니다.

 

 

. 가상 도메인 삭제

su_vhost --del 도메인

입력한 도메인과 관련된 가상 호스트 설정을 삭제 할 수 있게 도와줍니다.

 

 

) sulinux.net 도메인 삭제

[root@sulinux conf]# su_vhost --del sulinux.net

apache 재 시작 중.....

위와 같이 입력하면, httpd.conf 파일을 열어서 관련 도메인이 위치한 곳을 찾아 주며, dd 라는 키로 지우고, ESC ,:wq로 저장하고 나오면 끝납니다.(vi 편집기 필수기능은 숙지하시기 바랍니다.)

 

 

. 도메인 포워딩

su_vhost --redirect 대상도메인 도메인들....

아파치 웹서버의 Redirect 기능을 이용하여 도메인을 포워딩 할 수 있습니다. 여러 개의 도메인을 다른 도메인을 포워딩 할 수 있는 강력한 기능을 제공합니다.

 

) sulinux관련 도메인 sulinux.net 도메인으로 포워딩 예제

[root@sulinux conf]# su_vhost --redirect www.sulinux.net www.sulinux.kr sulinux.kr sulinux.co.kr www.sulinux.co.kr sulinux.com www.sulinux.com

도메인 포워딩

apache 재 시작 중.....

위와 같은 명령을 내리면, www.sulinux.kr, sulinux.kr, sulinux.co.kr, www.sulinux.co.kr, sulinux.com, www.sulinux.com, 모두 www.sulinux.net 도메인으로 포워딩 됩니다.

 

설정된 내역은 다음과 같이 확인 할 수 있습니다.

<VirtualHost *:80>

ServerName www.sulinux.com

Redirect / http://www.sulinux.net

ServerAlias sulinux.com

ServerAlias www.sulinux.kr

ServerAlias sulinux.kr

ServerAlias sulinux.co.kr

ServerAlias www.sulinux.co.k

</VirtualHost>

위 설정은 ServerName으로 설정된 도메인과 ServerAlias로 설정된 도메인 모두 Redirect 지시자를 이용해 www.sulinux.net으로 포워딩 하는 설정입니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,045 명
  • 현재 강좌수 :  35,858 개
  • 현재 접속자 :  85 명