Apache2 не запускается debian
Если вы разработчик или системный администратор, скорее всего, вы имеете дело с Apache на регулярной основе.
Запуск, остановка и перезапуск / перезагрузка являются наиболее распространенными задачами при работе с веб-сервером Apache. Команды для управления службой Apache различны в разных дистрибутивах Linux.
В этой статье объясняется, как запустить, остановить и перезапустить Apache в наиболее популярных дистрибутивах Linux.
Подготовка
В инструкциях предполагается, что вы вошли в систему как пользователь root или пользователь с привилегиями sudo .
И служебные блоки SystemD, и сценарий SysVinit принимают следующие аргументы для управления службой Apache:
- start : start службу Apache.
- stop : завершает работу службы Apache.
- restart : останавливает, а затем запускает службу Apache.
- reload : аккуратно перезапускает службу Apache. При перезагрузке основной процесс Apache завершает дочерние процессы, загружает новую конфигурацию и запускает новые дочерние процессы.
- status : показывает статус услуги.
Запуск, остановка и перезапуск Apache в Ubuntu и Debian
Чтобы запустить службу Apache, выполните следующую команду:
Чтобы остановить службу Apache, выполните следующую команду:
Каждый раз, когда вы вносите изменения в конфигурацию Apache, вам необходимо перезапускать серверные процессы. Чтобы перезапустить службу Apache, запустите:
Более старые (EOLed) версии Ubuntu или Debian используют сценарии init.d для запуска, остановки и перезапуска демона Apache:
Запуск, остановка и перезапуск Apache на RHEL / CentOS
Запустите службу Apache:
Остановите службу Apache:
Перезапустите службу Apache:
Если у вас есть система CentOS 6 или более ранней версии, которая использует SysV, используйте следующие команды для запуска, остановки и перезапуска демона Apache:
Выводы
Мы показали вам, как запускать, останавливать и перезапускать веб-сервер Apache в различных системах Linux.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии ниже.
Apache – это популярный веб-сервер с открытым исходным кодом, который отличается гибкостью, производительностью и широкой поддержкой. Данный мануал ознакомит вас с общими процедурами по поддержке Apache, включая управление сервисом, работу с виртуальными хостами и редактирование конфигураций.
Примечание: Мануал предназначен для пользователей, которые работают с Apache в Ubuntu. Если вы используете CentOS или другой дистрибутив RHEL, обратитесь к мануалу Установка LAMP stack на CentOS 7.
Каждый раздел может использоваться независимо от других, поэтому вы можете пропустить разделы, которые вам не нужны. Все условные значения в командах выделены красным; вместо этих значений вы можете подставить свои данные.
Каждый раздел предлагает ссылки на другие руководства, с которыми можно проконсультироваться.
Установка Apache
Чтобы установить сервис Apache, обновите индекс пакетов и запустите следующую команду:
sudo apt-get update
sudo apt-get install apache2
Автозагрузка Apache
Сервис Apache запускается автоматически. Если вы хотите изменить это поведение, введите:
sudo systemctl disable apache2.service
Чтобы снова добавить Apache в автозагрузку, введите:
sudo systemctl enable apache2.service
Управление сервисом Apache
Чтобы остановить сервер Apache, введите следующую команду:
sudo systemctl stop apache2
Чтобы запустить сервер Apache, введите:
sudo systemctl start apache2
Чтобы остановить сервис и запустить его снова, введите:
sudo systemctl restart apache2
Если вы изменили конфигурацию, вы можете перезагрузить Apache в текущей сессии. Введите следующую команду:
sudo systemctl reload apache2
Проверка состояния Apache
Чтобы проверить состояние Apache, введите команду:
sudo systemctl status apache2
Эта команда сообщит, работает ли Apache и покажет вам последние несколько строк логов.
Создание корневого каталога для статического сайта
При создании сайтов на Apache разработчики часто используют виртуальные хосты – это хосты, которые обслуживают отдельные сайты или домены. Для этого нужно создать document root, каталог верхнего уровня, который Apache проверяет при обслуживании контента.
Передайте права на каталог пользователю с доступом к sudo.
Предоставьте остальным пользователям права на чтение контента:
find /var/www -type d -exec chmod 775 <> \;
Помните, что права доступа должны меняться в соответствии с ситуацией.
Создание корневого каталога для динамических файлов
Если ваш сайт использует динамические модули типа PHP, создайте каталог document root для этих файлов:
Передайте права на каталог пользователю sudo и группе www-data:
Изменение конфигурации
При работе с виртуальными хостами необходимо изменить параметры конфигурации и добавить данные о домене, чтобы сервер Apache мог правильно реагировать на запросы.
Откройте файл виртуального хоста:
Измените следующие строки:
После изменения файл будет выглядеть так:
Прежде чем сохранить файл, убедитесь, что в директивах нет ошибок.
Включение и отключение конфигурационных файлов
Виртуальные хосты
Чтобы включить виртуальный хост, введите:
Чтобы отключить конфигурационный файл (в данном примере это стандартный виртуальный хост):
sudo a2dissite 000-default.conf
Модули
Чтобы включить модули из каталога /etc/apache2/mods-available, введите:
sudo a2enmod example_mod
Чтобы отключить конкретный модуль:
sudo a2dismod example_mod
Конфигурационные файлы
Чтобы включить конфигурационные файлы из каталога /etc/apache2/conf-available (файлы, не связанные с виртуальными хостами), введите:
sudo a2enconf example-conf
Чтобы отключить файл, введите:
sudo a2disconf example-conf
Тестирование конфигурации
Каждый раз, когда вы вносите изменения в конфигурационные файлы Apache, обязательно выполните следующую команду, чтобы проверить наличие синтаксических ошибок:
sudo apache2ctl configtest
Важные файлы и каталоги Apache
Контент
Конфигурация сервера
- /etc/apache2: конфигурационный каталог Apache (здесь хранятся все конфигурационные файлы веб-сервера).
- /etc/apache2/apache2.conf: главный конфигурационный файл веб-сервера, в котором находятся все глобальные параметры. Все остальные файлы загружаются через этот файл. Также тут хранятся директивы FollowSymLinks, которые отвечают за включение и отключение конфигурационных файлов.
- /etc/apache2/sites-available/: здесь находятся все виртуальные хосты (в том числе и отключенные). В этом каталоге происходят все изменения в настройке виртуального хоста. Эти файлы включаются с помощью команды a2ensite.
- /etc/apache2/sites-enabled/: здесь хранятся файлы включенных виртуальных хостов. При запуске или перезагрузке Apache читает конфигурационные файлы и ссылки в этом каталоге, чтобы собрать полную конфигурацию.
- /etc/apache2/conf-available и /etc/apache2/conf-enabled: работают по тому же принципу, что и sites-available и sites-enabled. Эти каталоги предназначены для хранения фрагментов конфигурации, которые не входят в виртуальные хосты.
- /etc/apache2/mods-available и /etc/apache2/mods-enabled: эти каталоги работают аналогичным образом. Они предназначены для хранения модулей. В них находятся файлы двух типов: файлы с расширением .load загружают модули, а файлы .conf хранят их конфигурации.
- /var/log/apache2/access.log – это лог, который регистрирует все запросы Apache (если в конфигурации веб-сервера не сказано другого).
- /var/log/apache2/error.log – это лог ошибок. Настроить уровень логирования можно с помощью параметра LogLevel в /etc/apache2/apache2.conf.
Другой способ доступа к информации о компонентах Apache – через journald. Этот инструмент собирает информацию логов приложений и ядра. Чтобы просмотреть записи для модуля Apache, введите:
sudo journalctl -u apache2
Заключение
Данный мануал перечислил общие процедуры по поддержке сервера Apache. Чтобы узнать больше о работе с Apache, ознакомьтесь со следующими руководствами:
Настраиваем веб-сервер на базе Apache в Debian / Ubuntu Server
Веб-сервер Apache без преувеличения можно назвать стандартом де-факто в интернет. Большинство популярных систем управления сайтами и иных веб-приложений разрабатываются таким образом, чтобы работать с данным веб-сервером "из коробки". Поэтому, если вам нужен веб-сервер широкого применения, то Apache будет лучшим выбором. В данной статье мы расскажем, как установить и настроить полноценный веб-сервер на базе Debian / Ubuntu Server.
Сразу скажем, Apache по многим параметрам, таким как скорость работы или потребление ресурсов, не является лидером среди веб-серверов, но выгодно отличается тем, что на нем гарантированно будет работать любое веб-приложение или сайт без дополнительных настроек и доработок. Добавим сюда гибкость и простоту в настройках, хорошую документацию и низкий порог вхождения. В общем, если вы не знаете какие конкретные выгоды даст вам применение альтернативного веб-сервера, смело выбирайте Apache.
Кроме самого веб-сервера нам понадобится система управления базами данных, в данной отрасли стандартом де-факто давно является MySQL, и один из скриптовых языков для работы веб-приложений, на сегодняшний день пальму первенства уверенно держит PHP. Все вместе образует классическую связку, именуемую еще LAMP-сервер, аббревиатура расшифровывается как: Linux - Apache - MySQL - PHP.
Для установки мы будем использовать платформу Debian / Ubuntu. Системы, в зависимости от релиза, отличаются набором ПО, но все изложенное ниже будет одинаково применимо к любой из них. Существующие отличия будут оговорены отдельно. На момент написания статьи актуальны следующие релизы систем и версии ПО:
- Debian 8 Jessie: Apache 2.4.10, PHP 5.6.7, MySQL 5.5.43
- Debian 7 Squeeze: Apache 2.2.22, PHP 5.4.39, MySQL 5.5.43
- Ubuntu Server 14.04 LTS: Apache 2.4.7, PHP 5.5.9, MySQL 5.5.43
- Ubuntu 12.04 LTS: Apache 2.2.22, PHP 5.3.10, MySQL 5.5.43
Все вышеуказанные выпуски содержат относительно современные версии ПО, но есть некоторые особенности. Так входящий в состав Ubuntu 14.04 и Debian 8, Apache 2.4 имеет достаточно серьезные отличия от Apache 2.2 и не все CMS (системы управления контентом, "движки") и веб-приложения умеют работать с ним, особенно это касается старых версий. Так, например, вы не сможете использовать Apache 2.4 для веб-доступа к базам 1С:Предприятие. Поэтому, если вы решили выбрать версию 2.4 - уточните совместимость с нею всех планируемых к размещению CMS и веб-приложений.
Кроме того, MySQL из состава Ubuntu Server 12.04 / 14.04 не работает внутри контейнеров OpenVZ, которые широко используются для предоставления услуги VPS. Проблема решается заменой MySQL из репозитория на версию от MySQL Community (разработчики) или один из форков, например, MariaDB.
С учетом вышесказанного оптимальным выбором нам представляется использование в качестве платформы веб-сервера Debian 7, как наиболее совместимую с существующими веб-приложениями и не имеющую серьезных проблем.
Мы не будем останавливаться на установке и подготовке серверной ОС, более подробно вы можете ознакомиться с этим процессом в наших статьях для Debian и Ubuntu Server. Также не забудьте правильно настроить язык и региональные стандарты системы. Все приведенные ниже действия следует выполнять с правами суперпользователя, например, с помощью команды sudo.
Установка Apache
Установка веб-сервера предельно проста:
Для проверки его работы наберите в браузере IP-адрес сервера, и вы увидите стандартную страницу заглушку:
Для Apache 2.4 она выглядит несколько иначе, но смысл от этого не меняется.
Настройки сервера содержатся в /etc/apache2/apache2.conf, к которому подключаются дополнительные файлы из директорий mods-enabled и sites-enabled. При этом никто не мешает вам внести все указанные настройки непосредственно в apache2.conf - все будет работать, но это резко снижает удобство администрирования, так как требует постоянной правки основного файла конфигурации, в то время как настройки во внешних файлах легко включаются и отключаются при помощи специальных инструментов.
С этой целью каталоги mods-enabled и sites-enabled не содержат файлов конфигурации, а только символические ссылки на директории mods-available и sites-available, где следует располагать сами файлы. Как понятно из названий, в данных каталогах находятся настройки модулей и виртуальных хостов. Если с модулями дело приходится иметь редко, то управлять таким образом виртуальными хостами, т.е. сайтами, очень удобно.
Следующий вопрос, который следует решить, это права доступа к файлам и папкам сайта. По умолчанию их владельцем должен являться веб-сервер (пользователь и группа www-data), в противном случае скрипты могут работать неожиданным образом или не работать вообще. Более удобно и безопасно запускать содержимое сайтов от имени пользователя, а не веб-сервера. Для этого установим следующий пакет:
В Ubuntu 14.04 при установке данного пакета вы можете столкнуться с ошибкой:
Это известный баг, для его исправления выполните:
Если мы заглянем в папку sites-enabled, то увидим там уже готовую конфигурацию для сайта по умолчанию, т.е. того, что будет показано при наборе IP-адреса сервера. Данная настройка указывает на папку /var/www или /var/www/html для Apache 2.4, где расположена страница заглушка. После того как вы добавите свои сайты, выводиться будет первый по списку сайт.
Теперь создадим файл виртуального хоста и приступим к его заполнению:
Для Apache 2.4 файлы конфигурации обязательно должны иметь расширение .conf, поэтому команда будет выглядеть следующим образом.
Внутри разместите следующий текст:
Разберем содержимое более подробно. Начинается секция виртуального хоста с ее определения <VirtualHost 1.2.3.4:80>, где указывается IP-адрес и порт, на котором данный хост работает, если вы хотите принимать соединения на всех сетевых интерфейсах, то вместо адреса поставьте "звездочку" - *. Внутри секции располагаются следующие директивы:
- ±Includes - разрешает / запрещает SSI (Server Side Includes -- включения на стороне сервера), в нашем случае выключено в целях безопасности. Имеет смысл включать только в том случае, если ваш сайт явно требует данной опции.
- ±Indexes - разрешает / запрещает показывать содержимое каталога при отсутствии индексного файла, отключено в целях безопасности.
- ±ExecCGI - разрешает / запрещает выполнение сценариев CGI, отключаем в целях безопасности.
За ней следует директива AllowOverride, которая устанавливает использование директив из файлов .htaccess, по умолчанию сервер устанавливает для /var/www данную директиву в None, что запрещает использовать директивы .htaccess во всех вложенных директориях. Для того чтобы разрешить использование директив .htaccess установите данную директиву в All, что разрешит использовать в .htaccess любые директивы.
Этим список доступных опций (как и директив) не исчерпывается, но их рассмотрение выходит за рамки данной статьи и будет рассмотрено в отдельном материале. Вы можете самостоятельно ознакомиться с ними в официальной документации.
Закрываем открытые секции: </Directory> и </VirtualHost>, затем сохраняем файл. Конфигурация виртуального хоста готова.
Чтобы включить сайт необходимо сделать символьную ссылку на файл конфигурации в каталоге sites-enabled, а, чтобы выключить - удалить эту ссылку. Это можно сделать вручную, при помощи команды ln -s, или использовать специальную утилиту apache:
Данная команда включит сайт, для выключения введите:
В качестве опции команде передается имя конфигурационного файла из sites-available, в случае Apache 2.4 без расширения. После каждого такого действия веб-сервер необходимо перезапустить:
Чтобы проверить работу виртуального хоста разместите в его корневой директории любой html-файл и обратитесь к серверу по имени домена (при этом А-запись домена должна быть настроена и указывать на ваш веб-сервер).
Например, создадим индексный файл:
И разместим в нем строку:
В итоге в браузере вы должны увидеть следующее:
Установка PHP
Если веб-сервер был нужен вам для размещения статического содержимого или сторонних веб-приложений, например, публикации баз 1С:Предприятия, то дальше можно не читать. Но если вы собираетесь создать сайт на основе популярных CMS - вам потребуется поддержка скриптового языка PHP, на базе которого разработаны большинство современных "движков".
Важно! В современных дистрибутивах используется более новая версия PHP7, чтобы работать с новой версией языка вместо php5 в приведенных ниже командах следует указывать php7.x или просто php, например, вместо php5-imagick нужно набрать php7.0-imagick или php-imagick.
Будет установлен сам интерпретатор и необходимые для работы с веб-сервером модули. Модули позволяют гибко изменять функциональность PHP, управление модулями осуществляется аналогично Apache, когда конфигурации модулей располагаются в одной директории, а для их подключения делается символьная ссылка в другую.
По умолчанию PHP устанавливается с базовым набором модулей, который удовлетворяет большинство потребностей, однако применяемая вами CMS может требовать дополнительных модулей, которые нужно будет установить отдельно.
Например, для работы с графикой вам потребуется поддержка графической библиотеки GD2, поэтому установим соответствующий модуль:
После чего не забудьте перезапустить веб-сервер:
Кстати, GD2, на наш взгляд не самый лучший выбор, в актив библиотеки можно записать низкое потребление ресурсов и высокую скорость работы, но по качеству работы с изображениями она уступает альтернативной утилите imagemagick, иногда значительно. Поэтому имеет смысл установить обе утилиты и выбрать ту, работа которой наиболее вам подойдет. Если ресурсы сервера позволяют, то предпочтительно использовать imagemagick.
Установим утилиту и модуль PHP для нее:
Для проверки работы PHP создадим в корневой директории сайта специальный скрипт:
И внесем в него следующий текст:
Установка MySQL
СУБД MySQL - третий необходимый компонент полноценного веб-сервера, основное назначение базы данных - хранение информации сайта, как пользовательской, так и служебной. При этом по важности СУБД превосходит все остальные компоненты, так как потеря базы данных равносильна потере всей информации вашего ресурса.
Установим сервер баз данных и модуль PHP для работы с ним:
Важно! В свежих выпусках Debian (и его производных) вместо пакета mysql-server следует установить mariadb-server, который полностью совместим с MySQL.
В процессе установки вам будет предложено ввести пароль для суперпользователя MySQL (root), которого не следует путать с суперпользователем системы.
Для удобного управления базами данных имеет смысл установить phpMyAdmin - удобную веб-утилиту для управления сервером MySQL:
В Ubuntu 14.04 мы столкнулись с небольшой проблемой, утилита сообщила нам, что расширение mcrypt не найдено, хотя соответствующий модуль PHP был установлен среди зависимостей.
Проверим. В /etc/php5/apache2/conf.d ссылка на данный модуль отсутствует, в то время как в /etc/php5/mods-available нужный файл есть. Следовательно, модуль установлен, но, по какой-то причине, не подключен. Возможно это связано с Apache 2.4 и тогда подобная ситуация может иметь место и в Debian 8.
Однако ничего страшного не произошло, все что нам нужно - это подключить модуль, создав символьную ссылку:
Никаких дополнительных настроек MySQL сервер не требует, благо кодировка UTF-8 стала стандартом де-факто. В принципе на этом можно закончить, но все базы данных размещаемые на сервере будут работать с правами суперпользователя MySQL, что небезопасно. Поэтому следует создать пользователей сервера баз данных с ограниченными правами, чтобы они могли управлять только своими базами.
Откроем phpMyAdmin и перейдем на страницу Привилегии (Пользователи), где выберем Добавить нового пользователя.
Это позволит лишний раз не отвлекаться на установку прав, а просто создавать базы с именами вида ivanov_base1 или petrov_base2, предоставляя соответствующим пользователям полные права на них, а также быстро определять принадлежность баз данных. В тоже время данная настройка не является догмой, вы можете поступать на свое усмотрение. Остальные параметры оставляем по умолчанию.
Для проверки создадим базу данных phpMyAdmin - Базы данных - Новая база данных.
При создании БД обращайте внимание на кодировку. Сегодня большинство движков и веб-приложений работают с UTF-8 (utf8_general_ci), однако старые версии движков могут использовать национальные кодировки, поэтому нужно будет правильно указать их еще на стадии создания базы, в противном случае, залив в базу, созданную в UTF-8 дамп в кодировке Windows-1252 вместо русских букв на сайте окажутся "крякозяблики".
Создав базу, проверим ее привилегии, нажав одноименную ссылку рядом с именем базы.
Как видим, все правильно, полные права на базу имеет указанный в имени пользователь и суперпользователь root, хотя никаких настроек доступа при создании базы мы не указывали.
На этом настройку можно считать законченной и приступать к эксплуатации сервера. Несмотря на то, что описанная конфигурация является базовой, ее возможностей вполне достаточно для размещения и нормальной работы практически любой современной CMS массового применения и мы будем использовать данный сервер как эталонный для наших следующих материалов по данной теме.
Главное меню » Операционная система Linux » Как запустить, остановить или перезапустить Apache
(1 оценок, среднее: 5,00 из 5)Если вы разработчик или системный администратор, есть вероятность, что вы имеете дело с Apache на регулярной основе.
Запуск, остановка и перезапуск/перезагрузка являются наиболее распространенными задачами при работе с веб-сервером Apache. Команды для управления службой Apache различны в разных дистрибутивах Linux.
В этой статье мы объясним, как запускать, останавливать и перезапускать Apache в самых популярных дистрибутивах Linux.
Прежде чем вы начнете
В инструкциях предполагается, что вы вошли в систему как пользователь root или пользователь с привилегиями sudo.
И служебные модули SystemD, и сценарий SysVinit принимают следующие аргументы для управления службой Apache:
- start: Запускает службу Apache.
- stop: Завершает службу Apache.
- restart: Останавливается, а затем запускается служба Apache.
- reload: Перезапускает службу Apache. При перезагрузке основной процесс Apache завершает работу дочерних процессов, загружает новую конфигурацию и запускает новые дочерние процессы.
- status: Показывает статус сервиса.
Запустите, остановите и перезапустите Apache в Ubuntu и Debian
Выполните следующую команду, чтобы запустить службу Apache:
Выполните следующую команду, чтобы остановить службу Apache:
Всякий раз, когда вы вносите изменения в конфигурацию Apache, вам необходимо перезапускать процессы сервера. Выполните следующую команду, чтобы перезапустить службу Apache:
Более старые (EOLed) версии Ubuntu или Debian используют сценарии init.d для запуска, остановки и перезапуска демона Apache:
Запустите, остановите и перезапустите Apache на RHEL/CentOS
Systemd является менеджером системы и сервиса для RHEL/CentOS 7 и 8.
Запустите сервис Apache:
Остановите службу Apache:
Перезапустите сервис Apache:
Если у вас CentOS 6 (или более ранняя версия), используйте следующие команды для запуска, остановки и перезапуска демона Apache:
Заключение
В этой статье мы показали, как запускать, останавливать и перезапускать веб-сервер Apache в различных системах Linux.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь комментировать ниже.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Читайте также: