Данное краткое руководство расчитано на установку в системах Debian 7 (Wheezy)/ Debian 6 (Squeeze)
Предпологается, что Вы уже имеете установленную ОС и загруженный дистрибутив Mikbill. Весь процесс разобъем на пункты:
sudo apt-get install mc screen chkconfig
Если нет "sudo", делаем:
aptitude install sudo
И после повторяете установку первоначальных пакетов.
sudo mcedit /etc/sudoers
www-data ALL=(ALL) NOPASSWD:ALL
sudo apt-get install libltdl-dev zlib1g-dev autoconf automake autotools-dev binutils cpp cpp-4.4 gcc gcc-4.4 sudo apt-get install mrtg mysql-server dhcp3-server libio-socket-inet6-perl pptpd pppoe bind9 dnsutils sudo apt-get install freeradius libfreeradius2 freeradius-mysql freeradius-utils freeradius-common sudo apt-get install libfreeradius-dev freeradius-dbg freeradius-iodbc logrotate sudo aptitude install -t squeeze apache2 apache2-suexec apache2.2-common
Установим его: Откроем файл
/etc/apt/sources.list
и добавим в него след. строку:
deb http://ftp.de.debian.org/debian/ squeeze main
После чего выполняем команду
apt-get update
apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
Если вдруг у Вас возникли проблемы при удалении можно воспользоваться следующими рекомендациями:
где *имя пакета* - название Вашего пакета без *
apt-cache showpkg php5
Вывод данной команды будет примерно следующим:
Dependencies: 5.4.4-14+deb7u5 - libapache2-mod-php5 (18 5.4.4-14+deb7u5) libapache2-mod-php5filter (18 5.4.4-14+deb7u5)
php5-cgi (18 5.4.4-14+deb7u5) php5-fpm (2 5.4.4-14+deb7u5) php5-common (2 5.4.4-14+deb7u5)
5.4.4-14+deb7u4 - libapache2-mod-php5 (18 5.4.4-14+deb7u4)
libapache2-mod-php5filter (18 5.4.4-14+deb7u4) php5-cgi (18 5.4.4-14+deb7u4)
php5-fpm (2 5.4.4-14+deb7u4) php5-common (2 5.4.4-14+deb7u4) 5.3.3-7+squeeze17 - libapache2-mod-php5
(18 5.3.3-7+squeeze17) libapache2-mod-php5filter (18 5.3.3-7+squeeze17) php5-cgi (2 5.3.3-7+squeeze17)
php5-common (2 5.3.3-7+squeeze17) Provides: 5.4.4-14+deb7u5 - 5.4.4-14+deb7u4 - 5.3.3-7+squeeze17 -
Последняя — то, что нам нужно(squeeze).
Если слетел aptitude:
apt-get install aptitude
aptitude install -t squeeze libapache2-mod-php5 php-net-lmtp php-xml-util php-pear php5-ps php5-exactimage aptitude install -t squeeze phpmyadmin php-xml-rss php5-xsl php-xml-serializer php-net-url suphp-common aptitude install -t squeeze php5-svn php5-remctl php5 php5-sasl php5-snmp php5-gd php5-syck php5-sybase aptitude install -t squeeze php5-auth-pam php5-curl php5-imap php5-geoip php5-xcache php5-imagick php5-mysql aptitude install -t squeeze php5-memcache php5-uuid php5-pspell php5-xmlrpc php5-gpib php5-mcrypt php5-recode aptitude install -t squeeze php5-cgi php5-mapscript php5-cli php5-dev php5-json php5-common php5-gmp aptitude install -t squeeze php5-idn php5-ming php5-sybase php5-dbg
Для точного применения зависимостей и возможных замен, можно потратить время, и ставить каждый пакет отдельно (на Ваше усмотрение):
aptitude install -t squeeze php5-svn aptitude install -t squeeze php5
и т.д. Таким образом, с помощью диалоговых меню (yes/no), Вы сможете контролировать сам процесс.
Важно! После завершения установки, все пакеты нужно будет заморозить, чтобы при установке обновлений ОС php не был обновлён до последней версии. Делается это при помощи aptitude. Напечатайте
aptitude hold
и названия установленных пакетов:
aptitude hold php5 php5-cli php5-common
Если вдруг понадобилось разморозить эти пакеты, то hold следует заменить на unhold. Пример:
aptitude unhold php5 php5-cli php5-common
sudo apt-get remove php5-librdf librdf sudo rm -rf /etc/php5/conf.d/redland.ini
/etc/apache2/ports.conf
Добавляем после строки:
NameVirtualHost *:80
Строку:
NameVirtualHost *:443
Выполняем:
sudo ln -s ../mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Далее копируем из дистрибутива:
ubuntu/etc/apache2/sites-enabled в /etc/apache2/sites-enabled
3 файла конфигурации для админки(00_stat_zaglushka_vhost.conf, stat_vhost.conf, admin_vhost.conf) Они уже донастраиваются индивидуально, исходя из ваших предпочтений.
Содержимое из папки "system" дистрибутива биллинга, а именно архивы:
admin.tar.gz stat.tar.gz
Если не установлен, смотрим сюда - Установка phpMyAdmin
sudo a2enmod ssl sudo /etc/init.d/apache2 restart
Рекомендуется ознакомится со следующими статьями в Вики для дополнения настроек: настройка Mysql, Нюансы при работе с MySQL и биллингом MikBill.
/var/www/mikbill/stat/app/etc/config.xml /var/www/mikbill/admin/app/etc/config.xml
Для загрузки пакета подключитесь к серверу по протоколу ssh, выполните в командной строке: Для 32-битной операционной системы:
wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
Для 64-битной операционной системы:
wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
Узнать какая архитектура у вашего сервера можно с помощью команды
uanme -a
Определить какой дистрибутив установлен на сервере можно посмотрев файл
/etc/issue
Далее распаковываем архив:
tar -zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
Копируем модуль в директорию, содержащую модули php:
cp ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so /usr/lib/php5/
В директории
/etc/php5/conf.d/
озадем файл
zend.ini
и прописываем в него zend_extension
zend_extension=/usr/lib/php5/ZendGuardLoader.so
После чего перезапускаем web сервер:
/etc/init.d/apache2 restart
Чтобы убедиться, что модуль загружается выполним команду
php -v
При успешной установке вывод будет примерно таким:
PHP 5.3.3-7+squeeze17 with Suhosin-Patch (cli) (built: Aug 23 2013 15:06:16) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
sudo mkdir /etc/mrtg sudo touch /etc/mrtg/mrtg_mikbill_users.conf sudo touch /etc/mrtg/mrtg_mikbill_tarif.conf sudo chmod -R a+rw /etc/mrtg
Для работы MRTG подготовка завершена.
rm -rf /etc/freeradius
далее копируем из дистрибутива папку в /etc
ubuntu/etc/freeradius
задаем пароль в файле
/etc/freeradius/sql.conf
только в секции password =
cp /etc/freeradius/serialize.pm /usr/lib/perl5
Все freeradius настроен. для теста можно запустить такой строкой:
env LD_PRELOAD="/usr/lib/libperl.so.5.10" /usr/sbin/freeradius -X
Осталось настроить автозапуск.
Для этого: скопируем из дистрибутива, из папки
./ubuntu-debian/init_scripts/
все содержимое в корень вашей системы. Таким образом у вас в папке
/etc/init.d/
Должны появится файлы
freeradius - Радиус mikbill - ядро MikBiLL
а в папке
/usr/local/sbin/ файлы mikbill_run.sh radiusd_run.sh
Добавим теперь сервисы в автозагрузку
chkconfig mikbill on chkconfig freeradius on
Не забудте указать в файле hosts на вашем копьютере связку ip и DNS имен. Или же настройте DNS зоны под свои нужды.
https://admin.ispnet.demo/ https://stat.ispnet.demo/
Логин и пароль
admin admin
Проверим запущено ли ядро биллинга и слушает ли оно на порту 2007, командами:
ps ax |grep mikbill и netstat -nl |grep 2007
Нормальный вывод будет примерно таким:
ps ax |grep mikbill 19637 pts/2 S 0:00 /bin/sh /usr/local/sbin/mikbill_run.sh 19639 pts/2 S 0:00 /usr/bin/php ./mikbill.php kernel -d 19663 pts/2 S+ 0:00 grep mikbill netstat -nl |grep 2007 tcp 0 0 0.0.0.0:2007 0.0.0.0:* LISTEN
Проверьим запустился ли Radiusd, командами
ps ax |grep radiusd
и
netstat -nl |grep 1812
Нормальный вывод будет таким:
ps ax |grep radiusd 19649 pts/2 S 0:00 /bin/sh /etc/init.d/radiusd start 19651 pts/2 S 0:00 /bin/bash -c ulimit -S -c 0 >/dev/null 2>&1 ; /usr/local/sbin/radiusd_run.sh 19653 pts/2 S 0:00 /bin/bash /usr/local/sbin/radiusd_run.sh 19654 pts/2 Sl 0:00 /usr/sbin/radiusd -f 19701 pts/2 S+ 0:00 grep radiusd netstat -nl |grep 1812 udp 0 0 0.0.0.0:1812 0.0.0.0:*
В случае проблем слудует посмотреть лог-файлы, и выявит проблемы и их возможные решения. Все вопросы отправляйте на форум:
Раздел форума по Debian/Ubuntu
Также следует ознакомиться со следующей статьей: Действия после установки.