私は、Ubuntuサーバー16.04.2とApache2を使用します。Apache2には個人のWebサイトが保存されています。
/etc/Apache2/sites-available
(000-default.conf
およびssl-default.conf
以外)の下ですべてのconfファイルを有効にするには、/var/www/html
に移動してa2ensite
を実行しました。
私はその後言われました:
Your choices are:
000-default default-ssl domain.tld1 domain.tld2 domain.tld3 domain.tld4
Which site(s) do you want to enable (wildcards ok)?
それから Ctrl+C 他の何かを実行することを目指しています。
特定の設定に注意することなく、すべてのサイト設定を自動的に有効にする方法を探しています---自分で追加したすべてのサイト設定を有効にするコマンドを実行したいだけです。
Configディレクトリでfindを使用することもできます。
find /etc/Apache2/sites-available/ -type f -and -not -name "*default*" -exec a2ensite {} \;
これにより、名前に「デフォルト」が含まれていないすべての構成ファイルが検出され、アクティブになります。
/etc/Apache2/sites-available
に移動して、コマンドを実行する必要があります。
Sudo a2ensite *
ディレクトリ内のすべてのサイトが有効になります。 (ファイルはxxx.confのようなものでなければなりません)
そして、Sudo service Apache2 reload
を使用してApacheをリロードします。
したがって、コマンドシーケンスは次のようになります。
cd /etc/Apache2/sites-available
Sudo a2ensite *
Sudo service Apache2 reload
コピーファイル名Apache_enable.sh
に次の行を貼り付けます
cd /etc/Apache2/sites-available/
a2ensite *
service Apache2 reload
read_executeコマンドをApache_enable.sh
に与え、rootユーザーを使用してスクリプトを実行します
現在の場所が何であっても、Sudo a2ensite "*.conf"
コマンドは/etc/Apache2/sites-available/
にあるすべての構成ファイルを有効にしようとします。
次に、a2dissite 000-default.conf default-ssl.conf
を使用してデフォルトのApacheの構成を無効にし、systemctl restart Apache2.service
を使用して再起動します。
これをすべて単一のコマンドのように実行できます。
Sudo bash -c "a2ensite '*.conf' && a2dissite 000-default.conf default-ssl.conf && systemctl restart Apache2.service"
さらに、bashの関数を使用してカスタムコマンドを作成できます。
function a2ensites {
Sudo bash -c "a2ensite '*.conf' && a2dissite 000-default default-ssl && systemctl restart Apache2.service"
}
export -f a2ensites
このジョブを実行するように設計されたコマンドa2ensites
があります。このコマンドを永続的にするには、上記の行を~/.bashrc
ファイルの下部に配置してから、source
に配置する必要があります。次の簡単なスクリプトでこのタスクを実行します。
printf "\nfunction a2ensites { \n\tsudo bash -c \"a2ensite '*.conf' && a2dissite 000-default.conf default-ssl.conf && systemctl restart Apache2.service\" \n}\nexport -f a2ensites\n" | tee -a $HOME/.bashrc; source $HOME/.bashrc
a2ensite /var/www/html/*/
を実行すると、Apacheは同じ名前を持つ各サイトconfをサイトディレクトリとして有効にします。
副作用として、次の出力から予測されるように、サイトのconfファイルと一致しないサイトのディレクトリも一致させようとしますが、これは安全に無視できると思います。
ERROR: Site /var/www/html/domain.tld1 does not exist!
ERROR: Site /var/www/html/domain.tld2 does not exist!
ERROR: Site /var/www/html/Nice_directory does not exist!
ERROR: Site /var/www/html/Nice_file does not exist!
Confファイルを有効にした後、Apacheを再起動する必要があります。
systemctl restart Apache2.service