ブログサービスの様にサブドメインを動的に生成する方法
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);
関連記事
-
-
iptablesが動いているか確認する方法
iptablesが動いているか確認する方法が分からなかったのでメモ。 servi ...
-
-
AlmaLlinux8にsysstatを導入し、svgファイル出力したものをブラウザから閲覧する方法
以前CentOS系にsar(sysstat)を導入しSysstat Graphi ...
-
-
htaccessファイルでダイジェスト認証を行う方法
何かで調べ物をしていたときにdigest認証というものを見かけた。basic認証 ...
-
-
CPIのレンタルサーバでRewriteEngineを使用する場合の注意点
CPIのレンタルサーバで開発する案件があり、htaccessファイルを用いてRe ...
-
-
Nginxでリダイレクト(http->https)及びリライト設定
Nginxでhttpアクセス時にhttpsリダイレクトさせたい。それとは別に「h ...