Apache, как называет его Apache Foundation, «HTTP-сервер номер один в Интернете». Проект Apache разрабатывает и поддерживает HTTP-сервер с открытым исходным кодом для серверов UNIX и Windows. Он предоставляет безопасный, эффективный и расширяемый сервер, который предоставляет службы HTTP в синхронизации с текущими стандартами HTTP. В этом посте я объясню, как настроить веб-сервер Apache.в системе Ubuntu. Конечно, хостинг вашего сайта у известных поставщиков услуг хостинга, таких как HostGator или GoDaddy, имеет свои преимущества. Это тема для нового поста (скоро). Но сам хостинг обеспечивает больший контроль над тем, что происходит на вашем сервере. Кроме того, вы можете использовать свой сервер для других целей помимо размещения вашего веб-сайта: файловый сервер, станция загрузки, медиа-сервер и т.д. Итак, без дальнейших задержек, давайте рассмотрим, как настроить веб-сервер Apache в системе Ubuntu.
Настройка сервера Ubuntu
Прежде чем вы сможете настроить веб-сервер Apache, вам потребуется система для его запуска. Я рекомендую использовать сервер на базе Linux, и, по моему опыту, Ubuntu Server Edition – самый простой и удобный для пользователя, но с очень хорошей безопасностью. Я также предлагаю вам выбрать версию LTS (Long Term Support), которая предоставляет обновления и поддержку в течение 5 лет. В то время как не самые передовые релизы LTS являются наиболее стабильными для запуска надежных веб-серверов.
Процедуры установки подробно описаны в нескольких местах. Во время установки сервера я обычно выбираю установку сервера LAMP (Linux Apache MySQL PHP), файлового сервера SAMBA и сервера SSH, как показано на рисунке ниже:
Ubuntu Tasksel – Выбор пакета
Во время установки у вас спросят имя пользователя, пароль, имя хоста (имя вашего сервера), пароль администратора MySQL и т.д. Для большинства других вопросов вы можете выбрать значение по умолчанию или оставить пустым. После завершения установки обновите вашу систему, используя следующие команды:
sudo apt-get update
sudo apt-get upgrade
Безопасный Apache и PHP
После установки сервера LAMP выполните следующие незначительные шаги, чтобы повысить его безопасность:
Apache Security
Отредактируйте /etc/apache2/conf.d/security
с помощью следующей команды:
sudo nano /etc/apache2/conf.d/security
Найдите следующие строки и внесите изменения, перечисленные ниже:
#ServerTokens Minimal
#ServerTokens OS
#ServerTokens Full
ServerTokens Prod
И,
ServerSignature Off
#ServerSignature On
#
В передней линии делает Apache игнорировать эту строку (комментарий).
PHP Безопасность
Отредактируйте /etc/php5/apache2/php.ini
с помощью следующей команды:
sudo nano /etc/php5/apache2/php.ini
Найдите expose_php = On
и измените его следующим образом:
expose_php = Off
Вышеуказанные изменения не позволят вашему серверу раскрыть, что PHP установлен (добавив свою подпись в заголовок веб-сервера) на ваш сервер вместе с другой информацией. Несмотря на то, что это может не быть угрозой безопасности, потенциальным хакерам это показывает, что веб-сервер использует PHP. Чем меньше хакер знает о конфигурации вашего сервера, тем лучше. Перезагрузите сервер Apache, используя следующую команду, чтобы применить вышеуказанные изменения:
sudo service apache2 reload
Установка графического интерфейса рабочего стола
Помните, что веб-сервер более безопасен, когда у него нет головы, то есть, когда у вас не работает GUI Desktop Environment. Тем не менее, новичкам намного проще выполнять задачи с помощью графического интерфейса пользователя. Следуйте этому руководству, чтобы установить минимальную или облегченную рабочую среду на вашем сервере. Если вам нужна полноценная среда рабочего стола (не рекомендуется для серверов), вы можете установить Ubuntu Desktop (Unity), Kubuntu Desktop (KDE) или Lubuntu Desktop (LXDE).
sudo apt-get install ubuntu-desktop
sudo apt-get install kubuntu-desktop
sudo apt-get install lubuntu-desktop
Выберите один из вышеперечисленных, исходя из ваших предпочтений. Кроме того, вы можете установить графическую веб-среду, такую как Webmin (руководство по установке ). Все, что делает Webmin, – это упрощает системное администрирование, предоставляя сетевые альтернативы для операций командной строки. Это не традиционная графическая среда рабочего стола.
Изменить разрешения пользователя
Прежде чем вы настроите веб-сервер Apache для обслуживания ваших веб-сайтов, вы должны будете изменить права доступа / владельца для имени пользователя, под которым будут обслуживаться веб-сайты. Прочтите мой пост о том, как безопасно сменить основную группу пользователя в Linux, прежде чем продолжить. Затем используйте следующие команды для изменения владельцев и разрешений:
sudo usermod -g www-data -G mackey,adm,cdrom,sudo,dip,plugdev,sambashare,lpadmin mackey
Где mackey
(в конце строки выше) – пользователь, которому будут принадлежать файлы сайта. www-data
, которая является группой, к которой принадлежат все файлы веб-сайта, будет mackey
новой основной группой пользователя. mackey,adm,cdrom,sudo,dip,plugdev,sambashare,lpadmin
будут mackey
ассоциации группы пользователя пользователя. Связи вторичной группы будут различаться в зависимости от вашей ситуации / установки. Просмотрите этот пост, чтобы составить список ассоциаций вторичных групп. Любые ошибки могут заблокировать вас из вашей системы.
Настройка веб-сервера Apache
Выполнив описанные выше шаги, вы готовы к настройке веб-сервера Apache. Файлы конфигурации находятся в, /etc/apache2
а файлы сайта – в /var/www
. Во-первых, давайте остановим сервер Apache на время:
sudo service apache2 stop
Переименуйте файл сайта по умолчанию, /etc/apache2/sites-available/default
используя следующую команду:
sudo nano /etc/apache2/sites-available/default /etc/apache2/sites-available/default.bak
Теперь создайте новый файл /etc/apache2/sites-available/default
со следующим содержимым:
Следующие строки должны быть настроены:
/var/www/mywebsite
это папка, в которой находятся файлы вашего сайта. Индексный файл вашего сайта должен присутствовать в этой папке. Установите предпочитаемый уровень ведения журнала. emerg
регистрирует только экстренные сообщения.
Сохранить и выйти. Хотя ваш сайт по умолчанию уже может быть активным, возможно, стоит активировать его снова с помощью следующей команды:
sudo a2ensite default
Затем перезапустите сервер Apache:
sudo service apache2 reload
Теперь вы сможете получить доступ к своему веб-сайту, используя свой IP-адрес.
Настройка DNS
Доступ к вашему веб-сайту с использованием вашего IP-адреса неудобен. Если у вас есть доменное имя, вам понадобится служба DNS для поиска вашего сервера по доменному имени. Это еще более важно, если у вас динамический IP-адрес.
Сначала настройте службу DNS, такую как Zoneedit или DynDns, и отредактируйте записи зоны, указав имя домена на свой IP-адрес. Пример из Zoneedit показан на рисунке ниже.
Zoneedit Zone Records
Затем скопируйте DNS-серверы имен, предоставляемые вашей службой DNS, и введите их в диспетчере DNS для вашего доменного имени, предоставленного регистратором доменов. Пример GoDaddy с DNS-серверами Zoneedit показан на рисунке ниже.
DNS-серверы GoDaddy DNS
Дайте пару часов на распространение указанных изменений DNS. Теперь вы сможете получить доступ к своему сайту с вашим доменным именем. Если у вас есть динамический IP-адрес, вам, возможно, придется настроить динамическое обновление DNS, такое как ddclient, как описано в этом посте.
Запуск нескольких сайтов
Наиболее распространенный способ запуска нескольких веб-сайтов в Apache – использование виртуальных хостов на основе имен. Следуйте точной процедуре, описанной в разделе «Настройка веб-сервера Apache» выше. Первый сайт будет под названием default
. Создайте аналогичный файл виртуального хоста для второго домена, но назовите его как-нибудь иначе default
. Я называю свой файл виртуального хоста тем же, что и имя домена (например, domain2.com, domain3.com и т.д. ). Вам нужно будет активировать каждый виртуальный хост, используя следующую команду:
sudo a2ensite domain2.com
Перезагрузите сервер Apache после внесения любых изменений:
sudo service apache2 reload
Если ваш сервер находится за маршрутизатором, не забудьте перенаправить порт 80 на сетевой IP-адрес вашего сервера. Вот и все. Настройте веб-сервер Apache и обслуживайте сайты из дома.
Источник записи: https://www.smarthomebeginner.com