Установка Apache/PHP/MySQL на Ubuntu

Установка Apache
Команды для установки
Установим первый после операционной системы компонент LAMP — Apache.

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

sudo apt update

Установим Apache:

sudo apt install apache2
——————————-
Настройка брандмауэра
Брандмауэр (файервол) должен пропускать HTTP и HTTPS-трафик — то есть должны быть открыты порты 80 и 443.

Для начала нужно установить утилиту для управления правилами файервола UFW (Uncomplicated Firewall) и включить UFW:

sudo apt install ufw
sudo ufw enable

На сервере должны быть доступны профили приложений для Apache. Посмотрим список профилей:

sudo ufw app list

Вывод команды выглядит примерно таким образом:

Available applications:
Apache
Apache Full
Apache Secure
OpenSSH

Можем увидеть, что в выводе присутствует профиль Apache Full — именно он открывает нужные порты 80 и 443.
Разрешим для него входящий трафик:

sudo ufw allow ‘Apache Full’

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

sudo ufw allow ‘OpenSSH’

Проверим изменения:

sudo ufw status

В выводе команды проверим, что UFW активен, нужные профили включены, а, значит, разрешен HTTP и HTTPS-трафик:

Status: active

To Action From
— —— —-
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

Проверка работы Apache
Проверим статус Apache, он должен быть активен (Active в выводе команды):

sudo systemctl status apache2

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

С названием странцы:
Apache2 Ubuntu Default Page

Установка MySQL
Команда для установки
После установки и настройки Apache можно устанавливать следующий компонент — СУБД MySQL:

sudo apt install mysql-server

Для изменения пароля используйте:
mysql
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password by ‘mynewpassword’;
Пример: ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password by ‘KolC5a8a4Doc9’;
exit

Настройка безопасности БД
Для защиты окружения рекомендуется запустить скрипт безопасности:

sudo mysql_secure_installation

Когда система предложит установить плагин валидации паролей (VALIDATE PASSWORD plugin), введем в терминал y или Y для подтверждения. Установка этого плагина поможет задать пароль с повышенными требованиями к безопасности.

Далее выберем уровень надежности паролей, всего их три:

низкий (LOW) — длина такого пароля должна быть больше 8 символов;
средний (MEDIUM) — длина пароля больше 8 символов, при этом пароль должен содержать цифры, буквы в верхнем и нижнем регистре, а также специальные символы;
сильный (STRONG) — для такого пароля должны быть соблюдены те же условия, что и для среднего уровня надежности, но при этом в пароле не должны использоваться слова, которые могут быть уязвимы при подборе пароля по словарю.
Введем в терминале значение для выбора уровня: 0 для LOW, 1 для MEDIUM или 2 для STRONG.

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

Система определит и выведет значение надежности пароля (Estimated strength of the password).

На дальнейшие вопросы от системы рекомендуем вводить в терминале подтверждение (y или Y) — это настройки удаления анонимных пользователей, удаление открытой тестовой базы и так далее.

Пароль будет создан, когда в терминале будет выведено сообщение «All done!».

Установка PHP
Команды для установки
Теперь можно перейти к установке последней составляющей стека — PHP.

Установим PHP и специальные модули для работы PHP с Apache и MySQL:

sudo apt install php libapache2-mod-php php-mysql

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

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

sudo apt install php7.2

Чтобы узнать версию PHP, которая установлена, используйте команду:

php -v

Проверка установки PHP
Для проверки создадим небольшой PHP-скрипт с любым названием, например test.php, в корневой директории /var/www/html:

sudo nano /var/www/html/test.php

Заполним этот файл таким содержимым:

Сохраним и закроем файл (сочетание клавиш Ctrl+X, а затем Y+Enter).

Такой скрипт вызовет функцию phpinfo(), которая выводит информацию о PHP и список параметров.

Теперь откроем этот файл по URL:

http://server_IP/test.php

Ставим mc
sudo apt install mc

Если все настроено корректно, будет доступна информация о PHP:

Монтируем сетевой диск:

Перед началом работы следует убедиться существует ли диск в системе.
Иногда наличие устройства в BIOS может быть недостаточным. Доступные накопители проверяем командой:

sudo fdisk -l

sudo mount /dev/sdb1 /var/www

Если нужно:
Отмонтировать диск:
sudo umount /dev/sdb1 /var/www

Для монтирования диска автоматически при загрузке системы, редактируем файл /etc/fstab. Открываем любым текстовым редактором, например nano:

sudo nano /etc/fstab

В самый конец файла вставляем строку:

/dev/sdb1 /var/www ext4 defaults 0 0
——————————————————
Настройка виртуальных хостов (опционально)
Apache позволяет запустить на одной машине несколько веб-сайтов — при этом данные каждого сайта будут лежать в разных директориях. Для этого используются конфигурационные файлы — виртуальные хосты.

Допустим, мы хотим разместить на одном сервере два сайта. Сконфигурируем Apache.

Создание директорий
Размещать файлы виртуальных хостов будем внутри директории /var/www/.
Для каждого хоста создадим новую отдельную директорию:

sudo mkdir -p /var/www/first_IP

Обратите внимание, что вместо IP-адреса можно использовать и доменное имя.

Предоставление прав
Сейчас права доступа к директориям есть только у root-пользователя. Настроим права всем пользователям системы, используя переменную среды $USER:

sudo chown -R $USER:$USER /var/www/first_IP
(sudo chown -R $USER:$USER /var/www/rhyme.ru)

Откроем пользователю доступ на чтение, редактирование и запуск файлов в директории /var/www:

sudo chmod -R 755 /var/www

Создание страниц для тестирования
В дальнейшем нам нужно будет проверить, правильно ли настроены виртуальные хосты. Для этого можно создать для каждого IP-адреса (домена) HTML-страницы, которые будут открываться в браузере при вводе соответствующего IP или домена, например, главные страницы index.html.

Создадим страницу для первого IP:

sudo nano /var/www/first_IP/index.html
Добавим на страницу текст:



rhyme.ru

Wow! First Site works! rhyme.ru!


Сохраним и закроем файл.

Создание виртуальных хостов
По умолчанию в Apache используется виртуальный хост 000-default.conf. Этот файл мы будем использовать как шаблон для создания собственных виртуальных хостов.

Для каждого сайта конфигурационные файлы (виртуальные хосты) хранятся в директории /etc/apache2/sites-available/. Скопируем содержимое виртуального хоста, который используется по умолчанию, в новый файл — мы будем использовать его для настройки первого сайта:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/first_IP.conf
Откроем новый конфигурационный файл первого сайта:

sudo nano /etc/apache2/sites-available/first_IP.conf

Изменим значения в файле:


ServerAdmin webmaster@localhost
ServerName first_IP
DocumentRoot /var/www/first_IP


Options Indexes FollowSymLinks
AllowOverride All
Require all granted

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Где:

ServerAdmin — электронная почта администратора сайта;
ServerName — IP-адрес сайта или его доменное имя;
DocumentRoot — директория, в которой хранится конфигурационный файл (виртуальный хост).
Сохраним и закроем файл.

Чтобы избежать проблем с разрешениями, измените владельца корневого каталога документов домена на пользователя apache ( www-data ):

sudo chown -R www-data: /var/www/example.com
Это отсюда
https://routerus.com/how-to-install-apache-on-ubuntu-20-04/

Активация виртуальных хостов
Активируем виртуальные хосты с помощью a2ensite:

sudo a2ensite first_IP.conf

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

sudo a2dissite 000-default.conf

Проверим, нет ли ошибок в конфигурационных файлах:

sudo apache2ctl configtest

Если ошибки отсутствуют, то получим результат:

Syntax OK

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

sudo systemctl restart apache2

Теперь Apache должен обслуживать сайты, IP-адреса или домены которых мы прописали в виртуальных хостах.
Проверим работу: перейдем в браузере на сайты — должны появиться созданные индексные страницы:

———————————————————
Установка phpMyAdmin
Первый шаг — установка модуля расширения php-mbstring. Mbstring предоставляет функции для работы с многобайтными строками, которые облегчают обработку многобайтовых кодировок в php.

