Показать страницуСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Установка Биллинга MikBill на FreeBSD ====== [[http://www.freebsd.org/doc/ru/books/handbook/install.html|Выполним установку системы и настройку сети.]] [[http://www.freebsd.org/doc/ru/books/handbook/ports.html|Руководство по работе с портами.]] [[http://www.freebsd.org/doc/ru/books/handbook/index.html|Лутший друг админа - FreeBSD HandBook]] [[http://www.lissyara.su/articles/freebsd/tuning/make_buildworld/|Обновление "мира".]] для начала установим MC и другие пакеты <code>pkg_add -r bash sudo screen mc gpm db42 openssl mpd5</code> Чтобы изменить шелл по умолчанию команда: <code>pw usermod username -s /usr/local/bin/bash</code> чтобы сделать удобный скролин как в линуксе (shift+pgdown / shift+pgup) пропишите в файл .inputrc в директории своего пользователя, и root <code> "\e[5~": history-search-backward "\e[6~": history-search-forward "\e[3~" delete-char "\e[1~" beginning-of-line "\e[4~" end-of-line </code> Настраиваем MYSQL Установка <code>cd /usr/ports/databases/mysql51-server/ make install clean </code> Меняем автозапуск <code>mcedit /etc/rc.conf</code> Добавляем в конец файла <code>mysql_enable="YES"</code> Стартуем и меняем пароль root <code>/usr/local/etc/rc.d/mysql-server start /usr/local/bin/mysqladmin -u root password 'new-password'</code> new-password - это новый пароль, не забудтте его записать в блокнот Установка Apache 2.2 <code>cd /usr/ports/www/apache22 make</code> Обязательно выберете <code>THREADS REWRITE SSL SUEXEC</code> Не забудте выключить <code>IPV6</code> остальное оставте без изменений или на ваше усмотрение. <code>make install</code> Apache 2.2 установлен Установим PHP 5.2 <code>cd /usr/ports/lang/php52 make</code> Обязательно выберете <code>CLI CGI APACHE MULTIBYTE MAILHEAD</code> Не забудте выключить <code>IPV6</code> остальное оставте без изменений или на ваше усмотрение. <code>make install</code> PHP 5.2 установлен установим PHP extensions <code>cd /usr/ports/lang/php52-extensions make</code> Рекомендуется выключить <code>MING SYBASE_CT SQLITE</code> Обязательно выберете <code>BCMATH CALENDAR CTYPE BZ2 FILTER FTP GD GETTEXT HASH ICONV IMAP JSON MBSTRING MCRYPT MHASH MYSQL MYSQLI NCURSES OPENSSL PCNTL PCRE PDF PDO POSIX READLINE RECODE SESSION SOCKET SIMPLEXML SNMP SPL SYSVMSG SYSVSEM SYSVSHM XML XMLREADER XMLRPC XMLWRITER XSL ZIP ZLIB</code> остальное оставте без изменений или на ваше усмотрение. При компиляции установите <code>REGEX</code> <code>make install</code> PHP Extensions установлены Выполняем <code>cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini</code> базовый конфиг создан. Важное замечание в php 5.2 в FreeBSD бывает проблема делаем <code>php -v</code> Нормальный вывод будет таким <code> php -v PHP 5.2.13 (cli) (built: Oct 25 2010 11:15:13) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies </code> или же <code># php -v Segmentation fault: 11 (core dumped)</code> Если вывод у вас с ошибкой, то это не так сложно исправить. Открываем файл <code>/usr/local/etc/php/extensions.ini</code> и находим там строку <code>extension=recode.so</code> Эту строку нужно из середины файла переместить вначало файла. Все проверяем вывод еще раз. <code>mcedit /usr/local/etc/php/extensions.ini</code> Настриаваем APACHE в <code>/etc/rc.conf apache22_enable="YES"</code> в файле <code>/usr/local/etc/apache22/httpd.conf</code> после строки <code>#ServerName www.example.com:80</code> ставим <code>ServerName 0.0.0.0</code> запускаем <code>apachectl start</code> ставим PHPMyAadmin <code>cd /usr/ports/databases/phpmyadmin/ make install clean</code> По пути <code>/usr/local/www/phpMyAdmin</code> находися сам phpMyAdmin Правим <code>config.inc.php</code> под свои нужды Открываем файл <code>/usr/local/etc/apache22/extra/httpd-autoindex.conf</code> и вносим в него. Вместо .example.com ниже внесите ваш административный IP <code> Alias /pma/ "/usr/local/www/phpMyAdmin/" <Directory "/usr/local/www/phpMyAdmin/"> Options none AllowOverride Limit Order Deny,Allow Deny from all Allow from 127.0.0.1 .example.com </Directory> </code> Запуск так же незабываем записать в файл <code>/etc/hosts</code> параметр <code>hostname="FreeBSD"</code> из файла /etc/rc.conf чтобы сервер понимал это имя как IP. <code>apachectl restart</code> апач и мускуль запущены конмада <code># netstat -nla Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 *.443 *.* LISTEN tcp4 0 0 *.80 *.* LISTEN tcp4 0 0 *.3306 *.* LISTEN</code> апач и мускуль запущены. После запуска apache и mysql Установим ZendOptimizer <code>pkg_add -r ZendOptimizer php52-pdo_mysql</code> открваем файл <code>/usr/local/etc/php.ini</code> в конце файла добавляем строки которые вам покажит установщик выше наподобие таких <code>[Zend] zend_optimizer.optimization_level=15 zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer" zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS" zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so" zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"</code> Выполняем Нормальный вывод будет таким <code># php -v PHP 5.2.13 (cli) (built: Oct 25 2010 11:15:13) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies</code> Создадим файл В файле конфигрурации apache2 <code>/usr/local/etc/apache22/httpd.conf</code> разкоментируем следующие строки <code> # Multi-language error messages Include etc/apache22/extra/httpd-multilang-errordoc.conf # Fancy directory listings Include etc/apache22/extra/httpd-autoindex.conf # Language settings Include etc/apache22/extra/httpd-languages.conf # User home directories #Include etc/apache22/extra/httpd-userdir.conf # Real-time info on requests and configuration Include etc/apache22/extra/httpd-info.conf # Virtual hosts Include etc/apache22/extra/httpd-vhosts.conf # Local access to the Apache HTTP Server Manual Include etc/apache22/extra/httpd-manual.conf # Various default settings Include etc/apache22/extra/httpd-default.conf # Secure (SSL/TLS) connections Include etc/apache22/extra/httpd-ssl.conf</code> создаем файл <code>/usr/local/etc/apache22/Includes/php.ini</code> Содержимое файла <code> <IfModule mod_php5.c> DirectoryIndex index.php index.html </IfModule> <IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule></code> Создаем сертификат <code> cd /usr/local/etc/apache22 openssl req -new -newkey rsa:1024 -nodes -keyout server.key -x509 -days 500 \ -subj /C=UA/ST=Dn/L=Don/O=ISPNET/OU=Billing/CN=*.ispnet.demo/emailAddress= email@ispnet.demo \ -out server.key</code> Или же заходим на официальный сайт и читаем информацию об OPENSSSL Открываем папку дистрибутива биллинга и переходим в <code>system</code> распаковываем содержимое в директорию <code>/usr/local/www/mikbill</code> далее делаем <code>cd /usr/local/www chown -R www:www mikbill</code> Открываем файл <code>/usr/local/etc/apache22/extra/httpd-vhosts.conf</code> разкоментируем <code>NameVirtualHost *:80 NameVirtualHost *:443</code> и добавляем виртуал хосты <code><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 /usr/local/www/mikbill/admin <Directory "/usr/local/www/mikbill/admin"> AllowOverride All Options FollowSymlinks Includes allow from all </Directory> SSLEngine on SSLCertificateFile "/usr/local/etc/apache22/server.crt" SSLCertificateKeyFile "/usr/local/etc/apache22/server.key" </VirtualHost> <VirtualHost *:80> ServerName admin.ispnet.demo ServerAdmin webmaseter@yousite.com Redirect permanent / https://admin.ispnet.demo/ </Virtualhost> <VirtualHost *:443> ServerAdmin webmaseter@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 /usr/local/www/mikbill/stat <Directory "/usr/local/www/mikbill/stat"> AllowOverride All Options FollowSymlinks Includes allow from all </Directory> SSLEngine on SSLCertificateFile "/usr/local/etc/apache22/server.crt" SSLCertificateKeyFile "/usr/local/etc/apache22/server.key" </VirtualHost> <VirtualHost *:80> ServerName stat.ispnet.demo ServerAdmin webmaseter@yousite.com Redirect permanent / https://stat.ispnet.demo/ </Virtualhost></code> Создаем базу данных и вносим даннын для авторизации биллинга используя phpMyadmin Базу данных назовите mikbill кодировка koi8r_general_cl Импортируйте файл из папки sql в дистрибутиве, в соотвествующей кодировке. Уставливаем Freeradiusd 2 <code>cd /usr/ports/net/freeradius2 make</code> Выбираем опции только опции перечисленные ниже и никаких других <code>MYSQL PERL EXPERIMENTAL KERBEROS</code> после компиляции выполняем <code>make install</code> Настройка Freeradiusd 2 во время запуска radiusd -X вы увидите: <code>Can't locate serialize.pm in @INC (@INC contains: /usr/local/lib/perl5/5.10.1/BSDPAN /usr/local/lib/perl5/site_perl/5.10.1/mach /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/5.10.1/mach /usr/local/lib/perl5/5.10.1 .) at /usr/local/etc/raddb/mikbill.pl line 6.</code> Откройте перл который стоит у Вас в системе. в 8.1-Release был perl 5.10.1 <code>cd /usr/ports/lang/perl5.10/ make config</code> добавить <code>THREADS</code> <code>make make reinstall</code> пересобрать и установить установка MRTG <code>cd /usr/ports/net-mgmt/mrtg make install</code> не включаем демон mrtg создаем конфиг файлы для работы биллинга <code>touch /usr/local/etc/mrtg/mrtg_mikbill_tarif.conf touch /usr/local/etc/mrtg/mrtg_mikbill_users.conf</code> даем право на запись <code>chmod -R a+rwx /usr/local/etc/mrtg/</code> Вносим из файла записи в кронтаб <code>BSD/crontab_bsd</code> Установка MPD5 <code>cd /usr/ports/net/mpd5 make config</code> Добавляем <code>NG_CAR</code> остальное по вкусу <code>make install</code> запускаем mpd5 в <code>/etc/rc.conf</code> добавляем <code>mpd_enable="YES"</code> правим под себя <code>/usr/local/etc/mpd5/mpd.conf</code> пример в дистрибутиве. <code> BSD/mpd5/mpd.conf BSD/mpd5/radiusd.conf</code> запуск <code>/usr/local/etc/rc.d/mpd5 start</code> админка веб логин и пароль <code>admin admin http://192.168.226.129:5006/</code> Берем словарь из дистрибутива <code>BSD/usr/local/share/freeradiusdictionary.mpd</code> и ложим его по пути <code>/usr/local/share/freeradius</code> открываем файл <code>/usr/local/share/freeradius/dictionary</code> и добавляем в конец файла <code>$INCLUDE dictionary.mpd</code> все словарь mpd подключен важный нюанс работы NAS c ip localhost оставте без изменений и используйте в настройках mpd5 и NAS следующего за localhost поставте другой ip сервера. Ставим DNS <code>cd /usr/ports/dns/bind9 make make install cd /usr/ports/dns/bind-tools make make install</code> Настрваиваем NAMED файл <code>/etc/namedb/named.conf</code> ставим параетры <code>listen-on { any; };</code> и закоментируем эти 3 строки <code>disable-empty-zone "255.255.255.255.IN-ADDR.ARPA"; disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; </code> в <code> /etc/rc.conf named_enable="YES" /etc/rc.d/named start</code> Запуск удаляем скрипт <code>rm -rf /usr/local/etc/rc.d/radiusd</code> и копируем скрипты из дистрибутива доабвляем в <code>/etc/rc.conf mikbill_enable="YES" radiusd_enable="YES"</code> И выполняем <code>/etc/rc.d/mikbill start /etc/rc.d/radiusd start</code> Установка завершена. Вопросы и коментарии в этом [[http://www.mikbill.ru/forums/forum/41-установка-freebsd/|форуме]]. billing/setup/freebsd.txt Последнее изменение: 10 лет назад — ld