Apache: установка и настройка веб-сервера
Веб-сервер – программа, которая запущена на локальной или удаленной машине, и главное её предназначение – позволять пользователю просматривать веб-документы. Когда в адресной строке вводится адрес сайта, при нажатии клавиши Enter браузер формирует некий запрос, направленный удаленному компьютеру — веб-серверу.
Apache HTTP-сервер (сокращение от англ. a patchy server ) – одна из наиболее популярных и распространенных программ, созданных для веб-разработчиков и администраторов интернет-ресурсов. По данным независимых исследователей, Apache установлен на 50% компьютеров всех пользователей HTTP-серверов.
Главными преимуществами Apache являются стабильность, быстродействие и гибкость, и обусловлены они модульной организацией, а также тем, что разработку ведёт открытая группа программистов, хоть и под официальным названием Apache Software Foundation .
Apache поддерживает огромное количество операционных систем и аппаратных платформ, и довольно часто его используют под управлением операционной системы Windows. Немаловажно и то, что данный web-сервер распространяется совершенно бесплатно.
APACHE VS NGINX. Что выбрать? Сравнение двух популярных HTTP серверов.
О том, как установить сервер Apache для операционной системы Windows 7, пойдет речь в данной статье.
Установка Apache
В первую очередь необходимо скачать последнюю версию дистрибутива Apache без поддержки SSL и запустить установку. В приветственном окне нужно кликнуть на « Next », прочесть лицензионное соглашение разработчика и подтвердить свое согласие с ним.
Затем, в окне установки необходимо заполнить поля так, как показано на картинке ниже, а в поле « Administrator’s Email Address » указать адрес своей электронной почты, кликнуть « Next » и установить переключатель в положение « Custom ».
Далее, переходим к следующему шагу процесса « установка Apache ». По умолчанию веб-сервер производит инсталляцию в папку C:Program FilesApache Software FoundationApache 2.2 .
Далее необходимо создать директорию www на диске C и указать её в качестве установочной папки для Apache, кликнуть « Next » в этом и « Install » в следующем окне. Когда установка закончится, нажмите на « Finish ».
Если все прошло успешно, в трее должен появиться значок управления веб-сервером Apache. Остановить и перезагрузить его можно, кликнув на значке левой кнопкой мыши.
Что такое веб сервер и для чего он нужен?
Кликнув по тому же значку правой кнопкой мыши, можно перейти к различным системным службам операционной системы или открыть монитор Apache.
Для того чтобы проверить работает ли установленный сервер Apache, наберите в адресной строке вашего браузера http://localhost
Если появилась страница с воодушевляющей надписью « It works! », значит, установка Apache прошла успешно, и он функционирует правильно.
Базовая настройка веб-сервера
Хоть Apache и является весьма удобным и исключительно надёжным, не все готовы его использовать как локальный сервер по ряду причин, и основная — отсутствие даже в среде Microsoft Windows какого-либо графического конфигуратора, что довольно непривычно для большинства пользователей.
Настройка сервера производится с помощью ручного редактирования конфигурационного файла httpd.conf . Однако, вопреки представлениям о непонятности и сложности данного процесса, ничего сложного в данной операции нет по двум причинам: во-первых , для того, чтобы сделать из только что установленного Apache сервер, который настроен для приемлемой и комфортной работы, в файле конфигурации нужно поменять совсем немного данных, а во-вторых — комментарии httpd.conf содержат немало полезной информации, необходимой для того, чтобы разобраться с настройкой.
- Запустить Apache под платформой Windows 7;
- Хранить в удобной для пользователя директории файлы будущего сайта (например, C:www);
- Не испытывать проблем с кодировкой, а в частности — с отображением кириллицы;
- Возможность работать с несколькими сайтами одновременно.
Чтобы успешно решить эти проблемы, зайдите в папку с установленным Apache, найдите и откройте в подпапке conf файл httpd.conf . Обратите внимание, что строки, начинающиеся с « решётки », являются текстовыми комментариями, а в качестве настроек веб-сервера использованы строки, в начале которых значок « решётки » отсутствует.
Для начала нужно выполнить настройку той директории, которая будет использоваться сервером в качестве папки веб-сайта. Найдите в тексте строку, которая начинается с DocumentRoot . Данная директива определяет, какая папка будет являться корневой.
Исправьте её на DocumentRoot “ C:/www ”. Следует уточнить, что слэши в этом файле должны быть наклонены вправо, а не влево, как, вероятно, уже привыкли пользователи Windows. После вышеуказанных манипуляций, проблема с месторасположением вашего сайта решена.
Далее необходимо установить для директории правила безопасности. В Apache для этой цели используется директива Directory :
Options (определяет, какие серверные функции будут доступны) AllowOverride (определяет, какие директивы из .htaccess могут преобладать над такими же в httpd.conf) Order (устанавливает определенные правила доступа к серверу)
Список используемых параметров:
Options. Возможны следующие варианты:
- Includes – использование SSI разрешено;
- IncludesNOEXEC – использование SSI разрешено с ограничениями (не допускаются #include и #exec );
- Indexes – разрешено использование индексных файлов, и если URL-адрес указывает на директорию сайта (например, www.domain.ru/dir/ ), в которой не существует индексного файла, будет показано содержимое данной директории, а если этой опции нет – выдается оповещение о том, что доступ запрещён;
- ExecCGI – выполнение скриптов CGI разрешено;
- FollowSymLinks – сервер следует по имеющимся символическим ссылкам директории (используется в Unix-системах);
- SymLinksIfOwnerMatch – сервер следует по имеющимся символическим ссылкам директории лишь в том случае, если целевой файл имеет одного владельца со ссылкой;
- All – все вышеописанное вместе разрешено;
- None – все вышеописанное вместе запрещено;
- MultiViews – возможность подбора определенного контента и его выдачи в зависимости от предпочтений браузера (даже если включено все (Options All). Указывается отдельно).
- AuthConfig – позволяет использовать директивы для авторизации;
- FileInfo – разрешает использование директив для работы с различными типами документов;
- Indexes – разрешает использование директив для работы с файлами индексации;
- Limit – разрешает использование директив для определения доступа к хосту;
- Options – разрешает использование директив для работы с определенными специфическими функциями директорий;
- All – все вышеуказанное вместе;
- None – ничего из вышеуказанного вместе.
- Deny, Allow – Deny определяется перед директивой Allow, доступ разрешен по умолчанию, кроме хостов, которые указаны в следующей после Deny from строке;
- Allow,Deny – Allow определяется перед директивой Deny, доступ запрещен по умолчанию, кроме хостов, которые указаны в следующей после Allow from строке;
- Mutual-failure – разрешен доступ только таких хостов, которые отсутствуют в Deny и присутствуют в Allow.
На основе всего вышесказанного, попробуйте настроить ваш сервер. В файле httpd.conf директива Directory по умолчанию существует сразу в двух экземплярах — и . Первый вариант трогать не следует, поэтому во втором установите параметры следующим образом:
Options Indexes FollowSymLinks AllowOverride None Order allow, deny Allow from all
Говоря другими словами, для папки C:/www и всех её подпапок выбраны следующие параметры:
- Из возможной функциональности имеющегося сервера разрешены индексы в директориях и переходы по символическим ссылкам;
- Возможность параметрического переопределения с помощью файлов .htaccess полностью отсутствует, однако учитывая то, что вы имеете полный доступ к серверу, она не является актуальной – все можно настроить через httpd.conf;
- Доступ к веб-серверу разрешен со всех хостов.
Теперь, сохраните файл httpd.conf и перезапустите Apache с помощью Apache Monitor либо командой apache –k restart в командной строке. Настройка корневой папки сайта закончена.
Следует проверить, правильно ли вы всё сделали. Создайте простейшую веб-страницу в папке C:www, откройте ваш браузер и введите http://127.0.0.1/ваша_созданная_страница . Страницы должна открыться. В ином случае необходимо тщательно проверить все изменения в файле httpd.conf на правильность.
Если страница успешно открылась, есть вероятность, что вместо кириллических символов вы увидите нечитаемые символы. Отображаться они могут по двум причинам. Во-первых , веб-сервер предоставляет вашему браузеру, который запросил страницу, кодировку по умолчанию. Во-вторых , как ни странно, кодировка эта кириллической не является.
Если пресловутый Internet Explorer в подобных случаях определяет кодировку из самой страницы, то, к примеру, Mozilla Firefox и Opera к подобным действиям склонности совершенно не имеют, и способ выставления кодировки в браузере вручную едва ли можно назвать удобным. Следовательно, необходимо настроить Apache на выдачу по умолчанию необходимой кодировки.
Найдите в файле httpd.conf строку, которая начинается на AddDefaultCharset . Скорее всего, там указана кодировка ISO-8859-1, в которой отсутствуют кириллические символы. Поменяйте ISO-8859-1 на windows-1251 , сохраните файл и перезапустите Apache. Теперь корректное отображение русского языка на вашем сайте будет работать в любом браузере.
В сервере Apache достаточно просто настроить работу с несколькими сайтами. Адреса, которые можно использовать для них — 127.0.0.2, 127.0.0.3 и т.д. При этом по сети виден будет только тот, который является сайтом по умолчанию (127.0.0.1), однако для локальной работы это не является критичным. Раздел файла httpd.conf , в котором производится настройка всего необходимого для этого, находится в самом конце и именуется VirtualHosts .
Для того чтобы добавить дополнительный сайт, создайте директорию, использующуюся в качестве его корневой, к примеру, C:www2 . Предположив, что сайт будет откликаться на адрес 127.0.0.2 , дайте ему имя site911 и в самом конце раздела VirtualHosts добавьте следующие строки:
Перезапустите сервер Apache. Набрав в адресной строке браузера 127.0.0.1 , вы попадёте на ваш первый локальный сайт, а набрав 127.0.0.2 – на второй локальный сайт. Следует иметь в виду, что внутри каждого контейнера VirtualHosts могут использоваться абсолютно любые директивы веб-сервера Apache, благодаря чему можно каждый сайт настраивать наидетальнейшим образом.
Итог
Установка и настройка завершена, и теперь вы можете полноценно приступить к изучению работы сервера Apache на практике.
Если же вы решили вплотную заняться администрированием веб-сайтов, следующим вашим шагом должно стать изучение связки Apache PHP MySQL, ведь без системы управления базами данных, а также без поддержки одного из самых распространенных языков веб-программирования и веб-инструмента для администрирования системы MySQL не обходится ни один сервер на просторах всемирной сети. Как говорится, « тяжело в учении, но легко в бою ».
Желаем удачи в изучении этого нелёгкого, но интересного дела!
Источник: www.internet-technologies.ru
Что такое Apache
Читайте нашу статью, если хотите узнать, что такое Apache, как работает эта программа и зачем вообще нужны веб-серверы.
Мы привыкли к тому, что любую информацию можно быстро найти через интернет. Пользователь вводит свой запрос в поисковую строку браузера и практически мгновенно попадает на нужный сайт. Однако мало кто догадывается, насколько сложный путь должен пройти запрос, прежде чем пользователь получит на него ответ. Одним из этапов на этом пути является обращение к веб-серверу — без него не получится найти ответ ни на один из запросов.
Что такое веб-сервер
Веб-сервер — это сервер, который выступает промежуточным звеном между браузером и физическим сервером.
Сначала поисковик принимает запрос пользователя и передает его веб-серверу. Веб-сервер анализирует запрос и ищет в сети тот сервер, на котором хранится искомое. Но зачем вообще веб-серверу искать другой сервер? Дело в том, что каждый сайт, а точнее файлы из которых он состоит (HTML, JS, CSS) хранятся на одном из серверов в сети.
Чтобы пользователь мог попасть на сайт, необходимо найти и передать ему эти файлы. Поэтому веб-сервер находит нужный сервер и делает запрос на файлы. Сервер принимает запрос, находит файлы и отдает их веб-серверу. После этого веб-сервер передает ответ браузеру, а он, в свою очередь, пользователю. В реальности этот сложный процесс занимает доли секунды.
Для создания web-серверов используются специальные технологии, например, Nginx или Apache.
Что такое Apache сервер
Apache — это свободное программное обеспечение, с помощью которого можно создать веб-сервер. Несмотря на то, что Apache чаще всего называют сервером (более того, его официальное название — Apache HTTP Server) — это всё-таки программа, которую устанавливают на сервер, чтобы добиться определённых результатов. Русскоязычная аудитория нередко называет серверы с такими программами коротко — Апач.
Для чего нужен Apache сервер:
- чтобы открывать динамические PHP-страницы,
- для распределения поступающей на сервер нагрузки,
- для обеспечения отказоустойчивости сервера,
- чтобы потренироваться в настройке сервера и запуске PHP-скриптов.
Apache является кроссплатформенным ПО и поддерживает такие операционные системы, как Linux, BSD, MacOS, Microsoft, BeOS и другие.
История создания
Технология Apache является одной из самых старых, но при этом надежных. «А patchy server» (сокращенно Apache) переводится как “сервер с патчами”. Это название было дано программе неслучайно. Продукт Apache возник как доработанная версия другого HTTP-клиента от национального центра суперкомпьютерных приложений (NCSA). Дело в том, что ещё в 1990-е годы в NCSA велась разработка двух продуктов — CERN HTTPd и NCSA HTTPd. Постепенно к проекту привлекались новые специалисты, каждый из которых привносил в работу свои исправления и улучшения — патчи.
Патч (заплатка) — это кусок кода, который следит за недочетами общего кода разработчика и в автоматическом режиме исправляет их. Именно патчи легли в основу модификации клиента HTTPd 1.3. Сформировалась команда разработчиков, целью которой было объединить все патчи воедино. Так в декабре 95-го года была выпущена самая первая версия Apache, а в 98-м году вышла версия 1.3.
Позже, в 1999 году, сформировалась некоммерческая организация Apache Software Foundation, а уже в 2000 году ей была организована первая конференция разработчиков группы ApacheCon. На этой конференции впервые представили принципиально новую версию продукта — 2.0. В её основу легла структура по принципу модулей. На сегодняшний день одна из последних версий Apache — 2.4.
Архитектура Apache
Основные компоненты архитектуры сервера Апач — динамические модули, ядро и конфигурационные файлы.
Основные задачи ядра веб-сервера — модерация работы конфигурационных файлов, а также исполнение HTTP и HTTPS протоколов. Однако в чистом виде ядро имеет весьма ограниченный функционал и не справляется с такими задачами. Как можно расширить функционал веб-сервера? Для этого ядро должно работать сообща с системой модулей.
Модули — это по сути файлы, которые помогают расширять возможности той или иной системы. Базовая часть модулей для Апач устанавливается по дефолту, а дополнительные модули нужно подключать самостоятельно. При этом каждый модуль отвечает за отдельный компонент работы с запросом. Например, аутентификацию или кэширование. Для оптимизации ядра существует свыше 500 различных модулей — под любую задачу или проект.
Конфигурационный файл — это файл, который хранит настройки операционной системы и приложений, а также позволяет вносить в них изменения. Конфигурация сервера Apache основана на текстовых конфигурационных файлах. Эти файлы отвечают за каждый из трёх уровней:
- Файл уровня конфигурации сервера — httpd.conf. Он содержит директивы, которые управляют работой веб-сервера. В каждой операционной системе httpd.conf по-разному расположен. Чтобы узнать его местоположение, достаточно ввести в терминале команду: httpd -V
- Файл (или файлы) уровня конфигурации каталога — .htaccess. Файл .htaccess отвечает за настройки веб-сервера только в том каталоге, в котором он размещен, а также в его дочерних каталогах. То есть вносимые в .htaccess изменения не затрагивают глобальные настройки. Также настройки .htaccess имеют приоритет перед настройками httpd.conf.
- Файл уровня виртуального хоста — extra/httpd-vhosts.conf. Такие хосты нужны пользователям, которые запускают несколько сайтов на одном виртуальном сервере. На один сервер можно добавить неограниченное количество виртуальных хостов.
Как правило, основные конфигурационные файлы располагаются в папке conf, а дополнительные в папке extra. Изменения в эти файлы можно вносить как через командную строку, так и путем редактирования самого файла.
Принцип работы Apache
Работа Apache построена на процессной модели. В рамках процессной модели каждое соединение (обработка запроса) с сервером помещается в отдельный поток и проходит определенные этапы. Это значит, что несколько соединений невозможно обработать параллельно. Сервер обработает запрос от второго пользователя только тогда, когда будет обработан запрос от первого пользователя, а от третьего только тогда, когда будет обработан запрос от второго. Новое соединение не может начаться, пока предыдущая операция не завершится и не освободит поток.
Системные требования Apache: один процесс — один поток
Преимущества Apache
— Открытый код: любой желающий может разобраться, как пользоваться исходным кодом и адаптировать его под свои задачи и нужды. Благодаря этому ПО регулярно получает полезные дополнения, которые позволяют расширять его базовый функционал.
— Модульная структура: с помощью дополнительных модулей можно быстро расширить функционал сервера. Гибридные модули позволяют оптимизировать процессы в области кэширования, безопасности и распределения нагрузки. Также в целях оптимизации процессов модули всегда можно быстро отключить.
— Гибкие настройки: программу можно настроить под себя с помощью текстовых конфигурационных файлов.
— Масштабируемость: Apache способен не только легко, но и быстро масштабироваться.
— Универсальность: сервер можно запускать как на всех Unix-подобных системах, так и на MacOS и Windows. Отличия работы сервера только в процессе установки.
— База знаний: Apache накапливает документацию с 1996 года. В базу знаний внесли вклад как официальные разработчики, так и сторонние. Можно найти пошаговое руководство под задачу практически любой сложности.
— Поддержка ПО: поскольку веб сервер Апаче функционирует на основе таких веб-языков, как Python, PHP, Perl и многих других, он совместим с различными серверными ПО и базами данных.
— Совместимость с CMS: Apache прекрасно работает с такими популярными системами управления контентом, как WordPress, Drupal, Joomla и другими.
Недостатки Apache
— Взаимозависимость трафика и производительности: поскольку работа Апач построена на процессной модели, где каждый запрос пользователя к серверу обрабатывается отдельно, скорость работы сайтов с высоким уровнем посещаемости время от времени может снижаться.
— Уязвимость модулей: модульная структура одновременно является и плюсом и минусом структуры. Большое количество дефолтных модулей Apache усложняет администрирование сервера, а неправильная настройка повышает вероятность возникновения критических ошибок безопасности.
— Ручное редактирование на Linux: при работе с сервером на операционных системах семейства Unix предусмотрено только ручное редактирование конфигурационных файлов. Отредактировать файл иными способами невозможно потому, что на сервере отсутствует графический интерфейс. Для решения проблемы потребуется установить GUI — бесплатный инструмент для настройки напрямую из браузера.
— Избыточный функционал: если вы не являетесь разработчиком, большая часть функционала, установленного на Апаче по дефолту, может вам не потребоваться. Придется потратить время на отключение части модулей, чтобы оптимизировать процессы и снизить нагрузку.
Мы рассказали, зачем нужен Apache сервер, по каким принципам он работает и дали подробное описание плюсов и минусов его использования.
Популярные статьи
- Как указать (изменить) DNS-серверы для домена
- Я зарегистрировал домен, что дальше
- Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
- Что такое редирект: виды и возможности настройки
- Как создать почту со своим доменом
Источник: 2domains.ru
Что такое Apache и как он работает
Мы знаем, что если набрать адрес сайта в браузере, то при определённых условиях на экране появится этот сайт. Чтобы он появился, на каком-то удалённом компьютере должна поработать программа, которая отвечает за выдачу этого сайта. Одна из самых распространённых программ, которая совершает эту работу, — Apache, он же «Апач». Вот сегодня о нём.
Что вообще такое сервер
Сервером могут называть две вещи:
- Компьютер или виртуальная машина, на которой запускаются программы для работы сайтов и служб.
- Сами программы, которые что-то отдают пользователю по запросу — файлы, видеоролики, музыку и т. д. Apache — это как раз программа.
Программы-сервера ещё иногда разделяют на веб-сервера, ftp-сервера, почтовые сервера и т. д. То есть если программа обрабатывает запросы на сайты — это веб-сервер. Если программа отвечает за обмен файлами по протоколу ftp — это ftp-сервер. Все эти программы могут работать на одном физическом или виртуальном компьютере, просто отвечать за свой тип запросов.
Смысл веб-сервера
Apache — это как раз веб-сервер, то есть он обрабатывает запросы и отдаёт в ответ на них сайты. Он работает примерно так:
- У него есть список портов, которые он «слушает», — представьте, что это столики, которые обслуживает официант.
- Если на какой-то порт приходит запрос, это равносильно тому, как если бы гость ресторана сделал заказ. Сервер изучает этот заказ и заглядывает в свои внутренние правила: можно ли этот заказ исполнять.
- Чаще всего внутренние правила звучат так: возьми такие-то файлы, запусти такой-то процесс, получи от него такой-то результат и передай его тому, кто этот запрос сделал.
- Иногда клиент заказывает что-то, что нельзя подавать — в правилах стоит запрет. Например, это какой-то секретный документ. Тогда сервер смотрит, как ответить клиенту в этой ситуации. Например, он покажет страницу с ошибкой.
- Когда запрос выполнен (успешно или с ошибкой), сервер снова ждёт нового запроса.
Откуда появился Апач
Первая версия этого веб-сервера появилась в 1995 году, когда браузеры стали набирать популярность. Цепочка была такая:
В интернет начали приходить простые пользователи, а не только айтишники → они стали искать и читать то, что им интересно → чтобы им это отдать, серверы напрягались, потому что раньше такой нагрузки не было → старый софт перестал справляться, и появился Апач.
Всё дело в том, что в старом софте и протоколах, которые использовались, был один слабый момент: когда нагрузка становилась большой, система не справлялась, начинала глючить и выдавать не то, не тем и не в нужное время. А название Apachе родилось как созвучное фразе «a patchy server» — сервер, который накладывает заплатки и патчи на существующие технологии.
С тех пор технологии поменялись, а название осталось.
Принцип работы Апача
Апач работает на трёх уровнях: на уровне всего сервера, виртуального хоста и каталога. Настройки каждого уровня задаются в своих файлах.
Уровень всего сервера — это по каким правилам Апач обрабатывает вообще все запросы, которые к нему приходят. Например, можно сказать ему так: на любой запрос показывай ошибку «Доступ запрещён».
За этот уровень отвечает файл httpd.conf.
Уровень виртуального хоста означает, что на компьютере может жить одновременно несколько сайтов, за которые отвечает один веб-сервер. Все запросы распределяются по своим хостам (виртуальным сайтам).
Правила на этом уровне отвечают за то, как конкретный хост будет отвечать на запросы — откуда брать данные, как их обрабатывать и что с ними делать дальше.
За этот уровень отвечает файл extra/httpd-vhosts.conf.
Уровень каталога регулирует, в какие каталоги у пользователя есть доступ, а в какие его пускать нельзя. Если этого не сделать, то, например, кто угодно сможет зайти в каталог с базой данных онлайн-магазина и скачать себе список всех товаров, покупателей и узнать уровень дохода и выручки.
За этот уровень отвечает файл .htaccess. Мы с ним уже встречались в статьях про защиту сервера и про публикацию сайта.
Чтобы настроить Апач, нужно поменять соответствующие настройки в этих файлах. Веб-сервер в них смотрит при каждом запросе, поэтому все новые правила применяются сразу же, как вы их пропишете. Это как если шеф-повар скажет официантам: «Стейки на стопе» — это значит, что мясо на стейки закончилось, больше заказов на стейки не принимайте. Перезагружать для этого сервер не нужно.
Модули
Сам по себе Апач умеет не очень много, но если к нему подключить нужные модули, то всё сразу меняется. Есть отдельные модули:
- для кеширования данных,
- безопасности,
- распределения нагрузки,
- поддержки разных языков программирования,
- поддержки разных протоколов и запросов,
- исправления ошибок и повышения стабильности.
Опытные сисадмины собирают персональную конфигурацию Апача под свои задачи, чтобы получить нужную комбинацию возможностей. Нет смысла подключать все модули, потому что их очень много, а для работы каждого нужны память и ресурсы процессора.
Сделать свой модуль может кто угодно — у Апача открытый исходный код, поэтому можно разобраться, как он устроен и как подключить свой модуль.
В чём хорош Апач
Масштабируемость. Если нагрузка на сервер становится больше, можно запустить второй апач на другом сервере, настроить его на работу с тем же сайтом и распределить нагрузку.
Поддержка и справочная информация. Апачу уже больше 25 лет — за это время накопилось огромное количество документации, примеров использования, комплектов модулей и готовых сценариев. Если у вас есть проблема или вопрос по Апачу, то её до этого уже точно кто-то решил и выложил ответ в сеть.
Поддержка других языков программирования. Нужна поддержка PHP? Есть такое. Python? Легко. Perl? Тоже без проблем.
Даже если вам понадобится запускать на сервере что-то на C++ или Java, то Апач тоже сможет с этим помочь.
А ещё у Апача есть версии вообще почти под все операционные системы. Поэтому можно поставить его на свой домашний компьютер и получить поддержку Вордпресса, PHP и остальных систем, для которых раньше нужно было всё заливать на удалённый сервер.
Минусы и недостатки
Когда посетителей на сервере много, Апач работает медленно. А всё потому, что в 1995 году высокой нагрузкой считалось, условно, 1000 посетителей в минуту, а сейчас — миллион. И когда обращений к сайту становится слишком много (а Апач обрабатывает каждое соединение по очереди) — сервер не справляется и тормозит.
Второй недостаток — уязвимость подключаемых модулей. Сам Апач проверен на надёжность и безопасность много раз, а вот в модулях могут быть проблемы. Если подключить модуль, в котором есть дыры в безопасности, то через них можно получить доступ и к серверу, и к файлам, которые на нём хранятся.
Как попробовать
Вы можете запустить собственный веб-сервер прямо на своём компьютере за пять минут. Самый простой способ — скачать MAMP: это пакет для веб-разработчика, в который встроен менеджер баз данных, веб-сервер, движок PHP и другие полезные для веба штуки. Работает так:
- Скачиваете MAMP для своей операционки.
- Устанавливаете.
- Запускаете программу и в ней говорите Start.
- MAMP скажет вам, что сервер запущен, откликается по такому-то адресу и смотрит в такую-то директорию на вашем компе (всё это можно настроить, а можно оставить так). Скорее всего, ваш веб-сервер начнёт откликаться из браузера по запросу http://localhost.
- Зайдите на http://localhost/MAMP/ — там будет вся информация о вашем сервере вплоть до ключей от базы данных и ссылки на запуск инструмента администрирования БД phpMyAdmin.
Далее можно, например, скачать дистрибутив Вордпресса, распаковать его в папку, где работает ваш сервер, и попробовать эту штуку установить. Придётся создавать БД через phpMyAdmin, но об этом в другой раз.
Обратите внимание: MAMP — это локальный сервер. Из внешнего интернета его не видно. Если хотите настроить видимый из внешнего интернета сайт, это несколько сложнее.
Источник: thecode.media
Что такое Apache
Интернет невозможно представить без всевозможных сайтов. Все они работают за счёт веб-серверов – программ, отвечающих за передачу данных от физических хранилищ до браузеров пользователей.
Веб-сервер работает в качестве «посредника» между пользователем и физическим сервером. При получении запроса от посетителя он ищет необходимую страницу в каталоге с сайтом и отправляет её в ответ. Браузер принимает полученный файл, обрабатывает его и отображает на экране посетителя.
Передача информации веб-сервера выполняется по протоколу HTTP (HyperText Transfer Protocol), изначально созданного для работы с HTML-страницами. Уже позже стало возможным отправлять через HTTP файлы любых типов. В последнее время преобладают сайты, работающие через HTTPS. Это улучшенная версия HTTP, которая отличается от предшественника тем, что поддерживает шифрование трафика TLS/SSL между пользователем и сервером.
Звание самого популярного веб-сервера в мире уже более 25 лет удерживает за собой Apache HTTP Server, который принято называть сокращенно Apache или «Апач». Сегодня программа обслуживает более 40% всех существующих серверов, включая проекты IBM, eBay, PayPal и Facebook.
Рассмотрим причины популярности Apache подробнее. Это не только пополнит копилку знаний об интернет-технологиях, но и поможет сделать правильный выбор веб-сервера для размещения сайта в будущем.
Что это такое
Apache – это свободное программное обеспечение для размещения веб-сервера. Он хорошо показывает себя в работе с масштабными проектами, поэтому заслуженно считается одним из самых популярных веб-серверов. Кроме того, Apache очень гибок в плане настройки, что даёт возможность реализовать все особенности размещаемого веб-ресурса.
История создания
Apache HTTP Server был выпущен в 1995 году разработчиком Робертом Маккулом из Университета штата Иллинойс (UIUC). Продукт возник как доработанная версия другого HTTP-клиента – NCSA HTTPd 1.3, созданного Робертом ранее.
Основой для модификации стали многочисленные «патчи» или программные «заплатки» для NCSA. Именно отсюда (а не от индейского племени апачей) изначально и происходит название Apache. Оно расшифровывается как «a patchy server» или «сервер с патчами».
Разработкой и поддержкой продукта с 1999 года занимается организация Apache Software Foundation (ASF) – сообщество экспертов-энтузиастов со всего мира. Этим же некоммерческим фондом была создана официальная лицензия ПО – Apache License.
В 2000 году ASF представило новую версию Apache 2.0 с полностью переработанной архитектурой, свободной от кода NCSA. С этого момента веб-сервер развивается по двум основным веткам – 1.х и 2.х.
Как устроен Apache
Архитектура
Apache состоит из ядра и динамической модульной системы. Параметры системы изменяются с помощью конфигурационных файлов.
Ядро
Ядро Apache разработано Apache Software Foundation на языке C. Основные функции — обработка конфигурационных файлов, протокол HTTP/HTTPS и загрузка модулей. Ядро может работать без модулей, но будет иметь ограниченный функционал.
Модульная система
Модуль – отдельный файл, подключение которого расширяет изначальный функционал ядра. Они могут включаться в состав ПО при первоначальной установке или подгружаться позже через изменение конфигурационного файла.
Большинство из них отвечает за определенный аспект обработки клиентского запроса – поддержку различных языков программирования, безопасность, кэширование, аутентификацию и т.д. Таким образом, большая задача разбивается на несколько фаз, каждую из которых решает отдельный, узкоспециализированный модуль.
Для Apache существует больше 500 модулей. Многие популярные веб-приложения сразу выпускаются в виде модуля к Apache. Например, ISPmanager и VDSmanager.
Конфигурация
Система конфигурации Apache работает на текстовых файлах с прописанными настройками. Она подразделяется на три условных уровня, для каждого из которых имеется свой конфигурационный файл:
- Уровень конфигурации сервера (файл httpd.conf) – основной конфигурационный файл. Действие распространяется на весь механизм веб-сервера.
- Уровень каталога (файл .htaccess) – дополнительный конфигурационный файл. Его директивы охватывают только каталог, где расположен файл, а также вложенные подкаталоги.
- Уровень виртуального хоста (файл httpd.conf> или extra/httpd-vhosts.conf).
Обычно конфигурационные файлы Apache находятся в папке «conf», а дополнительные конфигурационные файлы во вложенной в нее папке «extra». Внести изменения можно как через редактирование самого файла, так и через командную строку.
Виртуальные хосты
Веб-хост – это компонент сервера, отвечающий за обслуживание одного размещенного на нем объекта (сайта, виртуального сервера). Система виртуальных хостов Apache позволяет одновременно запускать несколько проектов с одного IP-адреса.
В Apache можно установить настройки модуля и ядра, а также вводить лимиты на потребление серверных ресурсов (трафик, RAM, CPU) для каждого виртуального хоста в отдельности. Это технологическая основа всего механизма веб-хостинга.
Достоинства и недостатки Apache
Плюсы
- Доступность. Это программное обеспечение с открытым исходным кодом. Значит, его может бесплатно использовать или модифицировать любой желающий. Разработчики по всему миру создают конфигурации и модули веб-сервера для своих специфических нужд. По этой же причине Apache регулярно получает полезные дополнения, расширяющие его базовый функционал.
- Гибкость настройки. Apache использует несколько конфигурационных файлов для управления веб-сервером. Это позволяет настроить ПО под узконаправленные задачи.
- Функциональность. У Apache динамическая модульная структура. Можно быстро подключать дополнительный функционал в виде скачиваемых модулей, даже без обращения к внешним источникам. Это позволяет решать целый комплекс важнейших задач в области безопасности, кэширования, редактирования URL, распределения нагрузки. Благодаря гибридным модулям MPM, Apache может одинаково успешно обслуживать статический и динамический контент. Есть возможность оперативно отключать ненужные модули и ускорять работу веб-сервера
- Кроссплатформенность. Apache работает как на Windows, так и на всех Unix-подобных системах. Администрирование веб-сервером не имеет серьёзных отличий на разных ОС. Индивидуален только процесс установки и расположение директорий с файлами программы.
- Совместимость. Apache работает на базе скриптовых или веб-ориентированных языков (PHP, Python, Tcl, Ruby, Perl, ASP), что делает его совместимым с самым широким спектром баз данных и серверного ПО. Многие веб-приложения и инструменты сразу выходят со средствами запуска из-под Apache в виде PHP-модуля. Веб-сервер, поддерживает технологии FastCGI и CGI, позволяющие пользоваться программными продуктами на объектно-ориентированных языках Java, sh, C, C++.
- Масштабируемость. Подходит для веб-ресурсов любого масштаба. Apache хорошо работает как на одностраничном сайте (лендинге), так и на многостраничном сайте с ежедневной аудиторией в десятки тысяч посетителей.
- Поддержка пользователей. Apache удерживает первенство популярности среди веб-серверов с 1996 года. За прошедшее время для него создана обширнейшая база документации – как официальной, так и созданной сторонними разработчиками. Готовые, подробно описанные руководства можно найти практически на любой сценарий.
Минусы
- Производительность. Скорость обработки запросов Apache несколько ниже, по сравнению со своими конкурентами. Гибкость веб-сервера в некоторых случаях вредит производительности. Например, Apache приходится каждый раз считывать несколько конфигурационных файлов на сервере, затрачивая системные ресурсы и время. Но этот и многие другие факторы можно исправить, отключив ненужные опции. Правда в таком случае функциональность Apache не будет сильно отличаться от других веб-серверов.
- Сложная конфигурация повышает уязвимость. Возможность подключать модули в Apache это не всегда преимущество. Чем больше модулей, тем сложнее становятся настройки. Соответственно, больше шансов допустить критические пробелы в контуре безопасности.
- Синтаксис конфигов.. В файлах с параметрами программы используются разнообразные переменные, поэтому настройка и управление веб-сервером может показаться сложной новичкам. Упростить администрирование Apache можно с помощью бесплатного инструмента Apache GUI.
- Излишний функционал. Даже без дополнительных модулей Apache предоставляет пользователям массу возможностей. Правда, большинство использует лишь небольшую часть базового функционала приложения. Поэтому часто после установки приходится тратить время на отключение «лишних» модулей.
Альтернативы Apache
NGINX
Nginx (Engine-X, «энжинкс») — второе по популярности веб-серверное приложение и главный конкурент Apache. Было выпущено в 2004 году под открытой лицензией BSD. Изначально приложение создавалось для решения проблемы масштабирования, известной как «10 тысяч соединений» (С10к). Это значит, что до Nginx веб-сервер не был способен одновременно обрабатывать пользовательские запросы более чем с 10 000 подключений.
У этого веб-сервера асинхронная событийно-ориентированная архитектура (event-driven), которая позволяет добиваться быстрого масштабирования даже при минимальных ресурсах. Вместо того, чтобы создавать новый процесс для каждого пользовательского запроса, Nginx обрабатывает множество соединений в едином потоке.
Nginx отлично подходит для веб-проектов с высокой посещаемостью. Однако веб-сервер не может самостоятельно работать с динамическим контентом. Поэтому его чаще используют для статических веб-сайтов или например, в связке с PHP-FPM или Apache HTTP Server как прокси-сервер.
Lighttpd
Веб-сервер Lighttpd (произносится «лайти») — кроссплатформенное программное обеспечение на языке С. Выпущено в 2003 году под лицензией BSD. «Лайти» работает на операционных системах Windows и семейства Unix/Linux. Приложение поддерживает технологии FastCGI, SCGI, HTTP proxy, Auth, перезаписи URL и AJP (с версии 1.5).
Как и Nginx, изначально «Лайти» создавалось для решения проблемы «С10к». Неудивительно, что его специализация — веб-проекты с большой посещаемостью. В числе компаний, использующих Lighttpd, такие гиганты, как Google, Википедия, Яндекс и Ubuntu.
Microsoft IIS
Internet Information Services (IIS) — набор сервисов для создания веб-сервера от компании Microsoft. Распространяется в комплекте с операционными системами Windows NT как дополнительно устанавливаемый компонент. Веб-сервер поддерживает технологии CGI, FastCGI, ISAPI и SSI.
Главная сила IIS – в глубокой интеграции и поддержке продуктов Microsoft. Его часто выбирают те, чьи ресурсы работают на движке ASP.NET и используют скриптовый язык ASPX. Главный недостаток – жесткая привязка к операционной системе Windows и отсутствие версий для Unix/Linux.
Tomcat
Apache Tomcat — это контейнер сервлетов, который обрабатывает спецификации Java. Например, Java Servlet, Java Server Pages (JSP), Java EL и WebSocket. Продукт был разработан фондом Apache Software Foundation на основе открытой лицензии Apache License 2.0. Tomcat используется как в качестве самостоятельного веб-сервера, так и в связке с Apache HTTP Server.
Приложение написано на языке Java и способно автоматически загружать Java-библиотеки. Его основная специализация — веб-проекты с динамическим содержимым. Но у Apache Tomcat хуже возможности для настройки, что сужает его сферу применения. Например, для запуска WordPress эффективнее использовать обычный HTTP-сервер Apache.
Заключение
Сервер Apache – универсальный инструмент для быстрого и безопасного запуска интернет-проектов разного масштаба. Веб-сервер совместим с большинством существующих операционных систем, программных продуктов и языков разработки.
Система конфигурационных файлов дает «Апач» гибкие возможности для настройки, а динамически подгружаемые модули расширяют функционал до максимума. Особенно эффективно использовать веб-сервер Apache в связке с ближайшим аналогом – Nginx.
Для работы с «Апач» пользователю нужен определенный уровень IT грамотности. Желательно знать основы программирования и веб-администрирования. Но процесс сильно упрощает активное сообщество поддержки и отлично развитая база официальной документации.
Раскройте все возможности и преимущества веб-сервера Apache с надёжным хостингом от Eternalhost!
Источник: eternalhost.net
Веб-сервер Apache — что такое http Apache, для чего нужен, где скачать
Apache (Apache HTTP Server), название самого известного и распространенного web-сервера поддерживающего протокол HTTP/1.1. По сути веб-сервер (web-server) это мощная программа, предназначенная для обработки http запроса из адресной строки браузера и возвращения по этому запросу нужных файлов. Если упростить, то веб-сервера позволяют наладить общение между браузером и сервером, по следующей схеме, браузер просит отдать ему файлы сайта по адресу, а веб-сервер ему это отдает. Это очень упрощенно. “Общение” проходит по протоколу HTTP.
Веб-сервера, в том числе Apache, специально разрабатывались для этих целей и не одно программное обеспечение сервера или хостинга не сможет работать без веб-сервера работающего по HTTP протоколу.
Совсем недавно, Apache был практически монополистом для решения своих задач. Сейчас его поджимает, веб-сервер Nignix. Всё чаще используется симбиоз Apache и Nignix.
Не обойтись без веб-сервера и сборки локального сервера. На сегодня, ситуация такова, что Apache используется и больше того, доминирует во всех сборках локальных серверов, как для Windows, так и для Linux.
Управление Apache
Для знакомства с веб-сервером Apache стоит ознакомиться, как управляется сервис Apache со стороны клиента.
Вероятно, что именно простота внешнего управления веб-сервисом Apache и сделало его таким популярным (или это одна из причин). Для управления веб-сервисом Apache есть специальный файл, под именем .htaccess (с точкой в начале). По своему функциональному назначению, он похож на файл robots.txt для поисковых роботов. Специальными директивами, записанными в этот файл вы можете, как пользователь, не углубляясь в программное обеспечение сервера, управлять выдачей страниц своего сайта, создавать перенаправления и т.п. Кроме файла .htaccess, для управления Apache есть файл htpasswd (тоже с точкой вначале) и еще модули mod_auth и mod_access.
Но вернемся к локальным серверам. Для установки (создания) локального сервера на свой компьютер без Apache не обойтись. Не в лишний раз напомню, что в аббревиатурах WAMP и LAMP, буква [A] это и есть веб-сервер, Apache.
Во всех сборках локальных серверов, таких как, Денвер, Open-server, XAMPP и др. веб-сервер Apache присутствует априори. Если собираем сервер самостоятельно, что мы и делаем, Apache нужно устанавливать самостоятельно.
Какую версию Apache нужно ставить
Развитие Apache шло двумя ветками (версиями) Apache 1.3 и Apache 2.x. Старую версию 1.3 ставить незачем, поэтому работаем с версией 2.x.
Теперь, самое запутанное. Вам знакомо, что почти любую программу можно ставить двумя вариантами:
- С помощью автоустановщика (инсталлятора), файл [msi];
- Напрямую, закачав каталоги и файлы программы в нужную директорию диска.
С Apache ситуация следующая:
- Последняя версия Apache 2.4.26 (выпущено 2017-06-19) есть только в варианте ручной установки (ссылка внизу);
- В варианте инсталлятора [msi] последняя версия Apache 2.2.25.
На этом всё! Первое знакомство с Apache состоялось. В следующих статьях я расскажу, как установить обе версии Apache на локальный компьютер.
В завершении нужные ссылки
Навигация на сайте Apache веб сервер (http) несколько запутанная, поэтому приведу нужные ссылки:
- Сайт Apache веб-север ( http://httpd.apache.org/ ).
- Скачать Apache веб-север ( http://httpd.apache.org/download.cgi )
- Скачать Стабильную версию – последняя версия: 2.4.26 (выпущено 2017-06-19) (для Windows).
- Скачать устаревший выпуск – 2.2 серия. 2.2.32 (выпущено 2017-01-13)
- Бинарные версии: https://archive.apache.org/dist/httpd/binaries/win32/ (2013-07-10)
Другие статьи раздела: Локальный сервер
- Установка Apache MSI: пошаговая установка Apache
- Знакомство с командной строкой Windows 7
- Способы установки MySQL на локальный компьютер под Windows
- Веб-сервер Apache — что такое http Apache, для чего нужен, где скачать
- OpenServer — платформа для создания локальных сайтов
Похожие посты:
- Файл robots.txt для wordpress
- Перевод сайта WordPress на HTTPS: инструкция технического перехода
- OpenServer — платформа для создания локальных сайтов
- Локальный сервер AMPPS в WAMPP сборке: установка, тестирование, выводы
- Карта сайта WordPress для поисковиков, sitemap.xml
- Преимущества VPS сервер для интернет магазина
- Какие типы прокси соединений существуют
- Как получить бесплатный сертификат SSL: центр сертификации StartSSL (StartCom)
- Здесь ответ зачем нужен прокси сервер
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник: www.wordpress-abc.ru