Apache и другие веб-сервера
Кроме Apache существует ещё довольно много веб-серверов. Каждое приложение веб-сервера создавалось для различных целей. Не смотря на то, что Apache является самый широко используемым, для него есть несколько альтернатив и конкурентов.
Apache или NGINX
Nginx произносится как Engine-X, это более новое веб-серверное программное обеспечение с первым релизом в 2004 году. Как на сегодня он добился большой популярности среди владельцев сайтов. Nginx был создан для решения так называемой проблемы c10k – проблемы 10 тысяч соединений, что означает, что веб-сервера, использующие потоки не могут обрабатывать запросы пользователей более, чем с 10 000 подключений одновременно.
- Так как Apache использует структуру основанную на потоках, владельцы сайтов с высоким трафиком могли столкнуться с проблемой производительности. Nginx один из веб-серверов, который был нацелен на решение проблемы c10k и возможно это одно из самых успешных решений.
- Nginx имеет событийно ориентированную архитектуру, которая не создаёт новый процесс для каждого запроса. Вместо этого он обрабатывает каждый входящий запрос в едином потоке. Этот главный процесс управляет несколькими рабочими процессами, которые выполняют непосредственную обработку запросов. Модель Nginx, основанная на событиях распространяет запросы пользователей среди рабочих процессов эффективным путём, что приводит к лучшей масштабируемости.
- Если вам нужно обслуживание сайта с высокой посещаемостью, то Nginx – отличный выбор, поскольку он может сделать это, затратив минимальные ресурсы. И не случайно он используется сайтами с большим количеством показов, такими как: Netflix, Hulu, Pinterest и Airbnb.
- Однако для мелких и средних игроков, Apache имеет несколько преимуществ в сравнении с Nginx, среди которых: более простая настройка, множество модулей и среда дружественная для начинающих.
Apache или Tomcat
Tomcat – это веб-сервер также разработанных Apache Software Foundation, поэтому его официальное название Apache Tomcat. Это тоже HTTP-сервер, однако он обрабатывает приложения Java вместо статических сайтов. Tomcat может запускать несколько Java спецификаций, таких как: Java Servlet, Java Server Pages (JSP), Java EL и WebSocket.
- Tomcat был разработан специально для приложений на Java, в то время как Apache позиционируется как HTTP-сервер. Вы можете использовать Apache совместно с другими языками программирования (PHP, Python, Perl и т.д.) с помощью специального модуля Apache (mod_php, mod_python, mod_perl и др.).
- Хотя вы и можете использовать сервер Tomcat для статических веб-страниц, но это будет менее эффективно, чем использование Apache. Например, Tomcat заранее загружает виртуальную машину Java и другие Java-библиотеки, которые могут быть ненужными для работы вашего сайта.
- Tomcat также хуже настраиваемых в сравнении с другими веб-серверами. Например, для запуска WordPress, лучшим выбором будет стандартный HTTP-сервер, такой как Apache или NGINX.
Шаг 2 — Назначение прав
Теперь у нас есть структура директорий для наших файлов, но владелец этих директорий — root-пользователь. Если мы хотим, чтобы наши обычные пользователи могли изменять файлы в наших веб-директориях, мы можем изменить их владельца следующим образом:
Переменная содержит имя пользователя, под которым вы залогинены в текущий момент. Теперь текущий пользователь владеет директориями , в которых мы будем хранить контент.
Нам так же необходимо немного отредактировать права доступа, чтобы убедиться, что доступ на чтение разрешен к общей веб-директории и всем файлам и папкам, содержащимся в ней. Это необходимо для того, чтобы страницы сайта отображались корректно:
Теперь ваш веб-сервер должен иметь разрешения, необходимые для отображения контента. Кроме того, теперь ваш пользователь имеет возможность создавать контент в необходимых директорий.
Что такое VPS
VPS/VDS — одна из разновидностей хостинга, услуга предоставления в аренду виртуального выделенного сервера. Особенностью этого типа является то, что клиенту достается виртуальный аналог обычного физического сервера со всеми вытекающими последствиями. Преимущества услуги заключаются в следующем.
- Root-доступ. Это полноценный доступ ко всем настройкам сервера.
- Выделенный IP-адрес. На вашем IP не будет соседей в виде других сайтов.
- Возможность устанавливать свое ПО. На VPS вы можете установить нужное вам программное обеспечение, не нарушающее правила хостинг-провайдера.
- Неограниченное число сайтов. На VDS нет ограничений на количество размещенных проектов.
Недостатки VPS/VDS опишем ниже.
- Цена. Стоимость виртуального выделенного сервера выше виртуального хостинга, что отталкивает некоторых покупателей.
- Навыки администрирования. Они пригодятся, так как вам достанется виртуальный сервер, эмулирующий работу физического.
Чем отличается хостинг от VDS
Таким образом, основное отличие между виртуальным хостингом и VPS заключается в технологиях. На шаред хостинге нет возможности настройки сервера и собственного ПО, а наличие доступных приложений и поддерживаемых языков программирования находятся вне контроля пользователя. На VDS у клиента больше возможностей и больше ответственности: он может устанавливать, например, игровое ПО и различные программы, однако администрирование сервера также кладется на его плечи. Техподдержка может администрировать VPS в платном режиме.
Доменное имя (название сайта)
В глобальной сети интернет располагается огромное количество сайтов. Все они имеют свои имена, эти имена называются — доменом.
Доменное имя (название сайта) — определенная буквенная последовательность, обозначающая имя сайта или используемая в именах электронных почтовых ящиков.
Промежуточными символами в доменом имени могут быть буквы латинского алфавита, цифры или дефис.
Рассмотрим структуру доменного имени. Например у доменного имени demo.resource-gsv.ru есть три части разделенные точками:
- ru — доменное имя 1 уровня;
- resource-gsv.ru — доменное имя 2 уровня (домен второго уровня в зоне ru);
- demo.resource-gsv.ru — доменное имя 3 уровня (домен третьего уровня в зоне resource-gsv.ru).
Шаг 6 — Настройка файла локальных хостов (опционально)
Если до этого вы использовали не реальные доменные имена, которыми вы владеете, а тестовые, вы можете протестировать работоспособность виртуальных хостов, временно изменив файл на вашем локальном компьютере.
Это позволит перехватывать любой запрос к доменам, которые вы настроили и перенаправлять его на ваш VPS сервер так, как это сделала бы система DNS в случае использования реально зарегистрированных доменов. Это будет работать только с вашего локального компьютера и используется только для тестирования.
Убедитесь, что дальнейшие шаги вы будете проделывать на вашем локальном компьютере, а не на VPS сервере. Вам необходимо знать пароль администратора или быть членом группы администраторов.
Если вы используете компьютер с Mac или Linux, вы можете редактировать локальный файл с правами администратора, введя команду:
Если у вас компьютер с Windows, вы можете найти инструкции по редактированию файла хостов здесь.
Вам необходимо добавить в файл публичный IP-адрес вашего VPS сервера и, следом, доменное имя, по которому вы хотите обращаться к этому VPS.
Для доменов, используемых в этом руководстве, предположим, что IP-адрес нашего VPS . В этом случае мы можем добавить следующие строки в конец файла :
В результате этого любые запросы к и с нашего компьютера будут перенаправляться на наш сервер по адресу . Это удобно для проверки правильности настройки наших виртуальных хостов для случая, когда мы не являемся реальными владельцами этих доменных имен.
Сохраните и закройте файл.
Предварительные требования
Прежде чем начать прохождение этого обучающего руководства, создайте пользователя без привилегий root.
Для выполнения этих шагов у вас должен быть установлен сервер Apache. Если вы еще не установили Apache, вы можете сделать это с помощью диспетчера пакетов :
Если вам требуются более подробные инструкции или информация по настройке брандмауэра, воспользуйтесь обучающим руководством Установка веб-сервера Apache в Ubuntu 18.04.
Для целей настоящего руководства наша конфигурация предусматривает создание виртуального хоста для и еще одного для . В руководстве будут размещаться ссылки на них, однако вам следует использовать собственные домены или значения при выполнении указаний.
Если вы используете DigitalOcean, вы можете научиться настраивать домены из указаний в документации Добавление доменов. Для информации о других поставщиках следует ознакомиться с соответствующей документацией по продукции. Если у вас нет доменов, вы можете использовать тестовые значения.
Позднее мы покажем, как нужно отредактировать локальный файл hosts для тестирования конфигурации, если вы используете тестовые значения. Это позволит вам проверять конфигурацию с домашнего компьютера, даже если ваш контент не будет доступен другим посетителям через доменное имя.
Как работает веб-сервер Apache?
Хоть Apache и называется веб-сервер, но в реальном положении вещей он является не сервером, а программой, которая запускается на сервере. Его задача установить соединение между сервером и браузером посетителей (Firefox, Google Chrome, Safari и др.) при доставке файлов туда и обратно между ними (клиент-серверная структура). Apache – это кроссплатформенное программное обеспечение, что значит оно хорошо работает как на Unix, так и на Windows серверах.
Когда посетитель хочет загрузить страницу вашего сайта, например, домашнюю страницу или страницу «О нас», его браузер отправляет запрос на ваш сервер и Apache возвращает ответ со всеми запрошенными файлами (текст, изображение и так далее). Сервер и клиент взаимодействуют по протоколу HTTP и Apache ответственен за гладкое и безопасное соединение между двумя машинами.
Apache хорошо и удобно настраиваемый поскольку имеет модульную структуру. Модули позволяют администраторам сервера включать или выключать дополнительную функциональность. У Apache есть модули безопасности, кэширования, редактирования URL, аутентификации посредством пароля и другие. Вы можете установить свою собственную конфигурацию через файл .htaccess, который является файлом настроек для Apache и поддерживается всеми тарифными планами Hostinger.
Знаете ли вы, что в Hostinger есть специальные предложения? Посетите нашу страницу купонов и сэкономьте до 75%! Не стоит забывать, что это предложение ограничено во времени!
Что такое SSL-сертификат и зачем он нужен?
SSL-сертификат (TLS-сертификат) — это специальный цифровой документ, который связывает между собой криптографический ключ и информацию о сайте, для которого он был выпущен. Наличие SSL-сертификата, выпущенного доверенным центром сертификации является обязательным условием для установления безопасного соединения между сервером и клиентами по протоколу HTTPS.
До недавнего времени, практически все центры сертификации выпускали SSL-сертификаты на платной основе. При этом существует несколько разновидностей таких сертификатов, различающихся степенью глубины проверки данных о владельце сайта. Из-за того, что такие SSL-сертификаты являлись платными, их достаточно редко использовали для небольших сайтов, домашних страниц, личных блогов и т.п. В результате, большая часть сайтов в интернете не использовала защищенные протоколы для связи с клиентами.
К счастью, на текущий момент, благодаря Let’s Encrypt, у владельцев сайтов появилась возможность совершенно и автоматически выпускать SSL-сертификат для своего сайта и перейти на использование защищенного протокола HTTPS.
Let’s Encrypt — некоммерческий центр сертификации, у которого можно получить бесплатный SSL‑сертификат сроком действия в 90 дней. Для получения такого сертификата необходимо подтвердить факт владения доменом с использованием протокола аутентификации ACME (Automated Certificate Management Environment), согласно которому к веб-серверу, запросившему выпуск сертификата, производится серия запросов для валидации домена. После выполнения этой процедуры клиенту выдается SSL-сертификат и приватный ключ, которые необходимо передать своему веб-серверу для перехода на работу по протоколу HTTPS.
Мы подготовили простые инструкции, которые позволят вам выпустить бесплатный SSL-сертификат и настроить его автоматическое обновления для веб-серверов Nginx, Apache и панели управления VestaCP, в зависимости от того, что вы используете на своем виртуальном сервере.
Виртуальный хостинг
У виртуального хостинга есть несколько альтернативных названий: общий, shared, расшаренный. Несколько клиентов виртуального хостинга одновременно располагаются на одном сервере — реальном или выделенном. Для каждого клиента хостера создается своя песочница.
Такой подход не дает большой свободы действия конечному пользователю, но в какой-то мере облегчает ему жизнь — для управления виртуальным хостингом не требуется администратор, не нужны знания по настройке серверов. В ваше пользование поступают простые панели управления, с которыми разберется даже новичок.
Стоимость виртуального хостинга начинается от 1 доллара в месяц, и за эти деньги вы можете получить нефиксированное дисковое пространство и вычислительные мощности. Объем доступных вам ресурсов сервера зависит от остальных пользователей на сервере.
Параметры, отвечающие за работу почты
Владельцы сайтов могут пользоваться почтой на своем домене, а не почтовыми сервисами Яндекс, Mail.Ru и т. д. Преимущество почты в домене в том, что для всех сотрудников компании можно создать корпоративные почтовые адреса в едином стиле:
- ivanov@company.ru, а не ivanov123@yandex.ru;
- petrov@company.ru, а не hellokitty@mail.ru.
Настраивать почту предстоит в панели управления хостингом
Вот на что нужно обратить внимание, если планируете пользоваться почтой в домене
Количество почтовых доменов
Почтовый домен — домен, в котором вы планируете создавать почтовые адреса. Например, у вас есть домен company.ru. В этом домене можно создать почтовые ящики: admin@company.ru, hello@company.ru и другие, какие захотите.
Если в тарифе заявлена поддержка нескольких почтовых доменов, это значит, что вы можете создать ящики в разных доменах (если они у вас есть). Например, для каждого домена — company.ru и company1.ru — можно создать и настроить свои адреса.
Или можете добавлять дополнительные домены в качестве синонимов основного почтового домена. В этом случае в один ящик могут поступать письма, отправленные по разным адресам, например, hello@company.ru и hello@company.com.
Количество почтовых ящиков (адресов)
Почтовый ящик создается в домене, например: work1@company.ru, work2@company.ru и т. д. Количество почтовых ящиков в тарифах крупных хостинг-провайдеров, как правило, не ограничено, но бывают исключения.
Старайтесь выбирать тариф с неограниченным количеством почтовых ящиков, чтобы не приходилось следить за лимитом и решать, какие ящики удалять, если лимит исчерпан.
Почтовые группы
Почтовая группа — общий адрес для нескольких почтовых ящиков. Письма, отправленные на адрес группы, придут на все ящики, которые в нее входят.
3: Создание демо-страниц для виртуальных хостов
Давайте создадим тестовый контент – страницы index.html для каждого сайта; для пробной настройки будет достаточно простых страниц.
Начнём с домена example.com; откройте файл index.html в текстовом редакторе:
В этом файле создайте простой HTML-документ, который указывает, к какому сайту подключена страница. В данном случае этот файл выглядит так:
Сохраните и закройте файл.
Затем можно скопировать этот файл и использовать его как шаблон для второго сайта:
Откройте скопированный файл и внесите соответствующие поправки:
Сохраните и закройте файл. Ваши тестовые страницы готовы.
Оригинальный httpd.conf
Оригинальный конфигурационный файл httpd.conf, созданный инсталятором Apache, на основе инструкций по инсталяции, приведенных в этой статье, можно скачать тут: httpd.conf.original.
Последнее обновление статьи: 2011/09/08
Серьезная уязвимость Apache (все версии младше 2.2.20) |
Установка и настройка PHP, MySQL и Apavhe |
Конфигурационные директивы Apache файла http.conf |
Русскоязычный перевод комментариев httpd.conf |
PHP — как установить и настроить |
MySQL — как установить и настроить |
Опубликовано: 2011/08/29
HTML-код ссылки на эту страницу:
<a href=»https://petrenco.com/apache.php?txt=84″ target=»_blank»>Apache — установка и настройка.</a>
144754
Настройка параметров сервера XAMPP Apache
если вы хотите получить доступ к localhost без указания номера порта в URL
https://localhost вместо https://localhost:8012.
- открыть Панель Управления Xampp
- на Config ► настройки сервиса и порта ► Apache
- заменить Главный Порт и порт SSL значения с выбранными (например,8012 и 8013).
- сохранить настройки сервиса
- сохранить конфигурация панели управления
- перезапустите сервер Apache Теперь это должно сработать.
4.1. Конфигурация веб-браузера
если эта конфигурация не скрывает номер порта в URL-адресе, это потому, что ваш веб-браузер не настроен. См.: Инструменты ► Параметры ► Общие ► Настройки Подключения… позволит вам выбрать разные порты или изменить настройки прокси-сервера.
4.2. Для редких случаи окончательного невезения
если Шаг 4 и конфигурация веб-браузера не работают для вас, единственный способ сделать это-вернуться к 80 или установить прослушиватель на порт 80 (например, прокси), который перенаправляет весь ваш трафик на порт 8012.
если у вас все еще есть это сообщение в консоли панели управления:
- найти местоположение (вероятно, в C:xampp)
- создайте файл XAMPP.INI в этом каталоге (so XAMPP.ini и xampp-control.exe находятся в том же каталоге)
поместите следующие строки в :
apache = 8012
теперь , вы всегда получите:
Пожалуйста, обратите внимание, что это только для отображения цели. Он не имеет никакого отношения к вашему httpd.conf
лучшим решением является перенастройка сервера XAMPP Apache для прослушивания и использования разных номеров портов. Вот как вы это делаете:
1) Во-первых, вам нужно открыть Apache «httpd.conf » и настроить его для использования / прослушивания на Новом Порту нет. Откройте файл httpd.conf-файл, нажмите кнопку » Config «рядом с кнопками» Пуск «и» Admin » Apache. Во всплывающем меню выберите и откройте файл httpd.conf
2) в httpd.поиск файла conf для «listen». Вы найдете два ряда с чем-то вроде:
#Listen 12.34.56.78:80 Listen 80
измените порт no на порт no. по вашему выбору (например, порт 1234), как показано ниже
#Listen 12.34.56.78:1234 Listen 1234
3) Далее, в том же httpd.conf-файл ищет «Имя_сервера localhost:» установите его в Новый Порт no.
ServerName localhost:1234
4) сохраните и закройте httpd.файл conf.
5) теперь снова нажмите кнопку конфигурации Apache и откройте «httpd-ssl.файл conf».
6) в httpd-ssl.файл conf, ищите «Listen» снова. Вы можете найти:
Listen 443
измените его, чтобы прослушать новый порт по вашему выбору. Говорят типа:
Listen 1443
7) в том же httpd-ssl.файл conf найти другую строку <VirtualHost _default_:443>. Измените это на свой новый порт no. (как 1443)
также в том же httpd-ssl.conf вы можете найти другую строку, определяющую порт no. Для этого ищите «Имя_сервера». вы можете найти что-то вроде:
ServerName www.example.com:443 or ServerName localhost:433
измените это имя сервера на Новый Порт no.
Сохраните и закройте httpd-ssl.файл conf.
9) Наконец, есть еще одно место, где вы должны изменить порт нет. Для этого нажмите и откройте кнопку «Config»на панели управления XAMPP. Затем нажмите кнопку» сервис и настройки порта». В нем перейдите на вкладку » Apache «и введите и сохраните новый порт nos в полях» основной порт «и» порт SSL». Нажмите кнопку Сохранить и закройте окна конфигурации.
это должно сделать трюк. Теперь «старт» Apache и если все пойдет хорошо, ваш сервер Apache должен запуститься.
вы также увидите, что порт Apache / s no в панели управления XAMPP изменился на новые идентификаторы портов, которые вы установили.
вы пытались получить доступ к своей странице, набрав»https://localhost:8012 «(после перезапуска apache)?
У меня тоже проблема. Я switced Порту, но не смог запустить на 8012.
Skype был задействован, потому что у него был тот же порт — 80. И он не мог позволить apache изменить его порт.
поэтому просто перезагрузите компьютер и перед включением любых других программ откройте xampp первый измените порт, скажем, от 80 до 8000 или 8012 на этих строках в httpd.conf
Listen 80 ServerName localhost:80
перезапустите xampp, запустите apache, проверьте localhost.
Если не работает над идентификатором порта, измените его.как 8082,8080 Перезапустите xammp, запустите Apache server, проверьте его.Теперь это работает.
если XAMPP server работает на данный момент, остановите сервер XAMPP.
выполните следующие действия, чтобы изменить номер порта.
откройте файл в следующем расположении.
/apache/conf/httpd.conf
открыть httpd.conf файл и найти строку:
слушать 80
это номер порта, используемый XAMMP.
затем найдите строку Имя_сервера обновить Номер Порта который вы ввели ранее для Listen
2: Создание демо-страниц для виртуальных хостов
Создайте тестовый контент; для пробной настройки простых страниц будет достаточно. Просто создайте страницы index.html для каждого сайта.
Начнём с example.com; откройте файл index.html в текстовом редакторе:
В этом файле создайте простой HTML-документ, который указывает, к какому сайту подключена страница. В данном случае этот файл выглядит так:
Сохраните и закройте файл.
Затем можно скопировать этот файл и использовать его как шаблон для второго сайта:
Откройте скопированный файл и внесите соответствующие коррективы:
Сохраните и закройте файл. Теперь тестовые страницы готовы.
Виртуальный выделенный сервер
VPS действительно обойдется дороже, чем виртуальный хостинг. Создание такого типа сервера требует больших финансовых вложений от хостера. Хостинговая компания, предлагающая вам выделенный сервер, владеет одной (или несколькими) мощной физической машиной. На ней располагается основной сервер, поделенный на несколько виртуальных. Конечный пользователь, то есть владелец сайта, получает в свое распоряжение один из этих виртуальных выделенных серверов (VPS).
Такой подход позволяет компании-хостеру предоставить вам гарантированную вычислительную мощность и дисковое пространство. Как вы распорядитесь этими ресурсами — уже ваше дело. Можно опубликовать один крупный сайт, но при желании на виртуальном сервере можно размещать сразу несколько сайтов — так оплаченные ресурсы делятся между проектами.
Создание конфигурационных файлов и настройка
Файл конфигурации Ubuntu Apache virtual hosts отвечает за обработку запросов к разным доменам. У Apache существует дефолтный файл 000-default.conf, который можно использовать в качестве шаблона. Для каждого виртуального хоста необходимо будет скопировать его, задать произвольное имя (рекомендуем использовать имя домена) и произвести определённые настройки. Обязательное условие — соблюдение расширения файла: .conf
Создание конфига для faq-reg.ru
-
1.
Скопируйте шаблон конфига для первого домена с помощью команды:
-
2.
Откройте созданный файл командой:
-
3.
В файле присутствует секция VirtualHost для обработки запросов на 80 порт (порт для HTTP-запросов). Измените следующие строки:
Вместо webmaster@localhost укажите электронный адрес администратора, вместо /var/www/html укажите каталог домена, который мы создали на этапе подготовки, в нашем случае это /var/www/faq-reg.ru/
Затем добавьте ещё две строки:
Сохраните изменения в файле и закройте его.
Результат:
-
4.
Настройка виртуального хоста для первого домена завершена. Скопируйте этот файл для второго домена с помощью команды:
Не забудьте изменить faq-reg.ru.conf и support-faq.ru.conf на имена ваших доменов.
-
5.
Откройте файл для редактирования:
-
6.
Измените DocumentRoot, ServerName и ServerAlias в соответствии с данными для второго домена и сохраните изменения:
-
7.
Деактивируйте конфиг по умолчанию командой:
И активируйте созданные конфиги:
-
8.
Перезапустите Apache командой:
Готово. Создание и настройка виртуальных хостов завершена. Далее можем проверить результат.