четверг, 27 декабря 2018 г.

CentOS/RHEL: sys-unconfig - аналог sysprep, реконфигурация ОС при следующей загрузке

ОС RedHat(CentOS) имеет в своем составе утилиту sys-unconfig, позволяющую запускать инсталляционный конфигуратор при следующей загрузке системы, в котором можно сделать настройки времени, часового пояса, сетевого соединения, языка и раскладки клавиатуры, пароля root, создание дополнительных пользователей и т.д.


Утилита будет полезна при клонировании гостевых ОС в виртуальной среде. Перед ее запуском рекомендуется выполнить следующие шаги:

1. Удалить ssh-ключи: "rm -rf /etc/ssh/ssh_host_*".
2. Установить имя хоста по-умолчанию: "hostnamectl set-hostname localhost.localdomain".
3. Очистить параметр "HWADDR=" в файлах сетевой конфигурации: "/etc/sysconfig/network-scripts/ifcfg-eth*".
4. Удалить логи: "rm -rf /var/log/*".
5. Перезагрузить ОС и выполнить "sys-unconfig" от пользователя root.

понедельник, 18 июня 2018 г.

PowerShell: скрипт для резервирования групповых политик Active Directory

Данный скрипт позволяет создать задачу по резервированию групповых политик вашего домена на случай внесения изменений или их удаления:

$Path = "D:\GP_Backup\"
$Days = "30"
$date = Get-Date -format yyyyMMdd
New-Item -Path $Path\$date -ItemType "directory"
Backup-GPO -All -Path $Path\$date
&$env:ProgramFiles\WinRar\rar a -r $Path\$date $Path\$date
Remove-Item $Path\$date -Recurse -Force
$Now = Get-Date
$LastWrite = $Now.AddDays(-$Days)
$Files = Get-Childitem $Path -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
Foreach ($File in $Files)
    {
    If ($File -ne $NULL)
        {
        Remove-Item $File.FullName | Out-Null
        }
    }


где $Path - каталог для хранения бэкапов;
      $Days - все копии, которые созданы ранее этого количества дней назад, будут удалены.

При каждом срабатывании скрипта в целевой папке будет создан архив резервной копии групповых политик в формате "ггггммдд". Архивация производится внешней программой WinRar, которая должна быть установлена заранее.

вторник, 27 марта 2018 г.

FreeBSD: Установка LAMP (Apache, PHP, MySQL, phpMyAdmin)

Установка LAMP - это комплексная инсталляция ПО: Apache, MySQL, PHP на ОС Linux, но в нашем случае это будет FreeBSD.
Начнём по порядку:

Установка Apache:

cd /usr/ports/www/apache24
make install clean
rehash

В настройках компонентов не забываем помечать пункты с "MySQL".
Прописываем автозапуск веб сервера:
echo 'apache24_enable="YES"' >> /etc/rc.conf

И загрузку accf_http модуля для буферизации соединения HTTP:
echo 'accf_http_ready="YES"' >> /etc/rc.conf

Запускаем веб-сервер: "service apache24 start" и проверяем открытие стартовой страницы.

Установка PHP:

cd /usr/ports/lang/php72
make install clean
cd /usr/ports/lang/php72-extensions
make install clean
cd /usr/ports/www/mod_php72
make install clean
rehash

При установке сопутствующих пакетов не забывайте указывать поддержку базы данных MySQL(MySQLi).

Настройка Apache и PHP:

Конфигурируем httpd.conf:
ee /usr/local/etc/apache24/httpd.conf

Настройте параметры: ServerName (DNS имя хостинга), ServerAdmin (e-mail администратора), DocumentRoot (расположение корневого каталога сайта).
Раскомментируйте "LoadModule rewrite_module libexec/apache24/mod_rewrite.so".
Приведите параметр "DirectoryIndex" к следующему виду:"DirectoryIndex index.php index.html index.htm default.htm default.html".
Найдите строки:

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

и добавьте после них:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Сохраните и закройте "httpd.conf".

Далее скопируйте "php.ini" из шаблона:

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
chmod 444 /usr/local/etc/php.ini

