Centos apache перезапуск: Как перезапустить Apache в Centos 7, Centos 8
Установка LAMP (apache+php+mysql) в CentOS 7
Сегодня займемся поднятием одной из наиболее востребованных ролей любого linux сервера, которые занимают в этом функциональном сегменте лидирующую роль. Настройка web сервера CentOS 7 на базе связки популярного http сервера apache, интерпретатора php и сервера баз данных mysql, или коротко — установка lamp. Данная связка является самой популярной конфигурацией на сегодняшний день среди веб хостинга. Хотя последнее время ей на пятки наступает та же компания, но на базе nginx, возможно уже и опередила, точных данных у меня нет на этот счет.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужно пройти .
Данная статья является частью единого цикла статьей про сервер Centos.
Web сервер на CentOS 7
Итак, наш веб сервер centos будет состоять из трех основных компонентов — http сервера apache, интерпретатора языка программирования php и сервера баз данных mysql. Познакомимся немного с каждым из них:
- Apache — http сервер или просто веб сервер апач. Является кросплатформенным ПО, поддерживающим практически все популярные операционные системы, в том числе и Windows. Ценится прежде всего за свою надежность и гибкость конфигурации, которую можно существенно расширить благодаря подключаемым модулям, которых существует великое множество. Из недостатков отмечают большую требовательность к ресурсам, по сравнению с другими серверами. Держать такую же нагрузку, как, к примеру, nginx, apache не сможет при схожих параметрах железа.
- PHP — язык программирования общего назначения, который чаще всего применяется в веб разработке. На сегодняшний день это самый популярный язык в этой области применения. Поддерживается практически всеми хостинг-провайдерами.
- Mysql — система управления базами данных. Завоевала свою популярность в среде малых и средних приложений, которых очень много в вебе. Так что, как и php, на сегодняшний день является самой популярной бд, использующейся на веб сайтах. Поддерживается большинством хостингов. В CentOS вместо mysql устанавливается mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Последнее время я встречал информацию, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. На практике мне не довелось это наблюдать, так как никогда не работал с нагруженными базами данных. А в обычных условиях разница не заметна.
Подопытным сервером будет выступать виртуальная машина от ihor, характеристики следующие:
Процессор | 2 ядра |
Память | 8 Gb |
Диск | 150 Gb SSD |
Это кастомная настройка параметров. Они не оптимальны по цене, но мне были нужны именно такие.
Хочу сразу уточнить, что разбираю базовую дефолтную настройку. Для улучшения быстродействия, повышения надежности и удобства пользования нужно установить еще несколько инструментов, о чем я расскажу отдельно. В общем случае для организации веб сервера будет достаточно того, что есть в этой статье.
Если у вас еще нет сервера, то вам надо выполнить установку CentOS 7. А если сервер уже установлен, то не забудьте его настроить. Рекомендую обратить внимание именно на настройку, так как там много полезной информации, которую в рамках этой статьи я не даю — обновление системы, настройка фаервола, установка редактора и многое другое.
Настройка apache в CentOS 7
В CentOS служба apache называется httpd. Когда я только знакомился с этим дистрибутивом, мне было непривычно. В Freebsd и Debian, с которыми я до этого работал служба веб сервера называлась apache, хотя где-то я замечал, кажется во фрюхе, что файл конфигурации имеет имя httpd.conf. До сих пор я не знаю, почему распространились оба эти названия. Был бы рад, если бы со мной кто-то поделился информацией на этот счет в комментариях.
Теперь приступим к установке apache. В CentOS 7 это делается очень просто:
# yum install -y httpd
Добавляем apache в автозагрузку:
# systemctl enable httpd
Запускаем apache в CentOS 7:
# systemctl start httpd
Проверяем, запустился ли сервер:
# netstat -tulnp | grep httpd tcp6 0 0 :::80 :::* LISTEN 21586/httpd
Все в порядке, повис на 80-м порту, как и положено. Уже сейчас можно зайти по адресу http://ip-address и увидеть картинку:
Теперь займемся настройкой apache. Я предпочитаю следующую структуру веб хостинга:
/web | раздел для размещения сайтов |
/web/site1.ru/www | директория для содержимого сайта |
/web/site1.ru/logs | директория для логов сайта |
Создаем подобную структуру:
# mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R apache. /web
Дальше редактируем файл конфигурации apache — httpd.conf по адресу /etc/httpd/conf. Первым делом проверим, раскомментированна ли строчка в самом конце:
IncludeOptional conf.d/*.conf
Если нет, раскомментируем и идем в каталог /etc/httpd/conf.d. Создаем там файл site1.ru.conf:
# mcedit /etc/httpd/conf.d/site1.ru.conf
<VirtualHost *:80> ServerName site1.ru ServerAlias www.site1.ru DocumentRoot /web/site1.ru/www <Directory /web/site1.ru/www> Options FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log common </VirtualHost>
Перезапуск apache в centos
Теперь делаем restart apache:
# systemctl restart httpd
Если возникли какие-то ошибки — смотрим лог apache /var/log/httpd/error_log. Если все в порядке, то проверим, нормально ли настроен наш виртуальный хост. Для этого создадим в папке /web/site1.ru/www файл index.html следующего содержания:
# mcedit /web/site1.ru/www/index.html
<h2>Апач настроен!</h2>
# chown apache. /web/site1.ru/www/index.html
Дальше в винде правим файл hosts, чтобы обратиться к нашему виртуальному хосту. Добавляем туда строчку:
192.168.1.25 site1.ru
где 192.168.1.25 ip адрес нашего веб сервера.
Теперь в браузере набираем адрес http://site1.ru. Если видим картинку:
значит все правильно настроили. Если какие-то ошибки, то идем смотреть логи. Причем в данном случае не общий лог httpd, а лог ошибок конкретного виртуального хоста по адресу /web/site1.ru/logs/error.log.
Сразу же обращу ваше внимание на настройку ротации логов виртуальных хостов. Частенько бывает, что если сразу не настроишь, потом забываешь. Но если сайт с хорошей посещаемостью, то логи будут расти стремительно и могут занять очень много места. Лучше настроить ротацию логов веб сервера сразу же после создания. Сделать это не сложно.
Чтобы настроить ротацию логов виртуальных хостов, необходимо отредактировать файл /etc/logrotate.d/httpd. Он создается во время установки apache и включает в себя настройку ротации стандартного расположения логов. А так как мы перенесли логи каждого виртуального хоста в индивидуальную папку, необходимо добавить эти папки в этот файл:
# mcedit /etc/logrotate.d/httpd
/web/*/logs/*.log /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript }
Мы добавили одну строку в самое начала файла. Теперь логи всех виртуальных хостов в папке /web будут ротироваться по общему правилу.
В принципе, простейший веб сервер уже готов и им можно пользоваться. Но вряд ли сейчас найдутся сайты со статическим содержимым, которым достаточно поддержки только html. Так что продолжим нашу настройку.
Если вам необходимо организовать работу сайта по протоколу https, то воспользуйтесь руководством по настройке ssl в apache.
Установка php в CentOS 7
Для поддержки динамического содержимого сайтов выполним следующий шаг. Установим php в CentOS 7:
# yum install -y php
И следом еще несколько полезных компонентов. Установим популярные модули для php:
# yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd
Выполним перезапуск apache:
# systemctl restart httpd
Создадим файл в директории виртуального хоста и проверим работу php:
# mcedit /web/site1.ru/www/index.php
<?php phpinfo(); ?>
# chown apache. /web/site1.ru/www/index.php
Заходим по адресу http://site1.ru/index.php
Вы должны увидеть вывод информации о php. Если что-то не так, возникли какие-то ошибки, смотрите лог ошибок виртуального хоста, php ошибки будут тоже там.
Где лежит php.ini
После установки часто возникает вопрос, а где хранятся настройки php? Традиционно они находятся в едином файле настроек. В CentOS php.ini лежит в /etc, прямо в корне. Там можно редактировать глобальные настройки для все виртуальных хостов. Персональные настройки каждого сайта можно сделать отдельно в файле конфигурации виртуального хоста, который мы сделали раньше. Давайте добавим туда несколько полезных настроек:
# mcedit /etc/httpd/conf.d/site1.ru.conf
Добавляем в самый конец, перед </VirtualHost>
php_admin_value date.timezone 'Europe/Moscow' php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M
Для применения настроек нужно сделать restart apache. Теперь в выводе phpinfo можно увидеть изменение настроек.
Обновление до php 5.6 в CentOS 7
В нашем примере мы установили на CentOS 7 php 5.4 из стандартного репозитория. А что делать, если нам нужна более новая версия, например php 5.6? В таком случае нужно выполнить обновление php.
Для этого подключим remi репозиторий:
# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7*.rpm
Теперь обновляем php 5.4 до php 5.6:
# yum --enablerepo=remi,remi-php56 install php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd
Перезапускаем apache:
# systemctl restart httpd
И идем смотреть вывод phpinfo — http://site1.ru/index.php
Отлично, мы обновили php до версии 5.6.
Установка MySQL в CentOS 7
Как я уже писал ранее, сейчас все большее распространение получает форк mysql — mariadb. Она имеет полную совместимость с mysql, так что можно смело пользоваться. Я предпочитаю использовать именно ее.
Устанавливаем mariadb на CentOS 7:
# yum install -y mariadb mariadb-server
Добавляем mariadb в автозапуск:
# systemctl enable mariadb.service
Запускаем mariadb:
# systemctl start mariadb
Проверяем, запустилась или нет:
# netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 22276/mysqld
Обращаю внимание, что она даже в системе отображается как сервис mysqld. Теперь запускаем стандартный скрипт настройки безопасности:
# /usr/bin/mysql_secure_installation
Не буду приводить весь вывод работы этого скрипта, там все достаточно просто и понятно. Сначала задаем пароль для root (текущий пароль после установки пустой), потом удаляем анонимных пользователей, отключаем возможность подключаться root удаленно, удаляем тестового пользователя и базу.
Файл настроек mysql/mariadb лежит в /etc/my.cnf. Для обычной работы достаточно настроек по-умолчанию. Но если вы решите изменить их, не забудьте перезапустить службу баз данных.
Перезапуск mariadb/mysql в CentOS 7:
# systemctl restart mariadb
На этом все. Базовый функционал web сервера на CentOS 7 настроен.
Если вам нужен phpmyadmin воспользуйтесь моим подробным руководством по установке и настройке phpmyadmin на centos 7.
Буду рад замечаниям и комментариям по теме статьи. Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Установка Apache в CentOS 8
CentOS 8 — в настоящий момент последняя версия CentOS Linux, основанная на исходных кодах Red Hat Enterprise Linux 8. Apache HTTP-сервер — свободный кроссплатформенный веб-сервер, поддерживающий такие операционные системы, как Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
Основными достоинствами веб-сервера Apache считаются его надёжность и гибкость конфигурации, позволяющие подключать к нему внешние модули предоставления данных, использовать СУБД, производящие аутентификацию пользователей, анализировать сообщения об ошибках и многое другое. В Apache HTTP-сервер реализована поддержка протокола IPv6. В нашей статье мы расскажем вам как выполнить Apache на CentOS 8 или RHEL 8 с дополнительной конфигурацией и настройкой SSL.
Содержание статьи:
Установка Apache на CentOS 8
Для выполнения команд в инструкции вам потребуются привилегии sudo, требуемые для установки необходимых пакетов. Получить их можно, сменив пользователя на пользователя sudo командой:
sudo su
Шаг 1. Установка пакетов
Установка Apache CentOS 8 выполняется с помощью команды приведенной ниже. Она позволит установить не только сам сервер, но и дополнительные пакеты, необходимые для его работы в вашей системе:
dnf install httpd
Шаг 2. Настройка службы Apache
Управление службой Apache выполняется при помощи команды systemctl. По окончании установки используйте команду systemctl для добавления службы Apache в автозагрузку и её запуска:
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
Если вы хотите перезапустить apache CentOS 8, то можете использовать команду:
systemctl restart httpd.service
Перезапуск Apache без завершения активных соединений можно выполнить командой reload:
systemctl reload httpd.service
Шаг 3. Настройка фаервола
Для корректной работы установленного веб сервера необходимо открыть порты, используемые по умолчанию в файрволе, следующими командами:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
Шаг 4. Проверка работы Apache
Теперь вы можете получить информацию об установленной версии Apache на вашем сервере, используя следующую команду:
httpd -v
Вывод результатов выполнения команды представлен на рисунке ниже:
Создайте тестовую html-страницу в корневом каталоге веб-сервера по умолчанию (/var/www/html).
echo "Hello Losst.ru" > /var/www/html/index.html
Теперь откройте ваш любимый браузер и, используя IP-адрес сервера или домен, указывающий на IP-адрес вашего сервера, перейдите на только что созданную тестовую страницу:
Если вы видите текст, который ранее записали в тестовый файл, значит установка apache centos прошла успешно.
Шаг 5. Создание виртуальных хостов
Виртуальный хост — специальный раздел, используемый в конфигурации веб-сервера, выполняющий сопоставление доступных на сервере IP-адресов, доменов и директорий сервера, а также управляющий сайтами, созданными на веб-сервере. Давайте разберемся как создать виртуальный хост Apache Apache CentOS на примере сайта example.com. Создайте пример индексного файла в каталоге /var/www/example.com:
mkdir -p /var/www/example.com
echo "hello example.com" | sudo tee /var/www/example.com/index.html
Далее создайте файл конфигурации виртуального хоста и отредактируйте его, добавив следующее содержимое: можно изменить доменное имя в соответствии с вашим доменом:
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/example.com>
AllowOverride all
</Directory>
ErrorLog logs/example.com_error.log
CustomLog logs/example.com_access.log combined
</VirtualHost>
Рассмотрим структуру файла example.com.conf. Вот основные директивы, которые там используются:
- FollowSymLinks —при использовании этой директивы сервер будет следовать символическим ссылкам в указанном каталоге. Настройка директивы всегда остаётся заданной по умолчанию. Параметр FollowSymLinks работает только в разделах <Directory> или файлах .htaccess.
- AllowOverride — найдя файл .htaccess, сервер должен знать, какие директивы, объявленные в этом файле, могут переопределить более ранние директивы конфигурации. Директива AllowOverride допустима к использованию только в разделах <Directory>, указанных без регулярных выражений, но не в разделах <Location>, <DirectoryMatch> или <Files>. Если директива AllowOverride принимает значение None, то файлы .htaccess полностью игнорируются. В этом случае сервер даже не будет пытаться читать файл .htaccess в файловой системе. Если эта директива принимает значение Allow, то любая директива, имеющая свои htaccess-разрешения может переопределить более ранние директивы конфигурации.
- Order — наряду с директивами Allow (разрешено) и Deny (запрещено), управляет трёхпроходной системой контроля доступа. Первый проход обрабатывает либо все разрешающие, либо все запрещающие директивы, как указано в директиве Order. Второй проход анализирует остальные директивы (запретить или разрешить). Третий проход применяется ко всем запросам, не соответствующим ни одному из первых двух. Обратите внимание, что все директивы Allow и Deny обрабатываются иначе, чем обычный брандмауэр, использующий только первое значение правила. Кроме того, порядок, в котором строки появляются в файлах конфигурации, не имеет значения — все разрешающие строки обрабатываются как одна группа, все запрещающие строки рассматриваются как другая группа, а состояние по умолчанию рассматривается само по себе. Директива Order всегда принимает одно из двух значений: Allow или Deny.
- Директивы Allow и Deny. Вариант Allow, Deny подразумевает, что сперва оцениваются все директивы Allow. По крайней мере одна из них должна совпадать, иначе запрос отклоняется. Затем оцениваются все директивы Deny. В случае совпадения запрос отклоняется. Наконец, любые запросы, не соответствующие директиве Allow или Deny, по умолчанию отклоняются. В случае использования Deny, Allow оцениваются все директивы Deny. Если они совпадают, запрос отклоняется. Любые запросы, не соответствующие директивам Allow или Deny, разрешены.
Чтобы изменения вступили в силу надо перезапустить службу. Перезагрузка Apache выполняется командой:
systemctl reload httpd.service
Настройка виртуальных хостов Apache CentOS завершена.
Шаг 4. Настройка SSL
Если вы не собираетесь использовать SSL в работе вашего сайта, то можете смело пропускать этот шаг. Однако, безопасность всегда является главной задачей для любого веб-сайта. Для того, чтобы использовать SSL в связке с Apache, требуется установить пакет mod_ssl в вашей системе. Для этого выполните команду:
dnf install mod_ssl
По окончании установки пакета создайте директорию, в которой будет хранится наш
SSL-сертификат:
mkdir -p /etc/pki/tls/certs
Перейдите в него, выполнив команду:
cd /etc/pki/tls/certs
Теперь создайте SSL-сертификат, который будет использоваться при настройке виртуального хоста. Для этого выполните команду:
openssl req -x509 -nodes -newkey rsa:2048 -keyout example.com.key -out example.com.crt
Эта команда создаст закрытый ключ и сертификат в необходимой директории.
Вы можете использовать файл конфигурации /etc/httpd/conf/ssl.conf для настройки SSL вашего виртуального хоста или же можете создать отдельный файл конфигурации виртуального хоста для вашего домена, например, /etc/httpd/conf.d/example.com.conf. Добавьте в него следующее содержимое:
nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/example.com>
#AllowOverride all
</Directory>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/example.com.crt
SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key
ErrorLog logs/example.com_ssl-error.log
CustomLog logs/example.com_ssl-access.log combined
</VirtualHost>
В файле example.com.conf используются три директивы для включения поддержки ssl apache centos виртуальным хостом. Давайте рассмотрим их подробнее.
- SSLEngine — эта директива переключает использование механизма протокола SSL/TLS. Это обычно используется внутри <VirtualHost> для включения поддержки SSL /TLS конкретным виртуальным хостом. По умолчанию механизм протокола SSL/TLS отключён как для основного сервера, так и для всех настроенных виртуальных хостов. В Apache 2.1 и более поздних версиях SSLEngine устанавливается опционально. Эта директива может принимать два значения: on или off, что означает включено либо выключено.
- SSLCertifacateFile — эта директива создаёт файл типа «всё в одном», в котором можно собрать сертификаты центров сертификации (ЦС), с клиентами которых вы имеете дело. Они используются для аутентификации клиента. Такой файл — просто объединение различных файлов сертификатов, закодированных в PEM, в порядке предпочтения. Это может быть использовано в качестве альтернативы или дополнительно к SSLCACertificatePath.
- SSLCertificateKeyFile — указывает на PEM-кодированный файл закрытого ключа для сервера. Если содержащийся закрытый ключ зашифрован, диалог парольной фразы принудительно запускается во время запуска. Директиву можно использовать несколько раз (ссылаясь на разные имена файлов) для поддержки нескольких алгоритмов аутентификации сервера. Для каждой директивы SSLCertificateKeyFile должна быть соответствующая директива SSLCertificateFile.
Закрытый ключ также может быть объединён с сертификатом в файле, предоставленном SSLCertificateFile, но эта практика крайне нежелательна. Если он используется, то файлы сертификатов, использующие такой встроенный ключ, должны быть настроены после сертификатов, использующих отдельный файл ключей.
Теперь, создав и настроив конфигурационный файл, сохраните изменения в файле виртуального хоста и перезагрузите службу Apache, используя следующую команду:
systemctl reload httpd.service
Выводы
В этой статье мы разобрали как выполняется установка Apache в CentOS 8. Выполнив указанные в нашей статье действия, вы сможете установить и настроить веб сервер Apache на вашем сервере CentOS 8.
Установка Apache в CentOS 7
Для администрирования своего сайта на локальном сервере требуется установка множества дополнительных компонентов, которые и организуют единую систему, функционирующую слажено и без каких-либо ошибок. Одной из главных составляющих такой структуры можно считать веб-сервер. Пользователи чаще всего предпочитают задействовать именно Apache из-за его простоты и гибкости настройки, а также возможности подключения внешних модулей. Однако инсталляция и основная конфигурация — процесс не быстрый и для некоторых даже сложный, поэтому мы бы хотели рассказать об этом более детально, взяв за пример дистрибутив CentOS 7.
Устанавливаем Apache в CentOS 7
Структура сегодняшней статьи будет поэтапной, чтобы даже самый начинающий юзер понял, как именно осуществляется установка и подготовка рассматриваемого веб-сервера. Сразу уточним, что мы не предоставляем руководств по детальной настройке Apache, поскольку это зависит от личных предпочтений пользователя и имеющихся остальных важных компонентов. За данной информацией всегда советуем обращаться к официальной документации.
Шаг 1: Подготовка и инсталляция
Начнем сразу же с установки компонентов, отвечающих за корректность работы Apache и добавление всех вспомогательных служб. Задействовать для этого предлагаем репозиторий дистрибутива, поскольку там всегда выкладывается последняя стабильная версия софта, а сам процесс инсталляции не займет много времени.
- Запустите «Терминал», например, через значок в разделе «Избранное».
- Если ранее на компьютере уже был установлен Apache или же вы случайно удалили один из его компонентов, просто используйте команду
sudo yum update httpd
, активировав ее нажатием на клавишу Enter. - Это действие выполняется от имени суперпользователя, а значит, придется подтвердить его, указав пароль от данной учетной записи.
- В случае установки обновлений вы будете уведомлены об этом, а если пакет отсутствует, то появится другое сообщение соответствующего характера.
- Теперь поговорим об инсталляции Apache с нуля. Как мы уже сказали, использовать для этого будем официальные хранилища, следовательно, нужно ввести команду
sudo yum install httpd
. - При появлении уведомления об инсталляции пакета подтвердите его, выбрав вариант y.
- Ожидайте завершения установки, во время этого не закрывайте текущую терминальную сессию, чтобы не прервать процесс.
- По окончании сразу же рекомендуется запустить веб-сервер, что можно сделать через
sudo systemctl start httpd
. - Проверьте текущее состояние через
sudo systemctl status httpd
. - Уведомление «Active: active (running)» подразумевает, что сейчас Apache корректно функционирует и можно переходить к его дальнейшей настройке.
Это было все, что необходимо знать об основной процедуре установки веб-сервера. Как видите, ничего сложного в ней нет. Далее мы хотим рассказать о взаимодействии с главными службами и установке основной конфигурации, а вам остается решить, стоит ли изучить данные инструкции или знания по настройке и управлению уже имеются.
Шаг 2: Управление службой Apache
Веб-сервер в CentOS, как и в других дистрибутивах, функционирует в фоновом режиме в виде службы. По умолчанию она добавляется в автозагрузку, а об активации и проверке состояния мы уже рассказали ранее. Если у вас возникло желание управлять данным инструментом, то осуществляется это так:
- Введите
sudo systemctl stop httpd
для полной остановки Apache. - Эта и все последующие команды будут выполняться от имени суперпользователя, поэтому понадобится подтвердить ее, введя соответствующий пароль.
- Перезапуск происходит через команду
sudo systemctl restart httpd
. Актуальна эта команда в тех ситуациях, когда сервер дает сбои или требуется перезапустить его из-за особенностей взаимодействия с остальными компонентами. - Используйте
sudo systemctl reload httpd
, если необходимо, чтобы все изменения после настройки вступили в силу, но при этом ни одно из соединений не было разорвано. - Команда
sudo systemctl disable httpd
убирает Apache из автозагрузки, аsudo systemctl enable httpd
возвращает стандартное состояние. Дополнительно при включении этой опции вы будете уведомлены о создании новой символической ссылки, отвечающей за данный параметр.
Как видно, управляют состоянием службы самые стандартные команды. Их будет нетрудно запомнить, если вы часто вынуждены прибегать к подобным мерам во время администрирования сети, отдельного сайта или каких-либо приложений.
Шаг 3: Базовая конфигурация
К базовой конфигурации относится настройка виртуального хоста, который пригодится для изоляции настроек и размещения разных доменов на одном сервере. Одного стандартного виртуального хоста вполне достаточно, если вы имеете дело только с одним сайтом, однако при регистрации других доменов придется прибегнуть к созданию дополнительных параметров. Сейчас за пример мы возьмем стандартный виртуальный хост, а вы измените его адрес, если это требуется.
- Начнем с создания каталога, где будут храниться все дочерние файлы виртуального хоста. Делается это через команду
sudo mkdir -p /var/www/example.com/html
. - Необходима и дополнительная папка, куда будут автоматически сохраняться журналы событий. Для ее добавления введите
sudo mkdir -p /var/www/example.com/log
. - Задайте стандартные права на директорию через
sudo chown -R $USER:$USER /var/www/example.com/html
. - Дополнительно установите и привилегии для каждого пользователя, вставив
sudo chmod -R 755 /var/www
. - Приступим к созданию образца главной страницы, которая будет выводиться на экран при проверке работоспособности хоста. Создайте новый текстовый файл через удобный редактор, например, используя nano, следует ввести
sudo nano /var/www/example.com/html/index.html
. - При открытии текстового редактора появится уведомление о том, что это новый файл. Не переживайте, ведь так и должно быть. Мы специально создаем его, выставляя соответствующую конфигурацию.
- Вставьте туда приведенный ниже код, заменив стандартное приветствие на произвольный текст. Если хотите, можете полностью переделать структуру, создав подходящую для себя страницу.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h2>Success! The example.com virtual host is working!</h2>
</body>
</html></code> - Сохраните изменения, нажав на Ctrl + O, а затем покиньте текстовый редактор через Ctrl + X.
- Это были только предварительные настройки. Теперь приступим к самому виртуальному хосту: сначала нужно указать папки его хранения. Для этого введите
sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
. - После этого укажите веб-серверу, что сейчас ему нужно взаимодействовать и с другими компонентами. Осуществляется эта задача через редактирование главного конфигурационного файла. Запустите его через текстовый редактор, указав
sudo nano /etc/httpd/conf/httpd.conf
. - Опуститесь в самый низ по списку и вставьте строку
IncludeOptional sites-enabled/*.conf
. - Перед выходом из текстового редактора не забудьте сохранить все изменения.
- Для создания самого виртуального хоста понадобится еще один конфигурационный файл. Создайте его через
sudo nano /etc/httpd/sites-available/example.com.conf
. - Вставьте туда указанное далее содержимое, заменив необходимые строки на свои.
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log combined - Остается только активировать файл, создав символическую ссылку через
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
.
Шаг 4: Настройка контроля доступа
Если речь зашла о настройке глобальных параметров, то необходимо обеспечить и контроль доступа, указав ряд пользователей, которые смогут вносить изменения в рассматриваемые ранее каталоги. Осуществляется эта процедура с помощью стандартного инструмента SELinux, отвечающего за управление уровнями доступа.
- Установите глобальный параметр безопасности через
sudo setsebool -P httpd_unified 1
. Он обеспечит обработку всех типов процессов как один. - Далее рекомендуется проверить текущие параметры SELinux, которые были предоставлены автоматически. Для этого напишите
sudo ls -dZ /var/www/example.com/log/
. - В результате вы увидите содержимое drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/log/. Оно означает, что сейчас Apache может только читать те файлы, которые были созданы в установленной папке, соответственно, придется менять конфигурацию.
- Выполняется эта задача через
sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"
. - Сохраните изменения и сделайте так, чтобы они активировались после перезагрузки сервера, введя
sudo restorecon -R -v /var/www/example.com/log
. - Теперь еще раз проверьте внесенные изменения через
sudo ls -dZ /var/www/example.com/log/
. - Как видите, в результате вывод имеет форму drwxr-xr-x. root root unconfined_u:object_r:httpd_log_t:s0 /var/www/example.com/log, следовательно, все выполнено верно.
- Осталось только протестировать все изменения. Для этого введите
sudo systemctl restart httpd
и нажмите на Enter. - Подтвердите действие, указав пароль суперпользователя.
- Снова создайте запрос для каталога, введя
ls -lZ /var/www/example.com/log
. Если появившееся содержимое имеет формат-rw-r--r--. 1 root root error.log -rw-r--r--. 1 root root 0 requests.log
, значит, все предыдущие настройки были выполнены правильно.
Вы были ознакомлены с процедурой инсталляции и общей настройки веб-сервера Apache в CentOS 7. Как видите, сама установка не займет много времени, а все сложности связаны только с конфигурацией. Если представленного руководства по изменению параметров и управлению Apache вам оказалось мало, советуем изучить официальную документацию, воспользовавшись ссылкой ниже.
Перейти на официальный сайт документации Apache
Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ
Настройка ssl в apache на CentOS
Хочу поделиться небольшой информацией о том, как настроить ssl подключение в apache на сервере с CentOS и перевести сайты с http на https. Делается это не сложно, но есть пара нюансов.
Если у вас есть желание освоить Linux с нуля, не имея базовых знаний, рекомендую познакомиться с онлайн-курсом Administrator Linux.Basic в OTUS. Курс для новичков, для тех, кто хочет войти в профессию администратора Linux. Подробности по .
Недавно я уже рассказывал о том как получить бесплатный ssl сертификат для подтверждения доменного имени. Мы его использовали для организации ssl/tls соединений в почтовом сервере. Теперь его же мы будем использовать для того, чтобы перевести наш сайт на работу по ssl протоколу.
О том, как получить бесплатный сертификат от let’s encrypt и настроить apache на работу с ним читайте в моей статье по настройке web сервера apache на centos 8.
Установка mod_ssl в apache
В качестве сервера у нас выступает apache на CentOS, хотя это не принципиально, настройка на других linux дистрибутивах будет идентичной. Рабочим web сервером является apache. Использовать ssl протокол в apache мы будем с помощью мода mod_ssl. Первым делом проверим, установлен ли он:
# rpm -qa | grep mod_ssl
Если нет, то устанавливаем:
# yum -y install mod_ssl
После установки мода, идем в директорию /etc/httpd/conf.d и правим там файл настроек ssl.conf. Прописываем пути к сертификатами в директивах SSLCertificateFile и SSLCertificateKeyFile.
Создание виртуального хоста с поддержкой ssl
Далее необходимо либо создать новый виртуальный хост apache, либо отредактировать существующий в файле /etc/httpd/conf/httpd.conf. Добавляем в конец файла:
<VirtualHost *:443> SSLEngine on SSLCertificateFile /root/cert/zeroxzed.ru.crt SSLCertificateKeyFile /root/cert/zeroxzed.ru.kye <Directory /var/www/vhosts/zeroxzed.ru/www> AllowOverride All </Directory> DocumentRoot /var/www/vhosts/zeroxzed.ru/www ServerName zeroxzed.ru </VirtualHost>
После сохранения проверяем конфигурацию apache:
# httpd -t
Если появляется предупреждение:
[warn] _default_ VirtualHost overlap on port 443, the first has precedence
То ищем в /etc/httpd/conf/httpd.conf строчку NameVirtualHost *:80 и добавляем после нее NameVirtualHost *:443
Снова проверяем. Если ошибок нет, перезапускаем апач и заходим на сайт, прописав в адресной строке https, вместо http. Теперь ваш сайт доступен по протоколу https. Но пользователи сайта могут об этом не знать. Было бы разумным сделать переадресацию с открытого протокола на защищенный. Сделаем это.
Переадресация с http на https
Для того, чтобы сделать автоматическую переадресацию с http на https, необходимо в описании виртуального хоста в httpd.conf добавить порт 80 вместе с 443:
<VirtualHost *:80 *:443>
И в корне сайта с помощью .htaccess и mod_rewrite делаем перенаправление всех запросов с http на https:
# cat .htaccess
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
Теперь даже если просто набрать адрес сайта с http откроется его защищенная версия https. Не забудьте проверить, включен ли у вас модуль mod_rewrite в настройках apache. И проверьте фаервол. Для корректной работы сайта по протоколу https необходимо открыть 443 порт на веб сервере.
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Автоматический перезапуск сервиса Linux
Иногда сервисы ни с того ни с сего падают и приходиться их вручную восстанавливать. Если для пользователя домашнего компьютера это не критично, потому что если сервис падает во время разработки, то это даже хорошо, можно сразу увидеть что есть проблема. Но на серверах и VPS сервисы должны работать постоянно для обеспечения доступа к веб-сайту или приложению.
В этой инструкции я покажу как настроить автоматический перезапуск сервиса Linux несколькими способами: с помощью скрипта мониторинга периодически запускаемого через cron и в systemd.
Автоматический перезапуск сервиса в systemd
По умолчанию, если ваш сервис будет убит или завершится некорректно, systemd не будет с ним ничего делать. Но можно настроить сервис так, чтобы при падении или даже остановке он автоматически перезапускался. Для этого используется директива Restart, которую надо добавить в секцию Service. Например, рассмотрим настройку автоматического перезапуска сервиса Apache:
sudo systemctl edit apache2
[Service]
Restart=on-failure
RestartSec=5s
Директива RestartSec указывает сколько ждать перед перезапуском сервиса. Когда завершите сохраните изменения и выполните команду daemon-reload, чтобы перечитать конфигурацию:
sudo systemctl daemon-reload
Затем чтобы проверить что всё работает посмотрите состояние процесса, завершите процесс сигналом kill:
sudo systemctl status apache2
kill -KILL 32091
И снова посмотрите состояние. Процесс будет запущен. Система инициализации автоматически перезапустит его как только он завершится с кодом возврата ошибки. Если вы хотите чтобы процесс перезапускался всегда, необходимо использовать директиву Restart: always. Однако с ней надо быть осторожным, она вовсе не даст вам завершить процесс, даже если будет необходимо. Для того, чтобы процесс, который постоянно падает не перезапускался, можно добавить лимит на количество перезапусков в секцию Service:
sudo systemctl edit apache2
[Service]
StartLimitIntervalSec=500
StartLimitBurst=5
Restart=on-failure
RestartSec=5s
Директивы StartLimitBurst и StartLimitIntervalSec указывают, что надо попытаться перезапустить сервис пять раз, и если он все эти пять раз упадёт, то больше его не трогать. Вторая директива ограничивает время перезапусков сервиса до 500 секунд.
Автоматический перезапуск сервиса с помощью скрипта
Это самый простой и самый надежный способ работающий абсолютно во всех дистрибутивах linux и не требующий установки дополнительных утилит. Для того же Apache скрипт выглядит следующим образом:
sudo vi /usr/local/bin/apache-monitor.sh
#!/bin/bash
ps -A | grep apache2 || systemctl start apache2
Сохраните файл, сделайте его исполняемым:
chmod ugo+x /usr/local/bin/apache-monitor.sh
Теперь добавьте запись в cron для периодического запуска скрипта:
sudo crontab -e
*/5 * * * * /usr/local/bin/apache-monitor.sh
На этом все, автоматический перезапуск сервисов штука может и немного сложная, но необходимая в серьезных системах.
Оцените статью:
Загрузка…
Почему Apache не запускается | Losst
Многие новички, которые пытаются настроить свой домашний веб-сервер на основе 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, который отображает полное дерево прав:
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 и все начинало работать.
Выводы
В этой статье мы рассмотрели несколько причин почему не запускается Apache и примеров их решения. Причин может быть множество, но мы разобрали только самые главные, которые встречаются наиболее часто. Надеюсь, эта информация была для вас полезной, если у вас остались вопросы, спрашивайте в комментариях! А для тех кого интересует еще один способ решения проблемы xampp apache не запускается для Windows есть видео:
Оцените статью:
Загрузка…
Как остановить / запустить или перезапустить Apache в Linux CentOS 7
Apache является частью популярного стека программного обеспечения LAMP (Linux, Apache, MySQL, PHP). Он отвечает за работу большей части Интернета.
Это руководство покажет вам, как перезапустить службу Apache в Linux CentOS 7 .
Откройте окно терминала и введите следующее:
sudo systemctl перезапуск httpd.service
Служба должна перезапуститься.
Выполнение команды перезапуска может занять несколько секунд, в зависимости от сложности конфигурации вашего сервера.Если вы используете большую или сложную конфигурацию сервера, это может вызвать сбои у пользователей, которые полагаются на сервер.
Apache рекомендует использовать сценарий управления для передачи команд процессу httpd.
Чтобы перезапустить Apache таким образом, введите следующее:
sudo apachectl –k перезапуск
Чтобы указать службе Apache завершить все дочерние процессы и саму себя, выполните следующую команду:
apachectl –k stop
Используйте указанную ниже команду для выхода из дочерних процессов после того, как они завершат задачу, а затем для запуска новых экземпляров.Сервис также перезагрузит файлы конфигурации.
apachectl –k изящный
Используйте -k restart
для принудительного завершения дочерних процессов. Родительский процесс продолжает работать и перезагружает файлы конфигурации.
apachectl –k перезапуск
Используйте -k graceful-stop
, чтобы заставить родительский процесс останавливать дочерние процессы по мере выполнения ими своих задач. После остановки всех дочерних процессов родительский процесс завершается.
apachectl –k graceful – stop
Дополнительные сведения о команде apachectl
см. В документации Apache.
Для запуска службы Apache:
sudo systemctl start httpd.service
Остановите службу Apache с помощью:
sudo systemctl остановить httpd.service
Заставить Apache обновить файлы конфигурации:
sudo systemctl перезагрузить httpd.service
Установить Apache для запуска при загрузке системы:
sudo systemctl включить httpd.сервис
Запретить загрузку Apache при загрузке системы:
sudo systemctl отключить httpd.service
Команда reload
выполняется быстрее и вызывает меньше сбоев, чем перезапуск. Однако при этом выполняется только мягкое обновление файлов конфигурации. Некоторые службы и зависимости могут быть не включены в обновление.
Хорошая практика состоит в том, чтобы сопоставить выгоды и затраты на каждый процесс. Если у вас несколько клиентов в зависимости от доступа к вашему серверу, попробуйте сначала выполнить обновление.Если это не сработает или нарушение минимально, используйте перезапуск.
Как и многие службы Linux, функциональность Apache может быть изменена с помощью файлов конфигурации и модулей. Все файлы конфигурации должны храниться в каталоге / etc / httpd / .
В этом каталоге найдите файл /httpd.conf — это основной файл конфигурации для глобальных настроек Apache. Вы можете редактировать этот файл в любом текстовом редакторе, чтобы изменить конфигурацию Apache.
Функциональность
Apache может быть расширена с помощью модулей.Модуль — это приложение, которое работает вместе с основным приложением Apache. Например, модуль mod_bandwidth позволяет вам установить ограничение полосы пропускания для каждого соединения.
Доступные модули можно найти в каталоге / etc / httpd / mods-available .
Используйте следующие команды для управления модулями:
- Чтобы включить модуль:
sudo a2enconf имя_мода
- Чтобы отключить модуль:
sudo a2disconf имя_модуля
- Чтобы включить модуль:
Вы можете настроить Apache для прослушивания определенных портов, отредактировав файл / etc / apache2 / ports.conf файл.
Apache создает файлы журналов во время использования. Журнал ошибок сообщает о любых проблемах, неправильной конфигурации или других проблемах. Вы можете использовать журнал ошибок, чтобы найти проблемы с вашей конфигурацией.
Журнал доступа отслеживает каждого клиента, который подключается к вашему серверу Apache. Это можно использовать для просмотра используемых ресурсов или того, как пользователи взаимодействуют с вашим сайтом.
Файлы журнала доступа и ошибок Apache могут увеличиваться в размерах, поскольку в них записывается очень много данных. Большинство пользователей будут использовать такие инструменты, как tail или cat , для отображения части файла журнала.
Во время работы Apache файлы журнала будут занимать больше места на диске. Чтобы сохранить управляемость, Apache рекомендует чередовать файлы журналов и использовать параметр Graceful restart , описанный выше.
Apache может управлять несколькими веб-сайтами, называемыми виртуальными хостами , в одной системе. Контент хранится в каталоге / var / www / .
Доступные сайты хранятся в / etc / httpd / sites-available , а разрешенные сайты хранятся в / etc / httpd / sites-enabled .
Запуск, остановка и перезапуск службы Apache относительно прост. Вы можете использовать дополнительные команды для настройки вашей конкретной конфигурации.
Например, вы можете выбрать перезагрузку Apache вместо полной перезагрузки. Или вы можете использовать команду apachectl
для большего контроля над вашим сервером.
.
Как запускать / останавливать / перезапускать службы в CentOS Web Panel
На любом сервере веб-хостинга очень важно иметь возможность легко управлять основными службами, такими как сервер Apache, FTP-сервер и т. Д.
Для запуска / остановки / перезапустить и просмотреть статусы сервисов в CWP:
- Войдите в CWP как root
- На главной странице (Dashboard) найдите раздел Services Status
- Здесь вы можете увидеть основные сервисы на сервер: Apache Webserver, FTP Server, MySQL Database Server, BIND DNS Server, SSH Server, Crontab и службы почтового сервера (Postfix Mail Server, Dovecot IMAP / POP3 Server, ClamAV, AmaVIS, Spam Assassin)
- Работайте с ними через соответствующие кнопки Start / Stop / Restart / Status .
Для настройки служб запуска перейдите в раздел «Настройка служб»> «Службы запуска». Здесь вы можете включить / отключить службы стартового сервера.
Обратите внимание, что вы также можете запускать / останавливать / перезапускать / видеть состояние службы CWP. Это можно сделать через командную строку с помощью команд: service cwpsrv start ; сервис cwpsrv stop; сервис перезапуск cwpsrv; сервис cwpsrv статус . Пример вывода:
[root @ cwp1 ~] # service cwpsrv status
Перенаправление в / bin / systemctl status cwpsrv.служба
* cwpsrv.service - служба CentOS Web Panel (демон)
Загружено: загружено (/usr/lib/systemd/system/cwpsrv.service; включено; предустановка поставщика: отключено)
Активен: активен (работает) с Fri 2018-03-30 14:29:25 EDT; 12с назад
Процесс: 12110 ExecStop = / bin / kill -s QUIT $ MAINPID (код = завершен, статус = 0 / УСПЕХ)
Процесс: 12118 ExecStart = / usr / local / cwpsrv / bin / cwpsrv (код = завершен, статус = 0 / УСПЕХ)
Процесс: 12115 ExecStartPre = / usr / local / cwpsrv / bin / cwpsrv -t (код = завершен, статус = 0 / УСПЕХ)
Основной PID: 12119 (cwpsrv)
CGroup: / system.slice / cwpsrv.service
| -12119 cwpsrv: главный процесс / usr / local / cwpsrv / bin / cwpsrv
| -12120 cwpsrv: рабочий процесс
`-12121 cwpsrv: рабочий процесс
30 марта 14:29:25 cwp1 systemd [1]: Запуск службы CentOS Web Panel (демон) ...
30 марта, 14:29:25 cwp1 cwpsrv [12115]: cwpsrv: синтаксис файла конфигурации /usr/local/cwpsrv/conf/cwpsrv.conf в порядке
30 марта, 14:29:25 cwp1 cwpsrv [12115]: cwpsrv: файл конфигурации /usr/local/cwpsrv/conf/cwpsrv.conf тест прошел успешно
30 марта, 14:29:25 cwp1 systemd [1]: не удалось прочитать PID из файла / usr / local / cwpsrv / var / run / nginx.pid: недопустимый аргумент
30 марта 14:29:25 cwp1 systemd [1]: запущена служба CentOS Web Panel (демон).
[root @ cwp1 ~] #
Краткое видео-руководство для этой статьи:
включение / выключение служб CWP.
linux — Centos 5 перезагружает сервер Apache с другим httpd.conf после того, как я установил yum php-devel
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
apache — CentOS 7 Невозможно запустить службу httpd
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира
.