Команда установки:

sudo apt install php-mbstring -y

Вывод успешной установки:

vlan48@apachi:~$ sudo apt install php-mbstring -y
[sudo] password for vlan48:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
libonig5 php7.4-mbstring
The following NEW packages will be installed:
libonig5 php-mbstring php7.4-mbstring
0 upgraded, 3 newly installed, 0 to remove and 27 not upgraded.
Need to get 541 kB of archives.
After this operation, 1709 kB of additional disk space will be used.
Get:1 http://mirror.selectel.ru/ubuntu focal/universe amd64 libonig5 amd64 6.9.4-1 [142 kB] Get:2 http://mirror.selectel.ru/ubuntu focal-updates/universe amd64 php7.4-mbstring amd64 7.4.3-4ubuntu2.6 [397 kB] Get:3 http://mirror.selectel.ru/ubuntu focal/universe amd64 php-mbstring all 2:7.4+75 [2012 B] Fetched 541 kB in 0s (12.1 MB/s)
Selecting previously unselected package libonig5:amd64.
(Reading database … 45001 files and directories currently installed.)
Preparing to unpack …/libonig5_6.9.4-1_amd64.deb …
Unpacking libonig5:amd64 (6.9.4-1) …
Selecting previously unselected package php7.4-mbstring.
Preparing to unpack …/php7.4-mbstring_7.4.3-4ubuntu2.6_amd64.deb …
Unpacking php7.4-mbstring (7.4.3-4ubuntu2.6) …
Selecting previously unselected package php-mbstring.
Preparing to unpack …/php-mbstring_2%3a7.4+75_all.deb …
Unpacking php-mbstring (2:7.4+75) …
Setting up libonig5:amd64 (6.9.4-1) …
Setting up php7.4-mbstring (7.4.3-4ubuntu2.6) …

Creating config file /etc/php/7.4/mods-available/mbstring.ini with new version
Setting up php-mbstring (2:7.4+75) …
Processing triggers for libc-bin (2.31-0ubuntu9.2) …
Processing triggers for libapache2-mod-php7.4 (7.4.3-4ubuntu2.6) …
Processing triggers for php7.4-cli (7.4.3-4ubuntu2.6) …

Обратить внимание на Validate Password
Во время инсталляции LAMP мог быть активирован плагин Validate Password. Это чревато ошибкой при создании пароля для пользователя phpmyadmin. Для деактивации плагина необходимо выполнить следующие шаги:

Открыть консоль управления MySQL:

sudo mysql

Если активна аутентификация по паролю суперпользователя root, команда будет выглядеть так:

mysql -u root -p

Теперь отправляем следующую команду:

UNINSTALL COMPONENT «file://component_validate_password»;
Это действие произведет отключение плагина Validate Password.

Покинем консоль MySQL, команда:

exit

Следующим этапом станет инсталляция phpMyAdmin в систему. Выполняется это командой:

sudo apt install phpmyadmin -y

Продолжим установку. После отправки команды в терминал появится окно установщика, в котором потребуется ответить на ряд вопросов. Навигация в установщике осуществляется посредством использования клавиш Up down, выбор пунктов кнопка «Пробел», переход ниже — Tab. Ввод выбранного ответа — Enter.

На первый вопрос про используемый web-сервер, необходимо ответить — apache2.

https://lh4.googleusercontent.com/AiIyA_pRTcZwXqq_V0g7kx6-n-_dGOHHXJpdY0zd0BLR2QjqwkFfhaQatSfmi6O_07Bw7JUUrpdSHnc971Vw-vXLLYyHPkcwsw3QSp2DMt_o8FHe9JfFfKEayfdUHBS2MCxPmB6R

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

https://lh5.googleusercontent.com/Rw8fI9rJ-WftaF2VgTcOqLZeu5QG4BfZ21w90w3E-LFnml77aDPubttMO7TAq8TvTEHtrTMlDU-qJz7j7_6SJlzqxD7xXE9netLGOqS6l-zKWiJTGd7JkeCT9NLYqiphEUGZX32d

Следующим пунктом будет установлен пароль ранее созданной базы данных для пользователя phpmyadmin:

https://lh4.googleusercontent.com/z7Xm1AxYmArwp-IX_Q2dkAIS3351NKaZt72pID3neP-O4H_LgflsnR2EoE4ORjDHs8SpEf1UmLh5iz6VYg77RVEqZPVTxh1O-y17iu—dnT-bMe0IUwWDkx4U2r37Y_wGl2SGAzF

Подтвердим созданный ранее пароль:

https://lh4.googleusercontent.com/6tvxJtnyOTTvCz-yqvbR7-FT84I5w9wVL_4kiyYil80nr7UxycAkBXJPkxOtBkcJhwNIVPGei9dBoDGBwoG6XabNKbOoUgd3jKWeVCJJo90XnfVltybgGkef5A6GFxcuxg_F3MAd

Вывод успешной работы программы:

vlan48@apachi:~$ sudo apt -y install phpmyadmin
[sudo] password for vlan48:
Reading package lists… Done
Building dependency tree
Reading state information… Done
Suggested packages:
www-browser php-recode php-gd2 php-pragmarx-google2fa php-bacon-qr-code php-samyoul-u2f-php-server
Recommended packages:
php-curl php-gd php-bz2 php-zip php-tcpdf
The following NEW packages will be installed:
phpmyadmin
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
Need to get 4426 kB of archives.
After this operation, 27.2 MB of additional disk space will be used.
Get:1 http://mirror.selectel.ru/ubuntu focal/universe amd64 phpmyadmin all 4:4.9.5+dfsg1-2 [4426 kB] Fetched 4426 kB in 0s (34.8 MB/s)
Preconfiguring packages …
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
Selecting previously unselected package phpmyadmin.
(Reading database … 46341 files and directories currently installed.)
Preparing to unpack …/phpmyadmin_4%3a4.9.5+dfsg1-2_all.deb …
Unpacking phpmyadmin (4:4.9.5+dfsg1-2) …
Setting up phpmyadmin (4:4.9.5+dfsg1-2) …
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf

Creating config file /etc/dbconfig-common/phpmyadmin.conf with new version

Creating config file /etc/phpmyadmin/config-db.php with new version
checking privileges on database phpmyadmin for phpmyadmin@localhost: user creation needed.
granting access to database phpmyadmin for phpmyadmin@localhost: success.
verifying access for phpmyadmin@localhost: success.
creating database phpmyadmin: success.
verifying database phpmyadmin exists: success.
populating database via sql… done.
dbconfig-common: flushing administrative password
apache2_invoke: Enable configuration phpmyadmin

Пропишем в конфигурации apache2 phpmyadmin иначе будет ошибка відаваться Not Found

sudo nano /etc/apache2/apache2.conf
Вставить в самый низ

Include /etc/phpmyadmin/apache.conf
Что бы выйти из nano нажать ctrl+x

И перезагрузить apache
sudo systemctl restart apache2

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

Проверим. В любом браузере открываем phpMyAdmin по IP-адресу сервера:

ip_address/phpmyadmin

Теперь можно войти в систему с использованием учетной записи, созданной во время установки. Проверяем:

Для учетной записи root по умолчанию применяется доступ с использованием плагина auth_socket. Изменим это на аутентификацию с использованием пароля. В данном случае необходимо изменить тип аутентификации на аутентификацию с использованием пароля.

Откроем консоль MySQL:

sudo mysql

Если активна аутентификация по паролю суперпользователя root, команда будет выглядеть так:

mysql -u root -p

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

SELECT user,plugin,host FROM mysql.user;

Вывод:

+————————-+———————————-+————+
| user | plugin | host |
+————————-+———————————-+————+
| debian-sys-maint | caching_sha2_password | localhost |
| mysql.infoschema | caching_sha2_password | localhost |
| mysql.session | caching_sha2_password | localhost |
| mysql.sys | caching_sha2_password | localhost |
| phpmyadmin | caching_sha2_password | localhost |
| root | auth_socket | localhost |
+————————+———————————-+—————+
7 rows in set (0.00 sec)
Исходя из данных таблицы следует, что аутентификация пользователя root происходит с использованием плагина auth_socket.

Для изменения отправим следующую команду:

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH caching_sha2_password BY ‘KolC5a8a4Doc9’;

Password добавляем свой.

Вывод работы команды:

Query OK, 0 rows affected (0.03 sec)
В случае возникновения ошибки Plugin caching_sha2_password in not loaded следует обратиться к разделу «Возможные ошибки» в конце статьи.

Проверим результат.

SELECT user,plugin,host FROM mysql.user;

Вывод:

+————————+————————————+————+
| user | plugin | host |
+————————+———————————-+————+
| debian-sys-maint | caching_sha2_password | localhost |
| mysql.infoschema | caching_sha2_password | localhost |
| mysql.session | caching_sha2_password | localhost |
| mysql.sys | caching_sha2_password | localhost |
| phpmyadmin | caching_sha2_password | localhost |
| root | caching_sha2_password | localhost |
+————————+———————————+————-+
7 rows in set (0.00 sec)
Теперь у пользователя root тип аутентификации — caching_sha2_password.
——————————————————————————-
Работа с пользователями
Основная задача в работе с пользователями phpMyAdmin — создание и настройка прав. В качестве примера создадим пользователя с максимальными привилегиями.
Необходимо вернуться в терминал под пользователем с административными правами и отправить команду:

Откроем консоль MySQL:

sudo mysql

Если активна аутентификация по паролю суперпользователя root, команда будет выглядеть так:

mysql -u root -p

Так мы запустим работу с базой данных от имени администратора. Потребуется ввод пароля.

Вывод:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.27-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>
Теперь необходимо добавить пользователя, а также его пароль. Выполнить это можно командой:

CREATE USER ‘user’@’localhost’ IDENTIFIED BY ‘password’;
(CREATE USER ‘rhyme_us’@’localhost’ IDENTIFIED BY ‘KolsdR1sa4Doc9’;)
где user — новый пользователь, а password — пароль для этого пользователя.

В рабочем варианте отправленная команда выглядит так:

CREATE USER ‘selectel’@’localhost’ IDENTIFIED BY ‘s*****qq’;

пример: CREATE USER ‘rhyme_us’@’localhost’ IDENTIFIED BY ‘KolDFasa4Doc9’;

Вывод:

Query OK, 0 rows affected (0.02 sec)
Добавим необходимые привилегии для созданного пользователя. В данном случае это будут все привилегии для всех баз данных на сервере:

GRANT ALL PRIVILEGES ON *.* TO ‘user’@’localhost’;
GRANT ALL PRIVILEGES ON *.* TO ‘rhyme_us’@’localhost’;
Если пользователю необходимо разрешить создавать пользователей и назначать им привилегии, необходимо добавить опции:

GRANT ALL PRIVILEGES ON *.* TO ‘user’@’localhost’ WITH GRANT OPTION;
В данном примере в этом нет необходимости, поэтому будут только назначены полные привилегии для всех баз данных:

GRANT ALL PRIVILEGES ON *.* TO ‘selectel’@’localhost’;
Вывод:

Query OK, 0 rows affected (0.00 sec)
Остается только применить изменения в настройках привилегий для этого служит команда:

FLUSH PRIVILEGES;
Вывод:

Query OK, 0 rows affected (0.01 sec)

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

Это выполняется с использованием команды:

DROP USER ‘user’@’localhost’;
Проверяем что пользователь существует:

SELECT user FROM mysql.user;
Отправленная команда осуществляет вывод списка текущих пользователей.

Вывод:

+—————————+
| user |
+—————————+
| debian-sys-maint |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| phpmyadmin |
| root |
| selectel |
+—————————+
7 rows in set (0.01 sec)
Убедившись что пользователь ‘selectel’ активен, можно произвести удаление:

DROP USER ‘selectel’@’localhost’;
Вывод:
Query OK, 0 rows affected (0.01 sec)

Производим повторную проверку, убеждаясь в его отсутствии в списке.

Вывод:

+—————————+
| user |
+—————————+
| debian-sys-maint |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| phpmyadmin |
| root |
+—————————+
7 rows in set (0.00 sec)
На этом настройка пользователей завершена. Для выхода из mysql необходимо отправить команду exit.

Таким образом, вы можете отредактировать файл php.ini, в нашем случае путь «/etc/php.ini». (/etc/php/7.4/apache2/php.ini)
Вам необходимо соответствующим образом изменить данные значения в соответствии с вашими требованиями.

max_execution_time = 3000
max_input_time = 600
memory_limit = 128M
post_max_size = 100M
upload_max_filesize = 100M
short_open_tag = On ; для тегов типа ?>
Если у вас нет доступа к файлу php.ini, вы также можете изменить настройки в файле .htaccess (в случае использования веб-сервера apache).

php_value max_execution_time = 3000
php_value max_input_time = 600
php_value memory_limit = 128M
php_value post_max_size = 100M
php_value upload_max_filesize = 100M
Перезапустите службу Apache на сервере, чтобы изменения вступили в силу.

service httpd restart
or
service apache2 restart

Включение модуля mod_rewrite в Apache2

$ sudo a2enmod rewrite

service apache2 restart

Выдало ошибку Parse error: syntax error, unexpected end
что используют
можно в php.ini изменить параметр

Решение: разрешить PHP использование коротких тегов,
для этого добавляем или исправляем в php.ini опцию:

short_open_tag = On

——————————————————-

Повысим безопасность PhpMyAdmin
Если злоумышленник узнает адрес PhpMyAdmin, то он может взломать сервер. Поэтому мы сделаем уникальный URL для PhpMyAdmin. Это не даёт 100% гарантии, однако это самый простой способ снизить риск. Больше информации о защите вы найдёте в Яндекс.

По умолчанию, phpmyadmin доступен по адресу:

ваш_домен/phpmyadmin

Мы изменим путь после домена.

Найдите на сервере с помощью FileZilla файл:
https://www.cs-cart.ru/docs/4.3.x/_images/putty_server_phpmyadmin_secure_1.PNG

/etc/phpmyadmin/apache.conf

Откройте данный файл для правки (редактирования) или скопируйте на компьютер для редактирования.

Замените /phpmyadmin на уникальное слово, в строке:

Alias /phpmyadmin /usr/share/phpmyadmin
Например:

Alias /php1234 /usr/share/phpmyadmin

https://www.cs-cart.ru/docs/4.3.x/_images/putty_server_phpmyadmin_secure_2.PNG
https://www.cs-cart.ru/docs/4.3.x/_images/putty_server_phpmyadmin_secure_3.PNG

Перезагрузите Apache

Выполните в PuTTY команду:

sudo service apache2 restart

https://www.cs-cart.ru/docs/4.3.x/_images/putty_server_apache_restart.PNG

Проверяем работу PhpMyAdmin
Откройте PhpMyAdmin по новому пути

ваш_домен/php1234
https://www.cs-cart.ru/docs/4.3.x/_images/putty_server_phpmyadmin_start.PNG

—————————————————————————————-

Оптимизация работы сервера

APC
Устанавливаем расширение APC — внутренний кеш PHP, который позволит существенно сэкономить ресурсы парсеру PHP:

sudo apt-get install php-apc
если будет ошибка то
sudo apt-get install php-apcu и используйте apcu вместо apc везде.

—————————————
WP в консоле сообщает о неоходимых расширениях

sudo apt install php7.4-bcmath — ставим bcmath для нашей версии php

sudo apt install php7.4-curl — ставим curl для нашей версии php

sudo apt install php7.4-imagick — ставим imagick для нашей версии php

————-BINLOG———————————
После установки начал забиваться диск binlog.* по 100М каждый в папке /var/lib/mysql/
по информации отсюда очистил их и внес правки в файл конфигурации mYSQL.

https://russianblogs.com/article/17501471802/

проверка binlog в терминале

du -sh /var/lib/mysql/*

Отключение binlog Mysql

Начиная с версии 5.0.60 binlog включён по умолчанию и не слабо кушает место на винте. Можно сделать 2 вещи:

Уменьшить занимаемое логами место:

korp # nano /etc/mysql/my.cnf

В секции [mysqld] добавить строку

expire_logs_days = 5
Или отключить запись лога вообще

korp # nano /etc/mysql/my.cnf
В секции [mysqld] закоментировать строку

log-bin

или если не сработает то вставим строку

log-bin=…

Ну и не забываем после этого перезапустить MySQL

korp # /etc/init.d/mysql restart

6. Сбросить (очистить) все журналы binlog
mysql> reset master;

Можно вообще отключить если добавить в файл my.cnf
skip-log-bin
или
disable-log-bin

Перегрузить mYSQL
systemctl status mysql
и
systemctl restart mysql

Ошибка у rhyme.ru / Зависает сервер. Нужно перезапустить systemctl restart mysql

Ошибка установки соединения с базой данных

root@rhyme:~# systemctl status mysql
● mysql.service — MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Thu 2022-09-01 03:45:56 UTC; 2h 13min ago
Process: 1685471 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited,>
Process: 1685479 ExecStart=/usr/sbin/mysqld (code=killed, signal=KILL)
Main PID: 1685479 (code=killed, signal=KILL)
Status: «Server startup in progress»

Sep 01 03:45:56 rhyme systemd[1]: mysql.service: Main process exited, code=killed, statu>
Sep 01 03:45:56 rhyme systemd[1]: mysql.service: Failed with result ‘signal’.
Sep 01 03:45:56 rhyme systemd[1]: Failed to start MySQL Community Server.
Sep 01 03:45:56 rhyme systemd[1]: mysql.service: Scheduled restart job, restart counter >
Sep 01 03:45:56 rhyme systemd[1]: Stopped MySQL Community Server.
Sep 01 03:45:56 rhyme systemd[1]: mysql.service: Start request repeated too quickly.
Sep 01 03:45:56 rhyme systemd[1]: mysql.service: Failed with result ‘signal’.
Sep 01 03:45:56 rhyme systemd[1]: Failed to start MySQL Community Server.

————my.cnf——————————————

Обратите внимание, что файл /etc/mysql/my.cnf на самом деле не файл, а символическая ссылка.

По сути, это «сокращенный путь» к файлу /etc/alternatives/my.cnf, который, с другой стороны, является сокращением к файлу /etc/mysql/mysql.cnf.

/etc/mysql/my.cnf -> /etc/alternatives/my.cnf

/etc/alternatives/my.cnf -> /etc/mysql/mysql.cnf

Изменить права доступа к символической ссылке не получится.
Какую именно ошибку вы получите? А также какое именно изменение вы пытаетесь внести?
Например, если вы хотите внести некоторые изменения в свои переменные MySQL, вам необходимо внести изменения
в файл /etc/mysql/mysql.conf.d/mysqld.cnf.

—————————————————————
Проверьте группу пользователей в командной строке Linux
Чтобы узнать, к каким группам принадлежит ваша учетная запись, просто используйте эту команду:

groups

Узнайте группы других пользователей в Linux
Вы только что научились видеть группы, к которым принадлежите. Как насчет проверки групп других пользователей в вашей системе?

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

groups <имя пользователя>
groups user_1 user_2 user_3
пример
groups www-data

Быстрая загрузка БД
https://lred.ru/webmasteru/2085—mysql

mysql -h hostname -u user-name -p DB_name < /path-to-dir/dump.sql mysql -u rhyme_us -p rhyme_bd_28 < /var/www/rhyme.ru/backup/rhyme_local.sql ------------------------------------------------------------------------------------ Быстрая загрузка/ВЫГРУЗКА БОЛЬШОЙ БД https://itmag.pro/server/mysql/eksport-import-bolshix-fajlov-mysql-bazy-dannyx cd /var/www/home/backup mysqldump -u username -pPASSWORS dbname > dbname_mysqldump_16022013.sql
mysql -u username -pPASSWORS dbname < dbname_mysqldump_16022013.sql Ошибка которая часто появляется ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Установка Apache/PHP/MySQL на Ubuntu
Пролистать наверх