RackTables or NetBox — choose an asset management system

Если в вашей компании больше 2-х стоек сетевого оборудования\серверов и более 20 ВМ, то имеет смысл вести учет распределения адресного пространства и выделения ресурсов. Я для этого использую систему RackTables. Установка не займет у вас много времени, ориентироваться можно на инструкцию:

RackTables or Netbox

Install Racktables on Centos 7

Установка MariaDB & Apache with php

yum -y install mariadb mariadb-server mysql-server mysql-devel
yum install httpd -y
yum install php -y
yum install php-mysql -y
yum install php-common php-cli php-ldap php-snmp php-pcntl
yum install php-pdo php-gd php-mbstring php-bcmath

Добавляем в автозагрузку и запускаем

systemctl start httpd
systemctl enable httpd
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

Делаем безопасную настройку БД

mysql_secure_installation

Включаем Unicode

nano /etc/my.cnf
#To enable Unicode, add “character-set-server=utf8” line to “[mysqld]”
character-set-server=utf8

Нам нужно создать базу, заходим в mysql

mysql -p

Создание базы

create database racktablesdb;
GRANT ALL on racktablesdb.* TO [email protected] IDENTIFIED by ‘*****************’;
flush privileges;
exit

Установка Ractables

Отключаем SELinux

setenforce 0

Так же правим конфиг, чтобы после ребута он не включался

nano /etc/selinux/config
SELINUX=permissive

Скачиваем

wget https://sourceforge.net/projects/racktables/files/RackTables-0.20.14.tar.gz/download?use_mirror=kent&r=https%3A%2F%2Fwww.racktables.org%2F&use_mirror=kent

tar -xopf RackTables-0.20.14.tar.gz
cp -fr RackTables-0.20.14/wwwroot/ /var/www/html/racktables
chmod -R 755 /var/www/html/racktables

Дальше заходим на http://our-ip/ и следуем подсказкам мастера

Создадим файл с «секретом»

touch /var/www/html/racktables/inc/secret.php
chmod 666 ‘/var/www/html/racktables/inc/secret.php’

После этого сменим владельца и выставим права:

chown apache:apache /var/www/html/racktables/inc/secret.php
chmod 400 /var/www/html/racktables/inc/secret.php

Доустановим недостающие модули\компоненты:

yum install –y php-devel php-gd php-mbstring php-bcmath
yum install –y gcc-c++ libgcc gcc
wget http://museum.php.net/php5/php-5.4.16.tar.gz
tar -xopf php-5.4.16.tar.gz
cd /root/php-5.4.16/ext/pcntl
./configure
make
cp modules/pcntl.so /lib64/php/modules/pcntl.so
echo «extension=pcntl.so» > /etc/php.d/pcntl.ini
systemctl restart httpd
systemctl status httpd

Поддержка https
Предполагается, что у вас уже есть подготовленные файлы сертификата, которые вы положили в /etc/httpd/cert/
yum install mod_ssl -y

Создаем файл конфигурации виртуального хоста Apache:

nano /etc/httpd/conf.d/rack.conf

rack.conf

<VirtualHost *:443>
SSLEngine on
SSLProtocol -all +TLSv1.2
SSLCipherSuite HIGH:!kRSA:!kDHr:!kDHd:!kSRP:!aNULL:!3DES:!MD5
SSLCertificateFile /etc/httpd/cert/mysrv.crt
SSLCertificateKeyFile /etc/httpd/cert/mysrvcrt_ssl.key
<Directory /var/www/html>
AllowOverride All
Options -Indexes
</Directory>
DocumentRoot /var/www/html
ServerName rack.domain.ru
</VirtualHost>

Добавляем в файл глобального конфига apache в самый низ:

nano /etc/httpd/conf/httpd.conf

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName rack.domain.ru
ErrorLog logs/rack.domain.ru-error_log
CustomLog logs/rack.domain.ru-access_log common
Redirect permanent / https://rack.domain.ru/
</VirtualHost>

Перезапускаем Apache

systemctl restart httpd.service
systemctl status httpd.service

Установка плагинов
Описание тут http://www.mogilowski.net/projects/racktables/

Скачиваем файл архива и распаковываем его

cp -r racktables_extension/plugins/* /var/www/html/racktables/plugins

Включаем поддержку в secret.php

nano /var/www/html/racktables/inc/secret.php

добавляем

###########plugin dir
$racktables_plugins_dir = ‘/var/www/html/racktables/plugins/’;

Включение AD авторизации

Описано тут: https://wiki.racktables.org/index.php/LDAP
Нужно раскомментировать параметры LDAP, ниже привожу кусок рабочего конфига

nano /var/www/html/racktables/inc/secret.php
#включаем LDAP
$user_auth_src = ‘ldap’;
$require_local_account = FALSE;

#указываем настройки
$LDAP_options = array
(
‘server’ => ‘dc2.domain.ru’,
‘domain’ => ‘domain.ru’,
‘search_attr’ => ‘sAMAccountName’,
‘search_dn’ => ‘OU=IT,OU=ORG,OU=office,DC=domain,DC=ru’,
// The following credentials will be used when searching for the user’s DN:
‘search_bind_rdn’ => ‘LDAPSRV-RACK’,
‘search_bind_password’ => ‘***************************’,
‘displayname_attrs’ => ‘givenname sn’,
// ‘options’ => array (LDAP_OPT_PROTOCOL_VERSION => 3),
‘use_tls’ => 0, // 0 == don’t attempt, 1 == attempt, 2 == require
);

Бекап базы Ractables
Делаем дамп

mysqldump -u racktableuser -pOurPassword racktablesdb | gzip > /tmp/backup/racktablesdb.sql.gz.`date +%Y%m%d_%H%M%S`

Если надо восстановиться

gunzip < /tmp/backup/oracktablesdb.sql.gz.20160530_183550 | mysql -u racktableuser -pOurPassword racktablesdb

Полезная статья
https://habrahabr.ru/post/105954/