- Что такое lamp
- Основные принципы:
- Lamp: типовая и дробная установки
- Запуск
- Как узнать ip-адрес сервера
- Как проверить правильность установки
- Модули php
- Настройка apache
- Настройка mysql
- Настройка php
- Роли каждой виртуальной машины / сервера:
- Установка apache
- Установка apache на ubuntu
- Установка cms
- Установка mysql
- Установка mysql(mariadb) на ubuntu
- Установка php
- Установка php на ubuntu
- Хватит говорить, покажи мне процесс настройки серверов
- Шаг 0. структура каталогов для размещения сайтов
- Шаг 1. создание директории сайта и файлов логов
- Шаг 2. создание конфигурационного файла сайта — virtualhost
- Шаг 3. создание базы данных
- Шаг 4. загрузка файлов и проверка работы сайта
Что такое lamp
Стек LAMP — это набор открытого программного обеспечения, который используется для создания веб-серверов. Аббревиатура является набором первых букв в названии технологий Linux, Apache, MySQL и PHP. Поскольку на VPS уже запущена операционная система Ubuntu, мы рассмотрим установку всех остальных компонентов.
Причина, по которой LAMP называют стеком, заключается в том, что каждый уровень зависит от его базового (нижнего) уровня. Ваша операционная система Ubuntu — это базовый уровень. Затем Apache, ваш веб-демон находится поверх вашей ОС. Затем база данных хранит всю информацию, обслуживаемую вашим веб-демоном, а любой язык сценариев P* используется для управления и отображения всех данных, а также для взаимодействия с пользователем.
LAMP стал де-факто стандартом разработки. Сегодня продукты, составляющие стек LAMP, по умолчанию включены почти во все дистрибутивы Linux, и вместе они создают мощную платформу для веб-приложений.
Исходная аббревиатура LAMP породила ряд других связанных акронимов, которые используют основной фокус первоначальной комбинации технологий для создания многофункциональных веб-сайтов. Некоторые из этих связанных веб-стеков включают LAPP, MAMP и BAMP.
Аналогом LAMP для Windows Server является WAMP, о его настройке можно прочитать здесь.
Основные принципы:
1. ОС — Centos-6 86_x64 потому что стабильно, удобно и легко обновляемо.
2. Никакого самосборного софта. А то как говорится «командой make && make install любой дистрибутив превращается в Slackware.»
Маленькое уточнение, на данный момент я использую тарифный план v256 у хостинг провайдера flynet.pro (256Мб оперативки) и не рассчитываю на большую нагрузку так что большая часть относится именно к такому количеству оперативной памяти, но в целом решения легко переносимы фактически на все тарифные планы разных хостинг-провайдеров.
Поехали. 1. Проверяем обновления. Установочный образ у хостинг провайдера может оказаться не особо свежим.[root@test ~]# yum updateЕсть что обновлять — обновляем. Нет — радуемся.
Lamp: типовая и дробная установки
Скорее всего, ваше решение, построенное на базе одного выделенного или виртуального сервера, выглядит следующим образом:
Большой сервер / Виртуальная машина
-----------------------------------------
| Apache PHP / Perl @ 75.126.153.206:80 |
| Mysql@127.0.0.1: 3306 (или UNIX сокета) |
| Pgsql@127.0.0.1: 5432 (или UNIX сокета) |
| Netfilter для фильтрации трафика |
-----------------------------------------
*** Выделенный LAMP сервер ***
ОС: RHEL/CentOS/Debian/Ubuntu/*BSD/Unix
Оперативная память: 4-8GiB ECC
Процессор: Один или два Intel / AMD
Хранилище: RAID-1/5 сервер-класса SATA/SASЧто случится в случае если, скажем, будет скомпрометирован web-сервер Apache? Злоумышленник получит доступ к вашей базе данных, кэш-памяти и, так же, к другим элементам системы или сети. В таком случае вам необходимо разделить службы сервера следующим образом:
Запуск
Чтобы удостовериться в том, что LAMP поставлен без ошибок, можно создать test-page на VPS.
Создаем файл с нужным расширением:
Внесите в него следующую строку и сохраните:
Затем сохранить и выйти.
Чтобы изменения стали актуальны, нужно заново запустить веб-сервер:
Затем перейдите в браузере по следующей ссылке, указав IP-адрес вашего сервера:
Например:
Ожидаемый результат:
Как узнать ip-адрес сервера
Адрес сервера можно найти на вкладке «Состояние» страницы «Серверы» в панели управления.
Как проверить правильность установки
Для того чтобы проверить, правильно ли выполнена установка LAMP Ubuntu, можно создать простой PHP-скрипт.
Готово, установка LAMP Ubuntu 18.04/20.04 закончена.
Модули php
Для повышения функциональности PHP вы можете дополнительно поставить некоторые модули. Посмотреть список доступных библиотек можно с помощью команды:
Ubuntu 16.04:
Ubuntu 12.04/14.04:
После этого система выдаст список, начало которого выглядит похожим образом:
Если вы решите установить какой-либо из модулей, то это можно сделать с помощью специальной команды:
Например:
После завершения этого шага LAMP-стек будет полностью установлен на вашем VPS.
Настройка apache
Настройки Apache хранятся в конфигурационных файлах в директории /etc/apache2/. Меняя конфигурационные файлы, можно настраивать Apache.
Сервер Apache имеет модульную архитектуру. Настройки всех модулей расположены в директории /etc/apache2/mods-available. Для подключения модуля используется команда a2enmod название_модуля, а для отключения — a2dismod название_модуля.
Например, для приёма и обработки запросов используются модули мультипроцессовой обработки MPM — Multi-Processing Module. Существует три основных модуля:
Пример, как настроить Apache:
Готово, вы настроили Apache.
Настройка mysql
Для обеспечения безопасности MySQL нужно задать пароль для суперпользователя и установить плагин валидации паролей Validate Password Plugin.
Все пароли, которые не удовлетворяют критериям безопасности, будут отвергаться MySQL с сообщением об ошибке. Этот плагин не подойдёт, если вы используете дефолтные пароли к программному обеспечению (конфигурируются при создании пользователей). Вы можете не включать валидацию паролей, если всегда задаёте надёжные пароли для пользователей базы данных.
Готово, базы данных защищены и настроены.
Настройка php
Чтобы увеличить функциональность PHP, можно установить дополнительные расширения и выставить дополнительные настройки. Пример настройки PHP:
Готово, вы настроили PHP.
Роли каждой виртуальной машины / сервера:
Ниже приводится детальная информация о назначении машин. WordPress-блог, сайт на базе Drupal или же приложение «на заказ», размещенные на подобных серверах, могут легко обслуживать миллионы хитов в месяц.
Установка apache
Apache — один из самых популярных веб-серверов. Чтобы установить на сервер с ОС Ubuntu Apache:
Готово, вы установили и запустили Apache.
Установка apache на ubuntu
На сегодняшний день веб-сервер Apache является самым популярным веб-сервером в мире. Это отличный выбор для размещения вашего веб-сайта на Ubuntu.
Чтобы поставить Apache для LAMP вам необходимо подключиться к своему серверу (о том как это сделать можно прочитать в нашей инструкции) и ввести следующие команды:
Для тестирования успешной установки сервера, перейдите в браузере по следующей ссылке, указав IP-адрес вашего VDS:
Например:
Примечание: если у вас не получается подключиться, проверьте настройки FireWall, веб-сервер Apache по умолчанию работает на порту 80, чтобы добавить правило выполните следующую пару команд:
Установка cms
Если вы хотите развернуть новый сайт — например, в целях разработки или тестирования, воспользуйтесь следующими инструкциями по установке CMS:
Установка mysql
MySQL — это система управления базами данных, в которых сайт хранит информацию. После установки веб-сервера установите на Ubuntu MySQL.
Готово, вы установили MySQL на Apache.
Установка mysql(mariadb) на ubuntu
MySQL — это система управления базами данных (СУБД), которая используется для организации и получения контента.
Сегодня в LAMP стеке MySQL заменяется на популярный аналог — MariaDB. MariaDB имеет те же возможности, что и MySQL, и при этом является полностью бесплатной.
Примечание: если вы предпочитаете использовать базу данных MySQL в Ubuntu или ваш проект работает именно с ней, вам нужно будет добавить необходимые репозитории и установить БД с помощью инструкции.
Установите пакеты из главного репозитория Ubuntu с помощью менеджера пакетов:
После успешной установки выполните настройки безопасности и удалите некоторые значения по умолчанию. Приведите в действие скрипт:
Здесь MariaDB попросит вас задать пароль супер-пользователя БД. Затем система попросит ответить на несколько вопросов (они служебные и на каждый из них без лишних проблем можно ответить Yes).
После этого конфигурирование базы данных завершено, и можно переходить к следующему шагу настройки LAMP стека — установке PHP.
Установка php
Перейдите к последнему шагу установки LAMP на Ubuntu. PHP — это скриптовый язык программирования, который применяется для разработки сайтов и веб-приложений. Для его использования нужно установить интерпретатор и модули для работы с Apache и MySQL.
Готово, вы установили PHP на Apache.
Установка php на ubuntu
Для установки компонента обработки программного кода PHP установите пакеты из главного репозитория с помощью менеджера пакетов. В разных версия ОС доступны разные версии языка.
Ubuntu 16.04:
Ubuntu 12.04/14.04:
В процессе установки потребуется 1 или 2 раза ответить ‘Yes’ на вопросы системы.
Хватит говорить, покажи мне процесс настройки серверов
Большинство перечисленных в этой заметке действий, пишутся с предположением, что они будут выполнены root-пользователем в bash-консоли CentOS 6.x/Red Hat Enterprise Linux 6.x. Тем не менее, вы можете легко копировать настройки на любой другой *NIX подобные операционные системы.
Шаг 0. структура каталогов для размещения сайтов
Чтобы в будущем мы могли просто и непринуждённо добавлять новые сайты, настраивать FTP или sFTP-доступ для отдельных директорий, не помешает заранее определиться, как оптимально расположить их на сервере.
Самая простая структура выглядит так:
Она будет использоваться в качестве примера ниже.
Тем не менее, если вы планируете разместить на сервере только один сайт, можно не тратить время на настройки и просто загрузить файлы сайта в папку /var/www/html — сайт будет работать и так. Но в будущем это может привести к необходимости в перенастройке, например, когда потребуется разместить новый сайт.
Шаг 1. создание директории сайта и файлов логов
На этом шаге нам нужно создать папки, где будут размещены файлы сайтов, а также файлы логов, куда веб-сервер будет записывать информацию о работе сайта. Введите в терминале последовательно:
Шаг 2. создание конфигурационного файла сайта — virtualhost
Чтобы веб-сервер стал принимать запросы к нашему сайту, в первую очередь нужно добавить его конфигурационный файл — так называемый VirtualHost. Он нужен, чтобы указать веб-серверу, как обрабатывать запросы к сайту, где лежат его файлы, куда записывать сообщения об ошибках и др.
На CentOS требуется выполнить предварительную настройку.
Создадим папку для размещения конфигурационных файлов сайтов:
Шаг 3. создание базы данных
База данных — обязательный компонент для работы любого современного сайта. Одним из этапов установки большинства CMS всегда является настройка базы данных.
Чтобы создать базу для нового сайта, подключитесь к серверу баз данных:
mysql -u root -p
После ввода пароля создадим новую базу данных exampleDB:
create database exampleDB;Шаг 4. загрузка файлов и проверка работы сайта
Осталось самое простое — загрузить файлы сайта.

