1차 도메인 : kr
2차 도메인 : technote.kr
3차 도메인 : forum.technote.kr
DNS 는 가비아나 후이즈와 같은 대행 업체를 통해 구매가 가능하고, 기본적인 설정이 가능하다.
하나의 서버에 여러개의 DNS 주소를 연결하고자 할 때에는 DNS 설정만으로는 불가능하다. 서버 내 가상 호스트를 생성하여 들어 오는 DNS 요청에 따라 적합한 웹으로 연결 시켜 주어야 한다.
전체적인 순서는 다음과 같다.
- DNS 설정을 통해 연결하기 원하는 주소를 등록(e.g> forum.technote.kr) 하고 해당 주소를 IP 에 mapping 시켜 준다.
- 해당 IP 주소를 가지는 서버에 웹 서버를 구동하고, 여러개의 DNS 주소를 연결하고자 한다면 웹서버에 가상 호스트를 생성해준다.
1. 가비아나 후이즈 등 DNS 등록/관리 사이트에서 구매 도메인의 하위 도메인을 설정한다.
가비아의 경우 DNS 설정에서 레코드 추가를 통해 추가를 원하는 하위 DNS 와 이에 대한 IP 주소를 입력해 준다.
이렇게 DNS 설정을 하게 되면 요청하는 DNS가 올 경우 해당 IP 의 서버로 요청이 온다.
2. 아파치 웹서버를 구동하고, 여러개의 추가 DNS 등록이 필요하다면 아래와 같이 가상 호스트를 생성한다.
[/etc/apache2/sites-available/000-default.conf] 기본 template을 원하는 이름으로 복사 한다.
~$ cp 000-default.conf forum.conf
복사 후 아래와 같이 신규 DNS 에 맞게 원하는 값들을 바꾸어 준다.
# 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 http://forum.technote.kr/ ServerAdmin webmaster@localhost DocumentRoot /var/www/html_forum # 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_forum.log CustomLog ${APACHE_LOG_DIR}/access_forum.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 ErrorDocument 403 /index.php ErrorDocument 404 /index.php # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
ServerName : 실제 추가 하고자 하는 DNS 주소
DocumentRoot : 서버 내 웹페이지 경로
ErrorLog, Custom Log : 실시간으로 쌓일 로그 파일 이름
위와 같이 추가할 DNS 의 설정을 추가한 후 해당 설정을 활성화해야 한다.
ln 명령으로 manual 하게 할 수도 있지만 스크립트를 제공함으로 아래와 같이 a2ensite 명령을 통해 진행하면 된다.
~# a2ensite forum
a2ensite 명령어를 통해 enable한 후 아래와 같이 apache를 재구동해주면 추가된 주소로 서버에 접근이 가능해진다.
root@server:~# service apache2 restart * Restarting web server apache2 [ OK ] root@server:~#
여담으로 a2ensite 를 확인해 보면 아래와 같다. a2ensite는 a2enmod 의 symbolic link 이고, a2enmod는 perl script 로 해당 파일을 열어 보면 어떤 역할을 하는지 확인해 볼 수 있다.
ubuntu@server:~$ which a2ensite /usr/sbin/a2ensite ubuntu@server:~$ file /usr/sbin/a2ensite /usr/sbin/a2ensite: symbolic link to `a2enmod' ubuntu@server:~$ which a2enmod /usr/sbin/a2enmod ubuntu@server:~$ file /usr/sbin/a2enmod /usr/sbin/a2enmod: Perl script, ASCII text executable
'OS > Linux' 카테고리의 다른 글
Ubuntu - repository(저장소) 변경하기 (0) | 2019.11.11 |
---|---|
Ubuntu - SSH Server 설치 및 접속하기 (0) | 2019.11.11 |
screen, 자유롭고 안정적인 Linux session의 사용 (0) | 2017.01.21 |
Linux - iconv - 파일(File) 인코딩(Encoding) 변경 (0) | 2017.01.07 |
Ubuntu, wpa_supplicant 빌드/컴파일 하기 (0) | 2016.12.29 |
Linux/Ubuntu, Samba 설정하기. (0) | 2016.08.04 |
자기 자신 IP Address C 코드로 확인하기.(SIOCGIFADDR) (0) | 2016.07.27 |
Linux 접속 차단하기. (TCP Wrapper) (0) | 2016.07.22 |