Теория
Локальный сервер — это комплекс программного обеспечения позволяющий работать Вашим сайтам, web-приложениям. По сути состоит из:
- Интерпретатора используемого языка
- Базы данных
- Сервера, способного выдавать конкретные данные по запросу использующего данный сервер
Мы поднимем и настроим сервер для работы с php-скриптами (оно же сайты на php) используя операционную систему из семейства Linux. Аналогичные действия приведённые ниже можно применить на любом дистрибутиве семейства Linux. Стоит только учесть тот факт, что некоторое из перечисленного программного обеспечения может быть уже установлено из коробки. Разные сборки Linux-дистрибутивов содержат в себе разный набор ПО. Будьте внимательны.
Установка локального сервера
Будем проводить быструю установку. Установите программу tasksel, для этого выполните через терминал следующую команду от имени администратора или, оно же, супер пользователя.
1 |
sudo apt install tasksel |
После успешной инсталляции, установим LAMP (Linux-Apache-MySQL-PHP).
- L (Linux) — операционная система для которой предназначен данный программный комплекс
- A (Apache) — сервер, выдающий необходимые данные по запросу, в данном случае инсталлируется Apache2
- M (MySQL) — реляционная база данных
- P (PHP) — интерпретатор языка скриптов наших сайтов, приложения и прочего-прочего-прочего
Выполните через терминал от имени администратора следующую команду
1 |
sudo tasksel install lamp-server |
Установка займёт некоторое количество времени, наберитесь терпения. В процессе инсталляции будет запрошен пароль для базы данных MySQL, придумайте и используйте адекватный пароль. Побеспокойтесь о сохранении данного пароля, запишите его.
Теперь установим phpmyadmin для удобного и молниеносного администрирования базой данных. Выполните от имени администратора следующую команду
1 |
sudo apt install phpmyadmin |
Почти в самом начале инсталляции потребуется выбрать для какого сервера будет производиться установка, выбираем Apache2. Дожидаемся успешного завершения.
Настройка локального сервера
После того, как весь необходимый программный комплекс был установлен наступает пора настройки. Чтобы phpmyadmin заработал как мы этого хотим выполните следующий набор команд, опять же от имени супер пользователя.
Создайте конфигурационный файл жизненно важный для работы phpmyadmin
1 |
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf |
Далее укажем, чтобы сервер использовал наши кастомные настройки для функционирования phpmyadmin
1 |
sudo a2enconf phpmyadmin |
И последним этапом применим наши настройки и перезапустим сервер Apache2
1 |
sudo /etc/init.d/apache2 reload |
После проведённых манипуляций для phpmyadmin необходимо удостовериться, что он работает. Перейдите в браузер и в адресной строке наберите http://localhost/phpmyadmin. Если всё работает, то Вас встретит окно авторизации phpmyadmin. Если же ошибка, то проверьте, правильно ли Вы всё установили и ничего не пропустили.
Так как авторизационные данные генерируются автоматически нужно создать свою пару логин/пароль. Откройте терминал и выполните следующее от имени администратора. Остановим MySQL.
1 |
sudo service mysql stop |
Далее запустим MySQL со следующими параметрами
1 |
sudo mysqld --skip-grant-tables --user=root |
Вызовем консоль MySQL для проведения дальнейших манипуляций (может не сработать, читайте ниже)
1 |
mysql -u root |
Если данная команда не сработала и выдала ошибку, то необходимо немножко покопаться ручками в файлах конфигурации MySQL. Будьте внимательны, излишний и неоправданный энтузиазм может привести к краху всю систему базы данных.
Найдите файл mysqld.cnf по следующему пути «/etc/mysql/mysql.conf.d/mysqld.cnf». Откройте данный файл от имени администратора, найдите секцию [mysqld] и прямо после данного заголовка создайте пустую строку. Пропишите на новой строке skip-grant-tables. Это позволит обойти безопасность MySQL. Сохраните файл и откройте терминал, необходимо перезапустить нашу базу данных выполнив команду sudo service mysql restart.
Если Вам пришлось выполнить ручную настройку, то заново выполните через терминал команду
1 |
mysql -u root |
Создадим нового пользователя с правами администратора базы данных. Придумайте пароль для администратора (пользователя с именем root) и замените строку ‘Ваш пароль’ в команде ниже на придуманный пароль
1 2 |
UPDATE mysql.user SET authentication_string=PASSWORD('Ваш пароль'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES; |
Если вы правили вручную файл конфигурации, то после создания нового админа для базы данных удалите созданную в ручную строчку в файле mysqld.cnf
И в завершении настройки MySQL, перезапустите MySQL выполнив команду
1 |
sudo service mysql restart |
Завершение
Откройте любой браузер и в адресной строке наберите http://localhost/phpmyadmin. Должно появиться окно приветствия phpmyadmin. Используйте созданные Вами авторизационные данные, где логином является «root», а паролем придуманный Вами пароль. После успешной авторизации попадёте в окно администрирования базы данных.