Как установить стек lamp (apache, mysql, php) на ubuntu 20.04

Step #1: Add MySQL APT Repository in Ubuntu

Ubuntu comes with default package repositories. So,if we want to add/install latest repositories then we have to add/install package repositories.

Update the System Packages

sudo apt update

Install wget on ubuntu if not installed

sudo apt install wget -y

Below are commands to add/download latest MySQL APT repository using command line,

then, below command is to install above downloaded apt repository,

sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

Select Ubuntu Bionic option and click on Ok.

By default it shows MySQL 8.0, Click on First option .

Select MySQL 5.7 server and click on OK.

Confirm that showing MySQL 5.7 on First option and Click on OK.

Step #3: How to Install MySQL 5.7 on Ubuntu 20.04 LTS

Error:

The following packages have unmet dependencies:mysql-community-server : Depends: mysql-client (= 5.7.35-1ubuntu18.04) but it is not going to be installedE: Unable to correct problems, you have held broken packages.

Solution:

sudo apt install -f mysql-client=5.7.35-1ubuntu18.04

Install MySQL 5.7 on Ubuntu 20.04 LTS using below command,

sudo apt install -f mysql-community-server=5.7.35-1ubuntu18.04

Installation process will prompt default password for root user and again same password.

Install mysql-server=5.7.35 package also

sudo apt install -f mysql-server=5.7.35-1ubuntu18.04

Step 2 — Configuring MySQL

For fresh installations, you’ll want to run the included security script. This changes some of the less secure default options for things like remote root logins and sample users. On older versions of MySQL, you needed to initialize the data directory manually as well, but this is done automatically now.

Run the security script:

This will take you through a series of prompts where you can make some changes to your MySQL installation’s security options. The first prompt will ask whether you’d like to set up the Validate Password Plugin, which can be used to test the strength of your MySQL password. Regardless of your choice, the next prompt will be to set a password for the MySQL root user. Enter and then confirm a secure password of your choice.

From there, you can press and then to accept the defaults for all the subsequent questions. This will remove some anonymous users and the test database, disable remote root logins, and load these new rules so that MySQL immediately respects the changes you have made.

To initialize the MySQL data directory, you would use for versions before 5.7.6, and for 5.7.6 and later. However, if you installed MySQL from the Debian distribution, as described in Step 1, the data directory was initialized automatically; you don’t have to do anything. If you try running the command anyway, you’ll see the following error:

Output

Note that even though you’ve set a password for the root MySQL user, this user is not configured to authenticate with a password when connecting to the MySQL shell. If you’d like, you can adjust this setting by following Step 3.

Интерфейс администрирования

MySQL и клоны по умолчанию распространяются без графического интерфейса. В самых простых случаях с несколькими базами для управления достаточно командной строки, когда же количество серверов, баз и админов, их обслуживающих, переваливает за десяток, необходимость в GUI становится более очевидной. Oracle предлагает свою разработку — единый инструмент для разработчиков баз данных и администраторов MySQL Workbench для Windows, Linux, OS X. Это мощная среда с большими возможностями, позволяющая визуально проектировать, создавать базы данных и управлять ими. Доступны все инструменты для настройки серверов, администрирования учетных записей, бэкапа и восстановления, аудита и простого мониторинга состояния. Также с его помощью можно легко выполнить миграцию с других СУБД — MS SQL Server, Sybase ASE, PostreSQL и прочих. Возможности к тому же можно расширить при помощи плагинов. Интерфейс не локализован. Функций очень много, поэтому некоторое время придется потратить, чтобы освоиться, хотя в общем среда удобная. Версия Community (OSS) Edition распространяется по лицензии GNU GPL. Установка проблем не вызывает, доступны пакеты под разные дистрибутивы Linux, Windows и OS X. Для Red Hat / CentOS лучше воспользоваться в EPEL, в Ubuntu APT репозиторием разработчика.

