Разберем процедуру обновления phplist (менеджера рассылки писем) на операционной системе Linux.
Это самый важный шаг при обновлении phplist. Во-первых, после удачной установки новой версии, поверх существующей, необходимо будет вернуть конфигурационный файл с настройками. Во-вторых, если что-то пойдет не так, у нас должна быть копия, чтобы вернуть старый рабочий phplist.
Создадим каталог — в него скопируем копию текущей версии phplist:
mkdir /backup
Делаем резервную копию базы данных.
mysqldump -v -uroot -p phplist | gzip > /backup/phplist.sql.gz
* система запросит пароль — вводим данные для учетной записи root mysql.* данной командой мы создадим резервную копию базы данных phplist от пользователя root и сохраним ее в файл phplist.sql.gz каталога /backup.* если в вашей системе база данных называется иначе, необходимо сделать резервное копирование для нее. А если имя неизвестно, то можно выполнить команду mysqldump -v -uroot -p —all-databases | gzip > /backup/all_databases.sql.gz для резервного копирования всех баз на сервере.
После копируем содержимое каталога с phplist:
cp -R /var/www/phplist /backup/
* в данном примере подразумевается, что наш портал phplist находится по пути /var/www/phplist.
Переходим к обновлению. Процесс нужно выполнить в несколько этапов.
Переходим на страницу загрузки phplist. Копируем ссылку на последнюю версию программы:
С помощью скопированной ссылки скачиваем на сервер архив:
wget https://sourceforge.net/projects/phplist/files/phplist/3.4.3/phplist-3.4.3.tgz/download -O phplist-3.4.3.tgz
* в данном примере вы загрузим phplist версии 3.4.3.
Скачанный архив распакуем командой:
tar -xvzf phplist-*.tgz
Перейдем в распакованный каталог:
cd phplist-*
Удалим содержимое каталога старой версии:
rm -rf /var/www/phplist/* /var/www/phplist/.htaccess
* в моем случае, это /var/www/phplist, поэтому команда будет такой.
Перенесем файлы phplist в каталог, где сейчас находится старая его версия:
mv public_html/lists/* public_html/lists/.htaccess /var/www/phplist
* мы переносим все содержимое каталога public_html/lists в /var/www/phplist.
Задаем владельца на файлы:
chown -R nginx:nginx /var/www/phplist
Возвращаем из резервной копии конфигурационный файл:
\cp /backup/phplist/config/* /var/www/phplist/config/
Заходим на наш портал phplist под администратором — мы увидим ошибку, что база данных устарела:
Кликаем по ссылке Обновление — на следующей странице нажимаем по кнопке Обновление.
Ждем окончания процесса. Мы должны увидеть сообщение «Успешно».
Обновление завершено.
Если обновление вызвало проблемы, восстанавливаем предыдущую версию из резервной копии.
Подключаемся к sql-оболочке:
> mysql -uroot -p
Удаляем базу:
> DROP DATABASE phplist;
* в данном примере имя базы phplist. Если у вас другое имя, необходимо прописать соответствующее. Список баз можно посмотреть командой show databases;
Создаем по новой базу данных:
> CREATE DATABASE phplist CHARACTER SET utf8 COLLATE utf8_general_ci;
* будет создана база phplist в кодировке utf8.
Выходим из sql:
Распаковываем архив с дампом базы:
gunzip /backup/phplist.sql.gz
Восстанавливаем базу:
mysql -uroot -p phplist < /backup/phplist.sql
Удаляем каталог с порталом:
\rm -r /var/www/phplist
* предполагается, что портал находится по пути /var/www/phplist.
Копируем портал из резервной копии по старому пути:
cp -r /backup/phplist /var/www/phplist
Задаем владельца для каталога с порталом:
* в нашем примере пользователем, от которого работает веб-сервер, является nginx.
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies