Четверг
21.09.2017, 20:44
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Разное [15]
Документация [18]
Авторские статьи [45]

Поиск

Свежие статьи
Динамическое деление скоро...
port knocking на mikrotik
Установка NGINX без прав R...
Как настроить время (NTP S...
Настраеваем CROND
Биллинг MikBill на UBUNTU
Даунгрейд PHP до версии 5....
Устанавливаем в Ubuntu 10....
Как настроить MySQL
Как настроить ZendOptimize...

Форма входа
Логин:
Пароль:

Главная » Статьи » Разное

Установка Биллинга MikBill на Сentos

Почему Centos ? - ответ: выбор прост - потому что он очень стабилен. По сути это RHEL без логотипов Redhat. Ниже выдержка из wikipedia

CentOS (англ. Community ENTerprise Operating System) — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux компании Red Hat, и совместимый с ним.

Red Hat Enterprise Linux состоит из свободного ПО с открытым кодом, но доступно в виде дисков с бинарными пакетами только для платных подписчиков. Как требуется в лицензии GPL и других, Red Hat предоставляет все исходные коды. Разработчики CentOS используют данный исходный код для создания окончательного продукта, очень близкого к Red Hat Enterprise Linux и доступного для скачивания. Существуют и другие клоны Red Hat Enterprise Linux, созданные на основе этого кода.

CentOS использует программу yum для скачивания и установки обновлений с репозитория CentOS Mirror Network, тогда как Red Hat Enterprise Linux получают обновления с серверов Red Hat Network. CentOS до версии 5.0 для обновлений использовал также программу up2date.

 

Устанавливаем Centos пакет server, рекомендуется ставить текущую стабильную версию.

Установка Centos в RAID-1   -  следовать обязательно (ну или, как говорится, ваши проблемы)

Инструкция по включению SOFT RAiD-1

Управление RAID-1 с помощью mdadm

Не забывайте что документация с прошлых версий  Centos подходит и к вашей системе.
Документация по системе:

Centos 5
Centos WiKi
Документация


Отключаем IPv6 в Centos (оригинал )

для начала /etc/sysconfig/network
задаем

NETWORKING_IPV6=no


и потом
в /etc/modprobe.conf
добавляем

alias ipv6 off
alias net-pf-10 off

выполняем команду /sbin/chkconfig ip6tables off
и делаем reboot сервера.
Все IPv6 выключен.


После установке добавте себе пользователя и пропишите его в /etc/sudoers и закройте вход root по ssh навсегда.
 конфиг /etc/ssh/sshd_config

Port 22
Protocol 2
PermitRootLogin no
MaxAuthTries


Если добавить пользователя в /etc/sudoers

adduser -m login
passwd login


Если добавить пользователя в /etc/sudoers
строкой вида

login ALL=(ALL)  NOPASSWD: ALL


где login - имя Вашего пользователя .

теперь по команде 

sudo su -

вы становитесь рутом

после первой загрузки не забудти выполнить setup и отключите службы которые редко используются (рекомендация носит общий характер)

anacron
atd
auditd
avahi-daemon
bluetooth
cpuspeed
cups
firstboot
ip6tables
isdn
readahead_early
restorecond

Для начала выполним предварительную установку необходимых пакетов для работы системы и небольшую донастройку.

Настройка /etc/sudoers
необходимо изменить

Default requiretty
Defaults env_reset

на

#Default requiretty
#Defaults env_reset

Так же добавите строку ну и по попдобию Вашего пользователя в системе.

apache ALL=(ALL) NOPASSWD: ALL


Отключение SELinux

С включеной опцией не будет работать ZendOptimizer, что нас не устраивает.

Редактируйте файл /etc/selinux/config
измените

SELINUX=enforcing

на

SELINUX=disabled

выполняем команду

setenforce 0 

 

чтобы не перегружать систему для отключения SELinux.

Установка PHP 5.2

Внимание в Centos 5.x имеется bug в php , описание здесь.
мы сейчас его исправим(оригинал)

Теперь подключаем дистрибутив из репозатория "CentOS-5 Testing"
в папке /etc/yum.repos.d
создаем файл с именем CentOS-Testing.repo

 
# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*


теперь можно установить необходимые пакеты

yum install ntp logrotate php php-common php-cli openssh screen tcpdump gcc php-ncurses php-mysql 
yum install php-mhash php-mcrypt php-mbstring php-imap php-devel php-bcmath php-xml php-xmlrpc
yum install php-gd php-snmp freeradius2 freeradius2-mysql freeradius2-perl freeradius2-utils
yum install perl-IO-Socket-INET6 mysql mysql-connector-odbc mysql-devel mysql-server
yum install vixie-cron crontabs httpd httpd-manual mod_ssl bind bind-chroot caching-nameserver
yum install php-devel apr-util-mysql ppp rp-pppoe mrtg dhcp samba system-config-date


rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm
yum install pptpd

Теперь у Вас установлены Freeradius , Mysql, Apache2, PHP, Bind, DHCPd, MRTG, Samba, Crond , pppd, poptop, rp-pppoe и сопутствующие пакеты.
 

Устанавливаем ZendOptimizer

Настроим MySQL -
переходим к статье по настройке MySQL базы данных.

Так же  установим PhpMyadmin для удобства работы с базой данных

Выполняем по инструкциям на сайте установку PhpMyadmin


Вначале по этой ссылке
А потом по этой ссылке.

Пакеты rpmforge-release-0.5.1-1.el5.rf.i386.rpm и rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm Вы найдете в дистрибутиве в папке soft

Далее добавим полезный для работы пакет

yum install iftop

после успешной настройки phpmyadmin

делаем

/etc/init.d/mysql start
/etc/init.d/httpd start

и не забываем запустить setup и добавить эти службы в автозагрузку системы.

Настройка часов и времени - это очень важно сделать.

Настроим простую DNS зону в BIND и виртуал хостинг в Apache.

Пример полной инфомарции по BIND и DNS.

Источник - 1    Источник - 2


Зона будет называться  "ispnet.demo"

для начала прописываем первым наш сервер
в файле /etc/resolv.conf
в итоге конфиг будет выглядить примерно так

# cat /etc/resolv.conf
nameserver 127.0.0.1
search localdomain


переходим в папку  /var/named/chroot/etc

файл named.caching-nameserver.conf

Вносим новые значения в options

 listen-on port 53 { any; };
listen-on-v6 port 53 { none; };

allow-query { any; };
allow-query-cache { any; };


Далее в конфиге после

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};


