Веб-сервер Apache без преувеличения можно назвать стандартом де-факто в интернет. Большинство популярных систем управления сайтами и иных веб-приложений разрабатываются таким образом, чтобы работать с данным веб-сервером "из коробки". Поэтому, если вам нужен веб-сервер широкого применения, то Apache будет лучшим выбором. В данной статье мы расскажем, как установить и настроить полноценный веб-сервер на базе Debian / Ubuntu Server.

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

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

Для установки мы будем использовать платформу Debian / Ubuntu. Системы, в зависимости от релиза, отличаются набором ПО, но все изложенное ниже будет одинаково применимо к любой из них. Существующие отличия будут оговорены отдельно. На момент написания статьи актуальны следующие релизы систем и версии ПО:

  • Debian 8 Jessie: Apache 2.4.10, PHP 5.6.7, MySQL 5.5.43
  • Debian 7 Squeeze: Apache 2.2.22, PHP 5.4.39, MySQL 5.5.43
  • Ubuntu Server 14.04 LTS: Apache 2.4.7, PHP 5.5.9, MySQL 5.5.43
  • Ubuntu 12.04 LTS: Apache 2.2.22, PHP 5.3.10, MySQL 5.5.43

Все вышеуказанные выпуски содержат относительно современные версии ПО, но есть некоторые особенности. Так входящий в состав Ubuntu 14.04 и Debian 8, Apache 2.4 имеет достаточно серьезные отличия от Apache 2.2 и не все CMS (системы управления контентом, "движки") и веб-приложения умеют работать с ним, особенно это касается старых версий. Так, например, вы не сможете использовать Apache 2.4 для веб-доступа к базам 1С:Предприятие. Поэтому, если вы решили выбрать версию 2.4 - уточните совместимость с нею всех планируемых к размещению CMS и веб-приложений.

Кроме того, MySQL из состава Ubuntu Server 12.04 / 14.04 не работает внутри контейнеров OpenVZ, которые широко используются для предоставления услуги VPS. Проблема решается заменой MySQL из репозитория на версию от MySQL Community (разработчики) или один из форков, например, MariaDB.

С учетом вышесказанного оптимальным выбором нам представляется использование в качестве платформы веб-сервера Debian 7, как наиболее совместимую с существующими веб-приложениями и не имеющую серьезных проблем.

Мы не будем останавливаться на установке и подготовке серверной ОС, более подробно вы можете ознакомиться с этим процессом в наших статьях для и . Также не забудьте правильно настроить системы. Все приведенные ниже действия следует выполнять с правами суперпользователя, например, с помощью команды sudo.

Установка Apache

Установка веб-сервера предельно проста:

Apt-get install apache2

Для проверки его работы наберите в браузере IP-адрес сервера, и вы увидите стандартную страницу заглушку:

Для Apache 2.4 она выглядит несколько иначе, но смысл от этого не меняется.

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

С этой целью каталоги mods-enabled и sites-enabled не содержат файлов конфигурации, а только символические ссылки на директории mods-available и sites-available , где следует располагать сами файлы. Как понятно из названий, в данных каталогах находятся настройки модулей и виртуальных хостов. Если с модулями дело приходится иметь редко, то управлять таким образом виртуальными хостами, т.е. сайтами, очень удобно.

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

Следующий вопрос, который следует решить, это права доступа к файлам и папкам сайта. По умолчанию их владельцем должен являться веб-сервер (пользователь и группа www-data ), в противном случае скрипты могут работать неожиданным образом или не работать вообще. Более удобно и безопасно запускать содержимое сайтов от имени пользователя, а не веб-сервера. Для этого установим следующий пакет:

Apt-get install apache2-mpm-itk

В Ubuntu 14.04 при установке данного пакета вы можете столкнуться с ошибкой:

Dpkg: error processing package apache2-mpm-itk (--configure):
проблемы зависимостей -- оставляем не настроенным

Закрываем открытые секции: и , затем сохраняем файл. Конфигурация виртуального хоста готова.

Чтобы включить сайт необходимо сделать символьную ссылку на файл конфигурации в каталоге sites-enabled , а, чтобы выключить - удалить эту ссылку. Это можно сделать вручную, при помощи команды ln -s, или использовать специальную утилиту apache:

A2ensite example.com

Данная команда включит сайт, для выключения введите:

A2dissite example.com

В качестве опции команде передается имя конфигурационного файла из sites-available , в случае Apache 2.4 без расширения. После каждого такого действия веб-сервер необходимо перезапустить:

Service apache2 reload

Чтобы проверить работу виртуального хоста разместите в его корневой директории любой html-файл и обратитесь к серверу по имени домена (при этом А-запись домена должна быть настроена и указывать на ваш веб-сервер).

Например, создадим индексный файл:

Touch /var/www/examlpe.com/index.html

И разместим в нем строку:

OK!

В итоге в браузере вы должны увидеть следующее:

Установка PHP

Если веб-сервер был нужен вам для размещения статического содержимого или сторонних веб-приложений, например, публикации баз 1С:Предприятия, то дальше можно не читать. Но если вы собираетесь создать сайт на основе популярных CMS - вам потребуется поддержка скриптового языка PHP, на базе которого разработаны большинство современных "движков".

Важно! В современных дистрибутивах используется более новая версия PHP7, чтобы работать с новой версией языка вместо php5 в приведенных ниже командах следует указывать php7.0 , например, вместо php5-imagick нужно набрать php7.0-imagick

Выполним команду:

Apt-get install php5

Будет установлен сам интерпретатор и необходимые для работы с веб-сервером модули. Модули позволяют гибко изменять функциональность PHP, управление модулями осуществляется аналогично Apache, когда конфигурации модулей располагаются в одной директории, а для их подключения делается символьная ссылка в другую.

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

Например, для работы с графикой вам потребуется поддержка графической библиотеки GD2 , поэтому установим соответствующий модуль:

Apt-get install php5-gd

После чего не забудьте перезапустить веб-сервер:

Service apache2 reload

Кстати, GD2 , на наш взгляд не самый лучший выбор, в актив библиотеки можно записать низкое потребление ресурсов и высокую скорость работы, но по качеству работы с изображениями она уступает альтернативной утилите imagemagick , иногда значительно. Поэтому имеет смысл установить обе утилиты и выбрать ту, работа которой наиболее вам подойдет. Если ресурсы сервера позволяют, то предпочтительно использовать imagemagick .

Установим утилиту и модуль PHP для нее:

Apt-get install imagemagick php5-imagick

Для проверки работы PHP создадим в корневой директории сайта специальный скрипт:

Touch /var/www/examlpe.com/info.php

И внесем в него следующий текст:

phpinfo();
?>

Теперь наберем в браузере http://example.com/info.php , в результате работы данного скрипта вы увидите стандартную страницу с информацией о PHP, установленных модулях, настройках и т.д.

Установка MySQL

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

Установим сервер баз данных и модуль PHP для работы с ним:

Apt-get install mysql-server php5-mysql

В процессе установки вам будет предложено ввести пароль для суперпользователя MySQL (root), которого не следует путать с суперпользователем системы.

Для удобного управления базами данных имеет смысл установить phpMyAdmin - удобную веб-утилиту для управления сервером MySQL:

Apt-get install phpmyadmin

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

Веб-интерфейс утилиты будет доступен по адресу http://example.com/phpmyadmin , для входа следует использовать учетные данные пользователя MySQL, в нашем случае это root (других еще нет) с паролем, который мы указали во время установки MySQL.

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

Проверим. В /etc/php5/apache2/conf.d ссылка на данный модуль отсутствует, в то время как в /etc/php5/mods-available нужный файл есть. Следовательно, модуль установлен, но, по какой-то причине, не подключен. Возможно это связано с Apache 2.4 и тогда подобная ситуация может иметь место и в Debian 8 .

Однако ничего страшного не произошло, все что нам нужно - это подключить модуль, создав символьную ссылку:

Ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini

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

Откроем phpMyAdmin и перейдем на страницу Привилегии (Пользователи) , где выберем Добавить нового пользователя .

Теперь прокрутим страничку чуть ниже и установим опцию Предоставить полные привилегии на базы данных подпадающие под шаблон (имя пользователя\_%)

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

Для проверки создадим базу данных phpMyAdmin - Базы данных - Новая база данных .

При создании БД обращайте внимание на кодировку. Сегодня большинство движков и веб-приложений работают с UTF-8 (utf8_general_ci) , однако старые версии движков могут использовать национальные кодировки, поэтому нужно будет правильно указать их еще на стадии создания базы, в противном случае, залив в базу, созданную в UTF-8 дамп в кодировке Windows-1252 вместо русских букв на сайте окажутся "крякозяблики".

Создав базу, проверим ее привилегии, нажав одноименную ссылку рядом с именем базы.

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

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

  • Теги:

Please enable JavaScript to view the

Несколько часов назад, о классном хостинге DigitalOcean . Если ты заинтересовался и хочешь попробовать его в действии, то тебе необходимо создать свой первый дроплет и установить/настроить все необходимые серверные компоненты (Apache , MySQL , PHP ). В этой заметке я хочу рассказать, как правильно установить и настроить популярную для всех хостингов связку: Apache , MySQL и PHP (LAMP). Заметка ориентирована на новичков в linux-мире.

Обновляем репозитории

Перед установкой программного обеспечения обязательно обнови репозитории. Делается это при помощи одной команды:

Apt-get update

Установка Apache в Debian 7

Установка Apache не должна вызвать сложностей. Все сводится к вызову одной единственной команды (репозитории классная вещь):

Apt-get install apache2

Поле ее выполнения будет выдано сообщение об отсутствии некоторых пакетов и предложение на загрузку. Соглашайся, и приготовься пару минут лицезреть бегущие в консоли надписи. После завершения процесса установки протестируй работоспособность web-сервера. Для этого открой браузер и перейди по адресу http://ip_твоего_сервера. Если ты поднимаешь хост в DigitalOcean , то IP адрес ты узнаешь из панели управления дроплетами или выполнив в консоле команду:

Ifconfig eth0 | grep inet | awk "{ print $2 }"

Корректно установленный web-сервер выдаст страницу с надписью “It works! ”.

Следующим компонентом, который нам предстоит установить, будет СУБД MySQL. Для загрузки и установки MySQL требуется выполнить опять же одну команду:

Apt-get install mysql-server

Менеджер пакетов нам также предложит загрузить и установить зависимые компоненты, а после их загрузки будет запущена конфигурационная утилита. Первым ее вопросом будет запрос пароля для учетной записи “root”. Придумываем пароль посложней и жмем “enter”. Советую вводить пароль с клавиатуры самостоятельно, а не из буфера. Одина раз, таким образом я ввел ошибочный пароль и потом пришлось переустанавливать MySQL .

После завершения установки MySQL тебе потребуется выполнить сценарий: mysql_secure_installation . Для этого в окне терминала напиши команду:

Mysql_secure_installation

Сценарий сразу запросит у тебя пароль от учетной записи «root», который ты задавал во время установки. Вводи пароль и жми клавишу “Enter”. Если пароль был введен правильно, сценарий предложит его сменить. Поскольку ты наверняка придумал хороший пароль во время установки, вводи «N», тем самым отказавшись от смены пароля.

Следующим вопросом будет предложение на удаление анонимных пользователей. На боевом хостинге они не нужны, поэтому соглашаемся (вводим в терминале “Y” ).

Далее сценарий предложит заблокировать root пользователю возможность подключаться с удаленных хостов. Для безопасности это очень хорошо, поэтому соглашаемся. Пользователь с полными правами должен подключаться к серверу баз данных только локально. Вводим «Y» и жмем клавишу «Enter». В очередном вопросе мастер предложит удалить тестовые базы. Они нам не нужны, поэтому соглашаемся. Последний вопрос будет связан с разрешение перезагрузки таблицы привилегий. Соглашаемся, и все наши ответы на предыдущие вопросы немедленно вступят в силу.

Устанавливаем PHP5 в Debian 7

Последним шагом будет установка PHP. Выполняется она также просто, как и установка Apache. Вводим в окне терминала команду:

Apt-get install php5 php-pear php5-mysql

Установка php5 в debian 7 занимает немного времени. Чтобы убедиться в корректности установки интерпретатора, потребуется перезапустить Apache . PHP взаимодействует с WEB-сервером посредством модуля, который будет автоматически запущен с перезапуском Apache. Для перезапуска Apache используй команду:

Service apache2 restart

Проверяем работоспособность PHP

Последним шагом на сегодня станет проверка работоспособности PHP. Попробуем создать тестовый сценарий и обратиться к нему через браузер. Вводим в терминале команду

Nano /var/www/phpinfo.php

Она запустит текстовый редактор «nano». В нем вводим стандартную, для проверки работы интерпретатора PHP строчку:

Сохраняем изменения в файле (ctrl + o ) и закрываем файл (ctrl + x ). Этим нехитрым действием мы создали файл по пути /var/www/phpinfo.php – папке хоста по умолчанию. Соответственно, чтобы обратиться к данному файлу удаленно мы должны вбить в браузере:

Http:///phpinfo.php

Если все компоненты были установлены правильно, то ты увидишь примерно страницу как на рисунке ниже.

Готов к труду и обороне

На этом шаге можешь считать, что WEB-сервер на Debian 7 полностью готов к работе. Ключевые компоненты установлены и готовы обслуживать толпы клиентов. Для полного счастья не хватает FTP доступа и удобной панели управления базами данных. Об этом, я расскажу завтра.

В современном Web-е Linux является основной платформой для размещения разнообразных веб-серверов. Бесперебойность работы, удобство развертывания и обслуживания — наше все.

При рассмотрении развертывания веб-сервера на системе Linux за основу возьмем один из самых популярных дистрибутивов – Debian. Он зарекомендовал себя как один из самых стабильных дистрибутивов, имеет наиболее из всех дистрибутивов хранилище пакетов, а каждая его версия сопровождается длительным периодом поддержки. Использование Debian позволяет быть уверенным, что при обновлении пакетов на сервере, в большинстве, случаев ничего не поломается. Но это не точно.

Быстрый, надежный, хостинг в Европе!

Ищете хороший, и при этом недорогой хостинг для сайтов? Хотите быстрый, по-европейски надежный и самый лучший для вашего проекта? Компания FORNEX рада Вам помочь.

Быстрый, качественный хостинг за рубежом. В качестве серверов для виртуального хостинга используются быстрые дисковые массивы из SSD дисков, что обеспечивает надежную и быструю работу ваших сайтов. Инженеры Fornex помогут вам с переносом сайтов абсолютно бесплатно.

Теперь стоит перейти к LAMP.

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

L – Linux – операционная система

A – Apache2 – веб-сервер

M – Mysql (на данный момент пакет Mysql заменен на MariaDB) – система управления базами данных

P – PHP – язык программирования

Стоит отметить, что LAMP не создавался как стек изначально – каждое его составляющее представляет собой отдельный законченный продукт, однако такая связка стала очень популярной из-за удобства, гибкости и производительности конечной системы.

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

Установка Apache не представляет никаких сложностей – необходимо просто установить одноименный пакет из репозитория Debian.

Для начала обновим список пакетов, если по какой-то причине вы не сделали этого после установки операционной системы:

Теперь можно перейти по ссылке http://(IP_адресвеб сервера) и проверить, появилась ли страница-заглушка.

Для начала остановимся на этом и перейдем к следующему пункту.

Mysql (MariaDB)

Как уже было сказано выше, в Debian 9 стандартный пакет Mysql был заменен на MariaDB. Данная СУБД является полностью совместимой, обладает идентичным синтаксисом и полностью открытым исходным кодом. Присутствие MariaDB, и СУБД как таковой, на веб-сервере необходимо для работы разнообразных систем управления контентом (CMS), таких как WordPress, Joomla и прочих.

Также, при установке MariaDB понадобится один из пакетов PHP, необходимый для работы с СУБД:

sudo apt install mariadb-server mariadb-client php7.0-mysql -y

Утилита просит на ввести пароль root-пользователя, но так как мы его еще не задали, то просто нажимаем Enter .

Задаем пароль привилегированного пользователя, утвердительно ответив на первый вопрос (вводим y на клавиатуре и жмем Enter) . Набираем придуманный нами пароль и подтверждаем его, введя еще раз.

Не переживайте из-за того, что не видите на экране символов, которые вводите с клавиатуры – так и должно быть.

Отвечаем на все остальные вопросы, которые задает Вам утилита:

  1. Удалить анонимных пользователей?

Отвечаем утвердительно – нам необходимо, чтобы вход в консоль управления СУБД осуществлялся только после ввода пароля.

  1. Запретить удаленное подключение к пользователю root?

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

  1. Удалить тестовую базу данных?

Удаляем не боясь. Она нам не к чему.

  1. Обновить привилегии пользователей?

Снова отвечаем утвердительно.

Убедимся, что все настроено правильно. Для этого подключимся к консоли управления MariaDB:

Sudo mysql –u root –p

sudo mysql –u root –p

Mysql – вызов утилиты управление СУБД

u root – подключаемся от пользователя root

p – указываем, что необходим ввод пароля

Вводим команду status; , чтобы получить информацию о состоянии сервера и убедиться, что MariaDB готова к работе:

Для выхода из консоли управления СУБД вводи команду exit;

PHP7.0

Мы подошли к заключительному компоненту стека LAMP – гипертекстовому процессору PHP. Он представляет собой скриптовый язык общего назначения, применяемый для разработки web-приложений. Давайте установим его интерпретатор и некоторые библиотеки для работы с Apache:

sudo apt install php7.0-common libapache2-mod-php7.0 php7.0-cli -y

Теперь проверим корректность установки PHP. Для этого перейдем в каталог веб-сервера:

ИНФО: каталогом для хранения web-приложений по умолчанию является /var/www/html. Изменить каталог или добавить новый можно путем редактирования виртуальных хостов – файлов конфигурации Apache, что будет рассмотрено в следующем пункте.

Cd /var/www/html

| |

Программный стек LAMP включает в себя операционную систему Linux, веб-сервер Apache, систему управления базами данных MySQL и скриптовый язык PHP. LAMP stack – надёжная основа для разработки и размещения динамических веб-сайтов и веб-приложений.

В данном руководстве речь пойдёт об установке стека LAMP на виртуальный сервер Debian 8.

Примечание : Поскольку на сервере уже установлена операционная система Debian 8, первый компонент стека (Linux) уже установлен.

Требования

Чтобы следовать руководству, нужно:

  • Создать пользователя с правами sudo;
  • Установить основные пакеты безопасности (IPTables, Fail2Ban и т.п.).

Все команды данного руководства выполнены с правами sudo.

1: Обновление системы

Прежде чем приступить к установке программ, нужно обновить систему.

Войдите в систему и запустите следующую команду, чтобы обновить список пакетов:

sudo aptitude update

После запуска этой команды операционная система сравнит все установленные пакеты с версиями, появившимися в репозитории Debian, и обновит их в случае появления более новой версии.

Примечание : Если вы используете сервер производства или критически важный сервер, будьте предельно внимательны при установке обновлений. Не устанавливайте непроверенные версии пакетов.

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

sudo aptitude safe-upgrade

Это может занять некоторое время в зависимости от текущей версии операционной системы, пакетов программного обеспечения и сетевых условий (на обновление свежего сервера уйдёт пара секунд).

После этого сервер полностью исправлен, обновлен и готов к установке стека LAMP.

2: Установка Apache

Теперь можно приступать к установке популярного веб-сервера Apache, который нужен для отображения веб-контента. Для этого используйте команду:

sudo aptitude install apache2 apache2-doc

Эта команда установит базовый пакет и документацию Apache. Установка займёт несколько секунд.

Затем нужно убедиться, что установка прошла успешно (для этого нужен IP-адрес сервера).

Введите в браузере:

http://111.111.111.111

Если установка прошла успешно, на экране появится стандартная страница Apache 2.

После этого можно подгрузить контент в каталог /var/www/html.

Примечание : Чтобы разместить на веб-сервере несколько сайтов, читайте по настройке виртуальных хостов Apache. Дополнительную информацию по настройке Apache в Debian можно найти .

3: Установка и защита MySQL

Следующий компонент – СУБД MySQL – необходим для работы систем управления контентом (например, WordPress, Joomla, Drupal и т.п.).

Чтобы установить MySQL с поддержкой PHP, введите:

sudo aptitude install mysql-server php5-mysql

Эта команда установит MySQL и все необходимые пакеты. Во время установки программа предложит установить новый пароль для root-пользователя MySQL (это специальный аккаунт для управления системой MySQL). Установите надёжный пароль, состоящий из букв разного регистра и цифр.

После этого установка MySQL будет завершена.

Чтобы защитить MySQL, нужно запустить дополнительный скрипт:

sudo mysql_secure_installation

Данный скрипт задаст вам несколько вопросов. По запросу введите root-пароль MySQL, после чего программа спросит:

Interactive
Change the root password? n

Менять только что созданный root-пароль нет никакой необходимости. Затем скрипт спросит:

Remove anonymous users? y

Ответьте yes, и скрипт удалит анонимных пользователей. На остальные вопросы можно также ответить yes.

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

В завершение скрипт предложит удалить тестовую БД и обновить права; ответьте yes.

Если всё было выполнено успешно, скрипт вернёт вывод:

All done! If you have completed all of the above steps, your MySQL installation should now be secure.

Чтобы убедиться, что сервер MySQL работает должным образом, введите:

mysql -u root -p

Введите root-пароль MySQL. Затем введите следующую команду, чтобы получить информацию о состоянии сервера, версии и т.п.:

Эта команда позволяет убедиться, что система MySQL установлена успешно и готова к настройке. Чтобы закрыть MySQL, введите:

4: Установка PHP

Последний компонент стека – гипертекстовый препроцессор PHP; этот широко используемый серверный язык сценариев необходим для обработки динамического веб-контента.

Чтобы установить PHP, введите:

sudo aptitude install php5-common libapache2-mod-php5 php5-cli

Кроме PHP на сервер будет установлен ряд дополнительных пакетов; они необходимы для интеграции PHP, установленного ранее сервера Apache2 и других программ.

Перезапустите Apache, чтобы изменения, внесённые во время установки PHP, вступили в силу. Для этого запустите:

sudo service apache2 restart

Теперь проверьте установку PHP. Перейдите в каталог веб-сервера:

cd /var/www/html

Затем создайте страницу info.php при помощи текстового редактора:

sudo vi info.php

Эта команда откроет чистый файл в редакторе vi. Внесите в файл такой код:

Сохраните изменения и закройте файл. Затем откройте браузер и перейдите по ссылке:

http://111.111.111.111/info.php

Если всё было выполнено должным образом, на экране появится страница с данными о PHP.

sudo rm -i /var/www/html/info.php

Базовая установка PHP успешно завершена.

Заключение

Теперь на сервер установлен LAMP stack – надёжная основа для запуска веб-сайта.

Tags: ,

06Сен

LAMP - является набором программных продуктов, широко применяемых для создания веб-сервисов. Данный набор состоит из операционной системы Linux, одного из самых распространенных веб-серверов Apache, СУБД Mysql и скриптового языка PHP. Данная статья посвящена процедуре стандартной установки и настройки данного набора для дальнейшего использования под веб-сервисы.

В качестве операционной системы был выбран Debian 8, как один из самых популярных дистрибутивов GNU/Linux. Сам процесс установки данной операционной системы рассматриваться не будет, так как не относится к теме статьи.

Все операции по установке и настройке будут выполняться под учетной записью пользователя root.

Установка Apache

Перед началом установки необходимо выполнить команду:

Apt-get install apache2

После завершения установки веб-сервер будет готов к работе. Проверить его работоспособность можно просто, открыв в веб-браузере IP-адрес сервера, на который был установлен пакет Apache. Для версии 2.4 страница заглушка выглядит следующим образом:

Конфигурационный файл Apache, находится в /etc/apache2/apache2.conf

Директория /etc/apache2/sites-enabled/ содержит файлы конфигурации созданных веб-сервисов, а директория /etc/apache2/sites-available/ символические ссылки на файлы конфигураций веб-сервисов, которые на данный момент включены.

С помощью данных файлов конфигураций можно управлять настройкой виртуальных хостов. Сервер Apache позволяет размещать несколько виртуальных хостов (сервисов) на одном сервере. По умолчанию все содержимое веб сервисов располагается в папке /var/www. Размещение содержимого можно изменять, указав это в конфигурационном файле виртуального хоста, за это отвечает директива DocumentRoot.

Рассмотрим создание простейшей веб странички с надписью “Hello World”. Для начала создадим папку, где будет храниться содержимое. Для этого выполним команду:

Mkdir /var/www/helloworld.net

В данной папке создадим простейший html файл index.html следующего содержания:

Hello World

This is a test page.

