apache2 index php по умолчанию

Почему вместо собственной страницы index.html появляется страница по умолчанию для Apache2 Ubuntu?

У меня есть компьютер Ubuntu 14.10, который используется для тестирования локальных веб-сайтов, он не обслуживает Интернет. На нем у меня настроено семь сайтов. Однако, когда я получаю доступ к двум из семи, я получаю Apache2 Ubuntu Default Page вместо моей собственной страницы индекса.

Насколько я могу судить, я настроил все семь с использованием одного и того же процесса, поэтому я не знаю, чего не хватает этим двум. Кроме того, в моем каталоге журналов Apache у меня есть два файла журнала, error а также access для каждого из двух плохих сайтов, но все они пусты. Когда я перезагружаю apache2 сервис, ошибок нет. Я повторил свои шаги несколько раз, и я не вижу никакой разницы между рабочими сайтами и неработающими сайтами.

Какие варианты у меня есть для диагностики этой проблемы? Могу ли я как-то заставить больше подробных журналов ошибок? Где-нибудь еще есть журнал, на который я могу сослаться?

4 ответа

Оказывается, проблема была в разрешениях.

Включить подробные журналы

Найдите переменную LogLevel и обновите ее с предупреждения по умолчанию до информации или отладки. отладка произведет наибольшее количество вывода.

Перезапустите Apache

Apache включает в себя небольшой инструмент для проверки синтаксиса

Проверка определений виртуальных хостов

Для меня одно из предложений от @Dan решило это.

Видимо конфигурация сайта по умолчанию переопределяла мою конфигурацию vhost.

Источник

Настройка Apache

Файл «httpd.conf»

Внимане! Некоторые директивы могут выглядеть так:

и т. п. Эти строки удалять не нужно!

Общие настройки

Вам нужно будет сделать правку файла «httpd.conf». У некоторых директив изменить значение, другие раскомментировать, третьи добавить. Далее я приведу список директив и их значений, которые должны присутствовать в файле конфигурации Apache.

Каталог с файлами сервера (не путать с «DocumentRoot»):

Привязывает Apache к конкретному порту:

Имя сервера (на работу это не влияет):

Администратор сервера. Содержит ваш адрес электронной почты, который будет отображаться при некоторых ошибках сервера:

Зачем это нужно, поймете потом, а сейчас просто сделайте как я говорю.

Далее замените блок » » на следующее:

Задание индексного файла для директории (этот файл сервер будет отображать при обращении к каталогу без указания имени файла):

Настройки CGI

Задание псевдонима для каталога с cgi-скриптами «C:\Sites\home\localhost\cgi». При указании пути вида http://localhost/cgi/ или http://localhost/cgi-bin/, Apache будет обращаться к каталогу «C:\Sites\home\localhost\cgi»:

Каталог «C:\Sites\home\localhost\cgi» также будет доступен вашим виртуальным хостам при обращении вида «http://имя_виртуального_хоста/cgi-bin/cgi-скрипт.bat». Напрмер, если вы введете в браузере http://neebet/cgi-bin/cgitest.bat, то будет выполнен код, находящийся в файле «C:\Sites\home\localhost\cgi\cgitest.bat», который также доступен по адресу http://localhost/cgi/cgitest.bat. У виртуальных хостов есть свой каталог для cgi-скриптов, доступный по адресу «http://имя_виртуального_хоста/cgi/cgi-скрипт.bat». Каталоги «cgi» не доступны для просмотра в браузере, и при прямом обращении к ним вы получите сообщение об ошибке «403».

Указывает Apache, что файлы с расширением «cgi», «bat», «exe» нужно воспринимать как cgi-скрипты:

Блок » » замените на:

Языковые настройки

Устанавливает языковой приоритет:

Настройки PHP

Настройки SSI

Виртуальные хосты

Итак, вы создали каталог «localhost» для хранения и тестирования документов вашего сайта. Но если у вас не один сайт? Можно конечно создать каталоги для других сайтов внутри «localhost» и обращаться к ним «http://localhost/site», но это не совсем удобно. Тем более, что Apache дает возможность решить эту проблему с помощью виртуальных хостов. Есть два вида виртуальных хостов: отдельные для каждого IP адреса и использующие один IP (name-based хосты). Я объясню как настроить последние.

Вы уже создали ранее папки «neebet» и «mysite» в директории «home». Это и есть корни ваших виртуальных хостов. В них должны быть папки «www» и «cgi», файлы access.log и error.log. Т. е. все так же как и с каталогом «localhost». Все ваши виртуальные хосты будут использовать IP «127.0.0.1».