Перезапустите веб-сервер: "service apache24 restart".

Установка MySQL:

cd /usr/ports/databases/mysql80-server
make install clean
rehash

Внимание! Если система ругнётся, что уже установлена другая версия клиента MySQL, то необходимо его деинсталлировать, а затем продолжить установку последней версии сервера. Например:

cd /usr/ports/databases/mysql56-client
make deinstall clean

Прописываем автозапуск:"echo 'mysql_enable="YES"' >> /etc/rc.conf".

Настройка MySQL:

Правим конфигурационный файл при необходимости: "ee /usr/local/etc/mysql/my.cnf".
Запускаем сервер: "service mysql-server start".
Выполняем команду "mysqladmin -u root password 'my_password'" и устанавливаем пароль для пользователя "root" к базе данных. По умолчанию пароль пустой, поэтому его необходимо обязательно поменять. Далее проверяем подключение командой "mysql -u root -p". Если после ввода пароля вы попали в строку управления сервером MySQL, все работает корректно. Командой "quit" выйдите обратно в оболочку.

Установка phpMyAdmin:

cd /usr/ports/databases/phpmyadmin
make install clean
rehash

Настройка phpMyAdmin:

Настраиваем конфигурационный файл "config.inc.php":
cd /usr/local/www/phpMyAdmin
cp config.sample.inc.php config.inc.php
ee config.inc.php

Заполняем поле:

$cfg['blowfish_secret'] = 'YOUR_PASS'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Задайте секрет порядка 32 символов.
Сохраняем файл и переходим к настройке Apache: "ee /usr/local/etc/apache24/httpd.conf":

В секцию "<IfModule alias_module>" добавляем следующую строку:
Alias /phpmyadmin /usr/local/www/phpMyAdmin
2. После секции "Directory" добавляем свою:

<Directory "/usr/local/www/phpMyAdmin">
    AllowOverride None
    Options None
    Require all granted
</Directory>


Перезапускаем веб-сервер: "service apache24 restart" и проверяем работу phpMyAdmin. Также можно добавить параметры для разрешения доступа с определённых подсетей или хостов. Например:

Order Allow,Deny
Allow from 192.168.1.0/24

Дополнительная настройка виртуальных хостов (при необходимости):

Создадим директорию для расположения виртуальных хостов и пару сайтов для примера:

mkdir /usr/local/www/vhosts
mkdir /usr/local/www/vhosts/site1.local
mkdir /usr/local/www/vhosts/site2.local


Далее раскомментируем строку в https.conf:

Include etc/apache24/extra/httpd-vhosts.conf

И добавим дерективу:

<Directory "/usr/local/www/vhosts">
    AllowOverride None
    Options None
    Require all granted
</Directory>


 Сохраняем изменения и открываем файл конфигурации виртуальных хостов:
ee /usr/local/etc/apache24/extra/httpd-vhosts.conf

Удаляем всё содержимое и вносим туда в качестве примера наши два хоста:

<VirtualHost *:80> 
    ServerAdmin admin@mail.com 
    DocumentRoot "/usr/local/www/vhosts/site1.local"
    ServerName
site1.local 
    ServerAlias www.site1.local 
    <Directory /usr/local/www/vhosts/site1.local>
             Order Allow,Deny
            Allow from all
 
 </Directory>
 </VirtualHost>
 <VirtualHost *:80>
     ServerAdmin admin@mail.com
    DocumentRoot "/usr/local/www/vhosts/
site2.local"
    ServerName
site2.local 
    ServerAlias www.site2.local 
    <Directory /usr/local/www/vhosts/site2.local>
             Order Allow,Deny
            Allow from all
 
 </Directory>
 </VirtualHost>

Перезапускаем Apache. Теперь сайты будут разделены и доступны каждый по своему имени. Необходимые записи для разрешения имён нужно настроить в DNS.

четверг, 22 марта 2018 г.

VMware: Проверка доступности TCP портов на удалённом хосте из командной строки VMware vCenter Server Appliance (VCSA)

Чтобы проверить доступность удалённого порта TCP из консоли VCSA, залогиньтесь туда под пользователем "root" и выполните следующие действия:

1. Перейдите в bash командой "shell".
2. Далее с помощью curl проверяем доступность:

curl -v telnet://IP_ADDRESS_or_DNS_NAME:PORT

Например: curl -v telnet://smtp.server.local:25

среда, 14 марта 2018 г.

FreeBSD: Загрузка исходников ОС с помощью SVN

Для начала необходимо установить "subversion":
cd /usr/ports/devel/subversion
make install clean
rehash


Далее выполняем checkout для нужной ветки ОС, например для версии 11:

Для ветки Release
svn checkout http://svn.freebsd.org/base/release/11.1.0/ /usr/src

Для ветки Release Engineering (ветка Release с установленными обновлениями)
svn checkout http://svn.freebsd.org/base/releng/11.1/ /usr/src

Для ветки Stable
svn checkout http://svn.freebsd.org/base/stable/11/ /usr/src

Для ветки Currrent
svn checkout http://svn.freebsd.org/base/head/ /usr/src

Если ОС не имеет прямого выхода в интернет и доступен только прокси сервер, раскомментируйте и пропишите параметры "http-proxy-host", "http-proxy-port" в секции "[global]" в конфигурационном файле "/root/.subversion/servers".

среда, 7 марта 2018 г.

VMware: Настройка синхронизации времени на VMware vCenter Server Appliance (VCSA)

Для настройки NTP на VCSA откройте в веб браузере следующий адрес: "https://appliance_IP:5480". Залогиньтесь под пользователем "root" (по умолчанию) и перейдите во вкладку "Time".


Напротив "Time zone" нажмите "Edit"и установите необходимый часовой пояс.
Далее напротив "Time Synchronization" с помощью "Edit" перейдите в настройку конфигурации NTP. Тут нужно указать адрес сервера NTP (или нескольких серверов, разделяя их запятой). Также, выбрав режим "Host" вместо "NTP", можно синхронизировать время напрямую от часов гипервизора. Для применения изменений нажмите "ОК".

суббота, 3 марта 2018 г.

VMware ESXi: CONFLICTING_VIBS ERROR при обновлении ESXi 6.0 до 6.5 на серверах HPE Proliant Gen8 и младше



Если вы при обновлении гипервизора VMware на серверах HPE Proliant вы получаете конфликт версий пакетов драйверов, действуйте следующим образом:

1. В нашем случае проблему вызывает VIB-файл драйвера сетевого адаптера Mellanox. Находим точное название пакета: "esxcli software vib list | grep Mell". Команда возвращает нам название VIB-файла ("net-mst").
2. Далее убеждаемся, что данный пакет не используется текущими сетевыми адаптерами на сервере: "esxcli network nic list".
3. Если данный драйвер не задействован, удаляем проблемный пакет командой: "esxcli software vib remove -n net-mst".
4. Повторно запускаем обновление гипервизора.

четверг, 1 марта 2018 г.

Добавление отображения секунд в часах Windows 10

Чтобы ваши часы в треи Windows 10 отображали в том числе и секунды, добавьте параметр DWORD "ShowSecondsInSystemClock" для текущего пользователя в ветку реестра "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" со значением "1". Настройки вступят в силу после того, как вы перелогинитесь.

среда, 28 февраля 2018 г.

Импорт SNMP MIBs файлов в HPE System Insight Manager

Для импорта "мибов" проделайте следующие шаги на Windows сервере с установленным HPE System Insight Manager:
1. Скопируйте необходимые mib-файлы в директорию с установленным HPE SIM в подкаталог "mibs" (по умолчанию это:"C:\Program Files\HP\Systems Insight Manager\mibs").
2. Запустите командную строку с повышенными привилегиями и перейдите в каталог "mibs".
3. Выполните "mcompile MIB_file.mib" для генерации файла с расширением .cfg.
4. Далее импортируйте MIBs в базу данных HPE SIM командой "mxmib -a MIB_file.cfg".