Мне удалось установить рабочее окружение для программирования.
Теперь у меня есть рабочий HTTP сервер Apache, база данных MySQL и PHP. Для удобного администрирования MySQL есть phpmyadmin. Осталось всё это настроить для удобной работы.

Начну с сервера Apache. Открываю файл конфигурации

/etc/apache2/apache2.conf

Нахожу там такие строки

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

И добавляю ещё один блок с изменениями всего в двух строках

<Directory /home/pv/www/>
        Options Indexes FollowSymLinks
        AllowOverride All 
        Require all granted
</Directory>

<Directory /home/pv/www/> — здесь я указал путь к домашней папке в которой буду хранить рабочие проекты.
AllowOverride All — включаю чтение файлов .htaccess
Сохраняю файл.

Дальше редактирую ещё один файл

sudo nano /etc/apache2/sites-available/000-default.conf

Здесь меняю всего одну строку с

DocumentRoot /var/www/html

на

DocumentRoot /home/pv/www/PuzzleChessCms

То есть указываю путь к папке в которой будет лежать проект моей будущей CMS.

Перезагружаю сервер

sudo systemctl restart apache2

Для проверки в папке проекта создам файл index.php

sudo nano www/PuzzleChessCms/index.php

В нём пишу:

<?php
phpinfo();

Открываю браузер и перехожу по адресу: http://penguin.linux.test/
Результат:

Отлично! Сервер работает и PHP тоже.
Немного настрою PHP
Открываю конфигурационный файл php

sudo nano /etc/php/7.4/apache2/php.ini

Нахожу строку

display_errors = Off

Меняю Off на On. Таким образом я включил показ ошибок. Дополнительно нахожу строку error_reporting и ставлю значение

error_reporting = E_ALL

В конце файла вставляю 1 строку

zend_extension="/usr/lib/php/20190902/xdebug.so"

В zend_extension я просто прописал путь к файлу xdebug.so Сохраняю файл и перезагружаю сервер

Всё сервер Apache и PHP установлены и настроены. Теперь стоит предстоит настроить MySQL. Дело в том, что во время установки MySQL не спросил меня какой пароль задать для пользователя root и теперь я его не знаю. Конечно я могу работать с базами через консоль с помошью

sudo mysql

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

sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '0000';

Где 0000 это новый пароль root пользователя.

Теперь я могу входить в phpmyadmin как root пользователь с паролем 0000. Конечно это не безопасно, но я ведь работаю на локальном компьютере без доступа из интернета. А значит для моих нужд таких настроек вполне достаточно.

Продолжение следует…