Добавьте в файл «httpd.conf» следующее:

Т. о. вы настроили Apache для работы с виртуальными хостами. Имена, естесственно, можно изменить, но при этом будте внимательны с путями!

Читайте также:  Айфон перестал принимать пароль что делать

Теперь определимся с тем, как Windows узнает о существовании виртуальных хостов? Для этого придется отредактировать файл «hosts» (не путать с файлом «hosts.sam»), хранящийся в папке «%WINDOWS%\System32\drivers\etc». Выглядит он примерно так:

В него нужно будет дописать две строки:

Теперь, при обращении http://neebet загрузится содержимое «C:\Sites\home\neebet\www».

Источник

Содержание

Для просмотра страницы о сообществе [Ubuntu] пользователь должен ввести следующий путь:

Установка

Интернет-сервер Apache2 доступен в Ubuntu Linux. Для установки Apache2:

В терминале введите следующую команду:

Настройка

Apache2 настраивается помещением инструкций (directives) в обычные тестовые файлы настроек. Эти инструкции разделены между следующими файлами и каталогами:

apache2.conf: основной файл настроек Apache2. Содержит глобальные настройки для всего Apache2.

conf.d: (каталог) содержит файлы настроек, которые применяются глобально к Apache2. Другие пакеты, которые используют Apache2 для предоставления контента, могут добавлять файлы или символьные ссылки в этот каталог.

envvars: файл, где устанавливаются переменные окружения Apache2.

httpd.conf: устаревший основной файл настроек Apache2, названный по имени сервиса httpd. Теперь этот файл обычно пустой, поскольку большинство опций настроек были перемещены в каталоги, упомянутые далее. Файл может быть использован для для специфичных настроек пользователя, имеющих глобальный эффект в Apache2.

mods-available: этот каталог содержит конфигурационные файлы как для загрузки модулей, так и для их настройки. Тем не менее не все модули имеют отдельные файлы настройки.

mods-enabled: содержит символьные ссылки на файлы в /etc/apache2/mods-available. Когда создается символьная ссылка на файл настроек модуля, он включается при следующем рестарте apache2.

ports.conf: содержит инструкции, которые определяют какие TCP порты прослушивает Apache2.

sites-available: этот каталог содержит файлы настроек для виртуальных сетевых узлов (Virtual Hosts) Apache2. Виртуальные сетевые узлы позволяют настраивать Apache2 на множество сайтов с отдельными конфигурациями.

sites-enabled: подобно mods-enabled содержит символьные ссылки на каталог /etc/apache2/sites-available. Аналогично, когда файл настроек из sites-available получает здесь символьную ссылку, соответствующий ему сайт будет активен при следующем перезапуске Apache2.

В дополнение к этому другие файлы настроек могут быть добавлены с использованием инструкции Include, а символы группировок могут использоваться для включения множества файлов настроек. Любая инструкция может быть добавлена в любой из этих файлов настроек. Изменения в основных конфигурационных файлах распознаются только после старта или рестарта Apache2.

Сервер также читает файлы, содержащие типы mime документов; имя файла задается инструкцией TypesConfig, обычно через /etc/apache2/mods-available/mime.conf, который также может включать дополнения и переопределения, а по умолчанию используется /etc/mime.types.

Общие настройки

Этот раздел рассматривает существенные параметры настройки сервера Apache2. Обратитесь к документации по Apache2 для уточнения деталей.

1. Apache2 по умолчанию поставляется с конфигурацией, дружественной к виртуальным хостам. Это означает, что он изначально настроен с единственным виртуальным хостом (используя инструкцию VirtualHost) который может быть изменен или использоваться как есть, если у вас единственный сайт, либо использоваться как шаблон для дополнительных виртуальных хостов, если у вас несколько сайтов. Если оставить его единственным, изначальный виртуальный хост будет обслуживать ваш сайт по умолчанию или пользователи сайта заметят, что введенный ими URL не совпадает с инструкцией ServerName любого из ваших созданных сайтов. Для изменения начального виртуального хоста отредактируйте файл /etc/apache2/sites-available/default.

Если вы хотите настроить новый виртуальный хост или сайт, скопируйте этот файл в тот же каталог с новым именем. Например:

Отредактируйте новый файл для настройки нового сайта, используя инструкции, описанные ниже.

2. Инструкция ServerAdmin определяет адрес email для оповещения администратора сервера. Изначальное значение webmaster@localhost. Его надо изменить на ваш email адрес (если именно вы являетесь администратором сервера). Если возникает проблема с сайтом, Apache2 показывает сообщение об ошибке, содержащее этот адрес для оповещения о проблеме. Ищите эту инструкцию в файле настроек вашего сайта в каталоге /etc/apache2/sites-available.

3. Инструкция Listen определяет порт, и в общем случае IP адрес, на которых Apache2 должен ожидать соединения. Если IP адрес не определен, Apache2 будет прослушивать все IP адреса, которые назначены компьютеру, где он запущен. Значение по умолчанию для Listen 80. Замените его на 127.0.0.1:80 чтобы Apache2 прослушивал только интерфейс внутренней петли, что сделает его недоступным из интернета; на 81 (например) для изменения порта доступа или оставьте как есть для стандартного функционирования. Эта инструкция может быть найдена и изменена в единственном файле /etc/apache2/ports.conf.

Читайте также:  за что отвечает главный бухгалтер в ооо

4. Инструкция ServerName необязательная и определяет на какой адрес FQDN ваш сайт должен отвечать. Изначальный виртуальный хост не имеет ServerName, поэтому отвечает на все запросы не соответствующие директивам ServerName других виртуальных хостов. Если вы приобрели доменное имя ubunturocks.com и хотите прописать его на вашем Ubuntu сервере, значение ServerName для файла настроек вашего виртуального хоста должно быть ubunturocks.com. Добавьте эту инструкцию в файл нового виртуального хоста, который вы создавали ранее (/etc/apache2/sites-available/mynewsite).

Возможно вы захотите, чтобы ваш сайт откликался на www.ubunturocks.com, поскольку многие пользователи считают префикс www необходимым. Используйте для этого инструкцию ServerAlias. Вы можете также применять для ServerAlias групповые символы.

5. Инструкция DocumentRoot определяет где Apache2 будет искать файлы, которые являются содержимым сайта. По умолчанию используется значение /var/www, как определено в /etc/apache2/sites-available/default. Если желаете, можете изменить это значение в файле сайта вашего виртуального хоста и не забудьте создать этот каталог, если необходимо!

Включите новый VirtualHost, используя утилиту a2ensite, и перезапустите Apache2:

Аналогично используйте утилиту a2dissite для выключения сайтов. Это может быть полезным при разрешении проблем с несколькими виртуальными хостами:

Настройки по умолчанию

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

Например, когда пользователь запрашивает страницу http://www.example.com/this_directory/, он (или она) получит либо страницу, определяемую DirectoryIndex, если она существует, список файлов в каталоге, сгенерированный сервером, если не существует и определена опция Indexes, или страницу Permission Denied (недостаточно прав доступа) в остальных случаях. Сервер попытается найти один из файлов, перечисленных в инструкции DirectoryIndex и вернет первый найденный. Если не найдет ни одного и если установлено Options Indexes для данного каталога, сервер создаст и вернет список в формате HTML подкаталогов и файлов в этом каталоге. Значение по умолчанию, находящееся в /etc/apache2/mods-available/dir.conf это «index.html index.cgi index.pl index.php index.xhtml index.htm». Поэтому, если Apache2 найдет файл в запрашиваемом каталоге, соответствующий любому из этих имен, первый же из них будет показан [клиенту].

2. Инструкция ErrorDocument позволяет вам определить файл для Apache2, используемый при определенных ошибочных событиях. Например, если пользователь запросил ресурс, который не существует, возникнет ошибка 404. По умолчанию Apache2 просто вернет код возврата HTTP 404. Прочитайте /etc/apache2/conf.d/localized-error-pages для детальных инструкций по использованию ErrorDocument, включающий расположение файлов примеров.

3. По умолчанию сервер пишет журнал обмена в файл /var/log/apache2/access.log. Вы можете поменять это для каждого сайта в файлах настроек ваших виртуальных хостов с помощью инструкции CustomLog или спуститься на уровень настроек по умолчанию, определяемых в /etc/apache2/conf.d/other-vhosts-access-log. Вы можете также определить файл, в который будут сохраняться ошибки, через инструкцию ErrorLog, которая изначально указывает на var/log/apache2/error.log. Они хранятся отдельно от журнала обмена чтобы помочь в решении проблем с вашим сервером Apache2. Вы можете также определить LogLevel (изначально значение «warn») и LogFormat (смотрите /etc/apache2/apache2.conf для значений по умолчанию).

Инструкция Options внутри раздела Directory принимает одно или несколько из следующих значений (среди прочего), разделенные пробелами:

Настройки httpd

Этот раздел раскрывает некоторые основные конфигурационные настройки сервиса httpd.

Модули Apache2

Вы можете установить дополнительные модули Apache2 и использовать их с вашим интернет сервером. Например, запустите следующую команду в терминале для установки модуля авторизации MySQL:

Ищите дополнительные модули в каталоге /etc/apache2/mods-available.

Используйте утилиту a2enmod для включения модуля:

Аналогично a2dismod выключит модуль:

Настройка HTTPS

Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале для включения этого модуля:

Настройки по умолчанию для HTTPS находятся в файле /etc/apache2/sites-available/default-ssl. Чтобы Apache2 предоставлял HTTPS, также требуются файлы ключа и сертификата. Изначальная настройка HTTPS использует сертификат и ключ, созданные пакетом ssl-cert. Они подходят для тестирования, но должны быть заменены на сертификат, соответствующий вашему сайту или серверу. Для информации по созданию ключей и получению сертификатов смотрите раздел Сертификаты.

Читайте также:  К чему снится сон где выпадают зубы без крови и боли у себя

Для настройки Apache2 для HTTPS введите следующее:

С Apache2, теперь настроенным на HTTPS, перезапустим сервис для разрешения новых настроек:

Вы можете получить доступ к страницам защищенного сервера набрав https://your_hostname/url/ в адресной строке вашего браузера.

Права разделения записи

Чтобы более одного пользователя имели право записи в один и тот же каталог, необходимо дать право записи группе, которая их объединяет. Следующий пример предоставляет права на запись в каталог /var/www для группы «webmasters».

Ссылки

Документация по Apache2 содержит более глубокую информацию по директивам настройки. Также смотрите пакет apache2-doc для официальной документации по Apache2.

Источник

Как изменить страницу индекса по умолчанию в Apache?

Я хотел бы изменить веб-страницу по умолчанию, которая появляется при просмотре моего сайта. В настоящее время у меня работает программа отчетов, и она выводит файл с именем index.формат html. Я не могу изменить то, что он называет файл. Поэтому моя целевая страница должна называться как-то иначе. Прямо сейчас, когда я просматриваю свой сайт, он переносит меня на страницу отчетов.

из того, что я вижу, что вы называете индексом.html он вытащит это как ваш по умолчанию. Я хочу изменить это на посадку.формат html. Как мне быть? это?

Я также бегу Ubuntu 13.04.

3 ответов

или любое имя страницы, которое вы хотите иметь для него.

редактировать: базовый учебник htaccess.

введите строку выше там. Там, вероятно, будет много, многие другие вещи, которые вы добавите к этому (AddTypes для webfonts / media files, кэширование для заголовков,объявление gzip для сжатия и т. д.), но эта одна строка объявляет вашу новую «домашнюю» страницу.

если у вас есть доступ, зайдите в расположение сайта на сервере. Я запускаю сервер Debian для разработки и сайт по умолчанию установки в /etc/apache2/sites-available/default для Debian / Ubuntu. Не уверен, какой сервер вы запускаете, но просто найдите «доступные сайты» и перейдите в документ «по умолчанию». Там вы увидите запись для каталога. Измените его так:

затем перезапустите сервер apache. Опять же, не уверен в вашем сервере, но команда на Debian / Ubuntu:

технически вам нужно только перезагрузить, но я перезапускаю только потому, что я чувствую себя безопаснее с полным обновлением, как что.

вы также можете установить DirectoryIndex в httpd apache.файл conf.

CentOS хранит этот файл в /etc/httpd/conf/httpd.conf В Debian: /etc/apache2/apache2.conf

откройте файл в текстовом редакторе и найдите строку, начинающуюся с DirectoryIndex

загрузить посадки.html по умолчанию (но индекс.html, если это не найдено) измените эту строку на:

Источник

index.php not loading by default

I have just installed CentOS, Apache and PHP. When I visit my site http://example.com/myapp/, it says «forbidden». By default it’s not loading the index.php file.

Any idea how to fix that issue?

9 Answers 9

Apache needs to be configured to recognize index.php as an index file.

The simplest way to accomplish this..

NOTE:

This is quoted from http://httpd.apache.org/docs/1.3/howto/htaccess.html
Although this refers to an older version of apache, I believe the principle still applies.

Adding the following to your httpd.conf (if you have access to it) is considered better form, causes less server overhead and has the exact same effect:

At a guess I’d say the directory index is set to index.html, or some variant, try:

This will still give index.html priority over index.php (handy if you need to throw up a maintenance page)

This might be helpful to somebody. here is the snippet from httpd.conf (Apache version 2.2 windows)

now this will look for index.html file if not found it will look for index.php.

Edit: Actually, isn’t there a ‘php-apache’ package or something that you’re supposed to install with both of them?

Go to the conf folder of your apache folder mine is

Источник

Образовательный портал