Потерянный файл httpd.conf находится в apache [закрыто]

510

Как я могу найти, где находится мой httpd.confфайл?

Я использую сервер Ubuntu Linux из Amazon Web Services EC2 (Elastic Compute Cloud) и не могу найти свою конфигурацию Apache.

Шалин Шах
источник
2
Какую ОС вы используете? Как вы установили Apache? Какую версию Apache вы используете? Это все, что вы должны включить, когда это будет перемещено в правильное место (вероятно, SeverFault).
gpojd
63
Разве это не должно быть перенесено на superuser.com вместо закрытия?
Трейдер
34
Вот быстрый способ:find / -name httpd.conf
prograhammer
15
Для красной шляпе, как правило: /etc/httpd/conf/httpd.conf access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/...
danwild
2
Вот еще один быстрый способ:locate httpd.conf
Судип Бхандари

Ответы:

649

Получить путь запуска Apache

$ ps -ef | grep apache
apache   12846 14590  0 Oct20 ?        00:00:00 /usr/sbin/apache2

Добавить -Vаргумент к пути

$ /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILE
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

Ссылка:
http://commanigy.com/blog/2011/6/8/finding-apache-configuration-file-httpd-conf-location

squiguy
источник
196
В некоторых ОС вы получите относительный путь к файлу conf: -D ​​SERVER_CONFIG_FILE = "apache2.conf" Вы можете запустить "/ usr / sbin / apache2 -V | grep HTTPD_ROOT", чтобы найти корень. Вывод: "-D HTTPD_ROOT =" / etc / apache2 / apache2.conf "Тогда будет абсолютный путь:" /etc/apache2/apache2.conf "
Mayank Jaiswal,
6
Не работает на моем общем хосте, так как ps показывает только задачи, выполняемые как я. Мне просто нужно было запустить «httpd -V» и «apache2ctl -V», как предлагает Рич Бауэр.
Джон Панкович
6
Я на Ubuntu 14.04 с Apache2 и sudo /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILEвыдает несколько предупреждений, Invalid Mutex directoryпоэтому правильная команда, которую я использовал,sudo apachectl -V | grep SERVER_CONFIG_FILE
NineCattoRules
4
У меня не работало в Ubuntu 16.04. Он просто возвращает PID grep.
posfan12
210

См. Http://wiki.apache.org/httpd/DistrosDefaultLayout для обсуждения того, где вы можете найти файлы конфигурации Apache httpd на разных платформах, поскольку это может варьироваться от выпуска к выпуску и от платформы к платформе. Однако наиболее распространенный ответ - либо / etc / apache / conf, либо / etc / httpd / conf

Как правило, вы можете определить ответ, выполнив команду:

httpd -V

(Это заглавная V). Или в системах, где httpd переименован, возможноapache2ctl -V

Это вернет различные подробности о том, как httpd собран и настроен, включая расположение по умолчанию основного файла конфигурации.

Одна из строк вывода должна выглядеть так:

-D SERVER_CONFIG_FILE = "conf / httpd.conf"

который в сочетании с линией:

-D HTTPD_ROOT = "/ etc / httpd"

даст вам полный путь к стандартному расположению файла конфигурации

Рич Боуэн
источник
14
Для меня то, что сработало, это apache2ctl -Vкоманда и поиск пути в том, что указано после.
Jamescampbell
1
да, apache2ctlэто не переименованная версия httpd, это разные имена одного и того же приложения на ОС на основе Debian и RedHat соответственно
vladkras
5
Я не the command httpdбыл найден.
Черный
1
Попробуйте «apachectl -V», если «httpd -V» не работает
Сомнат Павар
2
В Ubuntu у вас может быть файл apache2.conf, а не файл httpd.conf. Вы можете найти файл, указанный в каталоге / etc / apache2
prasoon