Что такое LAMP? Преимущества и недостатки. Установка и настройка LAMP-сервера на Ubuntu Lamp стек описание его компонентов

Под стеком web-приложений мы будем подразумевать множество программных продуктов с открытым исходным кодом: операционная система, web -сервер, сервер БД и среду исполняемого кода. Наиболее известным и обыденным стеком является LAMP. Это акроним для стека web-приложений на базе бесплатных решений с открытым исходным кодом.

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

    L inux-операционная системаLinux;

    A pache -веб-сервер;

    M ariaDB/M ySQL-СУБД;

    P HP-язык программирования, используемый для созданиявеб-приложений(помимо PHP могут подразумеваться другие языки, такие ж какPerlиPython).

Акроним LAMP может использоваться для обозначения:

    Инфраструктуры веб-сервера

    Парадигмы программирования

    Пакета программ

Хотя изначально эти программные продукты не разрабатывались специально для работы друг с другом, такая связка стала весьма популярной из-за своей гибкости, производительности и низкой стоимости (все её составляющие являются открытымии могут быть бесплатно загружены изИнтернета). Набор LAMP входит в состав большинствадистрибутивовLinuxи предоставляется многимихостинговыми компаниями.

Линукс обеспечивает приём/передачу запросов (контролирует железо) и является ядром для всего вышестоящего – сервер, СУБД, поддержка языка.

Установка на Ubuntu

Необходимо установить следующие пакеты:

После выполнения команды apt-get update для обновления локального списка пакетов вы сможете установить эти пакеты с помощью одной команды apt-get install:

После выполнения приведенной выше команды вам будет предложено установить эти пакеты и некоторые другие зависимости. Нажмите «y», а затем клавишу ВВОД, чтобы продолжить, и следуйте остальным указаниям по установке административного пароля для MySQL.

Это позволит вам установить минимальный набор расширений PHP, необходимый для использования PHP с MySQL.

Особенности и достоинства ос Линукс

Бесплатность.

Надежность. Корректная работа аппаратной части вашего ПК, позволитLinux’у работать годы без перезагрузки и зависаний. А кнопка Reset вообще никогда не понадобится.

Безопасность. В Linux практически нету вирусов. Само построение операционной системы исключает работу вредоносных программ.

Открытый исходный код . Это дает возможность использовать и модифицировать код по своему желанию.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM , поддерживающие полнотекстовый поиск, так и таблицы InnoDB , поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

PHP - скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для созданиядинамических веб-сайтов .

LAMP стек — набор программного обеспечения с открытым исходным кодом, которой обычно устанавливается на сервер для отображения динамических веб-сайтов и веб-приложений. Эта аббревиатура обозначает Linux(операционная система) с установленным веб-сервером Apache, MySQL(база данных) для хранения данных и PHP с помощью которого обрабатывается динамический контент.

В данной инструкции будет описан по шагам процесс установки LAMP на VPS сервер с установленной Ubuntu 16.04 server. Ubuntu — подходит для LAMP, так как это операционная система на базе Linux.

Перед тем как продолжить работу, у нас должен быть сервер, виртуальный сервер или VPS с установленным дистрибутивом Ubuntu 16.04 Server, а также возможность подключения к серверу по SSH для пользователя с административными (sudo) привилегиями. Собственно сам пользователь с правами sudo.

Инструкция по настройке LAMP стек (linux, apache, mysql, php) на Ubuntu 16.04 server

Шаг № 1 Установка Apache веб-сервера

Веб сервер Apache самый популярный в настоящее время и более прост в освоении начинающим чем Nginx. Он хорошо описан и в интернете достаточно примеров по его настройке и оптимизации.

Это отличный выбор для хостинга веб-сайтов.

Для установки Apache в Ubuntu 16.04 воспользуемся менеджером пакетов apt. Менеджер пакетов позволит установить большую часть программного обеспечения из репозиториев Ubuntu

Для начала установки выполним команды:

sudo apt update sudo apt install apache2

sudo apt update

sudo apt install apache2

