본문 바로가기

윈도우 대신 리눅스

[Dr.3632] WEB 호스팅 셋팅 방법 - 우분투 아파치 Server

아파치 로고 [B3632]

우분투(16.04, 17.10)에 아파치로 웹호스팅 하는 방법입니다.

 

먼저 웹 호스팅 구조를 살펴보면 아래 그림과 같습니다.

인터넷으로 아파치에게 특정 홈페이지 요청이 들어오면

아파치는 등록된 Virtual Host 와 요청이 들어온 홈페이지 주소를 매칭하여

해당하는 페이지의 웹 소스를 찾아주는 흐름입니다.

 

아파치 서버의Web Hosting 구조 {B3632]

 

이글에서는

아파치에서 Virtual Host를 설정하는 방법에 대해서 알아 보겠습니다.

 

아파치를 설치하게 되면 아래의 폴더가 생성이 되고

그폴더 안에는 000-default.conf 파일이 생성 됩니다.

아파치 호스팅 폴더 :  /etc/apache2/sites-available

이 파일은 기본적으로 아파치가 생성하는 웹페이지 호스트 설정파일 입니다.

내용은 아래와 같습니다.

<VirtualHost *:80>

# The ServerName directive sets the request scheme, hostname and port that

# the server uses to identify itself. This is used when creating

# redirection URLs. In the context of virtual hosts, the ServerName

# specifies what hostname must appear in the request’s Host: header to

# match this virtual host. For the default virtual host (this file) this

# value is not decisive as it is used as a last resort host regardless.

# However, you must set it for any further virtual host explicitly.

#ServerName www.example.com

 

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

 

# Available loglevels: trace8, …, trace1, debug, info, notice, warn,

# error, crit, alert, emerg.

# It is also possible to configure the loglevel for particular

# modules, e.g.

#LogLevel info ssl:warn

 

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

 

# For most configuration files from conf-available/, which are

# enabled or disabled at a global level, it is possible to

# include a line for only one particular virtual host. For example the

# following line enables the CGI configuration for this host only

# after it has been globally disabled with “a2disconf”.

#Include conf-available/serve-cgi-bin.conf

</VirtualHost>

 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

위의 내용중 마킹된 내용을 지워보면 아주 간단해 집니다.

<VirtualHost *:80>

 

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

 

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

 

</VirtualHost>

 

이제 예를 들어서 Hosting Setting을 해보겠습니다.

예시) 

서비스 하고자 하는 웹주소와 웹페이지 소스의 위치 

1)홈페이지 주소 :  www.AAA.com     폴더위치:   /home/popcornware/Hosting/websiteaaa  

2)홈페이지 주소 : www.ZZZ.com       폴더위치:  /home/popcornware/Hosting/websitezzz 

 

홈페이지 주소 : www.AAA.com 의 작업 

000-default.conf 파일을 복사해서 아래와 같이 수정하기를 권고 드립니다.

파일명은 www.AAA.com.conf 로 가정하겠습니다. 

 

<VirtualHost *:80>

ServerName www.AAA.com

ServerAdmin webmaster@localhost

DocumentRoot /home/popcornware/Hosting/websiteaaa/

 

<Directory /home/popcornware/Hosting/websiteaaa/>

     Options Indexes FollowSymLinks MultiViews

     AllowOverride None

     Order allow,deny

    allow from all

     Require all granted

</Directory>

 

 ErrorLog ${APACHE_LOG_DIR}/error.log

 CustomLog ${APACHE_LOG_DIR}/access.log combined

 

</VirtualHost>

파일 작업 후 www.AAA.com.conf 파일을  /etc/apache2/sites-available 폴더로 넣어줘야 합니다.

 

홈페이지 주소 : www.ZZZ.com 의 작업 

000-default.conf 파일을 복사해서 아래와 같이 수정하기를 권고 드립니다.

파일명은 www.ZZZ.com.conf 로 가정하겠습니다. 

 

<VirtualHost *:80>

ServerName www.ZZZ.com

ServerAdmin webmaster@localhost

DocumentRoot /home/popcornware/Hosting/websitezzz/

 

<Directory /home/popcornware/Hosting/websitezzz/>

     Options Indexes FollowSymLinks MultiViews

     AllowOverride None

     Order allow,deny

    allow from all

     Require all granted

</Directory>

 

 ErrorLog ${APACHE_LOG_DIR}/error.log

 CustomLog ${APACHE_LOG_DIR}/access.log combined

 

</VirtualHost>

파일 작업 후 www.ZZZ.com.conf 파일을  /etc/apache2/sites-available 폴더로 넣어줘야 합니다.

 

눈치 채셨겠지만,

아파치 서버는 ServerName , DocumentRoot, Directory의 내용을 파악해서

적절한 호스팅을 하는 구조입니다.

따라서, 위의 요인을 서비스 하려는 웹 페이지 이름과 폴더위치에 맞게 설정해주고

별도 파일을 만들어서 아파치 폴더에 넣어 주고 아래의 작업을 하면 호스팅 준비가 끝납니다.
아파치 명령어 a2ensite 로 호스팅 설정 파일을 활성화 시켜 줍니다.

sudo a2ensite www.AAA.com.conf

sudo a2ensite www.ZZZ.com.conf

다시 아파치 명령어 a2dissite로 000-default.conf 설정을 비활성화 시켜 줍니다.

※ 이작업을 하지 않으면 호스팅별 페이지를 볼 수 없습니다.

sudo a2dissite 000-default.conf

이제 아파치 서버를 재시작 합니다.

sudo service apache2 reload

 

즐거운 서버운영 되세요

728x90
반응형