Не запускается apache в xampp

Почему Apache не запускается

Не запускается apache в xampp

Многие новички, которые пытаются настроить свой домашний веб-сервер на основе Apache часто сталкиваются с ошибкой, что Apache не запускается. Благо сейчас в Ubuntu веб-сервер будет правильно работать по умолчанию и запустится, если вы не будете менять настройки, но раньше и в других дистрибутивах приходилось настраивать различные параметры и возникали ошибки.

В этой небольшой статье мы рассмотрим почему Apache не работает, что может стать причиной этой проблемы и как ее решить. Инструкция подойдет не только для Ubuntu, но и для других Linux дистрибутивов.

Почему не запускается Apache?

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

  • Ошибка в конфигурационном файле — вы меняли конфигурацию и настроили что-то неправильно из-за этого программа не может запустится;
  • Права доступа — у программы нет прав доступа к каким-то важным для нее файлам, например, файлам логов, модулей или конфигурационным файлам;
  • Не запускается служба apache при загрузке, но при запуске из консоли все работает — проблема в том, что на момент запуска загружены еще не все необходимые службы;
  • Неверно указанно доменное имя — такая ошибка довольно часто встречается на локальных компьютерах;

А теперь рассмотрим более подробно почему так происходит и как решить проблему.

Как решить проблему с Apache?

Самое первое что вам нужно сделать в любом случае, если что-то не работает — это смотреть логи и информацию об ошибках. Только там вы сможете точно узнать что произошло. Самый простой способ это сделать, воспользоваться подсказкой systemd, которую она выдает при ошибке запуска:

See «systemctl status apache2.service» and «journalctl -xe» for details

То есть нам нужно выполнить systemctl status apache2.service или journalctl -xe чтобы получить больше сведений. Выполните сначала первую команду:

systemctl status apache2.service

Мы сразу же видим причину проблемы — ошибка в конфигурационном файле, в директиве Listen, а теперь пробуем другую команду:

journalctl -xe

Только ее нужно выполнять сразу же, как была выполнена попытка перезапуска apache, потому что скоро буфер лога будет затерт и вы там ничего не увидите. Но здесь сообщается то же сообщение об ошибке в конфигурационном файле, даже видно строку — 54. Еще можно посмотреть error.log, но туда сообщения пишутся не всегда:

cat /var/log/apache2/error.log

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

apache2ctl -t

Тут будут показаны даже предупреждения, которые не влияют на работу сервиса. Все серьезные ошибки нужно исправить если таковые имеются, возможно именно они препятствуют запуску.

Следующая важная проблема — это права доступа. Если Apache запускается от имени пользователя www-data, то у этого пользователя должен быть доступ на чтение к папке где лежат документы веб-сайта, а также ко всем папкам выше нее, также должен быть доступ на чтение и запись для логов и конфигурационных файлов. Проверить права можно с помощью команды namei, это аналог ls, который отображает полное дерево прав:

Читайте также  Запуск программ при старте Windows 10

namei -l /var/www/public_html/

Таким же образом проверяем папку с логами:

namei -l /var/log/apache2/

Как видите, у меня папка /var/www/public_html принадлежит пользователю root, но на папку public_html установлены права чтения и записи для всех пользователей. Поэтому проблем нет, а на папку с логами в качестве группы установлена adm, в эту группу входит пользователь www-data, так что тут тоже проблем нет. Если у вас что-то отличается и вы видите что прав недостаточно, то либо измените владельца папки с файлами веб-сайтов на www-data, либо дайте больше разрешений:

chown -R www-data /var/www/public_html/

Также, если в вашей системе включен SELinux, то вы можете его отключить на время, чтобы понять не в нем ли проблема:

setenforce 0

Другой момент, который может вызвать ошибку, это если на порту, который вы хотите использовать для веб-сервера уже запущен какой-то процесс, например, nginx или lighttpd, в таком случае, его нужно остановить:

sudo systemctl stop nginx
sudo systemctl stop lighttpd

Или вы можете попытаться изменить порт на другой, для этого откройте конфигурационный файл веб-сервера и найдите там строку Listen:

Listen 80

Если такой строки еще нет, то вы можете ее создать. Далее просто измените номер порта с 80 на любой удобный, например, 8080

Listen 8080

Дальше про ошибку старта при загрузке. Такая ошибка случалась в версиях ниже 2.2.4, если вы используете эту или более новую версию, то эта проблема вам не страшна. Она была вызвана тем, что Apache с SSL не хотел запускаться без папки /var/run/apache2, которой не было на момент загрузки. Самый простой способ решить проблему — отключить модуль ssl:

a2dismod ssl

Второй способ более сложный — добавьте в конфигурационный файл /etc/init.d/apache2 такую строку:

[ -d /var/run/apache2 ] || mkdir /var/run/apache2

Последняя проблема, о которой мы говорили — это когда неверно указанно имя сервера, на котором запускается Apache. Этой ошибке тоже были подвержены только ранние версии программы. Тогда при попытке запуска программа выдавала сообщение:

Failed to resolve server name for localhost

И дальше не запускалась. Чтобы решить эту проблему нужно было либо создавать виртуальные хосты, либо прописать в основном конфигурационном файле директиву ServerName, в которой будет указанно имя этого компьютера:

ServerName sergiy-pc

А также ассоциировать это имя с localhost в файле hosts:

sudo vi /etc/hosts

sergiy-pc localhost

Дальше было достаточно перезапустить Apache и все начинало работать.

Выводы

Источник: https://losst.ru/pochemu-apache-ne-zapuskaetsya

Установка и настройка PHP, Apache и MySQL для разработки с использованием технологии PHP в Windows

Не запускается apache в xampp

В данном учебном курсе рассматриваются два способа настройки среды разработки PHP в операционной системе Windows. Первый и наиболее удобный способ состоит в установке и настройке пакета AMP (Apache, МySQL, PHP). В данном учебном курсе приводится процедура установки пакета XAMPP. Второй способ состоит в установке и настройке каждого компонента по отдельности.

Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.

Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Настройка удаленного веб-сервера описана в разделе Развертывание приложения PHP на удаленном веб-сервере с помощью IDE NetBeans.

Этот учебный курс содержит информацию, необходимую для настройки локального веб-сервера. Поддержка PHP может добавляться к целому ряду локальных веб-серверов (IIS, Xitami и т.д.), но обычно используется сервер HTTP Apache. Сервер HTTP Apache включен в пакет AMP XAMPP, используемый в этом учебном курсе.

Читайте также  Windows 7 не запускается и не восстанавливается

Сведения относительно установки и настройки автономного сервера HTTP Apache приведены здесь.

Требуемое программное обеспечение

Для создания, выполнения и отладки проектов PHP необходимо следующее программное обеспечение:

  • IDE NetBeans для PHP. Загрузку можно осуществить отсюда.
  • Веб-сервер. Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Текущая версия позволяет использовать локальный сервер. Последующие версии будут поддерживать использование удаленного сервера с доступом по протоколу FTP. Поддержка PHP может добавляться к целому ряду веб-серверов (IIS, Xitami и т.д.), но обычно используется сервер HTTP Apache. Сведения относительно установки и настройки Apache 2.2 приведены здесь.
  • Механизм PHP. Поддерживается версия PHP5. Загрузку можно осуществить отсюда.
  • Отладчик PHP. IDE NetBeans для PHP позволяет использовать XDebug, но использование отладчика не является обзательным. Из соображений совместимости с PHP5 рекомендуется использовать версию XDebug 2.0 или выше.
  • Сервер базы данных. Существует возможность использования различных серверов базы данных, однако самым популярным из них является сервер MySQL. Загрузку можно осуществить отсюда.
    Примечание. Рекомендуемая версия продукта: MySQL Server 5.0. В предоставленных документах описывается работа с этой версией.