Поскольку мы используем команду sudo , будет запрошен пароль на повышение привилегий пользователя до sudo и команды будут выполняться с привилегиями root.

Настройка глобальной переменной Apache ServerName

После установки нам нужно добавить в файл конфигурации /etc/apache2/apache2.conf для устранения предупреждения о синтаксических ошибка. Настроить переменную ServerName необходимо, что бы не получать предупреждение каждый раз при проверке конфигурации Apache:

Открываем конфигурационный файл командой:

sudo nano /etc/apache2/apache2.conf

Проверяем результат установки набрав в браузере localhost или публичный IP адрес сервера (если это например VPS).

http://домен_или_IP_адрес_сервера

в браузере должна открыться стандартная страница веб сервера Apache, как на примере:

Если вы видите эту страницу, ваш веб-сервер корректно установлен и работает.

Шаг 2 — Установка MySQL

Веб сервере Apache установлен и работает. Устанавливаем MySQL систему управления базами данных. MySQL обеспечит работу и доступ к базам данных в которых будет хранится информация веб сайта.

Установим MySQL следующей командой:

sudo apt install mysql-server

Система запросит пароль root (администратора) MySQL. И предложит включит модуль валидации

VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin?

VALIDATE PASSWORD PLUGIN can be used to test passwords

and improve security . It checks the strength of password

and allows the users to set only those passwords which are

secure enough . Would you like to setup VALIDATE PASSWORD plugin ?

Нажимаем No и пропускаем этот шаг.

Если выбрать Yes пароли, которые не соответствуют указанным критериям, будет отклонены системой MySQL как ошибка. Это вызовет проблемы, если вы используете слабый пароль в программах, которые автоматически настраивают учетные данные пользователя MySQL (например PhpMyAdmin). Безопаснее отключить этот параметр и использовать надёжные уникальные пароли.

Следующим шагом удаляем возможность создания баз данных анонимным пользователем (используется в тестовых средах для продакшин не подходит)

By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) :

By default , a MySQL installation has an anonymous user ,

allowing anyone to log into MySQL without having to have

a user account created for them . This is intended only for

testing , and to make the installation go a bit smoother .

You should remove them before moving into a production

environment .

Remove anonymous users ? (Press y | Y for Yes , any other key for No ) :

Нажимаем Yes

Отключаем возможность подключатся к MySQL пользователем root удаленно.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :

Disallow root login remotely ? (Press y | Y for Yes , any other key for No ) :

Нажимаем Yes

Удаляем тестовые базы

By default, MySQL comes with a database named "test" that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) :

By default , MySQL comes with a database named "test" that

anyone can access . This is also intended only for testing ,

and should be removed before moving into a production

environment .

Remove test database and access to it ? (Press y | Y for Yes , any other key for No ) :

Нажимаем Yes

MySQL установлен и выполнены общие настройки безопасности.

Шаг 3 — Установка PHP

PHP это компонент, который будет обрабатывать код для отображения динамического контента. Он может запускать скрипты, подключаться к нашим базам данных MySQL для получения информации и передавать обработанный контент в веб-сервер для отображения.

Для установки PHP выполним следующую команду:

sudo apt install php libapache2-mod-php php-mcrypt php-mysql

Содержимое файла должно выглядеть следующим образом (добавили index.php):

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

The LAMP stack is the foundation for Linux hosted websites is the Linux, Apache, MySQL and PHP (LAMP) software stack.

LAMP Stand for:-

  1. L (Linex OS)
  2. A (Apache [Local Client Server ])
  3. M (MySQL Database)
  4. P (PHP)

