Как установить Linux, Apache, MySQL, PHP (LAMP) в стеке на Debian 8

Вступление

Стек программного обеспечения «LAMP», состоящий из операционной системы L inux, веб-сервера A pache, базы данных M ySQL и P языка сценариев HP, является отличным основа для веб или разработки приложений. Установленный вместе, этот программный стек позволяет вашему серверу размещать динамические веб-сайты и веб-приложения.

В этом руководстве мы установим стек LAMP на сервере Debian 8.

Предпосылки

Шаг 1 - Обновление системы

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

sudo apt-get update

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

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

sudo apt-get dist-upgrade

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

Теперь ваш сервер полностью исправлен, обновлен и готов к установке LAMP. Поскольку на вашем сервере уже установлена ​​операционная система Linux Debian, вы можете перейти к установке веб-сервера Apache для управления сетевыми подключениями.

Шаг 2 - Установка Apache и обновление брандмауэра

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

sudo apt-get install apache2 apache2-doc

Это устанавливает базовый пакет веб-сервера Apache, а также документацию, прилагаемую к нему. Это может занять несколько секунд, поскольку Apache и его необходимые пакеты установлены. После этого + apt-get + завершится, и установка будет завершена.

Далее, предположив, что вы выполнили руководство по установке UFW, установив и включив брандмауэр, убедитесь, что ваш брандмауэр допускает трафик HTTP и HTTPS.

При установке в Debian 8 в UFW загружаются профили приложений, которые можно использовать для настройки параметров брандмауэра. Просмотрите полный список профилей приложений, запустив:

sudo ufw app list

Профили + WWW + используются для управления портами, используемыми веб-серверами:

OutputAvailable applications:
. . .
 WWW
 WWW Cache
 WWW Full
 WWW Secure
. . .

Если вы проверите профиль + WWW Full +, он показывает, что он разрешает трафик на порты + 80 + и + 443 +:

sudo ufw app info "WWW Full"
OutputProfile: WWW Full
Title: Web Server (HTTP,HTTPS)
Description: Web Server (HTTP,HTTPS)

Ports:
 ,

Разрешить входящий трафик HTTP и HTTPS для этого профиля:

sudo ufw allow in “WWW Full”

Теперь, когда мы разрешили веб-трафик через наш брандмауэр, давайте проверим, чтобы веб-сервер отвечал на запросы с помощью примера веб-страницы. Для начала вам понадобится IP-адрес вашего сервера. Вы можете просмотреть свой IP-адрес в текущем сеансе SSH, выполнив следующую команду:

sudo ifconfig eth0

На вашем экране вы увидите несколько строк вывода, включая IP-адрес вашего сервера. Вам понадобится номер из четырех частей, показанный после + inet addr: +:

Outputinet addr:

Запишите указанный IP-адрес и введите его в свой любимый веб-браузер следующим образом:

  • + HTTP: // +

После этого вы увидите веб-страницу Apache 2 по умолчанию, похожую на эту:

изображение: https: //assets.digitalocean.com/articles/lamp-debian8/JUGu5aW.png [Apache2 Страница Debian по умолчанию]

Теперь, когда вы успешно установили Apache на свой сервер, вы можете загрузить контент вашего сайта в каталог + / var / www / html +. Если вы хотите настроить несколько веб-сайтов, ознакомьтесь с этой статьей по настройке https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14- 04-lts [виртуальные хосты Apache].

Для получения дополнительных инструкций и информации о безопасности, связанной с Apache, ознакомьтесь с Debian информацией об Apache.

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

Шаг 3 - Установка и защита MySQL

Следующий компонент сервера LAMP - MySQL. Это программное обеспечение реляционной базы данных является важным компонентом бэкэнда для других программных пакетов, таких как WordPress, Joomla, Drupal и многих других.

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

sudo apt-get install mysql-server php5-mysql

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

image: https: //assets.digitalocean.com/articles/lamp-debian8/a0O038P.png [Новый пароль для пользователя «root» MySQL]

Это отдельная учетная запись, используемая специально для административных функций в MySQL. Имя пользователя - * root *, а пароль - тот, который вы здесь задали. Обязательно установите надежный пароль с различными комбинациями букв и цифр.

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

Чтобы сохранить ваш новый сервер базы данных в безопасности, необходимо запустить дополнительный сценарий. Введите следующее, чтобы начать:

sudo mysql_secure_installation

На данный момент сценарий задаст вам несколько вопросов. При появлении запроса введите пароль для корневой учетной записи MySQL. Затем система спросит вас:

InteractiveChange the root password? [Y/n]

Так как мы уже установили корневой пароль MySQL при нашей установке, вы можете сказать нет на этом этапе. Затем скрипт спросит:

InteractiveRemove anonymous users? [Y/n]

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

Затем скрипт попросит вас разрешить или запретить удаленный вход в систему для учетной записи root. В целях безопасности запрещайте удаленный вход в систему для пользователя root, если это не требуется в вашей среде.

Наконец, скрипт попросит вас удалить тестовую базу данных, а затем перезагрузить таблицы привилегий. Ответьте да на оба вопроса. Это удалит тестовую базу данных и обработает изменения безопасности.

Если все правильно, после завершения скрипт вернется с:

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

Давайте еще раз проверим, работает ли наш новый сервер MySQL. Введите эту команду:

mysql -u root -p

Введите пароль пользователя root, который вы установили для MySQL при установке программного пакета. Помните, что это * не * учетная запись root, используемая для администрирования вашего сервера. После ввода введите следующее, чтобы получить статус сервера, информацию о версии и многое другое:

status

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

exit

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

Шаг 4 - Установка PHP

Для нашего последнего компонента мы установим и установим PHP, который означает PHP: Hypertext Preprocessor. Этот популярный серверный язык сценариев широко используется для динамического веб-контента, что делает его необходимым для многих разработчиков веб-приложений и приложений.

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

sudo apt-get install php5-common libapache2-mod-php5 php5-cli

После того, как вы согласитесь на установку, PHP будет установлен на вашем сервере. Вы увидите, что многие пакеты устанавливаются не только на PHP. Не волнуйся; Ваша система интегрирует программное обеспечение PHP с существующей установкой Apache2 и другими программами.

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

sudo service apache2 restart

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

cd /var/www/html

Оказавшись там, используйте ваш любимый консольный текстовый редактор, чтобы создать файл с именем + info.php. Вот один из способов сделать это:

sudo nano info.php

Эта команда будет использовать редактор командной строки + nano +, чтобы открыть новый пустой файл с этим именем. Внутри этого файла введите следующее, чтобы заполнить веб-страницу выходной информацией для конфигурации вашего PHP:

/var/www/html/info.php

<?php phpinfo(); ?>

Нажмите + CTRL-X +, чтобы выйти из файла, затем + Y +, чтобы сохранить внесенные изменения, затем + ENTER +, чтобы подтвердить имя файла. Чтобы получить доступ к информации о конфигурации, откройте веб-браузер и введите следующий URL, заменив выделенный раздел IP-адресом вашего сервера:

  • + Http: /// info.php +

Если вы все сделали правильно, вы увидите информационную страницу PHP по умолчанию, как показано ниже:

изображение: https: //assets.digitalocean.com/articles/lamp-debian8/kAOmYue.png [Страница информации о PHP]

Когда вы закончите просматривать эту тестовую страницу PHP, удалите ее в целях безопасности. Для этого выполните эту команду:

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

Затем система спросит, хотите ли вы удалить созданный вами тестовый файл. Ответьте да, чтобы удалить файл. Как только это будет сделано, вы завершите базовую установку PHP.

Заключение

Теперь вы установили базовый стек LAMP на свой сервер, предоставляя платформу для создания широкого спектра веб-сайтов и веб-приложений. Отсюда есть много способов, которые вы можете настроить и расширить возможности вашего сервера. Чтобы узнать больше о защите вашего Linux-сервера, ознакомьтесь с An Введение в обеспечение безопасности вашего Linux VPS. Если вы хотите настроить свой сервер для размещения нескольких веб-сайтов, следуйте https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14- 04-lts [учебник по виртуальным хостам Apache].

Related