добавляем

view demo_zone {
match-clients { any; };
match-destinations { any; };
recursion yes;

zone "ispnet.demo" IN {
type master;
file "ispnet.demo.zone";
allow-update { none; };
};

};

view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};


и осталное удаляем что внизу.

сохраняем, теперь нужно прописать файл зоны.

файл зоны находится по пути /var/named/chroot/var/named
создаем файл ispnet.demo.zone

содержимое файла

$TTL 86400
$ORIGIN ispnet.demo.

ispnet.demo. IN SOA @ ns.ispnet.demo. (
44 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
$ORIGIN ispnet.demo.

IN NS ns.ispnet.demo.
IN A IP

ns IN A IP
admin IN A IP
stat IN A IP
myadm IN A IP
www IN A IP


где IP - ip адресс вашего сервера.

 Это пример зоны, в реальной зоне необходимо использовать 2 NS сервера.

делаем

/etc/init.d/named restart

и не забываем запустить

setup

и добавить эту службу в автозапуск системы.

Открываем установленный PHPMyadmin и начинаем работы с базой данных.

для начала откроем "привелегии"

Удалим всех стандартных пользователей кроме 3х root
для пользователей root зададим одинаковый пароль и сохраним его себе на долгую память в блокноте.
Теперь вносим этот пароль в конфиг PHPmyadmin чтобы продолжить работу.

файл находится по пути /usr/share/phpmyadmin/config.inc.php
если вы ставили по инструкции выше...или же по другому пути как Вы сами установили данное приложение.

в нем меняем $cfg['Servers'][$i]['extension'] = 'mysql';  на $cfg['Servers'][$i]['extension'] = 'mysqli';

и в конце файла перед строками

$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

вносим 3 строки

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'rootpass';
$cfg['Servers'][$i]['auth_type'] = 'config';


где rootpass - ваш пароль который вы только что сменили.

Все теперь откроем окно импорта.
Выберем кодировку файла koi8r и  выберем файл из дистрибутива

centos/sql/mikbill.sql


проводим импорт...и вы создали базу данных для билилнга.

осталось создать пользователя базы данных и работа со SQL у нас закончена.

Снова открываем "привелегии"
Создаем нового пользователя.

называем его mikbill
ограничиваем вход только localhost
задаем пароль и снова записываем ег ов блокнот

Далее выбираем PROCESS , SUPER . GRANT в администрировании и создаем пользователя.

После выбираем базу данных mikbill в панели "Привилегии уровня базы данных"

И отмечаем все права этому пользователю на базу данных.

Ниже тоже самое но прямыми SQL командами, как памятка для оппытных пользователей.

Выполнять после импорта mikbill.sql ( импорт производить в кодировке koi8r)

ВНИМАНИЕ добавляя пользователя для работы биллинга, хост указывайте: localhost или %.

CREATE USER 'mikbill'@'localhost' IDENTIFIED BY 'password';
GRANT USAGE ON * . * TO 'mikbill'@'localhost' IDENTIFIED BY 'password' WITH
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES ON `mikbill` . * TO 'mikbill'@'localhost' WITH GRANT OPTION ;

REVOKE ALL PRIVILEGES ON * . * FROM 'mikbill'@'localhost';

GRANT PROCESS , SUPER ON * . * TO 'mikbill'@'localhost' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;


Поздравляю. настройка базы данных завершена.

Настройка Freeradius.

для начала выполним подготовку

rm -rf /etc/raddb
rm -rf /etc/init.d/radiusd


теперь перейдем в папку дистрибутива открываем папку centos
 и выполняем

cp -R ./usr/local/sbin/* /usr/local/sbin/
cp -R ./raddb /etc/
cp -R ./init.d/* /etc/init.d/
cp /etc/raddb/serialize.pm /usr/lib/perl5/vendor_perl/5.8.8/
ln -s ../init.d/mikbill /etc/rc.d/rc3.d/S87mikbill
mkdir /etc/mrtg
echo > /etc/mrtg/mrtg_mikbill_users.conf
echo > /etc/mrtg/mrtg_mikbill_tarif.conf
chmod -R a+rw /etc/mrtg

Теперь осталось отредактировать конфигурационный файл /etc/raddb/sql.conf

ВНИМАНИЕ в этом файле следует изменять только 1 параметр

 

password = "MIKBILLPASS"


вместо MIKBILLPASS   впишите свой пароль на базу данных mikbill

Последнее добавте в автозапуск radiusd и mikbill с помощью команды setup


для теста запустите radiusd -X

если вы увидели

 radiusd: #### Opening IP addresses and Ports ####
listen {
type = "auth"
ipaddr = *
port = 0
}
listen {
type = "acct"
ipaddr = *
port = 0
}
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Ready to process requests.


у Вас все в порядке, в противном случае проверте правильность выполнения предидущих шагов или обращайтесь на форум.

Настраиваем Apache.

для начала открываем файл /etc/httpd/conf/httpd.conf
переходим в конец файла и добавляем с новой строки


ServerName 0.0.0.0
TraceEnable off
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
NameVirtualHost *:80
NameVirtualHost *:443
Include /etc/httpd/vhosts.d/*.conf


теперь создаем директорию /etc/httpd/vhosts.d

и в нее ложим  2 конфиг файла

# cat ./admin_vhost.conf
<VirtualHost *:443>
ServerAdmin webmaseter_yousite.com
ServerName admin.ispnet.demo
ErrorLog /var/log/httpd/admin.ispnet.demo_error_log
CustomLog /var/log/httpd/admin.ispnet.demo_access_log combined
DocumentRoot /var/www/mikbill/admin
<Directory "/var/www/mikbill/admin">
AllowOverride All
Options FollowSymlinks Includes
allow from all
</Directory>
SSLEngine on
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateFile /etc/pki/tls/certs/localhost.crt

<IfModule setenvif_module>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</IfModule>
</VirtualHost>

<VirtualHost *:80>
ServerName admin.ispnet.demo
ServerAdmin webmaseter_yousite.com
Redirect permanent / https://admin.ispnet.demo/
</Virtualhost>

# cat stat_vhost.conf
<VirtualHost *:80>
ServerAdmin admin_yousite.com
ServerName stat.ispnet.demo
ErrorLog /var/log/httpd/stat.ispnet.demo_error_log
CustomLog /var/log/httpd/stat.ispnet.demo_access_log combined
DocumentRoot /var/www/mikbill/stat


<Directory "/var/www/mikbill/stat">
AllowOverride ALL
Options FollowSymlinks Includes MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin admin_yousite.com
ServerName stat.ispnet.demo
ErrorLog /var/log/httpd/stat.ispnet.demo_error_log
CustomLog /var/log/httpd/stat.ispnet.demo_access_log combined
DocumentRoot /var/www/mikbill/stat

<Directory "/var/www/mikbill/stat">
AllowOverride ALL
Options FollowSymlinks Includes MultiViews
Order allow,deny
Allow from all
</Directory>

SSLEngine on
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateFile /etc/pki/tls/certs/localhost.crt

</VirtualHost>

 

Лутше изменить временный сертификат, или пропустите этот шаг.

В случае создание сертификата не забудте указать путь к нему в директивах SSLCertificateKeyFile  и SSLCertificateFile конфигураций виртуалхостов.

создайте папку /etc/httpd/ssl
и в этой директории вы полните команду

openssl req -new -newkey rsa:1024 -nodes -keyout new.cert.key -x509 -days 500 
-subj /C=UA/ST=Dn/L=Don/O=ISPNET/OU=Billing/CN=*.ispnet.demo/emailAddress=
email@ispnet.demo Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript -out new.cert.cert

которая создаст самоподписаный сертификат, на перво время вам его хватит.

Заполните данные для доступа к базе данных биллинга. внесите в эти файлы логин и пароль на SQL

/var/www/mikbill/admin/app/etc/config.xml
/var/www/mikbill/stat/app/etc/config.xml

Настройка Apache закончена.
Не забываем сделать

/etc/init.d/httpd restart 


Соотвественно зайдя по ссылкам

https://admin.ispnet.demo
https://stat.ispnet.demo
http://stat.ispnet.demo

"админка" и "личный кабинет" теперь доступны из вашей сети.

 

логин и пароль на первичный вход в "админку"

admin
admin


 
теперь запустив команду

/etc/init.d/mikbill start

вы запустите ядро биллинга, после старта ядра 

выполните команду

# ps auxfw|grep php

вы увидите вывод схожий с этим

root 11339 3.5 0.0 133900 3468 pts/6 S+ Oct05 624:07 | \_ php ./mikbill.php

ядро биллинга запушено.



Источник: http://www.celteh.com/dokumentatsiya/mikbill-install-centos.html

Спонсоры данной статьи


Категория: Разное | Добавил: -=shurf=- (02.05.2011)
Просмотров: 14954 | Теги: RAID-1, MikBill, Soft RAID-1, Centos | Рейтинг: 0.0/0

Настройка Mikrotik
Как управлять программным Raid...
Mikrotik - списки и группы адр...
Mikrotik - два провайдера, бал...
Установка NGINX без прав ROOT ...
Mikrotik. Поднимаем VPN туннел...
замануха
MikroTik RouterOS – настройка ...
Как настроить ZendOptimizer
Пример построения линка на Мik...
Настройка микротик для провайд...

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Профиль
Привет: Гость

Сообщения:

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или войдите!

Реклама

Наш опрос
Нужен ли этому сайту форум?
Всего ответов: 55

Нашел ошибку?
Система Orphus

Статистика

Онлайн всего: 2
Гостей: 1
Пользователей: 1
Kamorkaskn



Бесплатный хостинг uCoz