Мне удалось установить рабочее окружение для программирования.
Теперь у меня есть рабочий 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. Конечно это не безопасно, но я ведь работаю на локальном компьютере без доступа из интернета. А значит для моих нужд таких настроек вполне достаточно.
Продолжение следует…