Очень популярен среди хостеров phpMyAdmin, позволяющий выполнить в интуитивной среде большинство операций по управлению базами данных, работе с таблицами, индексами, правами доступа, настройку репликации, экспорт информации, бэкап/восстановление, просматривать статистику и так далее. При этом остается возможность непосредственного ввода любых SQL-запросов. Поддерживается управление несколькими серверами. Все достаточно интуитивно, и с администрированием может справиться пользователь без особой подготовки, с любого устройства, где есть браузер. В Сети множество инструкций и примеров по использованию phpMyAdmin. Установка из репозитория пакетов проблем не вызывает, в качестве веб-сервера можно использовать не только Apache, но и более легкие nginx или lighttpd. Некоторые панели управления хостингом вроде cPanel и Plesk имеют поддержку phpMyAdmin.

Пользователи Windows наверняка оценят HeidiSQL, поддерживающий управление MySQL, MS SQL и PostgreSQL (пока экспериментально) и распространяемый под Open Source лицензией. Программа имеет очень удобный интерфейс, поддерживает подключение сразу к нескольким серверам, которые доступны в одном окне, это упрощает операции по экспорту/импорту данных. Доступно создание и редактирование баз, таблиц, управление привилегиями, экспорт таблиц (CSV, HTML, XML, SQL, …), поиск, оптимизация, мониторинг. При написании запросов помогает автодополнение. Поддерживается командная строка, возможно подключение по SSH-тоннелю. Есть Portable-версия, используя Wine, его можно запустить и в *nix / OS X.

Для тех, кому не подошли описанные продукты, в интернете можно найти большое количество аналогов: SQLyog, dbForge Studio for MySQL, TOra, SQL Buddy и другие.

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

Для Ubuntu 22.04 доступна только версия MySQL 8. Версия 5.7 считается уже устаревшей и для неё пакеты в новой версии дистрибутива не собирались. Вы можете установить MySQL 8 из официальных репозиториев или же из репозитория разработчиков. На момент написания статьи там находятся одинаковые версии пакетов, но Ubuntu 22.04 только недавно вышла, к концу её срока поддержки ситуация может изменится.

Установка из официальных репозиториев

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

Затем выполните такую команду для установки MySQL сервера и клиента:

Установка из репозиториев разработчиков

Установка MySQL в Ubuntu 22.04 из репозиториев разработчиков немного сложнее. Сначала необходимо добавить этот репозиторий в систему. Для загрузите deb пакет с конфигурацией репозитория из официального сайта:

Сайт может предложить вам зарегистрироваться, но это не обязательно, просто нажмите кнопку No thanks, just start my download:

Далее установите загруженный пакет используя команду:

В процессе настройки пакета вам будет необходимо ответить на несколько вопросов установщика. На первом экране выберите Ок и нажмите Enter:

На втором экране вы можете настроить версии компонентов. Поскольку сейчас доступна только одна версия MySQL, то здесь можно оставить всё по умолчанию. Просто спуститесь на пункт Ок с помощью стрелок вверх/вниз и нажмите Enter:

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

И установите MySQL:

Step 3 — (Optional) Adjusting User Authentication and Privileges

In Ubuntu systems running MySQL 5.7 (and later versions), the root MySQL user is set to authenticate using the plugin by default rather than with a password. This allows for some greater security and usability in many cases, but it can also complicate things when you need to allow an external program (e.g., phpMyAdmin) to access the user.

In order to use a password to connect to MySQL as root, you will need to switch its authentication method from to . To do this, open up the MySQL prompt from your terminal:

Next, check which authentication method each of your MySQL user accounts use with the following command:

In this example, you can see that the root user does in fact authenticate using the plugin. To configure the root account to authenticate with a password, run the following command. Be sure to change to a strong password of your choosing, and note that this command will change the root password you set in Step 2:

Then, run which tells the server to reload the grant tables and put your new changes into effect:

Check the authentication methods employed by each of your users again to confirm that root no longer authenticates using the plugin:

You can see in this example output that the root MySQL user now authenticates using a password. Once you confirm this on your own server, you can exit the MySQL shell:

Alternatively, some may find that it better suits their workflow to connect to MySQL with a dedicated user. To create such a user, open up the MySQL shell once again:

Note: If you have password authentication enabled for root, as described in the preceding paragraphs, you will need to use a different command to access the MySQL shell. The following will run your MySQL client with regular user privileges, and you will only gain administrator privileges within the database by authenticating:

From there, create a new user and give it a strong password:

Then, grant your new user the appropriate privileges. For example, you could grant the user privileges to all tables within the database, as well as the power to add, change, and remove user privileges, with this command:

Note that, at this point, you do not need to run the command again. This command is only needed when you modify the grant tables using statements like , , or . Because you created a new user, instead of modifying an existing one, is unnecessary here.

Following this, exit the MySQL shell:

Finally, let’s test the MySQL installation.

Скринкаст: Базовая установка LAMP WEB сервера на Ubuntu server 14.04 в русском интерфейсе ВИДЕО 3.1

В скринкасте выполнена полная базовая установка LAMP WEB сервера на основе операционной системы Ubuntu server 14.04, включая необходимые компоненты apache, mysql, php, OpenSSH, Postfix из репозиториев Ubuntu в их текущих версиях. Такая базовая установка подойдет для большинства целей и задач, как для организации среды разработки и разработческого LAMP WEB сервера, так и продуктивного. Скринкаст демонстрирует шаги и этапы установки Ubuntu server 14.04 и компонентов LAMP в русском интерфейсе. Для примеров использована виртуальная машина Oracle VM VirtualBox.

Смотреть на YouTube скринкаст: Базовая установка LAMP WEB сервера на Ubuntu server 14.04 в русском интерфейсе ВИДЕО 3.1 

Содержание скринкаста:

  • Что такое «Базовая установка LAMP WEB сервера»……………………00:15
  • Компоненты LAMP WEB сервера…………………………………….01:09
  • Репозитории Ubuntu…………………………………………….02:00
  • PPA репозитории на Launchpad……………………………………05:27
  • Цели Базовой установки LAMP WEB сервера………………………….05:50
  • Создание виртуальной машины…………………………………….07:57
  • Выбор языка начального экрана-меню программы установки Ubuntu server..09:43
  • Выбор опции «Установить Ubuntu server»…………………………..10:24
  • Выбор языка устанавливаемой системы……………………………..10:56
  • Выбор географического местоположения…………………………….13:56
  • Настройка клавиатуры: язык, переключение…………………………14:17
  • Настройка сетевого имени сервера………………………………..16:03
  • Настройка учетных записей пользователей и паролей…………………16:22
  • Настройка временной зоны……………………………………….19:20
  • Разметка дисков……………………………………………….20:14
  • Настройка менеджера пакетов apt…………………………………29:10
  • Выбор способа обновления системы………………………………..31:20
  • Выбор дополнительных пакетов программ: LAMP, OpenSSH, Postfix………33:00
  • Настройка MySQL……………………………………………….36:22
  • Первичная настройка Postfix…………………………………….36:43
  • Установка системного загрузчика GRUB…………………………….40:44
  • Завершение установки Ubuntu server………………………………41:15
  • Меню загрузки Ubuntu server…………………………………….41:41
  • Вход в установленную систему «Ubuntu server 14.04″………………..42:33
  • Экран терминала «Ubuntu server 14.04″……………………………42:50
  • Обновление пакетов программ после установки системы……………….43:14
  • Выход и завершение работы «Ubuntu server 14.04″…………………..46:48

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

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

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

Для подтверждения установки введите , а затем нажмите .

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

Скрипт предложит настроить плагин .

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

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

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

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

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

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

Завершив настройку, проверьте возможность входа в консоль MySQL, набрав следующую команду:

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

Для выхода из консоли MySQL введите следующую команду:

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

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

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

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

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

Шаг 1 — Установка Apache и настройка файрвола

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

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

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

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

После ввода пароля сообщит, какие пакеты будут установлены и сколько места они займут на диске. Нажмите Y и Enter для продолжения установки.

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

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

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

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

Внимание

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

/etc/apache2/apache2.conf

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

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

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

Перезапустите Apache для применения внесённых изменений:

Теперь можно приступать к настройке файрвола.

Настройка файрвола

Теперь убедимся, что ваш файрвол пропускает HTTP и HTTPS трафик. Мы будем исходить из предположения, что вы уже выполнили инструкции по первичной настройке сервера и включили файрвол UFW. Для начала убедимся, что UFW имеет профиль для Apache следующей командой:

Проверим настройку профиля , она должна разрешать трафик для портов 80 и 443:

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

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

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

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

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

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

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

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

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

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: