ブログサービスの様にサブドメインを動的に生成する方法
2024/04/18
ブログサービスの様に「hoge」というログインIDを作成した際「hoge.blog.jp」のようにサブドメインを自動的に生成したい。また同時にサーバ側では「hoge」というディレクトリを作成し、当該ドメインにアクセスした場合はそのディレクトリを参照させたい。以下に対応方法のメモ。
DNSの設定
まずはDNS側の設定をする。「○○.blog.jp」の○○がどのような値でも「111.222.333.444」というIPに向けたい場合、ワイルドカードが使えるらしい。下記がワイルドカードの例。
RECORD NAME *(ワイルドカード) TYPE A TTL 7200(無料プランだと固定) Priority 空白でOK Content 111.222.333.444(サーバーのIP入れる)
あと、ネームサーバーも変えないといけない。今回はtkドメインで試したんだけど、Management Toolsの中にNameserversというのがあるので、Use custom nameserversの中に以下を入れておく。
ns1.dzndns.com ns2.dzndns.com ns3.dzndns.com ns4.dzndns.com
これで「○○.blog.jp」とした場合に○○に何を入れても「111.222.333.444」に飛ぶようになる。
apacheの設定
次にapache側の設定。httpd.confに以下を記述する。
#↓↓コメントアウト付いている場合は外す NameVirtualHost *:80 #↓↓下記を追記 <VirtualHost *:80> ServerAdmin blog.jp ServerName blog.jp ServerAlias *.blog.jp VirtualDocumentRoot /var/www/html/%1 ErrorLog logs/error_log CustomLog logs/access_log common </VirtualHost>
こうすることで「hoge.blog.jp」というURLを叩いた場合「/var/www/html/hoge」がドキュメントルートとなる。
PHPでディレクトリ生成
あとはアカウント作成フォームとかと組み合わせて以下のような形でディレクトリをPHP側から作成することで、ユーザーのIDがサブドメインとして使えるようになる。
$dirName = 'hoge'; $dirPath = '/var/www/html/' . $dirName; mkdir($dirPath, 0755);
関連記事
-
-
CentOS6系から7系に(KAGOYAからIndigoに)移行した際のメモ
CentOS6系から7系に、さらにKAGOYAのVPSからWebARENA In ...
-
-
CentOS7.9にPostfixをインストールしてメール送信できるようセットアップする方法
本ブログのサーバをKAGOYAのVPSからWebARENA Indigoへ移行し ...
-
-
htaccessとhttpd.confの優先度
既に完成しているシステムを引き継ぐことがあり、そこのリライトルール設定を変更した ...
-
-
OpenLiteSpeedで任意のディレクトリに対してBasic認証をかける方法
OpenLiteSpeedで任意のディレクトリ以下へのアクセスに対してBasic ...
-
-
AlmaLinuxにOpenLiteSpeedをインストールしHello Worldページ表示までを行う方法
AlmaLinux8系にOpenLiteSpeedをインストールしてみたい。まず ...