По завершении установки необходимо выполнить настройку среды в целях обеспечения правильной совместной работы всех программных компонентов.

Можно использовать пакет, содержащий требуемое программное обеспечение, или установить каждый компонент по отдельности.

Использование пакета AMP

В целях автоматической установки всех параметров настройки для механизма PHP, сервера HTTP Apache и сервера базы данных MySQL воспользуйтесь пакетом AMP. В данном учебном курсе приведены указания только для пакета XAMPP-Windows. Справочные сведения по пакету WAMP или другим пакетам приведены в разделе NetBeans XDebug Wiki.

Установка и настройка пакета XAMPP

В этом разделе приведено описание процедур загрузки, установки и настройки пакета XAMPP.

Предупреждение! НЕ используйте XAMPP 1.7.0. В этой версии имеются значительные проблемы с XDebug. Используйте версию 1.7.1 или выше, где эти неполадки устранены.

Примечание: Начиная с XAMPP 1.7.2, XAMPP поставляется с PHP 5.3а не с PHP 5.2.x. IDE NetBeans для PHP версии 6.7.x не поддерживает новые функции PHP 5.3. IDE NetBeans для PHP 6.8, которая в настоящее время доступна как сборка разработки, полностью поддерживает PHP 5.3. Также обратите внимание, что установка Xdebug различается для PHP 5.2.x и PHP 5.3.

  1. Загрузите пакет программы установки XAMPP . В состав XAMPP Lite не входит XDebug.
  2. По завершении загрузки запустите файл EXE.

    В Microsoft Vista функция контроля учетных записей пользователей (UAC) блокирует обновление установщиком PHP настройки службы httpd Apache. На время установки XAMPP следует отключить UAC. Для получения дополнительных сведений обратитесь к разделу Поддержка Майкрософт.

  3. Можно установить сервер Apache и сервер базы данных MySQL как веб-службы. Если Apache Server и MySQL установлены как службы, то нет необходимости запускать их вручную с помощью «XAMP Control Panel». Следует учитывать, что установить и удалить эти службы можно с помощью панели управления XAMPP.
  4. При использовании самораспаковывающегося архива после его распаковки запустите файл setup-xampp.bat для настройки компонентов пакета. Программа установки XAMPP запускает этот файл автоматически.
  5. После настройки откройте панель управления XAMP. Эту панель можно открыть посредством запуска файла XAMPP_HOME/xampp-control.exe или с помощью значка панель управления XAMPP, автоматически размещаемого на рабочем столе. При открытии панели управления XAMPP следует учитывать, что модули, установленные как службы, уже выполняются.

    Предупреждение. Иногда в Windows Vista не удается запустить файл xampp-control.exe. В этом случае можно запустить xampp-start.exe.

    Предупреждение. Файл winmysqladmin.exe, запускаемый кнопкой «Admin» для MySQL, не функционирует. Отображается последовательность сообщений об ошибках, которая может быть остановлена только путем завершения процесса winmysqladmin вручную. Файл winmysqladmin.exe также невозможно запустить из командной строки. Обратитесь к странице http://bugs.xampp.org/view.php?id=71.

  6. Флажки «Svc» указывают на то, что модуль устанавливается как служба Windows и автоматически выполняется при запуске системы. Службы Windows устанавливаются и удаляются при установке и снятии флажка «Svc». При удалении службы Windows сам модуль не удаляется, однако необходимо запускать его вручную. Панель управления XAMPP включает в себя кнопки запуска и остановки модулей, а также открытия их консолей администратора.
Читайте также  При запуске компьютера три длинных сигнала

