Задать вопрос
noder_ss
@noder_ss
Линуксоид-энтузиаст и SQL разработчик

Что такое /var/www/html/index.html и как отнять у него 80 порт?

Всем привет, уже довольно долгое время сижу с одной проблемой. Что-то занимает 80 порт. Провел расследование, убрал все процессы на этом порту, убрал апач2 из автозагрузки, но ничего не помогало. Оказалось, на этом порту зачем то хоститься html файл из /var/www/html . Что это вообще за файл? Зачем он нужен? Стоит ли его удалять? И как отпустить 80 порт, чтобы он был свободен?
  • Вопрос задан
  • 3859 просмотров
Подписаться 3 Простой 8 комментариев
Решения вопроса 2
Файл не может "хоститься на порту". Порт занимает какая-то программа, команда netstat -tulpn | grep :80 её покажет.
Вы либо недоубрали Апач, либо у вас Nginx ещё есть или какой-то другой веб-сервер. Содержимое файла ещё может дать подсказку.
Ответ написан
Комментировать
shambler81
@shambler81 Куратор тега Linux
Все он правильно занимает.
Это штатное поведение.
И так Как по идее должжно работать
Брауер -> отдает тебе $HOST -> на основане хоста выбирается конфиг апача подставляетсяс ты получаешь сайт, такой подход позволяет вешать любое количество сайтов на 1 порт 1 ip

<VirtualHost *:80>
DocumentRoot /var/www/clients/client1/web9/web
 ServerName course.nipinfo.ru
..

но.
куда должны деваться все неавторизованные ?
Собственно для них есть ловушка типа "все" - общий случай.
соответственно для этого создается по умолчанию конфиг в котором хост указан
apache

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>


Или вот вариант в nignx
nginx
server {
        listen 80 default_server;
        listen [::]:80 default_server;
....
}

И по стечению обстаятельств это удобно когда у тебя 1 сайт ничего не нужно настраивать, просто ложишь в папку /var/www/html что тебе нужно и все.
А вот если у тебя два сайта все нужно делать совсем по другому поскольку приходится прописывать все явно.
То есть общий случай /var/www/html
Частные случаи то есть когда ты объявляешь конкретный домен ведут туда куда ты хочеш.

как найти файл в котором написано правило
/etc/apache2 -type f -exec  grep -l "/var/www/html" {} \;

или если не сработало
/etc/httpd -type f -exec  grep -l "/var/www/html" {} \;

ну или если nginx
/etc/nginx -type f -exec  grep -l "/var/www/html" {} \;

66f179f6b52b1149777821.png

И че за файлик то, а это приветствие" хелло братик апач работает"
если сервер другой то убери в поиске папку apache оставь просто /etc тогда он покажет тебе все файлы в которых упоминается папка /var/www/htm
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы