Как установить apache php mysql на ubuntu

Обновлено: 02.07.2024

LAMP stack – это популярная платформа веб-разработки с открытым исходным кодом, которую можно использовать для запуска и развертывания динамических веб-сайтов и веб-приложений. Обычно стек LAMP состоит из веб-сервера Apache, баз данных MariaDB/MySQL, языков программирования PHP/Python/Perl. LAMP — это аббревиатура от Linux, Apache, MariaDB/MYSQL, PHP/Python/Perl. В этом пошаговом руководстве описывается, как установить Apache, MySQL, PHP (стек LAMP) на сервере Ubuntu 20.04 LTS.

Установите Apache, MySQL, PHP (стек LAMP) в Ubuntu 20.04 LTS

Для целей этого руководства мы будем использовать следующую систему Ubuntu.

  • Операционная система: Ubuntu 20.04 LTS Server Edition
  • IP-адрес: 192.168.225.52/24

Для начала установим сервер Apache.

1. Установите веб-сервер Apache в Ubuntu

Прежде всего, обновите сервер Ubuntu с помощью команд:

Далее установите веб-сервер Apache:

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

Пример вывода:

Поздравляем! Служба Apache запущена и работает!

1.1. Разрешить веб-серверу Apache через брандмауэр UFW

UFW, расшифровывается как Uncomplicated Firewall, представляет собой простую в использовании программу для управления брандмауэром netfilter. UFW доступен по умолчанию во всех версиях Ubuntu.

Сначала выведите список профилей приложений, доступных в вашей системе Ubuntu, с помощью команды:

Как видите, в приложениях Apache и OpenSSH установлены профили UFW. Вы можете просмотреть информацию о каждом профиле и включенных в него правилах, используя команду ufw app info «Имя профиля».

Заглянем в профиль «Apache Full» с помощью команды:

Пример вывода:

Как видите, в профиль "Apache Full" включены правила, разрешающие трафик на порты 80 и 443 .

Вы увидите вывод, как показано ниже:

1.2. Протестировать веб-сервер Apache

Если вы видите "страницу по умолчанию Apache 2 Ubuntu", как показано ниже, все готово. Сервер Apache работает!

Страница Apache2 Ubuntu по умолчанию в Ubuntu 20.04

Тестирование веб-сервера Apache

2. Установите MySQL в Ubuntu

Чтобы установить MySQL в Ubuntu, выполните:

Проверьте, запущена ли служба MySQL или не используется команда:

Пример вывода:

Как видно из приведенного выше вывода, MySQL работает!

2.1. Установить пароль администратора базы данных (root) для Mysql

По умолчанию пароль root-пользователя MySQL пуст. Не рекомендуется использовать пустой пароль для учетной записи администратора базы данных. Вам необходимо защитить свой сервер MySQL, запустив следующий скрипт:

Вас спросят, хотите ли вы настроить компонент "ПРОВЕРИТЬ ПАРОЛЬ" или нет. Этот компонент позволяет пользователям настраивать надежный пароль для учетных данных базы данных. Если он включен, он автоматически проверяет надежность пароля и заставляет пользователей устанавливать только те пароли, которые достаточно безопасны. Безопасно оставить его отключенным. Однако вы должны использовать надежный и уникальный пароль для учетных данных базы данных. Если вы не хотите включать этот компонент, просто нажмите любую клавишу, чтобы пропустить часть проверки пароля и продолжить остальные шаги.

Введите y, если вы хотите настроить компонент VALIDATE PASSWORD:

Если ваш ответ "Да", вам будет предложено выбрать уровень проверки пароля. Доступные проверки пароля: низкая, средняя и надежная. Просто введите соответствующее число (0 для низкого пароля, 1 для среднего и 2 для надежного пароля) и нажмите клавишу ВВОД.

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

После того как вы дважды ввели пароль, вы увидите надежность пароля (в нашем случае это 100). Если это нормально для вас, нажмите Y, чтобы продолжить с предоставленным паролем. Если длина пароля вас не устраивает, нажмите любую другую клавишу и установите надежный пароль. Меня устраивает мой текущий пароль, поэтому я выбрал y .

Чтобы ответить на остальные вопросы, просто введите y и нажмите ENTER . Это удалит анонимного пользователя, запретит удаленный вход пользователю root и удалит тестовую базу данных.

Готово! Мы установили пароль пользователя root для MySQL.

2.2. Изменить метод аутентификации для корневого пользователя MySQL

По умолчанию пользователь root MySQL настроен на аутентификацию с помощью подключаемого модуля auth_socket, начиная с MySQL 5.7 и более поздних версий в Ubuntu. Несмотря на то, что это повышает безопасность, это также усложняет работу при доступе к серверу базы данных с помощью любых внешних программ, например phpMyAdmin.Чтобы решить эту проблему, вам нужно изменить метод аутентификации с auth_socket на caching_sha2_password или mysql_native_password .

Начиная с версии MySQL 8.0 предпочтительным подключаемым модулем аутентификации по умолчанию является caching_sha2_password . Подключаемый модуль аутентификации caching_sha2_password обеспечивает более надежное шифрование паролей, чем подключаемый модуль mysql_native_password.

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

Введите корневой пароль MySQL, который мы установили на предыдущем шаге.

Выполните следующую команду в командной строке mysql, чтобы найти текущий метод аутентификации для всех учетных записей пользователей MySQL:

Пример вывода:

найти текущий метод аутентификации для всех учетных записей пользователей MySQL в Ubuntu

Найдите текущий метод аутентификации для всех учетных записей пользователей mysql в Ubuntu

Как видите, root-пользователь mysql использует плагин auth_socket для аутентификации.

Чтобы изменить подключаемый модуль auth_socket на caching_sha2_password , выполните следующую команду в командной строке MySQL. Если вы включили подключаемый модуль VALIDATE PASSWORD, убедитесь, что вы использовали надежный пароль в соответствии с текущими требованиями политики. Строгий должен состоять как минимум из 8 символов, включая прописную букву, строчную букву, цифру и специальный символ.

Обновите изменения с помощью команды:

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

Пример вывода:

проверьте текущий плагин аутентификации в mysql

Проверьте текущий подключаемый модуль аутентификации в mysql

Хорошо! Теперь пользователь root MySQL может аутентифицироваться с помощью пароля для доступа к оболочке MySQL.

Выход из командной строки MySQL:

Примечание:

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

Чтобы перейти на подключаемый модуль mysql_native_password, выполните следующую команду в командной строке MySQL.

Обновите изменения с помощью команды:

Теперь еще раз проверьте, изменился ли метод аутентификации или не используется ли команда:

Пример вывода:

найти текущий метод аутентификации для всех учетных записей пользователей mysql

Найдите текущий метод аутентификации для всех учетных записей пользователей MySQL

Выход из командной строки mysql:

3. Установите PHP в Ubuntu

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

После установки PHP создайте файл info.php в корневой папке документов Apache. Обычно папка корневого документа Apache будет /var/www/html/ или /var/www/ в большинстве дистрибутивов Linux на основе Debian. В Ubuntu 20.04 LTS это /var/www/html/ .

Давайте создадим файл info.php в корневой папке apache:

Добавьте следующие строки:

Нажмите клавишу ESC и введите :wq, чтобы сохранить и закрыть файл. Перезапустите службу Apache, чтобы изменения вступили в силу.

3.1. Протестировать PHP

Вы увидите информацию о php, такую ​​как версия, серверный API и сведения обо всех включенных подключаемых модулях php.

страница информации о php в Ubuntu 20.04

Тестовая страница PHP

Обычно, когда пользователь запрашивает каталог с веб-сервера, Apache сначала ищет файл с именем index.html . Если вы хотите изменить Apache для обслуживания файлов php, а не других, переместите index.php на первую позицию в файле dir.conf, как показано ниже

Вот содержимое вышеуказанного файла.

Переместите файл index.php на первое место. После внесения изменений ваш файл dir.conf будет выглядеть так, как показано ниже.

Нажмите клавишу ESC и введите :wq, чтобы сохранить и закрыть файл. Перезапустите службу Apache, чтобы изменения вступили в силу.

3.2. Установите модули PHP

Чтобы улучшить функциональность PHP, вы можете установить дополнительные модули PHP.

Чтобы получить список доступных модулей PHP, выполните:

Пример вывода:

 список доступных модулей PHP в Ubuntu

Список доступных модулей PHP в Ubuntu

Используйте клавиши со стрелками, чтобы просмотреть результат. Чтобы выйти, введите q .

Чтобы найти подробную информацию о любом конкретном модуле php, например php-gd, запустите:

Чтобы установить модуль php, запустите:

Не забудьте перезапустить службу Apache после установки модуля php. Чтобы проверить, загружен модуль или нет, откройте файл info.php в своем браузере и проверьте, присутствует ли он.

Поздравляем! Как видите, установить apache, mysql, php (стек LAMP) на Ubuntu 20.04 LTS очень просто. Теперь вы можете начать размещать свои веб-сайты с помощью стека LAMP.

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

В этом руководстве мы установим стек LAMP на сервер Ubuntu 16.04. Ubuntu удовлетворит наше первое требование: операционная система Linux.

Предпосылки

Прежде чем приступить к работе с этим руководством, на вашем сервере должна быть настроена отдельная учетная запись пользователя без полномочий root с правами sudo. Вы можете узнать, как это сделать, выполнив шаги 1–4 в нашем руководстве по начальной настройке сервера для Ubuntu 16.04.

Шаг 1 — Установка Apache и настройка брандмауэра

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

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

Для наших целей мы можем начать с ввода следующих команд:

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

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

Настройка Global ServerName для подавления синтаксических предупреждений

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

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

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

Примечание. Если вы не знаете IP-адрес своего сервера, перейдите к разделу о том, как найти общедоступный IP-адрес вашего сервера, чтобы найти его.

Сохраните и закройте файл, когда закончите.

Далее проверьте наличие синтаксических ошибок, введя:

Поскольку мы добавили глобальную директиву ServerName, все, что вы должны увидеть, это:

Перезапустите Apache, чтобы изменения вступили в силу:

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

Настройка брандмауэра для разрешения веб-трафика

Если вы посмотрите на полный профиль Apache, он должен показать, что он разрешает трафик на порты 80 и 443:

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

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

Вы увидите стандартную веб-страницу Ubuntu 16.04 Apache, предназначенную для информационных и тестовых целей. Это должно выглядеть примерно так:

Ubuntu 16.04 Apache по умолчанию

Если вы видите эту страницу, ваш веб-сервер установлен правильно и доступен через брандмауэр.

Поиск общедоступного IP-адреса вашего сервера

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

Из командной строки это можно сделать несколькими способами. Во-первых, вы можете использовать инструменты iproute2, чтобы получить свой адрес, набрав следующее:

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

Альтернативный метод — использовать утилиту curl, чтобы связаться с внешней стороной и сообщить вам, как она видит ваш сервер. Вы можете сделать это, запросив у определенного сервера ваш IP-адрес:

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

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

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

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

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

Снова вам будет показан список пакетов, которые будут установлены, а также объем дискового пространства, которое они будут занимать. Введите Y, чтобы продолжить.

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

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

Вам будет предложено ввести пароль, который вы установили для корневой учетной записи MySQL. Далее вас спросят, хотите ли вы настроить ПЛАГИН ПРОВЕРКИ ПАРОЛЯ.

Предупреждение. Включение этой функции требует решения. Если этот параметр включен, пароли, не соответствующие указанным критериям, будут отклонены MySQL с ошибкой. Это вызовет проблемы, если вы используете слабый пароль в сочетании с программным обеспечением, которое автоматически настраивает учетные данные пользователя MySQL, таким как пакеты Ubuntu для phpMyAdmin. Безопасно оставить проверку отключенной, но вы всегда должны использовать надежные уникальные пароли для учетных данных базы данных.

Ответьте y, если да, или что-нибудь еще, чтобы продолжить без включения.

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

Если вы включили проверку пароля, вам будет показана надежность существующего пароля root и вас спросят, хотите ли вы изменить этот пароль. Если вас устраивает текущий пароль, введите n вместо «нет» в командной строке:

Чтобы ответить на остальные вопросы, вы должны нажать Y и нажимать клавишу Enter при каждом запросе. Это удалит некоторых анонимных пользователей и тестовую базу данных, отключит удаленный вход в систему root и загрузит эти новые правила, чтобы MySQL немедленно учитывал внесенные нами изменения.

На данный момент ваша система базы данных настроена, и мы можем двигаться дальше.

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

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

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

Это должно установить PHP без каких-либо проблем. Мы проверим это через минуту.

В большинстве случаев нам нужно изменить способ, которым Apache обслуживает файлы при запросе каталога. В настоящее время, если пользователь запрашивает каталог с сервера, Apache сначала ищет файл с именем index.html. Мы хотим, чтобы наш веб-сервер предпочитал файлы PHP, поэтому мы заставим Apache сначала искать файл index.php.

Для этого введите эту команду, чтобы открыть файл dir.conf в текстовом редакторе с привилегиями root:

Это будет выглядеть так:

Мы хотим переместить индексный файл PHP, выделенный выше, на первую позицию после спецификации DirectoryIndex, например:

Когда закончите, сохраните и закройте файл, нажав Ctrl-X. Вам нужно будет подтвердить сохранение, введя Y, а затем нажмите Enter, чтобы подтвердить место сохранения файла.

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

Мы также можем проверить статус службы apache2, используя systemctl:

Установка модулей PHP

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

Чтобы увидеть доступные параметры для модулей и библиотек PHP, вы можете направить результаты поиска apt-cache в less , пейджер, который позволяет прокручивать вывод других команд:

Используйте клавиши со стрелками для прокрутки вверх и вниз и q для выхода.

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

Чтобы получить больше информации о том, что делает каждый модуль, вы можете либо поискать в Интернете, либо просмотреть подробное описание пакета, набрав:

Будет много вывода, с одним полем под названием Description-en, в котором будет более подробное объяснение функций, предоставляемых модулем.

Например, чтобы узнать, что делает модуль php-cli, можно ввести следующее:

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

Если после исследования вы решите установить пакет, вы можете сделать это с помощью команды apt-get install, как мы делали для другого нашего программного обеспечения.

Если бы мы решили, что php-cli — это то, что нам нужно, мы могли бы ввести:

Если вы хотите установить более одного модуля, вы можете сделать это, перечислив каждый из них через пробел после команды apt-get install, например:

На этом этапе ваш стек LAMP установлен и настроен. Тем не менее, мы все равно должны протестировать наш PHP.

Шаг 4. Проверка обработки PHP на вашем веб-сервере

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

Мы назовем этот скрипт info.php . Чтобы Apache мог найти файл и правильно его обработать, он должен быть сохранен в особом каталоге, который называется корневой веб-сайт.

В Ubuntu 16.04 этот каталог находится по адресу /var/www/html/. Мы можем создать файл в этом месте, набрав:

Откроется пустой файл. Мы хотим поместить в файл следующий текст, который является действительным кодом PHP:

По завершении сохраните и закройте файл.

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

Адрес, который вы хотите посетить, будет:

Страница, на которую вы переходите, должна выглядеть примерно так:

Ubuntu 16.04 по умолчанию PHP информация

На этой странице в основном представлена ​​информация о вашем сервере с точки зрения PHP. Это полезно для отладки и проверки правильности применения настроек.

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

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

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

Заключение

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

    самая популярная система управления контентом в Интернете. чтобы помочь управлять базами данных MySQL из веб-браузера. для управления вашими базами данных. для передачи файлов на ваш сервер и с него.

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

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

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

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

Предпосылки

Для выполнения этого руководства вам потребуется сервер Ubuntu 20.04 с учетной записью пользователя без полномочий root с поддержкой sudo и базовым брандмауэром. Это можно настроить с помощью нашего руководства по начальной настройке сервера для Ubuntu 20.04.

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

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

Начните с обновления кеша диспетчера пакетов.Если вы впервые используете sudo в этом сеансе, вам будет предложено ввести пароль пользователя, чтобы подтвердить, что у вас есть права на управление системными пакетами с помощью apt .

Затем установите Apache с помощью:

Вам также будет предложено подтвердить установку Apache, нажав Y , а затем ENTER .

Вы увидите следующий вывод:

Вот что означает каждый из этих профилей:

Чтобы разрешить трафик только через порт 80 , используйте профиль Apache:

Вы можете проверить изменение с помощью:

Трафик через порт 80 теперь разрешен через брандмауэр.

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

Вы увидите стандартную веб-страницу Ubuntu 20.04 Apache, предназначенную для информационных и тестовых целей. Это должно выглядеть примерно так:

Ubuntu 20.04 Apache по умолчанию

Если вы видите эту страницу, ваш веб-сервер установлен правильно и доступен через брандмауэр.

Как найти общедоступный IP-адрес вашего сервера

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

Есть несколько способов сделать это из командной строки. Во-первых, вы можете использовать инструменты iproute2, чтобы получить свой IP-адрес, набрав следующее:

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

Альтернативный метод — использовать утилиту curl, чтобы связаться с внешней стороной и сообщить вам, как она видит ваш сервер. Это делается путем запроса определенного сервера, какой у вас IP-адрес:

Независимо от метода, который вы используете для получения своего IP-адреса, введите его в адресную строку веб-браузера, чтобы просмотреть страницу Apache по умолчанию.

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

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

При появлении запроса подтвердите установку, введя Y , а затем ENTER .

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

Появится вопрос, хотите ли вы настроить ПРОВЕРКУ ПАРОЛЯ .

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

Ответьте Y, если да, или что-то еще, чтобы продолжить без включения.

Если вы ответите «да», вам будет предложено выбрать уровень проверки пароля. Имейте в виду, что если вы введете 2 для самого сильного уровня, вы получите ошибки при попытке установить любой пароль, который не содержит цифр, прописных и строчных букв и специальных символов или который основан на общеупотребительных словарных словах.

Независимо от того, выбрали ли вы установку VALIDATE PASSWORD PLUGIN, ваш сервер затем попросит вас выбрать и подтвердить пароль для пользователя root MySQL. Не следует путать с системным корнем. Пользователь root базы данных является администратором с полными привилегиями в системе базы данных. Несмотря на то, что метод аутентификации по умолчанию для пользователя root MySQL не требует использования пароля, даже если он установлен, вы должны определить здесь надежный пароль в качестве дополнительной меры безопасности. Мы поговорим об этом чуть позже.

Если вы включили проверку пароля, вам будет показана надежность пароля root, который вы только что ввели, и ваш сервер спросит, хотите ли вы продолжить использование этого пароля. Если вас устраивает текущий пароль, введите Y вместо «да» в ответ на приглашение:

Чтобы ответить на остальные вопросы, нажмите Y и клавишу ВВОД при каждом запросе. Это удалит некоторых анонимных пользователей и тестовую базу данных, отключит удаленный вход в систему root и загрузит эти новые правила, чтобы MySQL немедленно учитывал внесенные вами изменения.

Когда вы закончите, проверьте, можете ли вы войти в консоль MySQL, набрав:

Это позволит подключиться к серверу MySQL в качестве пользователя root административной базы данных, что подразумевается использованием sudo при выполнении этой команды. Вы должны увидеть такой вывод:

Чтобы выйти из консоли MySQL, введите:

Обратите внимание, что вам не нужно вводить пароль для подключения в качестве пользователя root, даже если вы определили его при запуске скрипта mysql_secure_installation. Это связано с тем, что метод аутентификации по умолчанию для административного пользователя MySQL — это unix_socket, а не пароль. Хотя на первый взгляд это может показаться проблемой безопасности, это делает сервер базы данных более безопасным, поскольку единственными пользователями, которым разрешено входить в систему в качестве пользователя root MySQL, являются системные пользователи с привилегиями sudo, подключающиеся из консоли или через приложение, работающее с одинаковые привилегии. На практике это означает, что вы не сможете использовать администратора базы данных root для подключения из вашего PHP-приложения. Установка пароля для корневой учетной записи MySQL служит защитой на случай, если метод аутентификации по умолчанию будет изменен с unix_socket на пароль .

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

Примечание. На момент написания этой статьи собственная PHP-библиотека MySQL mysqlnd не поддерживает caching_sha2_authentication — метод аутентификации по умолчанию для MySQL 8. По этой причине при создании пользователей базы данных для приложений PHP в MySQL 8 вы необходимо убедиться, что вместо этого они настроены на использование mysql_native_password. Мы покажем, как это сделать, на шаге 6.

Теперь ваш сервер MySQL установлен и защищен. Далее мы установим PHP, последний компонент в стеке LAMP.

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

У вас установлен Apache для обслуживания вашего контента и установлен MySQL для хранения и управления вашими данными. PHP — это компонент нашей установки, который будет обрабатывать код для отображения динамического содержимого конечному пользователю. В дополнение к пакету php вам понадобится php-mysql, модуль PHP, который позволяет PHP взаимодействовать с базами данных на основе MySQL. Вам также понадобится libapache2-mod-php, чтобы Apache мог обрабатывать файлы PHP. Базовые пакеты PHP будут автоматически установлены как зависимости.

Чтобы установить эти пакеты, запустите:

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

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

Шаг 4. Создание виртуального хоста для вашего веб-сайта

При использовании веб-сервера Apache вы можете создавать виртуальные хосты (аналогично блокам сервера в Nginx), чтобы инкапсулировать детали конфигурации и размещать более одного домена на одном сервере. В этом руководстве мы настроим домен с именем your_domain, но вы должны заменить его своим собственным доменным именем.

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

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

Создайте каталог для your_domain следующим образом:

Затем назначьте владельца каталога с помощью переменной среды $USER, которая будет ссылаться на вашего текущего системного пользователя:

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

Это создаст новый пустой файл. Вставьте следующую базовую конфигурацию:

Сохраните и закройте файл, когда закончите. Если вы используете nano , вы можете сделать это, нажав CTRL+X , затем Y и ENTER .

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

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

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

Наконец, перезагрузите Apache, чтобы эти изменения вступили в силу:

Ваш новый веб-сайт теперь активен, но корневая папка /var/www/ your_domain по-прежнему пуста. Создайте файл index.html в этом месте, чтобы мы могли проверить, работает ли виртуальный хост должным образом:

Включите в этот файл следующее содержимое:

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

Вы увидите страницу, подобную этой:

Тест виртуального хоста Apache

Если вы видите эту страницу, это означает, что ваш виртуальный хост Apache работает должным образом.

Вы можете оставить этот файл в качестве временной целевой страницы для вашего приложения, пока вы не замените его файлом index.php. Сделав это, не забудьте удалить или переименовать файл index.html из корня документа, так как по умолчанию он будет иметь приоритет над файлом index.php.

Примечание об индексе каталогов в Apache

С настройками DirectoryIndex по умолчанию в Apache файл с именем index.html всегда будет иметь приоритет над файлом index.php. Это полезно для настройки страниц обслуживания в приложениях PHP путем создания временного файла index.html, содержащего информационное сообщение для посетителей. Поскольку эта страница будет иметь приоритет над страницей index.php, она станет целевой страницей для приложения. После завершения обслуживания файл index.html переименовывается или удаляется из корня документа, возвращая обычную страницу приложения.

Если вы хотите изменить это поведение, вам нужно отредактировать файл /etc/apache2/mods-enabled/dir.conf и изменить порядок, в котором файл index.php указан в директиве DirectoryIndex:

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

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

Шаг 5. Проверка обработки PHP на вашем веб-сервере

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

Создайте новый файл с именем info.php в своей пользовательской корневой веб-папке:

Откроется пустой файл. Добавьте в файл следующий текст, который является действительным кодом PHP:

По завершении сохраните и закройте файл.

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

Вы увидите страницу, похожую на эту:

Информация о Ubuntu 20.04 PHP

На этой странице представлена ​​информация о вашем сервере с точки зрения PHP. Это полезно для отладки и проверки правильности применения настроек.

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

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

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

Шаг 6 — Тестирование подключения к базе данных из PHP (необязательно)

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

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

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

Сначала подключитесь к консоли MySQL, используя учетную запись root:

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

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

Следующая команда создает нового пользователя с именем example_user , используя mysql_native_password в качестве метода аутентификации по умолчанию. Мы определяем пароль этого пользователя как password , но вы должны заменить это значение безопасным паролем по своему выбору.

Теперь нам нужно дать этому пользователю разрешение на доступ к базе данных example_database:

Это даст пользователю example_user полные права доступа к базе данных example_database, но запретит этому пользователю создавать или изменять другие базы данных на вашем сервере.

Теперь выйдите из оболочки MySQL с помощью:

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

Обратите внимание на флаг -p в этой команде, который запрашивает пароль, используемый при создании пользователя example_user.После входа в консоль MySQL подтвердите, что у вас есть доступ к базе данных example_database:

Это даст вам следующий результат:

Далее мы создадим тестовую таблицу с именем todo_list. В консоли MySQL выполните следующую инструкцию:

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

Чтобы убедиться, что данные успешно сохранены в вашей таблице, выполните:

Вы увидите следующий вывод:

Убедившись, что в тестовой таблице есть достоверные данные, вы можете выйти из консоли MySQL:

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

Следующий PHP-скрипт подключается к базе данных MySQL и запрашивает содержимое таблицы todo_list, отображая результаты в виде списка. Если есть проблема с подключением к базе данных, будет выдано исключение. Скопируйте этот контент в свой скрипт todo_list.php:

Сохраните и закройте файл, когда закончите редактирование.

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

Вы должны увидеть страницу, подобную этой, показывающую контент, который вы вставили в свою тестовую таблицу:

Пример списка задач PHP

Это означает, что ваша среда PHP готова к подключению и взаимодействию с вашим сервером MySQL.

Заключение

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

Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

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

В этом руководстве мы установим стек LAMP (Apache, MySQL, PHP) на Ubuntu Server 20.04/20.10 и настроим веб-сервер.


Предпосылки

Вы должны использовать учетную запись пользователя без полномочий root с привилегиями sudo. Дополнительные сведения см. в руководстве по начальной настройке сервера для Ubuntu 20.04/20.10.

1. Установите Апач

Первым компонентом стека LAMP в Ubuntu 20.04/20.10 является Apache.

Начните с обновления списков пакетов и установки Apache. Нажмите y и ENTER, когда вас попросят продолжить.

Установка может занять несколько минут. После установки перейдите к шагу 2, чтобы настроить брандмауэр в Ubuntu 20.04/20.10.

2. Настроить брандмауэр

Настоятельно рекомендуется настроить брандмауэр для обеспечения дополнительной безопасности стека LAMP в Ubuntu 20.04/20.10.

Мы начнем с добавления правила брандмауэра для SSH, потому что если вы настраиваете свой сервер удаленно, вы не хотите быть заблокированным при включении брандмауэра. Возможно, вы уже сделали это в нашем руководстве по начальной настройке сервера для Ubuntu 20.04 / 20.10, но на всякий случай добавьте его еще раз. Если правило уже существует, команда просто пропустит его.

Если вы получаете сообщение об ошибке "ОШИБКА: может быть найден профиль, соответствующий openSSH", это, вероятно, означает, что вы не настраиваете сервер удаленно и можете игнорировать его.

Теперь мы можем добавить правила брандмауэра для Apache.

Теперь включите брандмауэр, если это еще не сделано.

Нажмите y, если появится сообщение "Команда может нарушить существующие подключения ssh".

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

Вы также можете проверить текущий статус брандмауэра с помощью:

Выше мы видим, что брандмауэр активен и имеет два правила для каждой службы. v6 — это сокращение от IPv6.

3. Протестировать Apache

Чтобы убедиться, что Apache правильно установлен в Ubuntu 20.04/20.10, мы можем проверить текущий статус службы.

Если он запущен и работает, вы должны увидеть зеленое активное состояние.

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

Возможно, вам придется нажать q, чтобы выйти из состояния сервера, если вы используете SSH-клиент.

Теперь, когда служба Apache запущена, вы сможете просматривать тестовую веб-страницу Apache через веб-браузер.

Введите IP-адрес вашего сервера в адресную строку и нажмите ENTER . Если вы не знаете свой IP-адрес, вы можете узнать его с помощью следующей команды.


Все готово!Вы можете найти эту приветственную страницу Apache по умолчанию в папке /var/www/html . Чтобы отредактировать этот файл:

Нажмите CTRL + X, чтобы выйти из текстового редактора nano.

Если у вас есть доменное имя, вы можете указать его на IP-адрес вашего сервера без дополнительной настройки, и Apache должен загрузить эту страницу по умолчанию. Однако если вы хотите разместить на своем сервере несколько доменов или настроить SSL-сертификаты с помощью Let’s Encrypt, вам следует настроить виртуальный хост на шаге 8 в конце этого руководства.

4. Установите MySQL

Следующим компонентом стека LAMP в Ubuntu 20.04/20.10 является MySQL.

Начните с обновления репозиториев и установки пакета MySQL.

Нажмите y и ENTER, если будет предложено установить.

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

Во время работы вы увидите зеленый статус "Активен", как показано ниже.

Возможно, вам придется нажать q, чтобы выйти из состояния службы, если вы используете SSH-клиент.

5. Настроить безопасность MySQL

Теперь вы должны запустить mysql_secure_installation, чтобы настроить безопасность для вашего сервера MySQL в Ubuntu 20.04/20.10.

5.1. Компонент проверки пароля (необязательно)

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

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

5.2. Создать корневой пароль

Если вы еще не создали пароль root для MySQL, сделайте это сейчас.

Создайте надежный пароль и введите его. Обратите внимание, что когда вы вводите пароли в Linux, во время ввода ничего не отображается (ни звездочек, ни точек).

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

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

Нажмите y и ENTER, чтобы удалить анонимных пользователей.

5.4. Отключить удаленный вход root

Нажмите y и ENTER, чтобы запретить удаленный вход в систему root.

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

Нажмите y и ENTER, чтобы удалить тестовую базу данных.

5.6. Перезагрузить таблицы привилегий

Нажмите y и ENTER, чтобы перезагрузить таблицы привилегий.

5.7. Протестировать службу MySQL

Компонент MySQL вашего стека LAMP в Ubuntu 20.04 / 20.10 теперь готов.

Вы должны войти на сервер MySQL, чтобы убедиться, что он работает правильно. Поскольку вы запускаете эту команду как sudo , она автоматически войдет в MySQL, используя корневую учетную запись MySQL. Если вас попросят ввести пароль, введите пароль своей учетной записи Linux, а не MySQL.

Чтобы выйти из MySQL, введите exit и нажмите клавишу ВВОД .

Вы успешно установили и настроили MySQL для своего стека LAMP в Ubuntu 20.04 / 20.10!

6. Установить PHP

Следующим и последним компонентом вашего стека LAMP в Ubuntu 20.04/20.10 является PHP.

Начните с обновления репозитория и установки пакета PHP. Мы также установим еще два пакета libapache2-mod-php и php-mysql, которые позволят PHP взаимодействовать с базой данных MySQL.

Нажмите y и ENTER, когда будет предложено установить пакет PHP.

7. Протестировать PHP

7.1. Протестируйте PHP в командной строке

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

Если PHP установлен правильно, вы должны увидеть что-то подобное ниже:

7.2. Протестировать PHP для Apache

Теперь давайте проверим PHP для Apache.

Создайте новый файл с именем info.php в корневом каталоге вашего документа.

После открытия редактора nano введите следующий код PHP.

Сохранить и выйти (нажмите CTRL + X , нажмите Y и затем нажмите ENTER )

Если вы не знаете свой IP, вы можете узнать его с помощью:

Информационная тестовая страница PHP 7 на Apache и Ubuntu 20.04 Focal Fossa

Ниже мы видим, что информационная страница PHP работает правильно.

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

Примечание. Если вы планируете загружать файлы размером более 2 МБ через WordPress или аналогичную систему, вам потребуется изменить файл конфигурации PHP и установить максимальный размер загрузки. См.: PHP/Apache: установите максимальную загрузку файла и размер сообщения.

Ваш стек LAMP в Ubuntu 20.04 / 20.10 готов! Если вы хотите настроить виртуальные хосты или настроить дополнительные параметры для Apache, читайте дальше.

8. Настройте виртуальный хост (необязательно)

Если вы хотите разместить несколько доменов на сервере LAMP Ubuntu 20.04/20.10 или настроить SSL-сертификаты с помощью Let’s Encrypt, вам потребуется настроить виртуальный хост.

Если у вас нет доменного имени, вместо этого вы можете обмануть свою ОС (Linux/Mac/Windows), чтобы преобразовать домен в IP-адрес вашего сервера Ubuntu 20.04/20.10. Подробнее об этом в разделе 8.4. ниже.

8.1. Создайте каталог и index.html

Создайте файл index.html для тестирования.

Введите следующее:

Сохранить и выйти (нажмите CTRL + X , нажмите Y и затем нажмите ENTER )

8.2. Создать виртуальный хост

Сохранить и выйти (нажмите CTRL + X , нажмите Y и затем нажмите ENTER )

Проверить на наличие ошибок.

Вы можете игнорировать любую ошибку, в которой упоминается "Не удалось надежно определить полное доменное имя сервера".

Отключите веб-сайт Apache по умолчанию, иначе он переопределит ваш виртуальный хост.

8.3. Тестировать виртуальный хост

Если у вас нет зарегистрированного доменного имени, вы можете перейти к шагу 8.4 ниже, чтобы заставить вашу ОС преобразовать выбранное вами доменное имя в Ubuntu 20.04 / 20.10 LAMP сервер.

Теперь вам нужно перейти к настройкам DNS вашего регистратора домена и указать запись A для вашего домена на IP-адрес вашего сервера Ubuntu 20.04 / 20.10 LAMP. После распространения записи A (это может занять от 24 до 48 часов) вы сможете увидеть свою тестовую страницу в браузере.


Чтобы добавить больше доменов, просто повторите шаг 8 выше.

8.4. Изменить файл hosts (необязательно)

Чтобы отредактировать файл hosts в Linux или Mac, запустите sudo nano /etc/hosts в терминале. В Windows следуйте этому руководству, чтобы изменить hosts. После открытия файлов hosts введите IP-адрес сервера Ubuntu 20.04 / 20.10 LAMP, а затем доменное имя, которое вы хотите разрешить.

Замените x.x.x.x на IP-адрес вашего веб-сервера.

Если вы не знаете IP-адрес своего веб-сервера, вы можете узнать его с помощью:

9. Настройте Apache (необязательно)

Теперь, когда Apache обслуживает веб-страницы на вашем сервере LAMP Ubuntu 20.04/20.10, вам могут быть полезны некоторые дополнительные параметры конфигурации.

9.1. Отключить список каталогов и включить AllowOverride

Apache по умолчанию отображает содержимое ваших каталогов без индексов (index.html, index.php). Это угроза безопасности, поскольку хакеры могут просматривать ваш веб-сервер в поисках скриптов.

Вы также обнаружите, что .htaccess по умолчанию будет игнорироваться в Apache. Если вам нужен .htaccess, вы можете включить его, изменив файл конфигурации Apache.

Откройте файл конфигурации.

Нажмите CTRL + W и найдите .

Блок должен выглядеть примерно так:

Удалите индексы, чтобы остановить список каталогов Apache, и измените AllowOverride на All, чтобы включить .htaccess . Теперь это должно выглядеть так:

Сохранить и выйти (нажмите CTRL + X , нажмите Y и затем нажмите ENTER )

9.2. Включить mod_rewrite

Если вы хотите позже настроить некоторые правила в .htaccess , вам, скорее всего, потребуется включить mod_rewrite .

Что дальше?

Теперь, когда ваш веб-сервер Ubuntu 20.04 / 20.10 LAMP запущен и работает, вы можете установить phpMyAdmin, чтобы вы могли управлять своим сервером MySQL.

Чтобы настроить бесплатный сертификат SSL для вашего домена:

Возможно, вы захотите установить FTP-сервер или настроить SFTP для корня вашего документа.

У нас также есть несколько других статей, посвященных повседневному управлению сервером Ubuntu 20.04/20.10 LAMP.

Сообщите мне, помогло ли это. Подпишитесь на меня в Twitter, Facebook и YouTube или 🍊 купите мне смузи.

пс. Я увеличил свой доход от AdSense на 200% с помощью ИИ 🤖. Прочтите мой обзор Ezoic, чтобы узнать, как это сделать.

18 ответов

Оставить ответ

Не удается подключиться к моему IP-адресу. Пожалуйста, помогите мне.

Но на моем сервере есть другой сайт,
как я могу подключить свой поддомен к моему серверу

отлично, очень полезно

Как войти в phpmyadmin после этой установки?

Очень точно! Спасибо

Это лучшее объяснение, которое я нашел о стопке ламп. Спасибо!

Ваши пояснения помогли мне продвинуться вперед.
С другой стороны, на шаге 2, пожалуйста, как настроить – Брандмауэр – вместо – Ufw -?
Я установил Ufw, но не понял, как это программное обеспечение работает, поэтому я переустановил брандмауэр (Xubuntu 20.04).

Ждем вашего ответа. Заранее спасибо.

Здравствуйте, с помощью шага 8 я могу получить доступ к своему индексу с моей машины Windows?

Я выполнил этот шаг здесь, но мой сервер Ts3 также работал на моем vserver, и теперь я больше не могу к нему подключиться. Почему?

Спасибо огромное!!

Благодарю вас щедрый дух!

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

Это одно из самых подробных руководств, которые я когда-либо видел. Меня всегда интересовал виртуальный хостинг — возможно, в этом и есть фишка. Кажется, что несколько IP-адресов относятся к одному и тому же серверу, но к определенному хосту на машине (виртуальный хост). Молодец!

Читайте также: