billing:mikbill_restructure

Изменение файловой структуры биллинга

С версии 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


Создайте директорию /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


Создайте директорию /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';
  • billing/mikbill_restructure.txt
  • Последнее изменение: 16 мес. назад
  • Дмитрий Грошилин