私は、codeigniter を使用して Web ホスティング ホスティング コントロールパネルを開発しています。ここまでは順調ですね。:)
現在、仮想ホストを作成するソリューションに取り組んでいます。仮想ホストを作成するシェル スクリプトが機能するので、最初に考えたのは、そのスクリプトを 15 分ごとに cron ジョブで起動することでした。それはうまくいくはずです。
ただし、15 分ごとに作成する新しい仮想ホストがなくなるわけではありません。そのため、15 分ごとに apache 構成をリロードするのは多すぎると思います。
ちなみに、codeigniter 側では、その新しい仮想ホストに属する値を含む単純なテキスト ファイルを作成するだけです。
それで、リアルタイムでそれを行うための保存ソリューションはありますか? 私の推測では、shell_exec() を使用してリアルタイムで実行する唯一の方法ですが、それは保存方法ではありません。
私のシェルスクリプトは非常に初心者なので、仮想ホストを作成するか、何もしないかを選択する if または else ステートメントをトリガーする方法があると言わざるを得ません。しかし、どうすればそれを行うことができますか? それから私はリアルタイムでそれをする必要はありません。
これは私のシェルスクリプトです:
#!/bin/bash
vhroot='/etc/apache2/sites-available/'
NEW_DOMAINS="/home/domain.txt"
cat ${NEW_DOMAINS} | \
while read domain user email
do
echo "<VirtualHost *:80>
ServerName "$domain"
ServerAlias www."$domain"
ServerAdmin "$email"
DocumentRoot /home/"$user"/domains/"$domain"/public_html
</VirtualHost>" > $vhroot/$domain
#mkdir /home/$user/domains/domain
#mkdir /home/$user/domains/$domain/public_html
#chown -R $user.$user /home/$user/domains/$domain
echo "111.21.111.111 $domain" >> host.txt
#a2ensite $hostname
done
echo "" > /home/domain.txt
# /etc/init.d/apache2 reload
誰かがこの問題に対するシンプルだが効果的な解決策を持っていることを願っています。