В двух словах, phpMyFAQ — портал для хранения базы знаний. Он запускается как веб-приложение на веб-сервере. Его может понадобиться обновить из соображений безопасности или ради новых функций.
Данная инструкция написана на базе официальной документации к phpMyFAQ. Примеры приводятся для операционной системы на ядре Linux.
На случай неудачи, необходимо перестраховаться, создав копии файлов портала и базы данных.
Для копирования файлов вводим следующие команды:
mkdir -p /backup/phpmyfaq
cp -vR /var/www/phpmyfaq/* /backup/phpmyfaq/
* в данном примере мы сначала создаем каталог /backup/phpmyfaq — в него поместим файлы резервных копий; затем мы копируем содержимое каталога /var/www/phpmyfaq в созданную нами папку. Необходимо поменять /var/www/phpmyfaq на каталог, в котором размещен портал.
После делаем дамп базы. Для MariaDB/MySQL команда будет, примерно, следующая:
mysqldump -v -uroot -p phpmyfaq | gzip > /backup/phpmyfaq/phpmyfaq.sql.gz
* где uroot — подключение к СУБД от учетной записи root; phpmyfaq — имя базы данных.
Читайте также: Как сделать дамп базы MySQL, Резервное копирование PostgreSQL, Резервное копирование MS SQL Server (на случай использования базы данных на Windows).
Переходим на страницу загрузки официального сайта. Скачиваем последнюю стабильную версию (Free stable version) или копируем ссылку на архив (.tar.gz) и загружаем его на сервер Linux командой wget, например:
wget https://download.phpmyfaq.de/phpMyFAQ-2.9.13.tar.gz
* в данном примере используется ссылка на версию 2.9.13.
Распаковываем скачанный архив:
tar -zxvf phpMyFAQ-*.tar.gz
Для обновления, нужно заменить все файлы портала теми, которые мы скачали, за исключением небольшого списка (приведен ниже). Чтобы сохранить текущий портал, переносим его в другой каталог:
mv /var/www/phpmyfaq /var/www/old.phpmyfaq
* где /var/www/phpmyfaq — путь к месту хранения файлов портала.
Затем перемещаем распакованный ранее каталог на место хранения портала:
mv phpmyfaq /var/www/phpmyfaq
* где phpmyfaq — распакованный каталог скачанного архива; /var/www/phpmyfaq — наш путь хранения портала.
Задаем владельца, от которого работает веб-сервер.
а) если используем CentOS / Red Hat / Fedora:
chown -R apache:apache /var/www/phpmyfaq
а) если используем Ubuntu / Debian:
chown -R www-data:www-data /var/www/phpmyfaq
Дальнейшие действия зависят от версии программы, которую мы хотим обновить. Разработчик не рекомендует обновлять phpMyFAQ с устаревших версий — в таком случае, лучше не обновлять, а производить установку с нуля.
Возвращаем обратно в каталог портала следующие файлы и папки:
cp /var/www/old.phpmyfaq/config/database.php /var/www/phpmyfaq/config/
cp /var/www/old.phpmyfaq/config/ldap.php /var/www/phpmyfaq/config/
\cp -R /var/www/old.phpmyfaq/template/* /var/www/phpmyfaq/assets/template/
cp -R /var/www/old.phpmyfaq/attachments /var/www/phpmyfaq/
cp -R /var/www/old.phpmyfaq/data /var/www/phpmyfaq/
cp -R /var/www/old.phpmyfaq/images /var/www/phpmyfaq/
\cp -R /var/www/old.phpmyfaq/assets/template/* /var/www/phpmyfaq/assets/template/
\cp /var/www/old.phpmyfaq/config/* /var/www/phpmyfaq/config/
В браузере переходим на наш портал с добавлением к адресу /setup/update.php — http://<Путь до портала>/setup/update.php.
На первом шаге система проверит нашу текущую версию. Если с данной версии допускается обновление, можно будет продолжить (кнопка Go to step 2 of 3):
Система создаст резервные копии конфигурационных файлов и можно переходить к шагу 3:
На последнем этапе обновиться база. Сервер обновлен.
Данная ошибка появляется на этапе обновления портала в браузере.
Причина: в новых версиях PHP-приложений больше не используется тип mysql.
Решение: используем mysqli. Для этого открываем конфигурационный файл database.php:
vi /var/www/phpmyfaq/config/database.php
* где /var/www/phpmyfaq — путь хранения файлов портала.
Находим строку:
$DB[‘type’] = ‘mysql’;
… и меняем ее на:
$DB[‘type’] = ‘mysqli’;
Появляется на втором этапе установки обновления.
Причина: неверные права на каталог /config — у пользователя, под которым работает веб-сервер, нет прав на запись.
Решение: задать правильные права или владельца для каталога, в котором хранится портал:
… или:
* зависит от дистрибутива Linux (deb или RPM).
Также можно просто задать максимальные права на каталог /config (не безопасно):
chmod -R 777 /var/www/phpmyfaq/config
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies