Серверы LAMP: доступное решение для динамических веб-сайтов

Различая типы веб-сайтов, можно выделить две различные общие категории, к которым может относиться ваш веб-сайт — статический или динамический. Статические веб-страницы отображают HTML-документы на соответствующих серверах, и их содержание может быть скорректировано только при изменении исходного кода разработчиком. Содержание динамических веб-страниц, с другой стороны, активно генерируется при получении запроса от пользователя. Этот метод предлагает ключевое преимущество для веб-сайтов, которые требуют регулярного обновления постоянно меняющихся данных, например, прогнозов погоды или цен на фондовом рынке. Динамические веб-страницы требуют специальной инфраструктуры, состоящей из операционных систем, веб-серверов, систем баз данных и интерпретаторов сценариев; эта инфраструктура составляет основную структуру стека LAMP.

Что такое сервер LAMP?

Своим названием LAMP обязан аббревиатуре, образованной от четырех программных компонентов, составляющих его инфраструктуру: Linux, Apache, MySQL и PHP. Эти комбинированные элементы обеспечивают инфраструктуру сервера, способную как размещать, так и генерировать динамические веб-сайты. Отдельные компоненты дополняют и развивают друг друга, отсюда и название пакета программного обеспечения — LAMP stack.

Веб-сервер Apache работает под управлением ОС Linux. Хотя этот сервер не способен интерпретировать динамическое содержимое, он запрограммирован с учетом того, что интерпретатор скриптов PHP способен выполнить эту задачу. По этой причине сервер отправляет соответствующий исходный код, включая информацию о поведении посетителей сайта, интерпретатору PHP. Этот интерпретатор, в свою очередь, обращается к базе данных MySQL. Готовый результат этого процесса отправляется обратно в Apache, где он отображается посетителю в соответствующем веб-браузере.

Благодаря разумным ценам и легкой доступности, серверы LAMP оказались популярным вариантом для веб-разработчиков. Отдельные компоненты сервера могут быть заменены на сопоставимые альтернативы. Также можно использовать операционные системы, такие как Windows (WAMP) или Mac OS (MAMP). Вместо Apache часто используется веб-сервер nginx. Для баз данных, MySQL и MariaDB используются с одинаковой частотой. Дополнительными языками программирования являются: Perl, Ruby и Python.

Как установить сервер LAMP

Перед установкой LAMP-сервера необходимо прояснить несколько моментов. Прежде всего, важно убедиться, что аппаратное обеспечение обеспечивает достаточную мощность для установки и различных функций стека LAMP. В принципе, системы LAMP не требуют высочайшей вычислительной производительности. Однако в зависимости от типа контента, который будет доставляться посетителям веб-страниц, может потребоваться высокопроизводительная система. Например, сервисы, предлагающие потоковое мультимедиа, могут отказаться от такого высокопроизводительного оборудования. Количество пользователей также должно быть принято во внимание до приобретения оборудования.

После того, как аппаратное обеспечение подобрано, следующей задачей является определение того, какой из многочисленных дистрибуторов Linux подходит для данной работы. Будь то Red Hat, openSUSE, Debian, Ubuntu или CentOS, выбор подходящего дистрибутора зависит как от цели использования LAMP-сервера, так и от уровня вашей компетенции в Linux.

В следующем руководстве изложены шаги по установке четырех компонентов LAMP-сервера Ubuntu. 

Шаг 1: Выберите правильную операционную систему

Как и в случае с Ubuntu, многие другие дистрибутивы Linux с открытым исходным кодом (часто сокращаемые просто до «дистрибутивов») доступны бесплатно в Интернете. Следующие шаги — это руководство по операционной системе на базе Debian:

  1. Загрузите или приобретите серверную версию Ubuntu на их домашней странице: Ubuntu; после завершения загрузки сохраните или запишите ISO-файл на USB-накопитель или CD.
  2. Используя USB-накопитель или CD, запустите операционную систему.
  3. Выберите язык и начните установку сервера.
  4. Выберите или введите сведения о языковых опциях, раскладке клавиатуры, конфигурации сети, имени хоста, часовом поясе и паролях.
  5. Настройте жесткий диск.
  6. На этом этапе программа установки просканирует компакт-диск на наличие пакетов программного обеспечения, а также информации о возможностях обновления. Убедитесь, что выбран вариант, при котором автоматические обновления не будут производиться.
  7. Наконец, после установки перезагрузите систему и введите в командную строку следующий скрипт.
sudo apt-get update

Теперь Ubuntu полностью установлен. Теперь можно приступать к следующим шагам по установке дальнейших компонентов сервера Ubuntu LAMP. 

Шаг 2: Установка веб-сервера

В случае, если веб-сервер Apache не был успешно установлен во время установки Ubuntu, выполните следующую команду:

sudo apt-get install apache2

После этого шага убедитесь, что Apache 2 («2» означает самую актуальную версию) теперь установлен, зайдя на страницу localhost или IP хоста. Затем необходимо выполнить следующие настройки:

  1. Хотя KeepAlive улучшает скорость работы сайта для пользователя, он также требует значительного объема рабочей памяти. Настройка KeepAlive в основном конфигурационном файле /etc/apache2/apache2.conf на «KeepAlive Off» особенно полезна для тех, кто работает на менее надежных системах.  
  2. Обычным модулем MultiProcessing (MPM) для Apache является модуль event, в то время как PHP использует модуль Prefork. Выполнение /etc/apache2/mods-available приводит к появлению файла mpm_prefork.conf. Этот файл должен быть настроен, как показано на рисунке:
<IfModule mpm_prefork_module>
StartServers              2
MinSpareServers           6
MaxSpareServers           12
MaxRequestWorkers         39
MaxConnectionsPerChild    3000
</IfModule>
  1. Далее следует выключить модуль событий и включить модуль Prefork.
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
  1. Наконец, необходимо перезапустить сервер:
sudo service apache2 restart

Шаг 3: Установите базу данных

Система управления базами данных MySQL работает как сервер, позволяющий создавать на нем несколько баз данных; для каждой базы данных может быть создано множество таблиц данных. Один или несколько клиентов посылают запросы к серверу MySQL, который устанавливается следующей командой:

sudo apt-get install mysql-server

Во время установки можно определить пароль для корневого пользователя MySQL; этот шаг должен быть выполнен в обязательном порядке. Следующий шаг касается безопасности MySQL. MySQL Secure предлагает варианты изменения паролей, удаления анонимных учетных записей пользователей или тестовых баз данных, или предотвращения всех входов в систему root с локального узла. Ниже приведена команда установки:

sudo mysql_secure_installation

Чтобы создать базу данных, войдите в следующий MySQL: 

mysql -u root -p

После этого шага создается база данных, включая пользователей с правами доступа:

create database webdata;
grant all on webdata.* to “some user” identified by “password”;

Шаг 4: Установка скриптового программного обеспечения

На последнем этапе в стек LAMP добавляется скриптовый язык PHP и библиотека PEAR (PHP Extension and Application Repository). PEAR содержит ценные модули и расширения для PHP. Они устанавливаются с помощью следующей команды:

sudo apt-get install php5 php-pear

Установка поддержки MySQL для PHP5 также должна быть выполнена на этом этапе:

sudo apt-get install php5-mysql

Как только процесс установки завершится, необходимо изменить конфигурационный файл PHP; его можно найти, обратившись к следующему: /etc/php5/apache2/php.ini

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
error_log = /var/log/php/error.log
max_input_time = 30

Благодаря этому процессу пользователь получает более информативные отчеты об ошибках и лучшую производительность. Кроме того, становится возможным сохранение ошибок в error.log. Далее необходимо создать каталог журналов для PHP и предоставить права собственности серверу Apache.

sudo mkdir /var/log/php
sudo chown www-data /var/log/php

После перезагрузки Apache установка всего LAMP-сервера должна быть завершена:

sudo service apache2 reload

LAMP-Stacks: программное обеспечение с открытым исходным кодом для каждого веб-проекта

Преимущество программного обеспечения с открытым исходным кодом заключается не только в том, что оно доступно бесплатно. Еще одним плюсом открытого программного обеспечения является, как следует из названия, то, что каждый пользователь имеет доступ к коду разработки. Это позволяет пользователям самостоятельно редактировать и продолжать разработку программного обеспечения. Для опытных пользователей открытое программное обеспечение избавляет от необходимости беспокоиться о том, что поддержка конкретного программного обеспечения будет прекращена.

Установка LAMP-сервера предлагает не только высокую гибкость и низкие цены: он включает в себя надежные компоненты, которые хорошо сочетаются друг с другом. Серверы LAMP позволяют пользователям работать как со статическими, так и с динамическими веб-сайтами. Википедия работает на программном обеспечении MediaWiki, которое является лишь одним из многих примеров веб-сайта, созданного на системе LAMP.

Оцените статью
cdelat.ru
Добавить комментарий