Проверка установки XAMPP

  1. Запустите браузер и введите следующий URL-адрес: http://localhost. Откроется страница приветствия XAMPP:
  2. В целях обеспечения установки серверов Apache и MySQL в качестве служб системы перезапустите операционную систему, запустите браузер и повторно введите URL-адрес http://localhost.

    Откроется страница приветствия XAMPP. Обратите внимание на то, что в левом поле страницы приветствия XAMPP имеется меню, посредством которого можно проверить состояние компонентов XAMPP, запустить phpinfo(), а также воспользоваться другими важными функциями.

    При выполнении phpinfo() возвращается экран с информацией о настройке компонентов XAMPP.

Установка и включение отладчика XDebug

Для использования отладчика XDebug необходимо настроить стек PHP. Процесс отличается, если используется XAMPP 1.7.1, который включает в себя PHP 5.2.6, или XAMPP 1.7.2, который включает в себя PHP 5.3.

Многие пользователи испытывают трудности при настройке работы XDebug в своих системах. Справочные сведения приведены на вики-страницеи на форуме пользователей редактора NetBeans PHP Editor.

Необходимо скачать XDebug, поместить файл .dll в базовый каталог php и настроить php.ini для поиска и использования данного файла.

  1. Загрузите самую последнюю, ориентированную на многопотоковое исполнение версию XDebug, совместимую с вашей версией PHP. Ссылки для загрузки перечислены в разделе «Releases». Скопируйте файл .dll в каталог XAMP_HOME/php/ext. (XAMPP_HOME ссылается на каталог установки XAMPP или XAMPP Lite, например, C:\Program Files\xampp или C:\xampplite.)
  2. Найдите и откройте активный файл php.ini для XAMPP. По умолчанию он находится в каталоге XAMPP_HOME/apache/bin. Подтвердите, какой файл php.ini является активным, с помощью phpinfo() и поиска загруженного файла конфигурации.
  3. Поскольку оптимизатор Zend блокирует XDebug, оптимизатор требуется отключить. В активном файле php.ini найдите следующие строки и удалите или отметьте их как комментарии (для надежности выполните поиск и закомментируйте все свойства, связанные с Zend): [Zend];zend_extension_ts = «C:\Program Files\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll»;zend_extension_manager.optimizer_ts = «C:\Program Files\xampplite\php\zendOptimizer\lib\Optimizer»;zend_optimizer.enable_loader = 0;zend_optimizer.optimization_level=15;zend_optimizer.license_path =
  4. Для присоединения XDebug к механизму PHP раскомментируйте следующие строки в файлах php.ini (добавьте эти строки непосредственно в разделе [Zend]), если они отсутствуют. Добавлены дополнительные примечания. [XDebug]; Only Zend OR (!) XDebugzend_extension_ts = «./php/ext/php_xdebug.dll»; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number.xdebug.remote_enable=1xdebug.remote_host=127.0.0.1xdebug.remote_port=9000; Port number must match debugger port number in NetBeans IDE Tools > Options > PHPxdebug.remote_handler=dbgpxdebug.profiler_enable=1xdebug.profiler_output_dir=»\tmp»

    Установите свойство xdebug.remote_enable в значение 1, а не в значение «true» или другое значение.

    Примечание. Убедитесь в том, что указанные пути соответствуют расположению соответствующих файлов, как это определено при установке.

  5. Сохраните файл php.ini.
  6. Запустите панель управления XAMPP и перезапустите сервер Apache.

Дополнительные сведения о настройке XDebug приведены на вики-странице и в документации по XDebug.

Xdebug на XAMPP 1.7.2 (PHP 5.3)

XAMPP 1.7.2 поставляется вместе с соответствующим файлом Xdebug .dll. Для начала использования необходимо только настроить php.ini. Обратите внимание, что все настройки Xdebug сопровождаются поясняющим текстом.

  1. Найдите и откройте файл XAMPP_HOME\php\php.ini для редактирования. В XAMPP 1.7.2 используется только файл php.ini

Источник: https://netbeans.org/kb/docs/php/configure-php-environment-windows_ru.html