Question

J'écris un script shell pour configurer le serveur Web. Je dois désactiver tous les hôtes virtuels actuellement actifs. a2dissite n'accepte pas les arguments multiples, donc je ne peux pas le faire

a2dissite `ls /etc/apache2/sites-enabled`

Devrais-je utiliser find ? Est-il prudent de supprimer manuellement les liens symboliques dans / etc / apache2 / sites-enabled ?

Était-ce utile?

La solution

Votre script est-il uniquement Debian? Si tel est le cas, vous pouvez supprimer en toute sécurité tous les liens symboliques des sites activés. Ils fonctionneront tant que tous les sites auront été écrits correctement, dans le répertoire sites-available.

Par exemple:

 find /etc/apache2/sites-enabled/ -type l -exec rm -i "{}" \;

vous protégera contre toute personne ayant écrit un fichier au lieu d’un lien symbolique dans ce répertoire.

(supprimez le -i de rm pour un script automatique, bien sûr)

Autres conseils

Après un peu plus de recherches, j'ai découvert que a2dissite est simplement un script shell et qu'il appelle simplement rm . Donc, comme d’autres réponses, je conviens qu’il est sécuritaire de le faire

rm /etc/apache2/sites-enabled/*

Ubuntu 12.04lts / Ubuntu 16.04lts

Vous pouvez simplement faire ce qui suit [NB: vous aurez peut-être besoin de la permission root sudo a2dissite]

a2dissite *

Ou

a2dissite

Et cela vous invitera à choisir ceux que vous voulez faire

lorsque vous avez complètement désactivé les sites, redémarrez le serveur apache2

sudo systemctl restart apache2

ou tout simplement recharger la configuration d'Apache sans redémarrage complet:

sudo service apache2 reload

Pour supprimer le fichier hôte, supprimez-le simplement. Si vous souhaitez simplement dissoudre le site, utilisez

.
sudo a2dissite sitename

Redémarrez apache2

sudo /etc/init.d/apache2 reload

Encore une fois pour le supprimer (supprimer) complètement du système,

sudo rm /etc/apache2/sites-available/sitename

Je le désactiverais aussi avant de supprimer le fichier

Vous pouvez simplement supprimer les liens symboliques ou déplacer tout le répertoire. Il n’existe pas de base de données spéciale ni de métadonnées autres que ces liens.

Je n’utilise jamais 'a2dissite' et je supprime et crée toujours manuellement les liens dans / etc / apache2 / sites-enabled, alors oui, je dirais que c’est plutôt sûr.

Voici ma solution de contournement, premier type:

# a2dissite (tapez cette commande sans argument, cela vous demanderait de choisir la ligne suivante)

  

Vos choix sont les suivants: siteA siteB siteC siteD

     

Quel (s) site (s) souhaitez-vous désactiver (caractères génériques ok)?

Il ne vous reste plus qu'à copier l'ensemble de la liste de sites ci-dessus ( siteA siteB siteC siteD ) et le coller dans votre réponse, puis Entrée.

Le résultat en sortie serait:

removing dangling symlink /etc/apache2/sites-enabled/siteA.conf
removing dangling symlink /etc/apache2/sites-enabled/siteB.conf
removing dangling symlink /etc/apache2/sites-enabled/siteC.conf
removing dangling symlink /etc/apache2/sites-enabled/siteD.conf

Cette approche nous aidera à choisir facultativement de choisir une longue liste de noms de sites qui devraient être supprimés ou intacts.

vous pouvez éditer le fichier httpd.conf et supprimer la ligne d'inclusion des hôtes virtuels (au bas du fichier)

Apparemment, vous pouvez simplement installer la dernière version d'Ubuntu;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top