A LAMP Stack is a set of open-source software that can be used to create websites and web applications. LAMP is an acronym, and these stacks typically consist of the Linux operating system, the Apache HTTP Server, the MySQL relational database management system, and the PHP programming language.

    Linux: The operating system (OS) makes up our first layer. Linux sets the foundation for the stack model. All other layers run on top of this layer. Linux is the lowest-level layer and provides the operating system. Linux actually runs each of the other components. You are not specifically limited to Linux, however; you can easily run each of the other components on Microsoft®; Windows®;, Mac OS X, or UNIX® if you need to.

    Apache: The second layer consists of web server software, typically Apache Web Server. This layer resides on top of the Linux layer. Web servers are responsible for translating from web browsers to their correct website. Apache provides the mechanics for getting a Web page to a user. Apache is a stable, mission-critical-capable server, and it runs more than 65 percent of all Web sites on the Internet. The PHP component actually sits inside Apache, and you use Apache and PHP together to create your dynamic pages.

    MySQL: Our third layer is where databases live. MySQL stores details that can be queried by scripting to construct a website. MySQL usually sits on top of the Linux layer alongside Apache/layer 2. In high-end configurations, MySQL can be offloaded to a separate host server. MySQL provides the data-storage side of the LAMP system. With MySQL, you have access to a very capable database suitable for running large and complex sites. Within your Web application, all your data, products, accounts, and other types of information will reside in this database in a format that you can easily query with the SQL language.

    PHP: Sitting on top of them all is our fourth and final layer. The scripting layer consists of PHP and/or other similar web programming languages. Websites and Web Applications run within this layer. PHP is a simple and efficient programming language that provides the glue for all the other parts of the LAMP system. You use PHP to write dynamic content capable of accessing the data in the MySQL database and some of the features that Linux provides.

В данной статье рассмотрим свободно распространяемый и практически бесплатный набор программного обеспечения под названиям LAMP. Как правильно расшифровывается данная аббревиатура? Она состоит из 4-ех популярных технологий, которые состоят в данной связке: Linux - операционная система; - веб-сервер ; MySQL - СУБД; - язык программирования, с помощью которого создают веб-ресурсы.

Данный набор ПО устанавливают на сервер для отображения динамических веб-сайтов и веб-приложений. Эта платформа позволяет установить (развернуть) большинство типов веб-сайтов и сетевого программного обеспечения на вашем сервере.

Комбинация LAMP – это:

  1. серверная ОС Linux для выполнения нужных задач;
  2. веб-сервер Apache, для которого создано множество дополнительных модулей, которые решают вопрос совместной работы веб-сервера и сценариев, написанных на самых разных языках программирования;
  3. серверный язык динамических сценариев PHP (либо Perl);
  4. СУБД MySQL, которая демонстрирует отличную скорость выполнения SQL-запросов и идеально подходит для малых и средних проектов. MySQL работает на и , отличается особенным удобством в работе.

Для чего может понадобиться LAMP?

  • в случае необходимости окружения для веб-разработки и тестирования приложений, которые написаны для LAMP. Это как и для собственных приложений, так и для любых необходимых Вам CMS. Вы можете работать на Windows и на Ubuntu;
  • если Вам необходимо сделать на или на выделенном сервере производительный веб-сервер для хостинга своих проектов;
  • если Вам нужен сервер для систем контроля версий;
  • для самообучения администрирования;
  • в экономических целях, для создания собственного сервера.

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

Среди недостатков подобной сборки следует выделить следующие:

Приложение и база данных используют одни и те же ресурсы сервера (CPU, память, I/O и т.д.), что дает низкую производительность и затрудняет определение источника (приложение или база данных) этой проблемы. Так же есть помехи в осуществлении горизонтального масштабирования.

Установка LAMP (Linux + Apache + MySQL + PHP/Perl/Python) является довольно широко используемым вариантом настройки серверов с Ubuntu. Есть большое количество приложений, которые имеют открытый исходный код и написаны с использованием стека приложений LAMP. Популярные приложения LAMP: wiki энциклопедии, системы управления содержимым (CMS) и управляющие приложения, например, phpMyAdmin.

Важное преимущество LAMP гибкость при подборе баз данных, web серверов и языков сценариев. Актуальной заменой для MySQL служат PostgreSQL и SQLite. Python, Perl и Ruby можно заменить PHP. А Nginx, Cherokee и Lighttpd альтернатива Apache.

Для быстрой установки LAMP используется tasksel. Tasksel – инструмент Debian/Ubuntu, который устанавливает несколько зависимых пакетов в вашу систему в качестве единой задачи.

Если Вам необходимо наладить работу LAMP на наших VPS серверах , обращайтесь в нашу круглосуточную техническую поддержку! Компания Hyper Host™ желает Вам приятной работы!

Технологии, которые поддерживает хостинг HyperHost подробнее .

9946 раз(а) 2 Сегодня просмотрено раз(а)

Предлагают своим пользователям большие возможности для создания веб-сайтов, их хранения на сервере и тестирования. Многие наверняка слышали, что правильная настройка Apache и MySQL позволяет удобно работать с серверами. Пора познакомиться и с LAMP, которая их всех объединяет, а также понять, как установить и настроить LAMP-сервер в Ubuntu.

Установка LAMP позволяет создать web-сервер.

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

Подробнее о компонентах.

  • Apache - это свободный HTTP-сервер.
  • MySQL - мощная, также бесплатная система управления базами данных. Используется на многих сайтах.
  • PHP - язык программирования. На нём очень часто пишут различные веб-приложения.

Всё это ПО полезно и практически незаменимо для размещения веб-сайтов в сети . Осталось научиться устанавливать его и пользоваться.

Установка LAMP

ЛАМП устанавливается несколькими способами. Так как это комплекс программ, то можно загрузить каждую из них по отдельности, но удобнее сделать это вместе. Для этого проще воспользоваться Tasksel:

sudo tasksel install lamp-server

Tasksel - специальный инструмент, установленный на Убунту, с помощью которого в систему легко грузить различные программные пакеты. Во время установки система попросит ввести пароль для MySQL. Необходимо сделать это.

Удаление

Удалить стек полностью также можно одной командой:

sudo tasksel remove lamp-server

Произойдёт установка всех компонентов: PHP 7, Apache, MySQL. Для более удобной работы программы добавляются в автозагрузку. Если вы хотите это изменить, сделайте это через настройки: Система - Параметры - Запускаемые приложения. Там просто удалите компоненты ЛАМПа.

Установка и настройка

Всё-таки большинству, наверное, хотелось бы сразу же получить хотя бы тестовый, но настроенный рабочий сервер . Тогда следуем дальнейшим инструкциям.


Настраиваем сервер и добавляем веб-сайт

Настройка сервера LAMP - наиболее важная часть, так как установка MySQL, Apache, PHP 7 на Ubuntu не представляет никакой сложности. Далее нужно будет поработать с программным кодом.

sudo ln -s /etc/phpmyadmin /var/www

Открываем, а затем редактируем конфигурацию сервера:

sudo nano /etc/apache2/apache2.conf

Добавляем в конец строку:

ServerName localhost:80

Открываем файл hosts:

Добавляем строку:

Делаем файл конфигурации нового сайта:

‹VirtualHost *:80›
ServerAlias testsite.ru www.testsite.ru
DocumentRoot /home/server/testsite.ru
‹Directory home/server/testsite.ru/›
AllowOverride All
‹/Directory›
‹/VirtualHost›

Помещаем этот файл с root-правами сюда: /etc/apache2/sites-available/

Активируем сайт:

sudo a2ensite testsite.ru

Перезапускаем сервер:

sudo /etc/init.d/apache2 restart

Создание страницы для веб-сайта

Делаем первую страницу - файл index.php в папке с сайтом (home/server/testsite.ru).

Вводим туда:

‹?
echo ‘Привет!!!’;
?›

Вообще, ввести можно что угодно, нужно это лишь для проверки работоспособности сервера.

Открываем через браузер нашу страничку: вводим веб-адрес в строку.

После этого мы должны увидеть заветное «Привет!!!». Если это произошло, то всё настроено правильно. Теперь в этой папке можно расположить полноценный веб-сайт, который будет тестироваться на LAMP. Папку, как и адрес сайта, конечно же, можно менять.

Теперь вы знаете, что установка и настройка MySQL, Apache, PHP (LAMP) на Ubuntu не так уж страшны, как кажутся изначально. Это лишь базовые возможности софта. Со временем вы научитесь использовать всю мощь программ.