[워드프레스 멀티사이트를 위한] 네임서버와 웹서버의 설정
Name Server and Web Server Setup for Wordpress Multisite
1년 전에 작성했던 [내 서버에] 워드프레스 멀티사이트 만들고 운영하기에서 나는 와일드카드 DNS를 사용하지 않고, 멀티사이트를 추가할 때 마다 해당 호스트(서브-도메인)에 대해서 네임서버와 웹서버를 별도로 설정한다고 했다. 불편해 보일 수 있지만...개인적인 취향(?)이기에 이정도의 귀찮음은 감수할 수 있었다. 하지만.....
1. 한글도메인을 사용하면서 (퓨니코드는 길다~)
2. 메인사이트를 2차 서브도메인으로 설정하고 (ex : sub2.sub1.내도메인.com)
3. Wildcard SSL인증서를 적용한 보안서버로 운영해보니 (https://(*)sub2.sub1.내도메인.com)
아파치 웹서버의 가상호스트 설정파일이 불필요하게 커진다. 동일한 인증서를 서브도메인마다 적용시키거나, http를 https로 rewrite하는 부분, DocumentRoot의 설정도 변함없는 메인사이트 한 곳인데 계속 중복이 된다. 무엇보다도 puny code로 표현된 한글은 주석문이 없으면 알아볼 수도 없으며 너무 길어서 불편하다.
워드프레스나 그누보드로 구현하는 멀티사이트는 아래와 같이 네임서버와 웹서버의 설정에서 와일드카드(*)를 사용하고, 정의되지 않은 서브도메인에 대해서는 별도로 처리를 해주는 것이 정신건강에 이롭다. -_-;
-[zone 파일]-
~ 중략 ~
* IN A ip-address
-[apache Virtual Host]-
<VirtualHost *:80>
ServerName subdomain.mydomain.tld
ServerAlias *.subdomain.mydomain.tld
DocumentRoot /path/
RewriteEngine on
RewriteCond %{SERVER_NAME} =subdomain.mydomain.tld [OR]
RewriteCond %{SERVER_NAME} =*.subdomain.mydomain.tld [OR]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<ifModule mod_ssl.c>
<VirtualHost *:443>
ServerName subdomain.mydomain.tld
ServerAlias *.subdomain.mydomain.tld
DocumentRoot /path/
ErrorLog ....
CustomLog .....
SSLCertificateFile /path/...
SSLCertificateKeyFile /path/...
SSLCertificateChainFile /path/...
Include /path/...
</VirtualHost>
</IfModule>
그리고 2차 이상의 서브도메인의 생성(서브도메인의 권한 위임)에 관해서는 아래의 글을 참고하자.
2022.05.19 - [Linux/DNS server] - 1,2,3차,..(n)차 서브도메인을 만들기 위한 네임서버[bind] 설정
1,2,3차,..(n)차 서브도메인을 만들기 위한 네임서버[bind] 설정
Create Subdomains 네임서버를 설정하는 과정에서 도메인 네임(domain name)에 호스트 네임(host name)을 추가하여 1차(?) 서브도메인을 생성할 수 있다. 실제 테스트 중인 eseoil.com을 예로 들면 아래와 같다.
aegypius.tistory.com