我正在開發一個帶有codeigniter的虛擬主機控制面板。 目前爲止這麼好。 :)困境:實時創建虛擬主機還是使用crontab?
現在我正在研究創建虛擬主機的解決方案。 我的shell腳本創建虛擬主機的工作,所以我的第一個想法是在cronjob中每15分鐘發一個腳本。這應該工作。
但是不是每15分鐘就不會有一個新的虛擬主機來創建。 所以,我認爲這需要每15分鐘重新載入一次apache配置。
順便說一句,在codeigniter方面,它只是使用屬於該新虛擬主機的值創建一個簡單的文本文件。
那麼,是否有保存解決方案來實時進行? 我的感覺是,這是實時使用shell_exec()的唯一方法,但這不是一種保存方式。
我必須說,我的shell scipting是非常新手,所以也許有一種方法來觸發if或else語句來選擇創建虛擬主機或者什麼也不做。 但我該怎麼做?那麼我不需要實時做。
這是我的shell腳本:
#!/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
我希望有人有針對此問題一個簡單而有效的解決方案。