====== Установка 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