- Установка LAMP-стека (Linux, Apache, MySQL, PHP) на Ubuntu
- Что такое LAMP
- Подготовка к установке LAMP
- Создание облачного сервера
- Подключение к серверу по SSH
- Установка Apache
- Команды для установки
- Настройка брандмауэра
- Проверка работы Apache
- Установка MySQL
- Команда для установки
- Настройка безопасности БД
- Проверка работы MySQL
- Установка PHP
- Команды для установки
- Проверка установки PHP
- Настройка виртуальных хостов (опционально)
- Создание директорий
- Предоставление прав
- Создание страниц для тестирования
- Создание виртуальных хостов
- Активация виртуальных хостов
- Что такое LAMP? Преимущества и недостатки
- Что такое LAMP (lamp стек)?
- Для чего нужен LAMP?
- Преимущества сборки
- Недостатки LAMP комбинации
- Где взять LAMP на сервере?
Установка LAMP-стека (Linux, Apache, MySQL, PHP) на Ubuntu
В статье мы узнаем, что такое LAMP-стек, как установить LAMP на Ubuntu, а также настроим виртуальные хосты.
Что такое LAMP
LAMP — это стек программного обеспечения, устанавливаемого на сервер и предназначенного для сайтов и веб-приложений. LAMP – это аббревиатура, она расшифровывается как: Linux, Apache, MySQL и PHP.
Рассмотрим каждый элемент LAMP подробнее:
- Linux используется в качестве ОС на сервере, часто это различные дистрибутивы Ubuntu и Debian.
- Apache — веб-сервер. Он обрабатывает все запросы к страницам сайта и выдает соответствующие ответы.
- MySQL — СУБД (система управления базами данных). Иногда в LAMP используется MariaDB. Здесь хранятся все данные сайта.
- PHP — скриптовый язык для генерации страниц.
Такой набор самостоятельных по отдельности компонентов стал очень популярен.
Существует множество вариаций LAMP, где какие-либо из компонентов заменяются на другие, например LEMP — вместо Apache в нем используется веб-сервер Nginx.
Подготовка к установке LAMP
Развернуть LAMP можно, например, на облачном сервере, который предварительно нужно создать. Создадим сервер в панели управления Облачной платформой Selectel. Подробно о начислении баланса на счет для доступа к работе в панели и создании облачного сервера можно прочитать в Базе знаний.
Создание облачного сервера
Перейдите в панель управления Облачной платформой, откройте вкладку Серверы и нажмите кнопку Создать сервер.
При создании сервера автоматически выбирается операционная система Ubuntu. Чтобы выбрать другую ОС для сервера, нажмите Выбрать другой источник. В целом, для установки LAMP подойдет любой дистрибутив Linux.
В этой инструкции в качестве операционной системы сервера выберите Ubuntu 18.04 LTS.
Для развертывания LAMP нужно присвоить серверу плавающий адрес. Для этого в разделе Сеть в качестве подсети выберите Новый плавающий IP-адрес. Проверьте стоимость сервера и нажмите Создать.
Созданный Облачный сервер со статусом ACTIVE появится в списке всех серверов. В карточке сервера на вкладке Порты можно посмотреть плавающий IP-адрес — в дальнейшем это пригодится для настройки LAMP.
Подключение к серверу по SSH
Работать с сервером можно во встроенной консоли в панели управления, которая находится на вкладке Консоль в карточке сервера. Но зачастую удобнее подключаться к серверу по протоколу SSH с локальной машины.
Для того чтобы подключиться к серверу по SSH, в терминале введите команду:
server_IP — это плавающий IP-адрес сервера, который был добавлен при его создании.
Терминал при подключении запросит root-пароль, который можно найти на вкладке Консоль в карточке сервера.
Если подключение к серверу прошло успешно, можно начать установку LAMP.
Установка Apache
Команды для установки
Установим первый после операционной системы компонент LAMP — Apache.
Предварительно загрузим списки пакетов обновлений, для этого используется команда:
Настройка брандмауэра
Брандмауэр (файервол) должен пропускать HTTP и HTTPS-трафик — то есть должны быть открыты порты 80 и 443.
Для начала нужно установить утилиту для управления правилами файервола UFW (Uncomplicated Firewall) и включить UFW:
На сервере должны быть доступны профили приложений для Apache. Посмотрим список профилей:
Вывод команды выглядит примерно таким образом:
Можем увидеть, что в выводе присутствует профиль Apache Full — именно он открывает нужные порты 80 и 443. Разрешим для него входящий трафик:
Чтобы в дальнейшем продолжать подключение к серверу по SSH, добавим также профиль OpenSSH:
В выводе команды проверим, что UFW активен, нужные профили включены, а, значит, разрешен HTTP и HTTPS-трафик:
Проверка работы Apache
Проверим статус Apache, он должен быть активен (Active в выводе команды):
Чтобы проверить работу Apache, введем публичный IP-адрес сервера в браузерной строке. В нашем случае это подключенный ранее плавающий IP. Если Apache установлен, и к нему разрешен доступ через файервол, то откроется страница с информацией:
Установка MySQL
Команда для установки
После установки и настройки Apache можно устанавливать следующий компонент — СУБД MySQL:
Настройка безопасности БД
Для защиты окружения рекомендуется запустить скрипт безопасности:
Когда система предложит установить плагин валидации паролей (VALIDATE PASSWORD plugin), введем в терминал y или Y для подтверждения. Установка этого плагина поможет задать пароль с повышенными требованиями к безопасности.
Далее выберем уровень надежности паролей, всего их три:
- низкий (LOW) — длина такого пароля должна быть больше 8 символов;
- средний (MEDIUM) — длина пароля больше 8 символов, при этом пароль должен содержать цифры, буквы в верхнем и нижнем регистре, а также специальные символы;
- сильный (STRONG) — для такого пароля должны быть соблюдены те же условия, что и для среднего уровня надежности, но при этом в пароле не должны использоваться слова, которые могут быть уязвимы при подборе пароля по словарю.
Введем в терминале значение для выбора уровня: 0 для LOW, 1 для MEDIUM или 2 для STRONG.
Затем введем два раза новый root-пароль, который соответствует условиям выбранного уровня надежности.
Система определит и выведет значение надежности пароля (Estimated strength of the password).
На дальнейшие вопросы от системы рекомендуем вводить в терминале подтверждение (y или Y) — это настройки удаления анонимных пользователей, удаление открытой тестовой базы и так далее.
Пароль будет создан, когда в терминале будет выведено сообщение «All done!».
Проверка работы MySQL
Проверим статус MySQL, он должен быть активен:
Установка PHP
Команды для установки
Теперь можно перейти к установке последней составляющей стека — PHP.
Установим PHP и специальные модули для работы PHP с Apache и MySQL:
При дальнейшей работе с сайтом, возможно, понадобятся и другие модули или расширения. Для настройки LAMP этих модулей достаточно.
В предыдущей команде при установке не была указана версия PHP. Вы всегда можете указать версию, которую хотите установить, например:
Чтобы узнать версию PHP, которая установлена, используйте команду:
Проверка установки PHP
Для проверки создадим небольшой PHP-скрипт с любым названием, например test.php, в корневой директории /var/www/html:
Заполним этот файл таким содержимым:
Сохраним и закроем файл (сочетание клавиш Ctrl+X, а затем Y+Enter).
Такой скрипт вызовет функцию phpinfo(), которая выводит информацию о PHP и список параметров.
Теперь откроем этот файл по URL:
Если все настроено корректно, будет доступна информация о PHP:
Настройка виртуальных хостов (опционально)
Apache позволяет запустить на одной машине несколько веб-сайтов — при этом данные каждого сайта будут лежать в разных директориях. Для этого используются конфигурационные файлы — виртуальные хосты.
Допустим, мы хотим разместить на одном сервере два сайта. Сконфигурируем Apache.
Создание директорий
Размещать файлы виртуальных хостов будем внутри директории /var/www/. Для каждого хоста создадим новую отдельную директорию:
Обратите внимание, что вместо IP-адреса можно использовать и доменное имя.
Предоставление прав
Сейчас права доступа к директориям есть только у root-пользователя. Настроим права всем пользователям системы, используя переменную среды $USER:
Откроем пользователю доступ на чтение, редактирование и запуск файлов в директории /var/www:
Создание страниц для тестирования
В дальнейшем нам нужно будет проверить, правильно ли настроены виртуальные хосты. Для этого можно создать для каждого IP-адреса (домена) HTML-страницы, которые будут открываться в браузере при вводе соответствующего IP или домена, например, главные страницы index.html.
Создадим страницу для первого IP:
Добавим на страницу текст:
Сохраним и закроем файл.
Выполним то же самое и для второго сайта:
Создание виртуальных хостов
По умолчанию в Apache используется виртуальный хост 000-default.conf. Этот файл мы будем использовать как шаблон для создания собственных виртуальных хостов.
Для каждого сайта конфигурационные файлы (виртуальные хосты) хранятся в директории /etc/apache2/sites-available/. Скопируем содержимое виртуального хоста, который используется по умолчанию, в новый файл — мы будем использовать его для настройки первого сайта:
Откроем новый конфигурационный файл первого сайта:
Изменим значения в файле:
- ServerAdmin — электронная почта администратора сайта;
- ServerName — IP-адрес сайта или его доменное имя;
- DocumentRoot — директория, в которой хранится конфигурационный файл (виртуальный хост).
Сохраним и закроем файл.
Подобным образом создадим конфигурационный файл для второго сайта:
Содержимое конфигурационного файла /etc/apache2/sites-available/second_IP.conf:
Активация виртуальных хостов
Активируем виртуальные хосты с помощью a2ensite:
Отключим виртуальный хост, который создается по умолчанию:
Проверим, нет ли ошибок в конфигурационных файлах:
Если ошибки отсутствуют, то получим результат:
Перезапустим Apache, чтобы активировать все изменения:
Теперь Apache должен обслуживать сайты, IP-адреса или домены которых мы прописали в виртуальных хостах. Проверим работу: перейдем в браузере на сайты — должны появиться созданные индексные страницы:
Источник
Что такое LAMP? Преимущества и недостатки
В данной статье рассмотрим свободно распространяемый и практически бесплатный набор программного обеспечения под названиям LAMP. Как правильно расшифровывается данная аббревиатура? Она состоит из 4-ех популярных технологий, которые состоят в данной связке: Linux — операционная система; Apache — веб-сервер; MySQL — СУБД; PHP — язык программирования, с помощью которого создают веб-ресурсы.
Данный набор ПО устанавливают на сервер для отображения динамических веб-сайтов и веб-приложений.
Эта платформа позволяет установить (развернуть) большинство типов веб-сайтов и сетевого программного обеспечения на вашем сервере.
Lamp web очень часто необходим владельцам сайтов и приложений для работы на серверном оборудовании, поэтому часто пользователи ищут именно lamp hosting для размещения проектов.
Что такое LAMP (lamp стек)?
Сам термин появился достаточно давно в 1998 году благодаря немецкому журналисту, но сегодня термин все еще актуальный в сфере веб-разработки. Разберем понятие, что такое lamp и для чего именно его используют. Итак, l.a.m.p — это:
- серверная ОС Linux для выполнения нужных задач;
- веб-сервер Apache, для которого создано множество дополнительных модулей, которые решают вопрос совместной работы веб-сервера и сценариев, написанных на самых разных языках программирования;
- серверный язык динамических сценариев PHP (либо Perl или другой);
- СУБД MySQL, которая демонстрирует отличную скорость выполнения SQL-запросов и идеально подходит для малых и средних проектов. MySQL работает на Unix и Windows, отличается особенным удобством в работе.
Тоесть это целый комплекс программного обеспечение, которое работает вместе для обеспечения стабильной, быстрой и профессиональной работы проекта пользователя. Также обратите внимание, что в данной аббревиатуре буква Р может обозначать не только PHP (php lamp), но и другие популярные языки программирования, например, Perl и Python.
Также сегодня можно встретить другие модификации термина LAMP, к примеру:
➡LEMP, где Nginx используется вместо Apache;
➡WAMP, Microsoft Windows вместо Linux (lamp windows);
➡MAMP — Mac OS X вместо Linux и другие менее популярные сборки ПО.
LAMP — это стандарт разработки, мощная платформа для работы приложений, lamp сервер можно получить на любом VPS, например, под управлением ОС Ubuntu.
Для чего нужен LAMP?
Итак кому на самом деле нужен lamp technology и для чего он используется, разложим все по полочкам, чтобы понять действительно нужен LAMP каждому пользователю виртуального сервера. Ламп сервер нужен:
- в случае необходимости окружения для веб-разработки и тестирования приложений, которые написаны для LAMP. Это как и для собственных приложений, так и для любых необходимых Вам CMS. Вы можете работать на Windows и на Ubuntu;
- если Вам необходимо сделать на виртуальном или выделенном сервере производительный веб-сервер для хостинга своих проектов;
- если Вам нужен сервер для систем контроля версий;
- для самообучения администрирования;
- в экономических целях, для создания собственного сервера.
Тоесть, если вам нужен сервер для любой работы, то рано или поздно пригодится установка ubuntu lamp или другой линукс ОС.
Настроить stack lemp на вашем сервере в компании ГиперХост могут технические администраторы по запросу в тикет. На серверах компании эта настройка производится бесплатно.
Преимущества сборки
Итак, зачем и кому нужен LAMP (веб сервер ламп), мы уже разобрались. Теперь рассмотрим его весомые преимущества.
✓ сборка замечательно подходит для быстрого развертывания приложения, из-за простой конфигурации, но все же она дает мало функций в плане масштабируемости и изоляции компонентов.
✓ установка LAMP (Linux + Apache + MySQL + PHP/Perl/Python) является довольно широко используемым вариантом настройки серверов с Ubuntu.
✓ есть большое количество приложений, которые имеют открытый исходный код и написаны с использованием стека приложений LAMP. Например, популярные приложения LAMP: wiki энциклопедии, системы управления содержимым (CMS) и управляющие приложения, например, phpMyAdmin.
✓ гибкость при подборе баз данных, web серверов и языков сценариев.
✓ использует наборы открытого ПО, которое значительно ускоряет процесс разработки.
✓ актуальной заменой для MySQL служат PostgreSQL и SQLite. Python, Perl и Ruby можно заменить PHP. А Nginx, Cherokee и Lighttpd альтернатива Apache.
✓ для быстрой установки LAMP используется tasksel. Tasksel — инструмент Debian/Ubuntu, который устанавливает несколько зависимых пакетов в вашу систему в качестве единой задачи.
На практике это очень удачное и востребованное решение, которое подойдет для решения любых серверных задач. Но в нем также есть некоторые недостатки, который собраны ниже отдельным пунктом.
Tasksel — инструмент Debian/Ubuntu, который устанавливает несколько зависимых пакетов в вашу систему в качестве единой задачи.
Недостатки LAMP комбинации
Среди недостатков подобной lamp platform следует выделить следующие:
✓ Приложение и база данных используют одни и те же ресурсы сервера (CPU, память, I/O и т.д.), что дает низкую производительность и затрудняет определение источника (приложение или база данных) этой проблемы.
✓ Так же есть помехи в осуществлении горизонтального масштабирования.
Если эти минусы для вас незначительны, то ламп выгодное и полезное решение для вашего проекта.
Где взять LAMP на сервере?
Установить и настроить сборку LAMP вы можете самостоятельно на любом сервере. Для этого в Сети есть большое количество инструкций и советов от системных администраторов. Например, чтобы быстро установить Lamp на дистрибутив Ubuntu, достаточно команды:
sudo tasksel install lamp-server
Далее необходимо время, так как скачиваются и настраиваются определенные пакеты.
Но если Вам необходимо наладить работу LAMP на наших VPS серверах и получить lamp vps hosting, обращайтесь в нашу круглосуточную техническую поддержку. Наши специалисты с многолетним опытом работы,в том числе и с LAMP, помогут быстро собрать и установить сборку на ваш сервер. Эта услугу входит в базовое администрирование. Если необходимо настроить ламп на сервере, заказанном не у нас, это можно осуществить на условиях почасового администрирования. В любом случае вы получите настроенный и оптимизированный LAMP для качественной работы ваших проектов.
Компания HyperHost желает Вам приятной работы!
Но это, конечно же, еще не все технологии, которые поддерживает хостинг от ГиперХост. Более детально в нашей предыдущей статье.
Источник