Показать страницуСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Установка Centos(RHEL) (полная) ====== <file>Почему Centos ? - ответ: выбор прост - потому что он очень стабилен. По сути это RHEL без логотипов Redhat. Ниже выдержка из wikipedia: </file> <file> 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.</file> Устанавливаем Centos пакет server, рекомендуется ставить текущую стабильную версию. На Данный момент рекомендуем ставить Centos 6.3 x86_64 ([[http://ftp.hosteurope.de/mirror/centos.org/6.3/isos/x86_64/CentOS-6.3-x86_64-minimal.iso | Рекомендуем ставить образ minimal.iso]]) [[http://sysadmins.me/topic/633/ | Установка Centos в RAID-1]] - следовать обязательно (ну или, как говорится, ваши проблемы) [[http://www.iprobot.net/linux-tutorial/how-to-setup-software-raid-for-centos/ | Установка Centos в RAID-1]] (English - картинки работают) [[http://ss.lg.ua/node/859 | Инструкция по включению SOFT RAiD-1]] [[http://xgu.ru/wiki/raid#mdadm | Управление RAID-1 с помощью mdadm]] Не забывайте что документация с прошлых версий Centos подходит и к вашей системе. Документация по системе: [[http://www.centos.org/docs/5/ | Centos 5]] [[http://openwiki.ru/wiki/CentOS | Centos WiKi]] [[http://centos.name/?page/documentation | Документация]] Отключаем IPv6 в Centos ([[http://wiki.centos.org/FAQ/CentOS5#head-47912ebdae3b5ac10ff76053ef057c366b421dc4 | оригинал]]) для начала /etc/sysconfig/network задаем <code>NETWORKING_IPV6=no</code> и потом в /etc/modprobe.conf добавляем <code> alias ipv6 off alias net-pf-10 off </code> выполняем команду /sbin/chkconfig ip6tables off и делаем reboot сервера. Все IPv6 выключен. После установке добавьте себе пользователя и пропишите его в /etc/sudoers и закройте вход root по ssh навсегда. конфиг /etc/ssh/sshd_config <code> Port 22 Protocol 2 PermitRootLogin no MaxAuthTries </code> Если добавить пользователя в /etc/sudoers <code> adduser -m login passwd login </code> Если добавить пользователя в /etc/sudoers строкой вида <code>login ALL=(ALL) NOPASSWD: ALL</code> где login - имя Вашего пользователя . теперь по команде <code>sudo su -</code> вы становитесь рутом после первой загрузки не забудьте выполнить setup и отключите службы которые редко используются (рекомендация носит общий характер) <code> anacron atd auditd avahi-daemon bluetooth cpuspeed cups firstboot ip6tables isdn readahead_early restorecond </code> Для начала выполним предварительную установку необходимых пакетов для работы системы и небольшую донастройку. Настройка /etc/sudoers необходимо изменить <code> Default requiretty Defaults env_reset </code> на <code> #Default requiretty #Defaults env_reset </code> Так же добавите строку ну и по подобию Вашего пользователя в системе. <code>apache ALL=(ALL) NOPASSWD: ALL</code> =====Отключение SELinux===== С включеной опцией не будет работать ZendOptimizer, что нас не устраивает. Редактируйте файл /etc/selinux/config измените <code>SELINUX=enforcing</code> на <code>SELINUX=disabled</code> выполняем команду <code>setenforce 0</code> чтобы не перегружать систему для отключения SELinux. =====Установка PHP 5.2===== Внимание в Centos 5.x имеется bug в php , описание [[http://allurcode.com/2010/03/30/pdo-rowcount-not-working-in-php-5-1-6/ | здесь]]. мы сейчас его исправим([[http://wiki.centos.org/HowTos/PHP_5.1_To_5.2 | оригинал]]) <file>Теперь подключаем дистрибутив из репозатория "CentOS-5 Testing" в папке /etc/yum.repos.d создаем файл с именем CentOS-Testing.repo</file> <code> # 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* </code> теперь можно установить необходимые пакеты <code> 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 </code> Теперь у Вас установлены Freeradius , Mysql, Apache2, PHP, Bind, DHCPd, MRTG, Samba, Crond , pppd, poptop, rp-pppoe и сопутствующие пакеты. [[billing:configuration:zendoptiomizer|Устанавливаем и настраиваем ZendOptimizer]] [[billing:configuration:mysql|Cтатья по настройке MySQL базы данных.]] Так же установим PhpMyadmin для удобства работы с базой данных Выполняем по инструкциям на сайте установку PhpMyadmin Вначале по этой [[http://www.centos.name/?page/additionalresources/RPMForge | ссылке]]. А потом по этой [[http://www.centos.name/?page/tipsandtricks/phpmyadmin | ссылке]]. Пакеты rpmforge-release-0.5.1-1.el5.rf.i386.rpm и rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm Вы найдете в дистрибутиве в папке soft Далее добавим полезный для работы пакет <code>yum install iftop</code> после успешной настройки phpmyadmin делаем <code> /etc/init.d/mysql start /etc/init.d/httpd start </code> и не забываем запустить setup и добавить эти службы в автозагрузку системы. [[billing:configuration:ntp|Настройка часов и времени - это очень важно сделать]] ===== Настройка DNS ===== Настроим простую DNS зону в BIND и виртуал хостинг в Apache. Пример полной инфомарции по BIND и DNS. [[http://www.opennet.ru/docs/RUS/linuxsos/ch14_2.html | Источник - 1]] [[http://www.opennet.ru/docs/RUS/linuxsos/ch14_2.html | Источник - 2]] Зона будет называться "ispnet.demo" для начала прописываем первым наш сервер в файле /etc/resolv.conf в итоге конфиг будет выглядить примерно так <code> # cat /etc/resolv.conf nameserver 127.0.0.1 search localdomain </code> переходим в папку /var/named/chroot/etc файл named.caching-nameserver.conf Вносим новые значения в options <code> listen-on port 53 { any; }; listen-on-v6 port 53 { none; }; allow-query { any; }; allow-query-cache { any; }; </code> Далее в конфиге после <code> logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; </code> добавляем <code> 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"; }; </code> и осталное удаляем что внизу. сохраняем, теперь нужно прописать файл зоны. файл зоны находится по пути /var/named/chroot/var/named создаем файл ispnet.demo.zone содержимое файла <file> $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 </file> где IP - ip адресс вашего сервера. Это пример зоны, в реальной зоне необходимо использовать 2 NS сервера. делаем <code>/etc/init.d/named restart</code> и не забываем запустить <code>setup</code> и добавить эту службу в автозапуск системы. **Открываем установленный PHPMyadmin и начинаем работы с базой данных.** для начала откроем "привелегии" Удалим всех стандартных пользователей кроме 3х root для пользователей root зададим одинаковый пароль и сохраним его себе на долгую память в блокноте. Теперь вносим этот пароль в конфиг PHPmyadmin чтобы продолжить работу. файл находится по пути /usr/share/phpmyadmin/config.inc.php если вы ставили по инструкции выше...или же по другому пути как Вы сами установили данное приложение. в нем меняем $cfg['Servers'][$i]['extension'] = 'mysql'; на $cfg['Servers'][$i]['extension'] = 'mysqli'; и в конце файла перед строками <code> $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; </code> вносим 3 строки <code> $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'rootpass'; $cfg['Servers'][$i]['auth_type'] = 'config'; </code> где rootpass - ваш пароль который вы только что сменили. Все теперь откроем окно импорта. Выберем кодировку файла UTF8 и выберем файл из дистрибутива <code>centos/sql/mikbill.sql</code> проводим импорт...и вы создали базу данных для билилнга. осталось создать пользователя базы данных и работа со SQL у нас закончена. Снова открываем "привелегии" Создаем нового пользователя. называем его mikbill ограничиваем вход только localhost задаем пароль и снова записываем ег ов блокнот Далее выбираем PROCESS , SUPER . GRANT в администрировании и создаем пользователя. После выбираем базу данных mikbill в панели "Привилегии уровня базы данных" И отмечаем все права этому пользователю на базу данных. Ниже тоже самое но прямыми SQL командами, как памятка для оппытных пользователей. Выполнять после импорта mikbill.sql ( импорт производить в кодировке UTF8) **ВНИМАНИЕ добавляя пользователя для работы биллинга, хост указывайте: localhost или %.** <code> 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 ; </code> Поздравляю. настройка базы данных завершена. =====Настройка Freeradius.===== для начала выполним подготовку <code> rm -rf /etc/raddb rm -rf /etc/init.d/radiusd </code> теперь перейдем в папку дистрибутива открываем папку centos и выполняем <code> 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 </code> Теперь осталось отредактировать конфигурационный файл /etc/raddb/sql.conf **ВНИМАНИЕ в этом файле следует изменять только 1 параметр** <code>password = "MIKBILLPASS"</code> вместо MIKBILLPASS впишите свой пароль на базу данных mikbill Последнее добавте в автозапуск radiusd и mikbill с помощью команды setup для теста запустите radiusd -X если вы увидели <code> 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. </code> у Вас все в порядке, в противном случае проверте правильность выполнения предидущих шагов или обращайтесь на форум. =====Настраиваем Apache.===== для начала открываем файл /etc/httpd/conf/httpd.conf переходим в конец файла и добавляем с новой строки <code> 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 </code> теперь создаем директорию /etc/httpd/vhosts.d и в нее ложим 2 конфиг файла <code> # 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> </code> <code> # 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> </code> Лутше изменить временный сертификат, или пропустите этот шаг. <file>В случае создание сертификата не забудте указать путь к нему в директивах SSLCertificateKeyFile и SSLCertificateFile конфигураций виртуалхостов.</file> создайте папку /etc/httpd/ssl и в этой директории выполните команду <code> 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 -out new.cert.cert </code> которая создаст самоподписаный сертификат, на первое время вам его хватит. Заполните данные для доступа к базе данных биллинга. внесите в эти файлы логин и пароль на SQL <code> /var/www/mikbill/admin/app/etc/config.xml /var/www/mikbill/stat/app/etc/config.xml </code> Настройка Apache закончена. Не забываем сделать <code>/etc/init.d/httpd restart</code> Соотвественно зайдя по ссылкам https://admin.ispnet.demo \\ https://stat.ispnet.demo \\ http://stat.ispnet.demo "админка" и "личный кабинет" теперь доступны из вашей сети. логин и пароль на первичный вход в "админку" <code> admin admin </code> теперь запустив команду <code>/etc/init.d/mikbill start</code> вы запустите ядро биллинга, после старта ядра выполните команду <code># ps auxfw|grep php</code> вы увидите вывод схожий с этим <code>root 11339 3.5 0.0 133900 3468 pts/6 S+ Oct05 624:07 | \_ php ./mikbill.php</code> ядро биллинга запушено. [[billing:configuration:cron|Настроим crond для Mikbill]] [[billing:configuration:cross_server_uathorization|Настройка авторизации серверов для работы MikBill]] [[billing:configuration:explain|Ознакомьтесь с пояснениями по работе биллинга MIkBill.]] Ознакомтесь с [[billing:install:post_install | информацией после установки]] Вопросы на [[http://www.mikbill.ru/forums/forum/39-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-centos/|форум]] billing/setup/centos_rhel_full.txt Последнее изменение: 10 лет назад — dh