После того как содержимое простейшей странички присутствует, необходимо создать конфигурационный файл виртуального хоста. Для этого в папке /etc/apache2/sites-available/ создадим файл helloworld.net.conf (не забудьте про расширение conf) со следующим содержимым:

ServerName helloworld.net ServerAdmin [email protected] ServerAlias www.helloworld.net DocumentRoot /var/www/helloworld.net CustomLog ${APACHE_LOG_DIR}/helloworld.net.access.log combined ErrorLog ${APACHE_LOG_DIR}/helloworld.net.error.log

Здесь присутствуют параметры:

  • ServerName – доменное имя виртуального хоста (нашей странички);
  • ServerAdmin – адрес электронной почты администратора;
  • ServerAlias – псевдоним виртуального хоста (доменное имя хоста с добавлением www);
  • DocumentRoot – место, где хранится содержимое самого сервиса;
  • CustomLog - название файла журнала доступа с сервису;
  • ErrorLog – название файла журнала ошибок.

Подробное описание всех параметров и их значений в конфигурационном файле можно посмотреть в официальной документации(http://httpd.apache.org/docs/2.4).

Следующим шагом необходимо включить наш виртуальный хост. Это можно сделать как просто создав символическую ссылку:

Cd /etc/apache2/sites-enabled ln -s ../sites-available/helloworld.net.conf helloworld.net.conf

Также включение и выключение виртуальных хостов можно выполнять, применяя команды a2ensite и a2dissite соответственно.

Для включения:

A2ensite helloworld.net

Для выключения:

A2dissite helloworld.net

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

/etc/init.d/apache2 restart

Теперь можно проверить работу созданной странички.

Для проверки страницы, возможно, на компьютере, с которого осуществляется проверка понадобиться добавить строчку в файл hosts:

Xxx.xxx.xxx.xxx helloworld.net

Где xxx . xxx . xxx . xxx – это IP-адрес сервера с установленным Apache. Файл hosts, находится:

  • C:\Windows\System32\drivers\etc (в Win7);
  • /etc/hosts (в Debian).

Установка PHP

Следующий шаг – это установка скриптового языка PHP. Установка осуществляется командой:

Apt-get install php5

Теперь необходимо проверить работу PHP. Для этого добавим в папку с содержимым сайта (/var/www/helloworld.net) файл test.php. В данный файл необходимо написать следующее:

Следует отметить, что существует модуль PHP под сервер Apache. Этот модуль позволяет Apache и PHP работать более эффективно. Проверить установлен ли модуль можно:

Dpkg -l | grep libapache2-mod-php5

Если модуля нет, то его надо установить:

Apt-get install libapache2-mod-php5.

Проверить подключен ли модуль в самом сервере Apache можно следующим образом:

Ls -l /etc/apache2/mods-enabled/ | grep php5

Должно появиться следующее:

Lrwxrwxrwx 1 root root 27 Sep 2 10:07 php5.conf -> ../mods-available/php5.conf lrwxrwxrwx 1 root root 27 Sep 2 10:07 php5.load -> ../mods-available/php5.load

Если модуль не включен, его по аналогии с виртуальными хостами можно включить командой

A2enmod php5

Выключается модуль командой a2dismod.

Установка mysql

Последним шагом к подготовке среды для работы с веб-сервисами является установка СУБД mysql. Установка осуществляется командой:

Apt-get install mysql-server php5-mysql

В процессе установки необходимо будет ввести пароль для пользователя root.

После завершения установки проверить работу mysql можно подключившись к самой СУБД.

Mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 43 Server version: 5.5.49-0+deb8u1 (Debian) … mysql>

На этом базовая подготовка сервера завершена. Дополнительно для управления базой данных можно еще установить утилиту phpmyadmin.

Apt-get install phpmyadmin

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

Также можно ответить положительно на предложение о настройке базы данных.

И несколько раз ввести пароль для администратора базы данных (тот что был указан для root пользователя при установке mysql).

После завершения установки phpmyadmin. Его работу можно проверить перейдя по ссылке http://localhost/phpmyadmin (если браузер открывается с того же сервера) или по ссылке http://xxx.xxx.xxx.xxx/phpmyadmin с другого компьютера, где xxx.xxx.xxx.xxx – это IP-адрес сервера.

Для входа необходимо использовать логин и пароль, заданные при установке mysql.