====== Установка Centos 6 для биллинга Mikbill ====== {{ :billing:howto:1.png |}} Centos на данный момент является наиболее популярной системой для работы сервера биллинга Mikbill. Этому способствовала колоссальная отказоустойчивость, скорость работы, низкие требования к железу сервера. === Загрузка образа === Скачать можно тут (64bit архитектура) [[http://isoredirect.centos.org/centos/6/isos/x86_64/]] Заходим, выбираем ближайшее к нам зеркало и скачиваем файл. Образа minimal вполне достаточно. {{ :billing:howto:screenshot_31.png |}} === Винчестер для системы === Минимальные требования под сервер mikbill. Для удобства достаточно 60+ GB*2 HDD в raid 1 для системы и 60+ GB SSD для базы mysql. === Установка === Разворачиваем образ на флешке или CD-диске например программой UltraISO. Запускаем установку **1.** В окне приветствия выбираем **Install or upgrade an existing system** {{ :billing:howto:screenshot_33_1_.png |}} **2.** Далее будет предложение проверить диск Centos на ошибки. Я его пропускаю (**Skip**) {{ :billing:howto:screenshot_35.png |}} **3.** На следующем экране просто жмем **Next** {{ :billing:howto:screenshot_36.png |}} **4.** Далее выбор языка. Если ставите для биллинга Mikbill - советую оставить по умолчанию, English. Выбираем язык, жмем **Next** {{ :billing:howto:screenshot_37.png |}} **5.** Далее выбор раскладки. Настройка аналогична предыдущей, если ставите для Mikbill, оставляем настройку по умолчанию U. S. **English**. Выбираем, жмем **Next** {{ :billing:howto:screenshot_38.png |}} **6.** Выбираем первый пункт **Basic Storage Devices**. Второй пункт нужен для удаленной установки. {{ :billing:howto:screenshot_39.png |}} **7.** Далее предупреждение, что будут удалены все данные на выбранном устройстве. Подтверждаем удаление, жмем **"Yes, discard any data"** {{ :billing:howto:screenshot_40.png |}} **8.** Далее присваиваем собственное имя сервера, по которому он будет идентифицироваться в сети. Сеть можно настроить потом, жмем **Next** {{ :billing:howto:screenshot_41.png |}} **9.** Далее важная настройка времени, которую частенько опускают и к ней приходиться возвращаться. Выбираем свой пояс на карте или из выпадающего списка ниже. Также смотрим чтобы не стояла галочка на **"System clock uses UTC"** {{ :billing:howto:screenshot_42.png |}} **10.** Вводим и подтверждаем пароль от учетки root {{ :billing:howto:screenshot_43.png |}} Внимание! По паролю проходит проверка на длину и сложность {{ :billing:howto:screenshot_44.png |}} Если все равно хотите использовать простой пароль жмите **"Use Anyway"**, но для боевого сервера учетка root должна быть со сложным паролем. **11.** Далее настройка дискового пространства. Тут два варианта (для сервера mikbill рекомендуется второй вариант, с двумя физическими дисками): **11.1** - если 1 диск и не хотим вручную разбивать дисковое пространство Выбираем **"Use ALL Space"** и жмем **Next** (переходим к следующему пункту установки 12) {{ :billing:howto:screenshot_45.png |}} **11.2** - если будем вручную разбивать диск или будем собирать raid 1 из двух дисков жмем **"Create Custom Layout"** Сразу приведу примерную логику разбиения диска исходя из их размеров: **/swap** 8-16 GB достаточно **/** -20-50 GB (корень, выставляем размер в зависимости от размера диска) **/home** -10-50 GB (для самой работы тут место не нужно, но обычно сюда настраивается локальное резервное копирование, которому хоть 10 GB надо оставить) **/var** -остаток (самый важный пункт, тут мало не будет, здесь и сам Mikbill и база, если не монтируется другой диск, и логи) **/tmp** -4 GB **/boot** от 500 MB (на небольшом диске) до 4 GB можно (если проблем с местом на диске нет) {{ :billing:howto:screenshot_88.png |}} Пример разбивки вручную с одним диском: {{ :billing:howto:screenshot_5.png |}} **RAID 1** **11.2.1** Ниже приведу пример настройки raid 1. Изначально видим два наших диска, если на дисках есть разбивка, то выбираем разделы и удаляем (Delete) {{ :billing:howto:screenshot_89.png |}} **11.2.2** Выбираем **Create - Raid Partition - Create** {{ :billing:howto:screenshot_90.png |}} **11.2.3** Это будет наш раздел /boot. Выбираем sda, выставляем Size - размер раздела /boot. {{ :billing:howto:screenshot_91.png |}} Тоже самое делаем для sdb. Размеры, конечно, должны совпадать. {{ :billing:howto:screenshot_92.png |}} **11.2.4** Собираем остальное пространство в raid. Отличие - в настройках **Raid Partition** каждого диска выбираем использовать оставшееся место (**Fill to maximum allowable size**) {{ :billing:howto:screenshot_93.png |}} Также делаем для раздела диска sdb.В результате видим такое разбиение {{ :billing:howto:screenshot_94.png |}} **11.2.5** Собираем раздел /boot. Для этого выбираем **Create - RAID Device - Create** {{ :billing:howto:screenshot_95.png |}} **11.2.6** Настраиваем /boot **Mount Point** - /boot **File System Type** - ext2 (лучше для boot чем eth4) **RAID Level** - RAID1 **RAID Members** - выбираем наши разделы под boot на обоих дисках {{ :billing:howto:screenshot_96.png |}} **11.2.7** Далее настраиваем оставшееся пространство. **Create - RAID - Device Create** {{ :billing:howto:screenshot_97.png |}} **11.2.8** Тут выбираем: **File System Type** - physical volume (LVM) **RAID Level** - RAID1 **RAID MEMBERS** - оставшиеся разделы на обоих дисках {{ :billing:howto:screenshot_98.png |}} Вот так должно получиться: {{ :billing:howto:screenshot_99.png |}} **11.2.9** Разбиваем LVM. Выбираем наш раздел LVM - **Create - LVM Volume Group** {{ :billing:howto:screenshot_100.png |}} **11.2.10** Добавляем точки монтирования {{ :billing:howto:screenshot_101.png |}} swap {{ :billing:howto:screenshot_102.png |}} /home {{ :billing:howto:screenshot_103.png |}} Корень / {{ :billing:howto:screenshot_104.png |}} /tmp {{ :billing:howto:screenshot_105.png |}} /var. Size - выбираем остаток. {{ :billing:howto:screenshot_106.png |}} Вот так должно получиться в итоге: {{ :billing:howto:screenshot_108.png |}} **Решение ошибки "you have not created /boot/efi partition"** sda (first drive) - sda1 - FAT32 - /boot/efi - in firmware boot menu as "CentOS" - sda2 - Linux software RAID - /boot - sda3 - Linux software RAID - / sdb (second drive) - sdb1 - FAT32 - copy of /boot/efi - in firmware boot menu as "CentOS Backup" - sdb2 - Linux software RAID - /boot - sdb3 - Linux software RAID - / # dd if=/dev/sda1 of=/dev/sdb1 # efibootmgr --create --disk /dev/sdb --label "CentOS Backup" --load "\\EFI\\redhat\\grub.efi" **11.2.11** Далее будет выбор точки автозапуска системы, не забываем настроить. Выбираем Change device - наш раздел, куда мы настраивали /boot. В данном примере это /dev/md0 {{ :billing:howto:screenshot_109.png |}} **12.** Подтверждаем запись на диск, жмем **"Write changes to disk"** {{ :billing:howto:screenshot_46.png |}} **13.** Ждем окончания установки. В конце будет преложено перезапустить сервер и войти в консоль. {{ :billing:howto:screenshot_47.png |}} {{ :billing:howto:screenshot_48.png |}} === Настройка сети === Днс echo "nameserver 8.8.8.8" >>/etc/resolv.conf Вместо гугловского 8.8.8.8 можно и желательной свой, поближе. Настройки IP быстрые, до первой перезагрузки ifconfig eth0 10.10.0.2 route add default gw 10.10.0.1 где eth0 - WAN-интерфейс (все интерфейсы можно посмотреть командой ifconfig -a) 10.10.0.2 - IP сервера 10.10.0.1 - шлюз сервера Постоянная настройка vi /etc/sysconfig/network-scripts/ifcfg-eth0 "i" режим ввода ONBOOT=yes BOOTPROTO=none IPADDR=10.10.0.2 NETMASK=255.255.255.0 GATEWAY=10.10.0.1 DNS1=8.8.8.8 DNS2=8.8.4.4 выйти из редактирования файла с сохранением, одной командой: ESC :wq Enter Далее reboot или проще, без перезагрузки service network restart === Настройки сервера === Отключаем 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 выключен. Настройки ssh Добавить пользователя и закрыть доступ по ssh по root и поменять порт adduser -m login passwd login nano /etc/ssh/sshd_config Port 22 Protocol 2 PermitRootLogin no MaxAuthTries