Изменение файловой структуры биллинга
С версии 3.11.01 будет автоматически произведены следующие изменения:
- Файлы логов админки будут перенесены в /var/log/mikbill/admin
- Файлы логов ЛК будут перенесены в /var/log/mikbill/stat
- В файлe ротации логов /etc/logrotate.d/mikbill будут изменены пути ротации к новым логам
- Старая директория логов admin/app/log будет перенесена в /var/mikbill/prod/old_files/admin
- Старая директория логов stat/app/log будет перенесена в /var/mikbill/prod/old_files/stat
- XML файл конфигурации админки будет перенесен в /var/mikbill/prod/config/admin.xml
- XML файл конфигурации ЛК будет перенесен в /var/mikbill/prod/config/stat.xml
- В директории /var/mikbill у файла смс ConfigClass.php будет заменен путь к XML конфигу
- Файлы mrtg из admin/sys/mrtg будут перенесены в /var/mikbill/prod/mrtg
- Файлы mrtg_users из admin/sys/mrtg_users будут перенесены в /var/mikbill/prod/mrtg_users
- После переноса mrtg будет запущена генерация нового конфига (что бы новые данные записывались по корректному пути)
- Директория скриптов admin/sys/scripts будет перенесена в /var/mikbill/prod/scripts
- В заданиях из /etc/crontab или /etc/cron.d/mikbill будет заменен путь из /var/www/mikbill/admin/sys/scripts на /var/mikbill/prod/scripts
После обновления
Обязательно проверьте что после изменений:
- скрипты в /var/mikbill/prod/scripts имеют права запуска
- что владельцем логов в /var/log/mikbill является apache или www-data
- в cron правильно изменились пути к скриптам
Ручной перенос
Логи
Создайте директорию /var/log/mikbill/admin и /var/log/mikbill/stat
mkdir -p /var/log/mikbill/{admin,stat}
Текущие файлы логов админки (log.txt и mbdebug.log) перенесите в новую директорию
/bin/mv -f /var/www/mikbill/admin/app/log/log.txt /var/log/mikbill/admin/general.log /bin/mv -f /var/www/mikbill/admin/app/log/mbdebug.log /var/log/mikbill/admin/debug.log
Аналогично для логов ЛК
/bin/mv -f /var/www/mikbill/stat/app/log/log.txt /var/log/mikbill/stat/general.log /bin/mv -f /var/www/mikbill/stat/app/log/mbdebug.log /var/log/mikbill/stat/debug.log
Далее в xml конфиге админки и ЛК нужно изменить путь логов на новый:
<config> <parameters> <mysql> <host>localhost</host> <username>mikbill</username> <password></password> <dbname>mikbill</dbname> </mysql> <kernel> <ip>127.0.0.1</ip> <port>22007</port> <pid>/var/run/mikbill.pid</pid> <log>/var/log/mikbill.log</log> </kernel> <timezone>Europe/Moscow</timezone> <mbdebug>true</mbdebug> <error_log>/var/log/mikbill/admin/general.log</error_log> <debug_log>/var/log/mikbill/admin/debug.log</debug_log> </parameters> </config>
Параметры отвечающие за путь к логам
<error_log>/var/log/mikbill/admin/general.log</error_log> <debug_log>/var/log/mikbill/admin/debug.log</debug_log>
Измените их у себя в конфиге (если их нету в конфиге, добавьте). Далее измените путь к логам в logrotate по пути /etc/logrotate.d/mikbill
XML конфиги
Создайте директорию /var/mikbill/prod/config
mkdir -p /var/mikbill/prod/config
Далее перенесите XML файлы конфигов:
/bin/mv -f /var/www/mikbill/admin/app/etc/config.xml /var/mikbill/prod/config/admin.xml /bin/mv -f /var/www/mikbill/stat/app/etc/config.xml /var/mikbill/prod/config/stat.xml
Если есть конфиг mbp, перенесем его тоже:
/bin/mv -f /var/www/mikbill/admin/app/etc/config.ini /var/mikbill/prod/config/mbp.ini
После изменения нужно перезапустить ядро билинга.
Директория скриптов
Создайте директорию /var/mikbill/prod
mkdir -p /var/mikbill/prod
И перенесите в неё текущие скрипты билинга:
/bin/mv -fu /var/www/mikbill/admin/sys/scripts /var/mikbill/prod/
На некоторых системах после переноса слетают права на скрипты, по этому дадим им снова права запуска:
chmod +x /var/mikbill/prod/scripts/*.sh
Заменим пути в cron на новые:
sed -i "s|/var/www/mikbill/admin/sys/scripts|/var/mikbill/prod/scripts|g" /etc/cron.d/mikbill sed -i "s|/var/www/mikbill/admin/sys/scripts|/var/mikbill/prod/scripts|g" /etc/crontab
После чего перезапустите крон
service crond restart
или
service cron restart
Mrtg
Создайте директорию /var/mikbill/prod
mkdir -p /var/mikbill/prod
После чего переместите текущие директории mrtg и mrtg_users
/bin/mv -fu /var/www/mikbill/admin/sys/mrtg /var/mikbill/prod/ /bin/mv -fu /var/www/mikbill/admin/sys/mrtg_users /var/mikbill/prod/
Далее пересоздадим конфиг mrtg:
cd /var/www/mikbill/admin php index.php config_mrtg_gen
СМС скрипты
Так как СМС скрипты использовали XML конфиг админки, а он у нас переместился, в конфиге СМС нужно изменить путь.
Определим где у находятся СМС скрипты посмотря какой файл вызывается в скрипте пополнения:
cat /var/mikbill/prod/scripts/mikbill_payment_event.sh
Будет что то на подобии
cd /var/www/mikbill/admin/res/sms /usr/bin/php ./send_sms.php deposit $2 4
Значит в файле /var/www/mikbill/admin/res/sms/lib/ConfigClass.php нужно заменить старый участок:
# Путь к конфигу для БД public static $_file_config = '/var/www/mikbill/admin/app/etc/config.xml';
На новый путь к конфигу:
# Путь к конфигу для БД public static $_file_config = '/var/mikbill/prod/config/admin.xml';