Материалы для WEB разработки на LAMP
LAMP WEB сервер - установка, настройка, администрирование. Часть 1

Этот пост начинает достаточно обширную тему по установке, настройке и администрированию полноценного LAMP WEB сервера на базе дистрибутива Linux - Ubuntu.

 

Мое audio примечание к статье

Наиболее часто встречаемые цели, для которых вам может потребоваться такой LAMP WEB сервер могут быть следующие:

  • Нужна среда для WEB разработки и тестирования веб приложений, написанных для LAMP. Это могут быть как ваши собственные приложения, так и любые другие системы управления контентом (CMS). При этом вы можете работать как на Windows, так и на Ubuntu или любом другом дистрибутиве Linux;
  • Нужно организовать на виртуальном или выделенном сервере продуктивный WEB сервер для хостинга своих проектов и сайтов;
  • Нужен WEB сервер для систем контроля версий;
  • Обучение – хотите сами научиться устанавливать, администрировать и настраивать LAMP WEB сервер на Ubuntu;
  • Хотите организовать свой домашний или корпоративный WEB хостинг для сайтов, видео или другого мультимедийного контента;
  • Экономические цели, когда вас не устраивает платный хостинг и вы хотите установить свой собственный WEB сервер, за который не нужно платить арендную плату и где вы полный владелец, со всеми вытекающими из этого возможностями и объемами дискового пространства. Для этого нужно достаточно немного – удовлетворяющий ваши потребности канал связи с интернетом и физический сервер, персональный компьютер или даже ноутбук.

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

Еще одно преимущество умения настраивать LAMP web сервер в том, что всевозможные WinAMP сборки для ведения WEB разработки и тестирования на Windows (EasyPHP, WampServer, WAMP, XAMPP, DENWER и прочие другие) это тот же LAMP WEB сервер, просто Linux заменен на Windows, а в остальном нет никакой разницы. Поэтому, если вы знаете как установить и настроить LAMP WEB сервер, то вы без труда разберетесь с любой WinAMP сборкой и выполните все нужные настройки или даже сделаете свою собственную WinAMP сборку, потому что будете знать и понимать главное из первоисточника, и вас уже будет трудно запутать и ввести в заблуждение. Вы сможете без труда найти куда разработчики сборки запрятали настройки и где они на самом деле делаются на реальном LAMP сервере. Дело в том, что разработчики этих сборок, встраивают в них дополнительные скрипты и программы, задача которых упростить пользователям выполнение настроек, чтобы не прописывать их руками, а можно было делать это нажатием кнопок. Однако эти улучшения иногда являются лишними и только запутывают. На таких сборках получить правильное понимание того, как на самом деле настраивается реальный сервер бывает трудно, если вы не знакомы с первоисточником. Если же вы знаете как все делается на реальном WEB сервере, то вы можете обойтись и без этих улучшений и самостоятельно прописать в нужных файлах конфигурации необходимые вам настройки. Простой пример: я использую иногда одну из таких сборок (EasyPHP) и в ней есть в том числе скрипты, облегчающие настройку виртуального хоста. Вы просто указываете имя хоста и скрипт вам его настраивает. Но я этим не пользуюсь, потому что скрип прописывает не все, что мне нужно, поэтому я сам открываю конфигурационный файл Apache и вручную прописываю нужный мне виртуальный хост с нужными настройками.

Еще одним преимуществом является то, что когда вы пройдете все шаги по настройке веб сервера, то у вас отпадут множество вопросов, как например:

  • что такое htaccess файл и что в него писать;
  • что такое виртуальный хост и как его организовать;
  • куда пишутся логии сервера и как их читать;
  • и многие другие вопросы ...

Возможно, может показаться, что это сложно установить и настроить самому LAMP WEB сервер. Но могу вас уверить, что это абсолютно реально и доступно, если вы хоть немного разбираетесь в веб разработке для LAMP. Никаких специальных знаний языков программирования вам не потребуется – все настройки пишутся в простых текстовых файлах обычными фразами-ключами (директивами) на английском. Если вы уже работаете на Linux (например, на Ubuntu), то для вас все шаги по настройке LAMP web сервера будут те же самые, за исключение установки Linux.

Если я вас убедил и вдохновил, то давайте приступим.

Сначала договоримся о некоторых определениях в рамках этой темы:

  • Под словом сервер будем понимать физическую или виртуальную машину, на которую будет устанавливаться операционная система Ubuntu и весь остальной софт.
  • Под словосочетанием LAMP WEB сервер будем понимать:
    • Ubuntu Server 14.04 LTS - как Linux операционную систему;
    • Apache HTTP сервер - как программу, непосредственно обрабатывающую HTTP запросы;
    • MySQL - как программа сервер баз данных;
    • PHP - как установленный в Ubuntu серверный язык сценарий.
  • Под словосочетанием WEB сервер будем понимать LAMP WEB сервер с добавленными к нему программами, расширяющими его возможности.

В качестве Linux дистрибутива я буду использовать во всех примерах Ubuntu Server 14.04/16.04 LTS. Дело в том, что в зависимости от дистрибутивов Linux и даже от их версий могут быть некоторые отличия в расположении конфигурационных файлов, но при этом суть всегда будет одинакова. Так же, с точки зрения действий по организации LAMP WEB сервера, нет различий между версиями 14.04 и 16.04 Ubuntu server и поэтому все шаги и манипуляции описанные мною в статьях и скринкастах будут одинаково применимы и для 16.04 версии Ubuntu. Отличаются только версии самих компонентов LAMP, которые в Ubuntu 16.04 поставляются по умолчанию как PHP 7 и MySQL 5.7, что обеспечивает большую производительность веб приложению.


Установку Ubuntu я будe выполнять на виртуальную машину, запущенную на моем ноутбуке, однако вы можете делать это на реальном PC.

Еще по теме:

Следующие посты по этой теме:

LAMP WEB сервер – установка, настройка, администрирование. Часть 2 - Шаги по подготовке к установке Ubuntu в качестве OS для LAMP WEB сервера.