Как отключить все виртуальные хосты apache? - PullRequest
9 голосов
/ 08 октября 2008

Я пишу сценарий оболочки для настройки веб-сервера. Мне нужно отключить все активные на данный момент виртуальные хосты. a2dissite не принимает несколько аргументов, поэтому я не могу сделать

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

Должен ли я использовать find? Безопасно ли вручную удалять символические ссылки в /etc/apache2/sites-enabled?

Ответы [ 9 ]

12 голосов
/ 08 октября 2008

После небольшого исследования я обнаружил, что a2dissite - это просто сценарий оболочки, и он в основном просто вызывает rm. Итак, как и другие ответы, я согласен, что это безопасно

rm /etc/apache2/sites-enabled/*
10 голосов
/ 08 октября 2008

Ваш скрипт только для Debian? Если это так, вы можете безопасно удалить все символические ссылки на сайтах с включенной поддержкой, которые будут работать до тех пор, пока все сайты написаны правильно, в каталоге sites-available.

Например:

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

защитит вас от того, кто на самом деле написал файл вместо символической ссылки в этом каталоге.

(конечно, удалите -i из rm для автоматического скрипта)

9 голосов
/ 03 июля 2014

Ubuntu 12.04lts / Ubuntu 16.04lts

Вы можете просто сделать следующее [NB: вам может потребоваться разрешение root sudo a2dissite]

a2dissite *

Или

a2dissite

И он подскажет вам те, которые вы хотите сделать

когда вы полностью отключили сайты, перезапустите сервер apache2

sudo systemctl restart apache2

или просто перезагрузите конфигурацию apache без полного перезапуска:

sudo service apache2 reload
4 голосов
/ 28 декабря 2014

Чтобы удалить файл хоста, просто удалите его. Если вы просто хотите удалить сайт, используйте

sudo a2dissite sitename

Перезагрузите apache2

sudo /etc/init.d/apache2 reload

Снова удалить (удалить) полностью из системы,

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

Я бы также отключил его перед удалением файла

2 голосов
/ 08 октября 2008

Вы можете просто удалить символические ссылки или удалить весь каталог. Кроме этих ссылок нет специальной базы данных или других метаданных.

1 голос
/ 08 октября 2008

Я никогда не использую 'a2dissite' и всегда удаляю и создаю ссылки в / etc / apache2 / sites-enabled вручную, поэтому да, я бы сказал, что это довольно безопасно.

0 голосов
/ 12 августа 2017

Вот мой обходной путь, первый тип:

# a2dissite (введите эту команду без аргументов, она попросит вас выбрать следующую строку)

Вы можете выбрать: siteA siteB siteC siteC siteD

Какие сайты вы хотите отключить (с подстановочными знаками)?

Теперь просто скопируйте весь приведенный выше список сайтов ( siteA siteB siteC siteC siteD ) и вставьте в качестве ответа, затем нажмите Enter.

Результат будет:

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

Такой подход поможет нам по желанию выбрать длинный список имен сайтов, которые должны быть удалены или нетронуты.

0 голосов
/ 08 октября 2008

Видимо, вы можете просто установить последнюю версию Ubuntu;)

0 голосов
/ 08 октября 2008

вы можете отредактировать httpd.conf и удалить строку включения для виртуальных хостов (внизу файла)

...