Jump to content

k010v

Administrators
  • Content Count

    105
  • Joined

Community Reputation

0 Neutral

About k010v

  • Birthday 10/18/1983

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Обновляем CentOS 7 до CentOS 8 В рамках заметки, обновляем CentOS 7 до CentOS 8 без переустановки системы. В рамках этой заметки, рассматривается процесс апгрейда ОС, на которой работает стандартный LAMP стек. Несколько важных замечаний вначале. Перед процессом обновления ОС, нужно обязательно сделать ревизию по установленному ПО и подключенным в систему репозиториям. Не исключено, что вам придётся какие-то репозитории отключить, а какие-то программы переустановить вручную после апгрейда. Относительно без проблем апгрейд проходит в случаях, когда в системе не установлено сторонних пакетов, и используются только штатные репозитории плюс epel. Обновление — процесс необратимый, так что обязательно убедитесь, что у вас имеются бекапы, из которых можно будет корректно восстановиться после неудачи. Если на сервере используется какая-либо панель управления (ISPmanager, VestaCP и т. д.), скорее всего, апгрейд сломает её работу. Такие серверы лучше не обновлять с 7 на 8 релиз. Подготовка. Для начала, ставим утилиты, которые нам потребуются, и проверяем, что epel репозиторий подключен: # yum install rpmconf epel-release yum-utils Теперь выполним проверку и сравнение конфигов в системе. Тут стоит внимательно читать вывод утилиты (если он будет) и отвечать на вопросы о том, какой конфиг нам нужен (текущий, дефолтный из пакета и т. п.): # rpmconf -a С помощью package-cleanup смотрим, какие у нас установлены пакеты не из репозиториев, есть ли в системе пакеты, которые можно удалить и т. д (команды ниже выведут список этих пакетов): # package-cleanup --orphans # package-cleanup --leaves Можно, так же, воспользоваться функционалом yum’а, но тут нужно внимательно посмотреть, что пакетный енеджер предложит удалить: # yum autoremove Заменяем yum на dnf. Для апгрейда нам потребуется установить dnf, он используется в CentOS 8 по умолчанию. После этого, удалить yum. Опять же, нужно внимательно посмотреть, что dnf предложит удалить в зависимостях вместе с удалением yum: # yum install dnf # dnf remove yum yum-metadata-parser # rm -Rf /etc/yum # dnf upgrade Обновляем систему. Для начала, ставим centos-release и epel-release от 8 версии дистрибутива: # dnf upgrade https://mirror.yandex.ru/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm # dnf upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm Удаляем пакеты, которые могут привести к конфликтам и старые ядра, оставшиеся в системе: # rpm -e --nodeps sysvinit-tools # rpm -e `rpm -q kernel` И выполняем само обновление системы: # dnf --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync На всякий случай, проверяем, что бы пакет kernel-core с новым ядром так же быд установлен. Если его нет, ставим: # dnf install kernel-core И устанавливаем\обновляем минимальный набор пакетов через групповое управление: # dnf groupupdate "Core" "Minimal Install" Как только процесс будет завершён, перезагружаем систему, проверяем, что она запустилась с новым ядром, что установленное ПО работает нормально. При необходимости, добавляем репозитории стороннего софта и ставим его оттуда заново.
  2. Что означает ошибка http 403 Forbidden - доступ запрещен. Уведомление 403 (Forbidden) – причисляется к серверным ошибкам, но оно не сигнализирует о техническом сбое, а является вежливым ответом сервера: «Извините, вам сюда нельзя». Сообщение возникает на экране браузера в том случае, если вы обратились к интернет-ресурсу, директории, папке, файлу или скрипту, в доступе к которому вам отказано. Почему сайт выдает 403 ошибку, можно ли это устранить. Причин того, почему вам отказывают в доступе, может быть множество. От банального недоразумения или сбоя в работе сервера, до преднамеренного закрытия части виртуального пространства по политическим мотивам или с целью сохранения конфиденциальной информации. Доступ к сайту запретили для целого региона или страны. Как только происходит вход в виртуальное пространство, посетителю присваивается номер – IP. Делает это провайдер, предоставляющий доступ в интернет. IP состоит из четырех групп цифр, по два или три знака в каждой. Группы разделены точками. Самая важная для интернета маркировка – две первых группы цифр. По ней можно определить национальную принадлежность посетителя. Например, сервисы от гугла доступны не во всех странах. Вот так будет выглядеть окно ошибки: Когда страны имеют друг к другу претензии, то по команде «сверху» все IP адреса, принадлежащие одной стране, блокируются. Если вы попытались пройти на интересный зарубежный сайт и получили в ответ уведомление 403 Forbidden, то наверняка для этой страны вы персона non grata, хотя ничего плохого ей и не делали. Подвести пользователя под монастырь способен и провайдер. Если он пользуется списанным зарубежным оборудованием, то национальный идентификатор IP может отличаться от действительного географического положения. Рядовому пользователю можно не страшиться того, что заблокируют именно его. Дело в том, что обычные пользователи Всемирной сети получают «плавающий» IP, изменяющийся всякий раз, как происходит выход в интернет. Постоянным номером пользуются только те, у кого «выделенная линия». А это означает дополнительные расходы на оплату выделенного IP адреса ежемесячно. Поэтому, если вы при попытке входа в любимую социальную сеть получили «отлуп» в виде ошибки «403 – в доступе отказано», попробуйте зарегистрироваться еще раз и зайти под другим логином и паролем. В крайнем случае, если вы чисты как ангел, повторите попытку через несколько часов или на другой день. Нарушена работа Вашего интернет-сайта вследствие изменения кода - как устранить Случается и так, что вы обращаетесь к собственному сайту, но видите сообщение об отказе в доступе. Этому есть три объяснения: сайт атаковали хакеры и поломали индексный файл; вы переносили сайт самостоятельно и положили дистрибутив не в ту папку; вы пытаетесь зайти с IP-адреса, доступ с которого запрещен. Индексные файлы – это те, к которым сервер, получив адресный запрос, обращается в первую очередь. Они так называются потому, что в названии первым идет слово index. Если сайт статичный, и написан на HTML, то индексный файл выглядит как index.html. У активных интернет-ресурсов, работающих на системах управления контентом, индексные файлы имеют расширение php. В Joomla их два – index1 и index2. Обратите внимание, что если сервер хостера работает на ОС Linux, то ему небезразличен регистр надписи. Index и index – для него совершенно разные сущности. Примите за правило, что индексные файлы пишутся со строчной буквы. Взять чистый и работоспособный файл index для систем управления контентом можно из дистрибутива, распакованного на домашнем компьютере. Если вы обнаружили, что дистрибутив сайта лежит не в той папке, которая является «корневой», а, например, в предназначенной для скриптов (cgi-bin) то не трудитесь переносить, а переименуйте директории. Действия с индексными файлами и переименованиями папок можно совершать по протоколу FTP, но лучше, если вы войдете в панель управления на хосте. В этом случае можно увидеть следы злоумышленников, если они взломали сайт. Дело в том, что любое изменение в директории или файле фиксируется. Причем указывается не только дата, но и время изменения. Проверьте папки и файлы, которые были изменены без вашего ведома, и вы наверняка найдете там что-то «лишнее» или вирусный код, начинающийся с ?php eval или iframe. Если папки и файлы на месте, но на сайт вас так и не пускают, то обратитесь в техническую поддержку. Ошибка 403 выдается при попытке входа на опредленную страницу или папку Гораздо чаще случается, когда не дают доступ к одной из страниц, или «403» вылезает при попытке совершить действие. Например, при нажатии на кнопку «Купить», чем нередко грешит компонент Virtue Mart после переноса сайта с локального сервера вебмастера на хост. Такие отказы в доступе вредны для бизнеса. Ведь пользователь не захочет обращаться в техподдержку, чтобы ему дали возможность купить что-либо именно в этом интернет-магазине. Он пойдет в другое место. Локальные отказы спровоцированы тем, что папкам и директориям в корне сайта прописаны ненадлежащие права доступа. Они назначаются программой CHMOD, имеющей очень дружелюбный интерфейс. Ко всякой папке и к каждому файлу обращаются три группы пользователей: хозяин сайта или суперпользователи; группа доверенных лиц (администраторы); посетители сайта. Программа CHMOD устанавливает то, что им позволено совершать с файлом или папкой: 1) читать – обозначается цифрой 7 или буквой r; 2) писать (изменять) – цифра 7 или буква w; 3) исполнять – та же семерка или буква х. Если файлу назначили права доступа 777 (в буквенном коде, rwx–rwx–rwx), то он открыт для всех желающих вставить вирусный код, изменить смысл текста. Как вы понимаете, это неприемлемый вариант для безопасности ресурса. Наиболее распространенной директивой прав является 755, в буквенном виде выглядящая как rwx–r-x–r-x. Если в первой группе не будет буквы r, то к файлу или папке не допустят даже хозяина сайта. Пользователю запретят совершать действия (покупки, отправку сообщений и другие интерактивные функции), если в третьей группе CНMOD не будет буквы х. При установке прав на файл вам не требуется ничего знать. В корневой папке сайта список файлов и директорий представлен в виде в таблицы. В ячейке возле файла кликните по крохотной черточке или букве, и она изменит значение. Если же панель управления требует от вас цифры, то смело пишите 755. Это универсальная директива, подходящая к большинству случаев. Провоцируем 403 сами Вы можете сами спровоцировать появление ошибки 403 для выбранной группы пользователей или одного конкретного злодея хакера или спамера. Для этого используйте служебный файл .htaccess. В составе дистрибутива CMS Joomla он есть под именем htaccess.txt. Переименуйте файл, не забыв поставить точку перед именем. Его несложно создать и самостоятельно. Используйте для этого программу Notepad ++. Если в файле написать: , то вы закроете доступ к сайту всем, кроме заданного IP. Учитывая, что IP злоумышленника меняется, нежелательный IP адрес указывается в директиве Deny. Две следующие за ними заполните одной цифрой 0. Вы сами можете устроить бан для всех посетителей из конкретной страны, если знаете национальный код. В этом случае после deny from напишите, например: 83.4.0.0/14. Цифра 14 после слеша указывает, что надо блокировать все IP, начинающиеся с 83.4. IP обидчика (спамера, взломщика) вычисляется двумя путями: компоненты CMS (форум) пишут этот адрес, сообщая администратору о новом посте. в папке log-файлов на хосте. Копаться в «логах» придется долго, но оно того стоит. Выберите IP того, кто посещал сайт в ту минуту, когда файл или папка были несанкционированно изменены или пришел спамерский пост. А потом заблокируйте вредителя. Также можно дополнительно защитить особо важные директории или файлы. В Joomla это папка Libraries. Создайте файл .htaccess, напишите в нем: Order allow deny Deny from all , потом положите его в защищаемую папку. Тот, кто наберет адрес сайта и поставит после него /libraries, получит на экране браузера уведомление об ошибке 403. Как исправить 403 ошибку Обойти запрет на посещение ресурса можно. Это несложный прием, которым пользуются те, кто не желает светить свою персону в интернете. Чтобы избавиться от 403 ошибки - используются прокси-серверы. Они подменяют провайдера и становятся посредниками между вами и Всемирной сетью. Поэтому IP меняет национальность или иные признаки географической принадлежности. Ресурсы, предоставляющие такие услуги, функционируют как в России, так и за ее пределами. Обычно они платные. Обращение к ним не расценивается как криминал. Но и не приветствуется. Кроме тех, кто предоставляет услуги прокси-сервера именно с целью сокрытия личности посетителя интернета, существуют и вполне легальные прокси, обеспечивающие функциональность связи. Например, канал GPRS. Если использовать мобильный телефон как модем, то IP меняется даже в течение одного сеанса выхода в интернет. Это объясняется тем, что голосовые контакты в мобильной связи пользуются приоритетом, а для пакетной передачи данных выделяются оставшиеся каналы. Также пользуются прокси-серверами провайдеры несимметричного выхода в интернет, когда запрос идет по GPRS, а ответ поступает по каналу спутниковой связи.
  3. Любая работа по администрированию сервера начинается с самого очевидного и обязательного процесса — инсталляции необходимой ОС, чем мы и займемся. Скачаем и установим CentOS 8 Server в минимальной конфигурации с загрузочной флешки или по сети на обычный диск или raid раздел. Перед этим познакомимся с нововведениями последней версии дистрибутива и отметим ее основные особенности и отличия от остальных. Цели статьи Кратко рассказать о системе Centos, изменениях 8-й версии. Объяснить различия установочных iso образов. Показать, как сделать загрузочную флешку с Centos для установки с флешки или по сети. Подробно описать все этапы установки Centos 8 на сервер. Показать установку Centos на программный рейд mdadm на тех серверах, где нет физического рейд контроллера. Данная статья является частью единого цикла статьей про сервер Centos. Изменения 8-й версии Пройдемся по основным нововведениям CentOS 8, которые показались интересными лично мне. Функционально это полная копия RHEL 8, поэтому все его изменения на 100% актуальны для центос. Вот список наиболее интересных изменений: Разделение основного репозитория на 2 — BaseOS и AppStream. Первый будет работать как и раньше, а второй — appstream, сделали для того, чтобы была возможность устанавливать разные версии пакетов на сервер. Этот репозиторий поддерживает новый модульный формат rpm пакетов. Переход на пакетный менеджер DNF, который поддерживает модульный формат пакетов. Прощай YUM. Теперь это просто алиас для запуска dnf. Традиционно обновился весь софт и ядро (4.18) Linux. Теперь мы какое-то время будем иметь свежий софт. Прощай php5.4 из базового репозитория Я не буду по тебе скучать. Здравствуй php 7.2 и Python 3.6 из коробки. Замена iptables на nftables. Тут для меня самые серьезные изменения. Iptables я активно использую и настраиваю почти на всех серверах. С nftables не знаком вообще. Надо срочно переучиваться и осваивать новый функционал. Будут статьи на эту тему. Пожалуй этому нововведению я совсем не рад. Лично меня iptables устраивали целиком и полностью в первую очередь тем, что они используются почти везде. Можно брать готовый набор правил и спокойно переносить между серверами с разными ОС. Именно поэтому я всегда пользуюсь голыми iptables, а не надстройками над ними в виде firewalld или ufw. Мне достаточно знать только iptables, чтобы настроить firewall на любом linux сервере. Убрана поддержка Btrfs. Лично я ей никогда не пользовался, но я знаю, что это популярная штука и удаление ее поддержки значительное событие. До кучи обновился openssl и tls до последних версий 1.1.1 и 1.3. Некоторое время назад приходилось отдельно собирать пакеты для использования свежих версий. Теперь это на некоторое время ушло в прошлое, пока текущий релиз CentOS 8 не устареет. Года 2-3 будем жить спокойно. Network scripts для настройки сети объявлены устаревшими и по дефолту не поддерживаются. Можно поставить отдельно пакет для их работы. Для настройки сети надо использовать исключительно NetworkManager, который лично я предпочитаю отключать сразу после установки сервера. Не знаю, чем network-scripts не угодили. Простой и удобный инструмент. Более подробно с изменениями 8-й версии можете познакомиться на opennet или почитать полный список в оригинале на сайте redhat. Я полистал последний. Там в overview есть ссылки на подробное описание по каждому компоненту системы. Cистемные требования CentOS 8 Принципиальных отличий в системных требованиях CentOS 8 по сравнению с предыдущими редакциями нет. Я смог установить и запустить ее на виртуальной машине с 1CPU/512Mb. Однако появились нюансы. Для начала табличка системных требований. Системные требования CentOS 8 CPU Memory Disk Минимальные 1 512 Mb 10 G Рекомендуемые 2 4 G 20 G Я попробовал несколько раз установить Centos 8 на 1CPU/512Mb. При локальной установке все получилось, хотя графический интерфейс инсталлятора прилично тормозил. Установить на виртуальную машину с этими же характеристиками по сети у меня не получилось. Пробовал несколько раз и каждый раз установка зависала на 44% в момент загрузки пакетов из удаленного репозитория. Как только добавлял памяти установка проходила нормально. Так что можно сказать, что минимальные системные требования для установки CentOS 8 по сети — 1 CPU и 1024 Мб оперативной памяти. Для локальной установки хватит и 512. Заметил еще один интересный момент, которого не было в прошлых версиях. Если вы устанавливаете систему на 512 Мб оперативной памяти и не выделяете раздел под swap при разметке диска, установщик говорит вам, что ему надо хотя бы 600 мб оперативной памяти, чтобы выполнить установку без swap. Так что имейте ввиду, что если будете ставить CentOS 8 на минимальные системные требования, отказаться от отдельного раздела под swap не получится. Я обычно отказываюсь и подключаю swap в виде отдельного файла позже. Так просто удобнее. Теперь с 512 мб памяти это сделать не получится. Проще всего выделить во время установки побольше памяти, а потом уменьшить ее количество. Хотя надо будет еще понаблюдать, как система станет себя вести с таким количеством ресурсов. На 7-й версии центос тот же nginx в режиме proxy_pass отлично работает с минимальными системными требованиями. Типы iso образов В CentOS 8 остались только 2 установочный образа: CentOS-8-x86_64-1905-boot.iso — 534 Мб. CentOS-8-x86_64-1905-dvd1.iso — 6,65 Гб. С помощью первого можно запустить инсталлятор и выбрать зеркало в локальной сети или интернете для загрузки установочных пакетов. Второй позволяет выполнить установку centos 8 локально, можно не настраивать сетевой интерфейс вообще. Жаль, что не осталось минимального установочного образа для локальной установки. Я обычно таким пользовался. Netinstall никогда не любил из-за того, что приходится вручную писать длинный url от репозитория, чтобы им воспользоваться. Да и просто зачем нагружать сеть, если удобнее и быстрее взять готовый локальный iso образ. Теперь такого нет. Всех пересадили на огромный DVD образ объемом в районе 7-ми гигабайт. Cкачать CentOS 8 Загрузить CentOS 8 можно как с официального сайта так и со сторонних репозиториев. Я обычно использую зеркало Яндекса для загрузки — https://mirror.yandex.ru/centos/ И его же для сетевой установки. Чтобы вам долго не искать, сразу скажу, что установочные образы лежат тут. Структура репозитория не очевидная. Я первое время после знакомства с центос путался в ее репозиториях, особенно когда искал url для netinstall. Напоминаю, что 32 bit или i386 редакции CentOS 8 не существует. Все дистрибутивы только x86_64, то есть 64 bit. В качестве альтернативных зеркал для загрузки centos 8 можно использовать следующие: http://mirror.corbina.net/pub/Linux/centos/ http://mirror.docker.ru/centos/ http://mirror.logol.ru/centos/ Это актуально для тех, у кого Яндекс по каким-то причинам заблокирован. Жаль, что приходится сталкиваться с повсеместными блокировками в интернете. Плохая тенденция, которая осложняет многие моменты. Загрузочная флешка для CentOS 8 Лично я давно не пользовался загрузочными флешками для чего-то кроме установки гипервизора. Стараюсь все сервера держать в виртуальных машинах для удобного бэкапа и миграции. Тем не менее, если вам понадобится загрузочная флешка с CentOS 8, вы без проблем ее сделаете. Думаю, это актуально для тех, кто ставит систему на рабочие компьютеры или ноутбуки. Правда в таком случае вам моя статья не подходит, так как она описывает в первую очередь нюансы установки и подготовки системы для работы на сервере. На рабочем ноутбуке я предпочитаю использовать не linux. Сделать загрузочную флешку с CentOS 8 можно разными способами. Если у вас операционная система Windows, то рекомендую воспользоваться бесплатной программой Win32DiskImager. В случае с linux можно использовать Etcher. Хотя он и для windows есть, но мне показался тяжеловат. disk imager в этом плане удобнее, что не удивительно. Ведь Etcher написан на мерзком Electron, поэтому он тормозит и весит 80 Мб. Тру админы для создания загрузочных флешек могут использовать DD примерно так: # dd if=CentOS-8-x86_64-1905-dvd1.iso of=/dev/sdz Предложенный способ лично не проверял, но не вижу причин, почему это может не работать. Установка CentOS 8 с флешки Флешку подготовили, приступаем к установке. Ставим загрузку с USB и наблюдаем стандартный, горячо любимый и родной (смахнул слезу) установщик Centos. Выбираем первый пункт: Install Centos Linux 8 и жмем Enter. После загрузки инсталлера, нас встречает окно с выбором языка, который будет использоваться во время установки. Я всегда выбираю Еnglish, мне так привычнее. Язык современной техносферы Английский, ничего не поделать. Рекомендую учить, если кто-то не знаком с ним. Мне читатель в комментариях к одной статье, где я предлагаю выбирать английский язык, предъявил, что я не патриот, раз призываю выбирать не русский язык. Это считаю патриотизмом головного мозга. Врага надо знать в лицо Кстати, без шуток. Хочешь кого-то превзойти, сначала досконально изучи. Дальше увидите немного обновленный, но тем не менее привычный интерфейс с опциями установки. Перечислим их. Выбор часового пояса centos. Поддержка каких языков будет осуществляться на сервере. Выбор раскладки клавиатуры. Откуда будет происходить установка. Так как у нас дистрибутив centos dvd1, установка будет локальной. Выбор пакетов для установки. Разбивка жесткого диска. Подробнее коснемся этого пункта, когда будем разбирать установку на raid. Настройка режима работы KDUMP. Этот механизм делает дамп ядра, если оно у вас падает в момент установки. Теоретически может пригодится, если у вас с установкой возникнут какие-то проблемы. В общем случае лучше не включать, сэкономите немного оперативной памяти во время установки. Настройка сетевых интерфейсов. Без них нельзя установить систему, если используется netinstall. Подозреваю, что security policy это про SELinux, но скажу честно, я не знаю, как это работает на этапе установки, потому что никогда не настраивал и не изучал вопрос. Буду рад, если кто-то поделится актуальной инфой в комментариях. Восклицательным знаком помечены разделы, без настройки которых продолжение невозможно. Пройдемся по всем параметрам и установим необходимые для нас значения. Итак, нажимаем на Time & Date (раньше было Date & Time, явно поработал кто-то эффективный и протолкнул изменение, за которое получил премию по итогу квартала) и настраиваем параметры времени: Указываем регион. Выбираем город. Включаем при необходимости службу времени для синхронизации часов centos с внешними серверами. Это возможно сделать только если вы уже настроили сетевые параметры. Если нет, то вернитесь к этой настройке позже. Выбираем список внешних серверов для синхронизации времени. Указываем формат, в котором будет отображаться текущее время. При необходимости изменяем дату сервера. Когда все сделаете, жмите сверху на Done. В разделе Language Support можно выбрать дополнительные языки, которые будет поддерживать система. В принципе, настраивать прямо сейчас тут нет большой необходимости, если вы точно не знаете, понадобится ли вам какое-то еще язык, помимо английского. Все это можно добавить и потом. Но если точно знаете, что нужен еще один язык в системе, например, Русский может понадобиться, если будете использовать Сервер 1С, то добавляйте сразу. То же самое с клавиатурой. Если нужен набор на еще каком-то языке, то добавляйте его в разделе Keyboard. Добавляем необходимые раскладки. Я добавил Russian. Нажимаем Options и выбираем, как будет происходить переключение раскладок. Тестируем раскладки и переключение. Если все в порядке, идем дальше. Далее нужно указать, откуда будет производиться установка. Как я уже говорил, в данном примере я использую полный iso образ dvd1, который позволяет выполнить установку centos 8 полностью локально. Сетевую установку я рассмотрю отдельно позже. Так что в данном случае нам ничего отдельно настраивать не надо, по-умолчанию и так выбран виртуальный cd-rom в виде устройства sr0 в качестве источника. CentOS 8 minimal Следующим этапом нужно указать, какой набор программного обеспечения будет установлен на сервер вместе с системой. Тут выбираете на свой вкус и потребности. Я обычно ставлю всегда самый минимальный набор, а все, что необходимо, добавляю позже. Уж точно мне на сервере не нужен GUI. Так что мой выбор — Minimal Install и установка Standart. Если ставлю на виртуальную машину, то дополнительно выбираю Guest Agents. Следующий важный этап установки centos 8 — выбор диска и разметка. Тут нет универсальных советов, все зависит от назначения сервера и вашего понимания сути разделения диска на разделы. Лично я всегда выбираю ручную разметку диска и выполняю ее так: Раздел /boot размером в 1 Гб. Корневой раздел / на lvm на всем оставшемсяс вободном месте. Чтобы перейти в ручную разметку диска, надо выбрать диск, нажать Custom и кнопку Done. Дальше я жму на Click here to create them automatically и редактирую предложенную автоматическую разбивку. В принципе, раздел /boot тоже можно было бы разместить в корне, работать будет нормально, но я сталкивался с неожиданными проблемами, когда /boot раздел был на lvm. Так что не буду вам рекомендовать его там размещать. Размера в 1 Гб мне всегда хватало, но в целом, если есть возможность, можно выделить и 2 Гб, чтобы было с заметным запасом. Установщик автоматически предложит вам сделать swap раздел на отдельном lvm томе. Я обычно отказываюсь от этого и вообще не делаю swap. Это не принципиальный момент, мне так просто удобно. После установки я подключаю swap в виде отдельного файла. Так им проще управлять. Если вам не хочется с этим возиться, оставьте как есть. Финальная разметка диска получается следующая. После того, как нажмете Done, появится предупреждение. Warning checking storage configuration. Click for details or press Done again to continue. Можете прочитать суть предупреждения, хотя я знаю, что там будет указано. Вас предупредят, что вы забыли создать раздел swap. А если у вас на сервере меньше 512 Мб памяти, то еще скажут, что без swap продолжить установку невозможно с таким количеством памяти. Тогда вариантов нет, подключайте swap. Не буду подробно задерживаться на настройке KDUMP, просто отключите его. Если не знаете, что это такое, значит вам 100% это не нужно. Подробнее рассмотрим настройку сетевых интерфейсов. Идем в раздел NETWORK & HOST NAME (раньше было NETWORK & HOSTNAME, без пробела, еще один плюс к квартальной премии, кажется я начинаю понимать суть нововведений и объявлений deprecated в современных системах). Ставим переключатель в положение ON и получаем автоматически настройки по dhcp, если подобная служба работает в сети, на которую смотрит интерфейс: Включение ползунка в положение ON активирует интерфейс, он получает настройки по dhcp. Если вы хотите изменить эти настройки, нажимаете Configure. Указываете Host Name. Если забудете, то после установки этот параметр можно изменить. Завершаем настройку традиционным нажатием на Done. Теперь можно вернуться в настройки часов и активировать Network Time. Подготовка по сути завершена. Раздел Security Policy оставляем пустым. Теперь можно нажать на кнопку Begin installation и запустить непосредственно установку Centos 8. Делаем это и параллельно задаем пароль для root пользователя. Нравится, как это реализовано в centos. CentOS 8 netinstall Рассмотрим теперь установку centos 8 по сети с boot образа. Она ничем не отличается от обычной, кроме одного момента — вам нужно сначала настроить сеть с выходом в интернет или с доступом к локальному репозиторию и указать этот репозиторий в качестве источника для установки системы. В качестве источника для установки я буду использовать упомянутое ранее зеркало яндекса. CentOS 8 netinstall url — https://mirror.yandex.ru/centos/8/BaseOS/x86_64/os/ Указываем путь, сохраняем настройки и ждем, когда установщик подключиться к репозиторию и заберет у него информацию о пакетах. После этого в разделе Software Selection можно выбрать необходимый для установки набор софта, как и при локальной установке. Все остальное настраиваем точно так же, как мы сделали выше. Установка на raid Рассмотрим еще один, более специфичный вариант установки. Он может быть актуален, когда вы настраиваете, к примеру, железный сервер для работы на нем гипервизора KVM, либо отдельной ноды кластера Kubernetes, на которой будет использоваться локальное файловое хранилище. Мы будем ставить CentOS 8 на программный рейд. Для примера возьмем 2 диска и raid 1. Все установки будут такие же, как мы рассмотрели ранее, кроме одной — Installation Destination. Подключаем 2 диска к системе, загружаемся с установочного диска и идем в раздел разбивки диска. Видим 2 жестких диска. Выбираем оба и отмечаем пункт Custom. Если на дисках есть какие-то разделы, то все удаляем. Дальше наша задача выполнить такую же разбивку диска, как и ранее, только в качестве разделов использовать массивы mdadm, которые предварительно надо создать. Должно получиться примерно вот так. К сожалению, через стандартный установщик не получится установить centos 8 не только на mdadm raid 1, но затем на lvm разделы поверх mdadm массивов. Я не увидел такой возможности. К примеру, установка Debian позволяет это сделать. Там более гибкие варианты настройки разметки дисков и создания разделов. Дальше можно запускать установку centos на программный рейд. Проверим его после того, как система успешно загрузится. # df -h # cat /proc/mdstat Проверим теперь, как сервер переживет выход из строя одного из дисков. Я выключил сервер, вынул первый диск, с которого загрузился сервер в первый раз и поставил загрузку со второго. Включаю и проверяю. Сервер без проблем загрузился. Никаких ошибок загрузчика не было, кроме одного момента — загрузка была значительно дольше, чем обычно. Вместо нескольких секунд 3-5 минут. Все работает как и должно работать из коробки. Стандартный установщик отработал корректно, хотя так бывает не всегда. Проверим состояние массива. # cat /proc/mdstat # mdadm -D /dev/md126 Одного диска нет, но при этом все работает стабильно. Можно планово выполнить замену сбойного диска и добавить его в массив. Правда, тут могут быть ошибки, одну из которых я недавно словил. После выхода из строя одного диска в составе mdadm, массив с /boot разделом почему то перешел в статус inactive и система не грузилась. Но я это легко исправил и загрузил сервер. Подробности в статье — восстановление raid 1. Я рекомендую использовать софтовый raid mdadm, если у вас нет железного raid контроллера. Mdadm надежен и прост в эксплуатации. У меня с ним никогда не было серьезных проблем и потери информации. Да, бывает, что сервер не грузится после выхода из строя диска, есть нюансы, но данные всегда остаются целы. Все можно исправить. Он намного надежнее, понятнее и стабильнее встроенных в материнскую плату контроллеров. Отдавать предпочтение аппаратному рейду следует только в том случае, если он действительно аппаратный, имеет батарейку и действительно увеличивает производительность сервера за счет кэширования. Во всех остальных случаях рекомендую пользоваться mdadm. Заключение На этом статью по установке сервера на базе ОС CentOS 8 завершаю. Надеюсь, было интересно и полезно. Я постарался подробно рассмотреть все основные нюансы установки, с которыми сам сталкиваюсь в процессе своей профессиональной деятельности. Основные отличия моих статей от подобных, которых развелось огромное количество в интернете в том, что они действительно уникальные и авторские. Я всегда стараюсь привнести в материал часть своих знаний и опыта, накопленного за годы работы в качестве системного администратора. Или просто какие-то свои мысли высказать. Прежде чем написать статью, я погуглил как ru сегмент, так и мировой на тему установки centos 8 и с грустью констатирую, что не нашел ничего интересного. В топе выдачи банальные СЕО статьи со скриншотами и шагами инсталлятора. Ничего уникального и действительно полезного. Это удручает, потому что СЕО побеждает реальных авторов-практиков, у которых нет времени разбираться в продвижении, и делает их статьи невидимыми для людей, потому что их нет в ТОП 10 выдачи поисковиков. Если мне попадаются интересные сайты с качественным контентом, я добавляю их в закладки и просматриваю вручную, когда есть время. Обозначенная выше проблема актуальна для всех информационных сайтов. Думаю, каждый это замечает, когда что-то ищет в интернете не по коммерческим запросам. На первых местах всегда СЕО статьи с рерайтом одной и той же фигни. Практическая ценность подобных статей стремится к нулю. Поисковики что-то постоянно пытаются с этим сделать, но получается не очень, потому что сеошники подстраиваются. В этом плане Гугл работает более качественно, чем Яндекс. У последнего выдача более мусорная, что косвенно подтверждается тем, что он с каждым годом теряет свои позиции в качестве поисковика. Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos. Статья позаимствована с ресурса serveradmin.ru
  4. Будучи администратором Windows, трудно НЕ использовать продукты из линейки Microsoft System Center. Эти продукты имеют широкий спектр применения и отлично интегрируются с Windows Server. Плюс, компания Microsoft часто предлагает эти продукты по низким ценам со скидками, если вы приобретаете корпоративную лицензию. Так давайте узнаем, что включает эта линейка продуктов и как она может помочь в управлении своей ИТ инфраструктурой. Microsoft System Center представляет собой линейку продуктов управления от компании Microsoft. Это большая линейка продуктов, настолько большая, что даже проводятся ежегодные конференции, посвящённые этим продуктам. Эта конференция, Microsoft Management Summit 2010, как раз сейчас, на момент написания статьи, проходит в Лас-Вегасе. Вы, вероятно, слышали о SMS или MOM линейках продуктов от Microsoft; все эти продукты переименованы и являются частью пакета MS System Center Suite. Так из чего же состоит этот пакет продуктов управления и как он может помочь лучше управлять своей ИТ инфраструктурой. Что такое Microsoft System Center? В Microsoft говорят, что System Center управляет всем, от настольных компьютеров до целых центров данных, и они правы. Благодаря 6+ разным ОСНОВНЫМ приложениям, являющимся частью пакета, есть приложения для управления всей ИТ инфраструктурой и связанными с ней приложениями (да, приложения для управления приложениями). Но пакет "SC" не только управляет приложениями, клиентскими устройствами, серверами, виртуальными машинами (и т.д.), его задачей является автоматизация этих заданий по управлению ("Динамическое управление ИТ", как называют это в Microsoft) и выполнение этого таким образом, чтобы можно было стандартизировать политики и применять рекомендации. В пакет System Center входит следующее: Диспетчер конфигурации System Center Configuration Manager (SCCM) Диспетчер операций System Center Operations Manager (SCOM) Диспетчер защиты данных System Center Data Protection Manager (SCDPM) Диспетчер виртуальных машин System Center Virtual Machine Manager (SCVMM) System Center Essentials Диспетчер служб System Center Service Manager (beta) Подробнее я расскажу о каждом компоненте чуть позже, но сначала хочу выделить следующее: System Center не поставляется на рынок для малых предприятий. На самом деле в Microsoft говорят, что SC предназначен для средних и больших организаций. Идеальным временем применения компонентов SC является время, когда вы только создаете свою ИТ инфраструктуру, прежде чем она разрастется. Даже если вы не работаете на идеально подходящее предприятие, которое нуждается в System Center, вы, возможно, захотите узнать больше о продукции System Center в силу того, что вы, возможно, собираетесь устроиться на работу в компанию, которая использует эти популярные продукты, или вы работаете консультантом, который должен понимать эти продукты, чтобы управлять инфраструктурой клиентов. Для дополнительной информации о System Center смотрите мою статью о том, как сертифицироваться на Microsoft System Center, которая будет вскоре опубликована на WindowsNetworking.com. Многие продукты System Center в настоящее время обозначены, как версия 2007, но думаю, что вскоре выйдут версии 2010, а бета версии или RTM уже есть для многих продуктов. Эти продукты System Center доступны в качестве пробных версий с Microsoft, и если вы подписаны на Microsoft TechNet, вы можете загрузить продукты System Center и использовать их согласно правилам TechNet для оценки и внутреннего тестирования. System Center Configuration Manager (SCCM) Microsoft System Center Configuration Manager (или SCCM) ранее назывался SMS или Systems Management Server. Поэтому большинству людей более знаком термин "SMS", и они практически не знают термин "SCCM". Как говорят в Microsoft, ролью SCCM является "оценка, развертывание и обновление серверов, клиентов и устройств в физических, виртуальных, распределенных и мобильных средах". Вот некоторые примеры реальных задач, которые можно выполнять с помощью SCCM: Составление описи всех ПК и серверов в сети, определение аппаратных средств и ПО. Выпуск нового программного пакета для группы ПК Апгрейд операционных систем или их обновление на группе ПК Поскольку эти задачи столь важны для ИТ организаций средних и больших предприятий, я бы осмелился сказать, что SCCM является самым важным продуктом в линейке System Center. Microsoft говорит, что 70% затрат компаний на ИТ составляет обслуживание их ИТ инфраструктуры и что SCCM является необходимым инструментом для помощи ИТ администраторам в управлении расходами посредством надлежащего и эффективного обслуживания. В настоящее время последней версией SCCM является 2007 R2, но уже есть SCCM R3 beta, которую можно загрузить и опробовать самостоятельно. SCCM R3 будет предлагать возможность централизованного управления и контроля питания компьютеров Windows PC, включая новые компоненты управления питанием в Windows 7. Также в SCCM R3 теперь будет включен диспетчер мобильных устройств System Center Mobile Device Manager, позволяющий администраторам составлять опись, разворачивать ПО, управлять параметрами и внедрять политики пароля на мобильные устройства Windows. System Center Operations Manager (SCOM) Ранее известный как MOM (Microsoft Operations Manager), SCOM 2007 R2 концентрируется на здоровье, доступности, производительности, конфигурации, безопасности и рабочих нагрузках физических и виртуальных серверов и ОС по всему предприятию. Помимо мониторинга, диспетчер SCOM также выдает оповещения, когда фиксируется определенное наблюдаемое условие. В реальности SCOM используется для: Определения проблемных мест в ресурсах, вызывающих проблемы в производительности и у приложений Определения соответствия приложений и серверов соглашению об уровне услуг (SLA) Предотвращению простоев до их появления путем оповещения, когда определенный ресурс достиг указанного порогового значения В настоящее время SCOM идет в версии "2007 R2", он доступен в пробной версии, а также с ним идет Service Level Dashboard (SLD) 2.0. System Center Data Protection Manager (SCDPM) System Center Data Protection Manager (DPM) 2010 теперь доступен и он предлагает защиту резервным копированием для Windows серверов, ноутбуков, настольных компьютеров, Sharepoint, SQL Server, Exchange и виртуальных серверов (на базе Hyper-V). Вот некоторые новые функции версии 2010: Возможность перемещения ноутбуков для использования централизованно управляемых политик резервного копирования Site-to-site репликация для аварийного восстановления на другой DPM сервер или на сервер провайдера услуг компьютерного облака Централизованно управляемое состояние системы и восстановление пустых системы (System State and Bare Metal Recovery) для резервных клиентов. Лично мне нравится то, что DPM теперь имеет возможность использовать провайдеров компьютерного облака для хранения резервных копий. Будет интересно наблюдать за тем, как это получит распространение и сможет ли хранение резервных копий в компьютерном облаке стать общепринятым новым стандартом защиты резервным копированием. Загрузите пробную версию DPM 2010 по вышеуказанной ссылке и попробуйте его. System Center Virtual Machine Manager (SCVMM) System Center Virtual Machine Manager 2008 R2 (или SCVMM, или просто VMM) используется для предоставления возможности централизованного управления Hyper-V серверами и их виртуальными машинами. В VMM ряд компонентов и функций Hyper-V становится доступным, например оптимизация производительности ресурсов (PRO) по всей виртуальной инфраструктуре. Помимо управления Hyper-V, VMM также может выполнять централизованное управление VMware ESX сервером и Microsoft Virtual Server. Дополнительные расширенные компоненты, доступные в VMM, включают следующее: P2V и V2V консолидация с интеллектуальным размещением Централизованная оптимизация ресурсов Библиотека VM шаблонов Быстрая миграция хранилища Вы можете загрузить пробную версию VMM в формате VHD, что позволит вам быстро запустить его и приступить к работе, или вы можете приобрести лицензию на две редакции Enterprise ($869 плюс $40 на клиентскую ОС или пользователя, не использующего серверную ОС) или Workgroup ($505 с возможностью получения до 5 принимающих серверов). System Center Essentials System Center Essentials (SCE) 2010 уже доступен. Задачей SCE или "Essentials" является предоставление средним организациям возможностей пакета System Center, которые им необходимы, по доступной цене. С помощью новой редакции 2010 вы можете: Управлять общим количеством до 50 серверов Windows из единого решения, которое включает не только физические серверы, но и виртуальные серверы, клиенты, ПО и ИТ службы. Проактивно управлять и автоматизировать общие задачи управления инфраструктурой. Управлять Hyper-V серверами с помощью встроенных VMM 2008 R2 функций, таких как P2V. Вы можете загрузить пробную версию Essentials 2010 сейчас, а цены на этот продукт будут известны, когда он выйдет в массовую продажу. Essentials 2010 представляет собой то, что я бы хотел опробовать, поскольку мне нравится идея единой физической и виртуальной инфраструктуры для средних предприятий. System Center Service Manager (beta) Самым последним дополнением пакета System Center стал Service Manager 2010 (пока что доступный только в бета версии). Диспетчер Service Manager можно воспринимать, как службу поддержки в вашей компании – способ отслеживания проблем и их разрешения. Однако SM делает нечто большее. Он также предоставляет: Возможность контроля изменений Управление активами CMDB совместимость и автоматическое подключение к другим продуктам System Center для совместного использования информации Бизнес целями Service Manager является снижение расходов посредством сокращения времени на разрешение проблем и помощи интеграции ИТ с бизнесом. Бесплатная пробная версия Service Manager 2010 уже доступна. Заключение В этой статье мы рассмотрели шесть основных компонентов пакета управления Microsoft System Center. Это большой пакет продуктов, включающий управление ОС и ПО, управление конфигурацией, оповещения и мониторинг производительности, резервное копирование и восстановление данных, управление виртуальными машинами, управление службы поддержки, и более маленький пакет, который включает многие из этих возможностей в уменьшенном масштабе. Для всех продуктов доступны бесплатные пробные версии (некоторые в формате VHD для быстрого развёртывания). Некоторые продукты уже доступны в версиях 2010, другие скоро станут доступны в этой версии. В общем и целом, я думаю, что этот пакет многообещающий и время покажет, предпочтут ли пользователи стандартизировать продукты управления Microsoft, вместо использования продуктов управления от сторонних производителей. Автор: Дэвид Дэвис • Иcточник: www.netdocs.ru
  5. Рассмотрим вопросы установки и настройки MS SQL Server для 1С. Первое, что хотелось бы отметить, способ установки MS SQL Server во многом зависит от предполагаемой нагрузки на 1С. В зависимости от этого можно обозначить следующие варианты: Вариант 1. Предприятие, с количеством операций в день до 500; Вариант 2. Предприятие, с количеством операций в день более 500, но в основном не интерактивных (загрузка платежей из Интернета и банк-клиента, загрузка заказов из Интернет-магазина, автоматическое формирование складских и транспортных операций и т.д.); Вариант 3. Предприятие, с количеством операций в день более 500, большинство из которых являются интерактивными, т.е. инициируются и оформляются пользователями. Для первых двух вариантов MS SQL Server можно устанавливать на том же сервере, где установлен 1С, что особенно актуально, скорее, для второго варианта при условии соблюдения требований по «железу». А вот в третьем случае MS SQL Server нужно устанавливать только на отдельный сервер. Рассмотрим характеристики «железа» для всех трех случаев В случае установки на отдельный сервер: Процессор Вариант 1. Не ниже 1.8 ГГц (желательно 2-х ядерный) Вариант 2. Не ниже 2х2ГГц с числом ядер не менее 2-х Вариант 3. Не ниже 4х3ГГц с числом ядер не менее 4-х ОЗУ Вариант 1. Не менее 8 ГБ Вариант 2. Не менее 32 ГБ Вариант 3. Не менее 128 ГБ Дисковая подсистема Вариант 1. SAS не менее 120 ГБ Вариант 2. SAS не менее 500 ГБ (желательно SSD) Вариант 3. SAS не менее 1 ТБ (рекомендуется SSD) Сетевое подключение Вариант 1. Не менее 1 Гб/сек Вариант 2. Не менее 1 Гб/сек (желательно оптика) Вариант 3. Не менее 1 Гб/сек (рекомендуется оптика) В случае совместной установки с сервером 1С Предприятия: Процессор Вариант 1. Не ниже 2х2ГГц с числом ядер не менее 2-х Вариант 2. Не ниже 4х3ГГц с числом ядер не менее 4-х Вариант 3. Категорически запрещено так делать ОЗУ Вариант 1. Не менее 32 ГБ Вариант 2. Не менее 128 ГБ Вариант 3. Категорически запрещено так делать Дисковая подсистема Вариант 1. SAS не менее 500 ГБ (желательно SSD) Вариант 2. SSD не менее 1 ТБ Вариант 3. Категорически запрещено так делать Сетевое подключение Вариант 1. Желательно 1 Гб/сек Вариант 2. Желательно 1 Гб/сек Вариант 3. Категорически запрещено так делать Следует учесть, что это минимальные требования для комфортной работы. Более точные параметры подбираются исходя из конкретной ситуации, руководствуясь основными потребностями MS SQL Server для 1С в дисковой подсистеме и объемом оперативной памяти. Теперь перейдем непосредственно к процессу установки MS SQL Server для 1С в варианте MS SQL Server 2014 на операционную систему MS Windows Server 2012 Прежде всего, необходимо переписать дистрибутив установки MS SQL Server для 1С на локальный жесткий диск сервера. Запустить установку MS SQL Server для 1С под администратором. В открывшемся окне на правой панели выбираем «Установка». Начнется установка MS SQL Server для 1С. В ходе установки вас попросят ввести ключ продукта и ознакомиться с условиями лицензирования. После этого необходимо выбрать роль сервера, выбрав «Установка компонентов MS SQL Server». Следующим шагом будет выбор устанавливаемых компонентов. Обычно они все выделены, но если нет, то жмите кнопку «Выделить все». Далее надо выбрать имя для экземпляра MS SQL Server. Если не хотите проблем с производительностью в будущем, оставьте «экземпляр по умолчанию» и не меняйте пути. Ничего не меняйте, т.е. жмите «Далее», пока не возникнет окно «Настройка компонента Database Engine». В этом окне на первой закладке укажите пользователя «sa» и задайте его пароль (можно назначить и пользователя Windows, но более безопасным считается пользователь «sa»). На двух других закладках можно настроить новые каталоги для хранения пользовательских БД (но лучше не менять). После жмите все время «Далее», не меняя предложенного по умолчанию. Теперь вы установили MS SQL Server для 1С «Откроем» наш MS SQL Server для 1С. Для этого переходим в приложения и находим там SQL Server 2014 Management Studio. При запуске откроется окно авторизации. В нем выбираем «проверка подлинности SQL Server». В имени пользователя указываем «sa», а в поле пароля – комбинацию, заданную на этапе установки. После того, как подключились, слева в дереве выбираем «Безопасность», а в нем – «Имена входа». Нажав правую кнопку мыши, выбираем в подменю «Создать имя входа». В открывшейся форме указываем имя пользователя и его пароль (запомните этот пароль и этого пользователя, т.к. именно его вы будете указывать при подключении баз из сервера 1С). Далее переходим в закладку «Роли сервера» и проставляем там галочки, как указано на рисунке. Переходим к «Защищаемые объекты» и устанавливаем право на соединение с SQL, как на рисунке. Жмем на «Ок». Установка MS SQL Server для 1С и его настройка завершена. Переходим к подключению базы 1С на сервере 1С Запускаем консоль администрирования серверов «1С:Предприятие». Далее делаем, как на рисунке. Открывшийся диалог заполнить, как это показано на рисунке. <Имя базы на латинице> - укажите имя своей базы. <Имя компа MS SQL Server> - укажите имя компьютера, на который вы ранее установили MS SQL Server для 1С. Жмем на «Ок». База подключена. Можно подключить базу прямо из диалога подключения базы 1С. Для этого запускаем диалог открытия баз 1С и жмем кнопку «Добавить». В появившемся окне, выбираем «Создание новой информационной базы». В следующем окне выбираем нужный шаблон в дереве или указываем «Создание новой базы без конфигурации…». В следующем окне задаем имя базы и указываем, что она будет на сервере «1С:Предприятие». На следующей вкладке заполняем поля, аналогично тому, как это было описано в разделе подключения базы с сервера 1С. Жмем «Далее» и «Готово». Оптимизация SQL под 1С завершена. Можно запускать и работать.
  6. Synology DSM это операционная система выпускаемая в комплекте с NAS одноименной компании. Фактически ваше персональное облако с простым интерфейсом. DiskStation Manager (DSM) представляет собой интуитивную операционную веб-систему, работающую на всех NAS-серверах Synology - говорится на их сайте. Там же можно и посмотреть возможности этой WebOS - https://www.synology.com/ru-ru/dsm/live_demo DSM ставится с помощью дополнительного загрузчика, практически на любое устройство (с совместимым оборудованием), загрузчик разрабатывается сообществом XPEnology https://xpenology.com/forum/forum/4-russian/ Установка возможна на x86-x64 совместимые системы, на виртуальные машины ESXI, Hyper-V, VirtualBox. Разница в установке только в конфигурации каждой выбранной виртуальной машины и выбора загрузчика. Расскажу вам как устанавливать на PC, для этого необходимо: 1. USB Flash любого обьема (250MB достаточно) всегда должна быть вставлена в PC 2. Образ IMG для флешки (ds3615 v1.02b на момент написания) - https://mega.nz/#F!yQpw0YTI!DQqIzUCG2RbBtQ6YieScWg 3. Утилита для разворачивания образа (использовал https://rufus.akeo.ie/?locale=ru_RU) 4. Утилита для редактирования образа (использовал OSFMount https://www.osforensics.com/tools/mount-disk-images.html) 5. Утилита для определения PID&VID флешки (http://flashboot.ru/files/file/448/) - либо в диспетчере устройств посмотрите. Все действия вы выполняете на свой страх и риск! Скачиваете образ, монтируете в утилите OSFMount для записи раздел 15МБ. На смонтированном диске находим папку grub а в ней файл grub.cfg Открываем файл с помощью нормального блокнота (например Notepad++) Находим строку с: set vid=0x058f set pid=0x6387 set sn=C7LWN09761 set mac1=0011322CA785 Меняем vid и pid на те которые на вашей флешке. Сохраняем grub.cfg размонтируем образ. Так же можем изменить серийный номер устройства и мак адрес на валидные что бы работал удаленный доступ с любого места. Разворачиваем отредактированный образ на флешку с помощью Rufus. Вставляем флешку в компьютер и загружаемся с нее (компьютер должен подключен к вашей локальной сети и очень желательно что бы получил IP от вашего роутера) Ничего не нажимаем, загрузится первый пункт меню Все отлично - система готова к установке. Во время установки на жесткий диск установленный в компьютере будет форматирован и установлена файловая система (около 2GB) - остальное пространство будет не размечено и доступна в последствии для работы. Заходим на в браузере на сайт http://find.synology.com Находим ваше устройство в сети (либо можете подключится по IP:5000) И с помощью мастера установки (либо онлайн скачается файл прошивки, либо вручную, скачать здесь) установить WebOS на ваш компьютер. После перезагрузки по полученному IP будет доступна DiskStation Manager (DSM) А дальше все по вашему желанию. Сразу же установил свой любимый monitorrent https://pikabu.ru/story/monitorrent__avtomaticheskiy_zagruzchik_torrentov_4812706 Дополнительный репозитарий: https://synocommunity.com/ с полезным софтом https://synocommunity.com/packages Так же можно установить контейнеры Docker коих великое множество. Использовались материалы этого форума: https://xpenology.com/forum/topic/7973-tutorial-installmigrate-dsm-52-to-61x-juns-loader/
  7. Настройка взаимодействия Plex сервера и Apple TV Plex media server — Для того что бы подключаться к Plex серверу, и воспроизводить его контентом на Apple TV устройстве. Необходимо: Установить специальный плагин «PlexConnect» на ПК, на котором установлен Plex media server. Установить сертификат PlexConnect на приставку Apple TV Произвести настройку DNS сервера на Apple TV устройстве Схема Взаимодействия Установка PlexConnect на ПК PlexConnect (https://github.com/iBaa/PlexConnect/wiki/Install-Guide)–это специальная программа, которая перехватывает запрос на DNS сервер с Apple TV, и подставляет свои данные в ответе Apple TV. В результате чего при нажатии кнопки Трейлеры (Trellers) на Apple TV, происходит переход на портал Plex. Причем данный результат достигается без jailbreak устройства Apple TV. Все файлы для установки и настройки PlexConnect находятся по данной ссылке. Для установки, плагина PlexConnect, предварительно требуется установить интерпретатор языка Python. Для это установите python-2.7.5.amd64.exe. После установки python-2.7.5.amd64.exe скопируйте папку Plex_Connect (из архива) на диск C. В папке Plex Connect главным исполняющим файлом является «C:\Plex_Connect\PlexConnect.py» создайте ярлык для данного файла на рабочем столе. Только после запуска PlexConnect.py начнется работа PlexConnect плагина. Скриншот корректно запущенного PlexConnect’a.: Вслучае если необходимо скрыть запуск и работу скрипта PlexConnect.py, на ПК с Plex сервером. Создайте текстовый файл PlexConnectStart.vbs с содержимым: Dim oShell Set oShell = WScript.CreateObject («WSCript.shell») oShell.run «C:\Plex_Connect\PlexConnect.py», 2 Set oShell = Nothing И добавьте его в автозапуск Windows. Теперь скрипт будет запускаться в свернутом режиме. Далее приступим к установке сертификата PlexConnect на устройство Apple TV. Установка сертификата PlexConnect на приставку Apple TV Убедитесь в том что у Вас установлена программа iTunes. Установите программу iPhoneConfigUtilitySetup.exe. Запустите iPhone Configuration Utility ярлык программы находится в меню пуск. Возьмите кабель micro USB и подсоедините им Apple TV к ПК без подключенного кабеля HDMI. Убедитесь что iTunes не запущен и закрыт. В папке “C:\Plex Connect\assets\certificates” Вы найдете сертификат trailers.der который необходимо установить на Ваш ПК. Для этого щелкните дважды по файлу trailers.der. В появившемся окне нажмите «Установить сертификат», далее следуйте инструкциям на скриншотах. 1 2 3 4 5 6 После установки сертификата на ПК, запустите iPhone Configuration Utility. Убедившись что устройство Apple TV отображается в DEVICES установите сертификат в Apple TV как указано на скриншотах. 1 2 3 После того так сертификат был установлен, кнопка на против сертификата «Inatall» сменит название на «Remove» Отключите Apple TV от ПК. Теперь можно приступить к настройке Apple TV для подключения к Plex. Настройка Apple TV для подключения к Plex медиатеке Перед тем как приступить к настройке подключения Apple TV к Plex медиатеке, убедитесь в том что сервер Plex работает. А так же PlexConnect корректно запущен на ПК. Включите Apple TV и подключите к сети (пач корд или вай-фай без разницы). Убедитесь еще раз в том, что сертификат установлен. Для этого пройдите по шагам указанным на скриншотах.: 1 2 3 4 Теперь можно настраивать DNS сервер 1 2 3 4 5 6 7 После указания DNS сервера вручную, если Вами все было сделано верно. При нажатии на кнопку «Треллеры», Вы увидите медиатеку Plex. 1 2 Полезные ссылки: https://forums.plex.tv/index.php/forum/34-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/ https://oldwiki.plexapp.com/index.php?title=Documentation/ru http://ixinji.com/iblog/2013/08/29/fix-broken-dns-server-for-trailer-hacking-on-apple-tv-3-after-recent-update/ https://github.com/iBaa/PlexConnect/wiki/Install-Guide-Windows-Certificates http://macdaily.me/howto/how-to-watch-iptv-on-apple-tv-part-2/ . https://langui.sh/2013/08/27/appletv-ssl-plexconnect/ http://www.iguides.ru/forum/showthread.php?t=87484 http://4pda.ru/forum/index.php?s=23f1c7e4b33e501d3cd125b2dc20829f&showtopic=321746&st=1720&p=27161470&#entry27161470 http://habrahabr.ru/post/183866/ http://appstudio.org/manuals/nastroyka-klienta-plex-na-apple-tv-bez-dzheylbreyka.html http://www.iguides.ru/forum/showthread.php?t=89545 http://www.youtube.com/watch?v=tK4IobMKwuk http://forum.appleinsider.ru/topic/3571-kak-smotret-ljubimoe-video-na-apple-tv-bez-dzheilbreika/ http://appstudio.org/reviews/plex-luchshij-mediatsentr-dlya-maka.html http://habrahabr.ru/post/198740/ http://www.youtube.com/watch?v=LRJRGrbgbUQ
  8. Рассмотрим команды для резервного копирования базы данных сайта на mysql через SSH и дальнейшего ее восстановления. Бывает, что необходимо сделать резервную копию базы данных сайта, а подручные средства не справляются по ряду причин, например, сталкивался, что база весила более 10 гигов, а phpmyadmin выбивал 502 ошибку. Тогда делал резервную копию через ssh. Команды для работы с резервным копированием и восстановлением. Создать резервную копию всех баз данных в файл all.sql в папке tmp. mysqldump -u root -p --all-databases >/tmp/all.sql Для создания копии всех баз, необходимо будет указать логин root. Password можно не указывать в команде, а так как есть "-p", то сервер запросит ввести пароль от root. Создать резервную копию одной базы данных в файл databasename.sql в папке tmp mysqldump -u username -p --databases databasename >/tmp/databasename.sql Для создания копии 1 базы Вам необходимо указать пользователя базы вместо username (это тоже может быть root), так же имя базы вместо databasesname. Восстановление базы данных из резервной копии databasename.sql в папке tmp: mysql -u username -p databasename < /tmp/databasename.sql Для восстановления копии базы Вам необходимо указать пользователя базы вместо username (это тоже может быть root), так же имя базы вместо databasesname.
  9. В данной статье я приведу пример организации простейшего резервного копирования сайтов и баз данных MySQL с сервера CentOS 7.x на Яндекс.Диск. Прежде всего установим yandex-disk на сервер, для этого воспользуемся утилитой yum и инструкцией от Яндекса: # nano /etc/yum.repos.d/yandex.repo В файл yandex.repo введём такие данные: [yandex] name=Yandex failovermethod=priority baseurl=http://repo.yandex.ru/yandex-disk/rpm/stable/$basearch/ enabled=1 metadata_expire=1d gpgcheck=1 gpgkey=http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG Далее: # rpm --import http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG # yum install yandex-disk После установки запускаем конфигурацию Яндекс.Диска: $ yandex-disk setup В качестве директории для синхронизации, я оставил дефолтную (/home/user/Yandex.Disk) Создадим в ней директорию для бэкапа: $ cd /home/user/Yandex.Disk $ mkdir backup Нелишним будет в файле конфигурации Яндекс.Диска отключить директории отличные от backup, если вы планируете пользоваться им не только для создания резервных копий. Делается это просто, добавлением строки в файл config.cfg: exclude-dirs="exclude/dir1,exclude/dir2,path/to/another/exclude/dir" Теперь необходимо создать bash-скрипт, который будет в эту папку создавать backup’ы: $ vim backup.sh CURDATE=`date +%F` OLDDATE=`date +%F --date='7 day ago'` mysqldump -u mysqluser -ppassword --all-databases > /home/user/mysql-$CURDATE.sql gzip /home/user/mysql-$CURDATE.sql mv /home/user/mysql-$CURDATE.sql.gz /home/user/Yandex.Disk/backup rm /home/user/Yandex.Disk/backup/mysql-$OLDDATE.sql.gz tar czf /home/user/Yandex.Disk/backup/sites-$CURDATE.tar.gz /var/www/sites rm /home/user/Yandex.Disk/backup/sites-$OLDDATE.tar.gz В этом скрипте переменной CURDATE присваивается текущая дата, переменной OLDDATE дата недельной давности. Создаётся дамп базы данных, сжимается gzip’ом, и переносится в директорию Яндекс.Диска, туда же создается сжатая tar+gzip’ом копия директории с сайтами (в данном примере это /var/www/sites). Скрипт настроен таким образом, что удаляет бекапы старее 6 дней. Далее нужно запустить синхронизацию с Яндекс.Диском: $ yandex-disk start Можно протестировать создание бекапов: $ bash backup.sh Убедитесь в наличии прав на запуск файла backup.sh Как только резервная копия будет создана, демон Яндекс.Диска начнёт синхронизировать копию с облаком. Если всё прошло нормально, добавим выполнение скрипта backup.sh в планировщик cron: $ crontab -e Внесём туда такую строку 3 5 * * * bash /home/user/backup-new.sh При такой конфигурации скрипт будет запускаться каждый день в 5 часов 3 минуты утра. Можно скорректировать время, исходя из дневной нагрузки на сервер, выбирая промежуток времени с наименьшей нагрузкой.
  10. Выход Xiaomi Mi Band 4 с NFC снова стал причиной волнений в мобильном сообществе. Неужели бесконтактные платежи на Ми Бэнд станут возможными, раз была выпущена отдельная версия с NFC и в России скоро запустят платежную систему Mi Pay? Мы решили развеять все ваши сомнения на этот счет и рассказать всю правду об NFC на фитнес-часах в России. Статья исчерпывающая и подкреплена технической базой. NFC на Mi Band Многие из нас ошибочно полагают, что наличие модуля NFC в любом мобильном устройстве означает возможность совершать бесконтактные платежи уже привычным всем способом. Однако это не так, если мы говорим о наручных аксессуарах. Сегодня не такой большой выбор носимых устройств с функцией мобильных платежей. В их число входят Apple Watch, которые работают на собственной ОС WatchOS с платежной системе Apple Pay; умные часы на Android Wear и Wear OS с поддержкой Google Pay, часы от Samsung на Tizen OS (Samsung Pay). Это, пожалуй, самые популярные варианты. Почему же сюда не попали Xiaomi Mi Band, ведь даже третья версия браслета уже имела поддержку NFC модуля… Да и последние новости о скором появлении Mi Pay внесли неясность. Для реализации бесконтактной оплаты нужно, чтобы носимый аксессуар имел полноценную ОС, которая сможет обеспечить должную безопасность. В Mi Band она отсутствует. Бесконтактные платежи через NFC этим браслетом не возможны, даже с Mi Pay. Бесконтактная оплата Mi Band Полагать, что с помощью Ми Бэнд 4 вы сможете оплачивать покупки в России, абсурдно. Аксессуар рассчитан исключительно на китайский рынок. И оплачивать им можно только в Китае. Кстати, что касается бесконтактной оплаты в Китае, то там сейчас актуально два способа оплаты. Первый предполагает использование QR-кода. Второй — использование NFC. Подробнее о каждом расскажем чуть ниже. 1 способ: Покупатель использует свой смартфон с предустановленным приложением Alipay или WeChat с электронным кошельком. Либо покупатель сканирует QR код, предоставленный самим продавцом (сумма вводится вручную или уже зашифрована в коде), и деньги автоматически списываются. Либо покупатель показывает продажу свой QR код, который генерируется мобильным кошельком, тот его сканирует, и происходит списание средств. Первый вариант невозможно использовать на фитнес-браслете за отсутствием камеры. А вот второй способ вполне реализуем на подобных аксессуарах, так как на браслете есть дисплей, которого достаточно, чтобы показать QR код. Вот именно второй вариант и был реализован с помощью системы Alipay с расчетом на то, что пользователь (покупатель) привязывает свой наручный аксессуар к приложению Alipay, создает для себя отдельный счет с определенным лимитом. Оплата проводится в режиме офлайн без необходимости доставать смартфон, а сами операции передаются на сервера Alipay именно с кассы магазина. Естественно, что в России данной практики не существует. 2 способ: Предполагает использование модуля NFC. Использование данного метода предполагает максимальную безопасность бесконтактных платежей. Недорогие фитнес-браслеты не могут обеспечить этот самый уровень безопасности. К слову, в сборке используются одни из самых дешевых чипов NFC. Другой разговор, если мы говорим о транспортной карте, на который вряд ли будут лежать дбольшие суммы денег. В браслетах Ми Бэнд для этого в первую очередь и были реализованы возможности NFC. Китайцы могут через специализированное приложение в разделе NFC купить виртуальную транспортную карту для своего фитнес-браслета, положив деньги на баланс. Карта привязывается именно к определенному браслету, а дальше все просто — часы используют для оплаты проезда. Бесконтактные платежи на Mi Band с NFC в России на сегодня не возможны. В России с этим все еще сложно, но развитие идет в нужном направление. Некоторые муниципальные карты Москвы успешно привязываются с NFC Mi Band, кому то удалось привязать ключ домофона. Будет ли работать Mi Pay на Mi Band? Проанализировав все выше сказанное, вывод на главный вопрос напрашивается сам собой. Не ждите, что ваш новый браслет Mi Band с NFC будет поддерживать бесконтактные платежи в России. Нет в них стойкого шифрования, сертифицированного Visa или MasterCard. Оплата с помощью QR кода в России не актуальна, использование транспортных карт с помощью браслета от Сяоми тоже пока до конца не реализовано в России, ведь на это нужно время, чтобы договориться с перевозчиками и т.д. Система Mi Pay в Россию придет также не скоро. И несмотря на то, что в Сети ходят слухи о ее запуске в России, сроки реализации очень далеки от нас. Поэтому, если вы надумали покупать Xiaomi Mi Band 4 из-за NFC, знайте, что для российских пользователей эта функция по-прежнему остается не актуальной.
  11. Бывает возникает ситуация, в которой необходимо загрузить на сервер хостинга базу данных больше разрешенного хостингом в утилите управления базами данных phpMyAdmin- обычно этот предел установлен в ~2Mb. Если это случается на виртуале, то обычно просто заливаю базу через ftp и прошу суппорт хостинга помочь в данном вопросе. Поскольку использую нормальные хостинги, то решение это проблемы занимает всего 10-15 минут, так что особо не парился, но тут столкнулся с тем что возникла необходимость подсказать человеку у которого суппорт курил бамбук, так что выделилось несколько вариантов решения данной проблемы. Оговорюсь сразу что наиболее удобен для импорта базы данных mysql последний вариант, но он подходит только тем у кого есть доступ к терминалу. Так что в статье описаны все возможные способы импорта большой базы данных в mysql, кроме общения с суппортом. 1. Варинт первый – выгружаем бэкап базы не целиком, а по несколько таблиц, чтобы файл не превышал наши лимиты. Основной минус данного решения- это то, что операцию выгрузки- загрузки необходимо будет проводить много раз, так что подойдет исключительно для тех у кого много свободного времени и нечем заняться на досуге. 2. Вариант второй – выгружать в пожатом состоянии- так как степень сжатия для текстового файла будет максимальной. Но тут опять же можно столкнуться с тем, что на хостинге не установлена поддержка архиваторов. 3. Используем сторонний скрипт, который позволяет производить экспорт и импорт базы данных, минуя общение с phpMyAdmin. Наиболее известный из имеющихся в наличии, и к тому же наиболее хорошо работающий- это BigDump. О том как его настроить – я отписался чуть позже, так что это касается и настройки по 5му пункту. 4. Как частный случай 3 вариант, возможно залить на сервер эмулятор терминала и сделать 5 пункт через него. Например можно попробовать PHPterm, но в этом варианте можно столкнуться с ограничениями хостинга в плане безопасности запуска команд и скриптов. 5. Также есть простенькая программка аналогичная BigDump, которая также позволяет импортировать большие базы данных, только в данном случае необходим Zend Optimizer либо Nu-Coder. Программка называется Sypex Dumper, и вторую версию скрипта можно даже интегрировать в наиболее популярные CMS. На сайте есть как платная утилита, так и облегченная бесплатная версия. 6. Если таки имеется доступ к консоли, то можно добавить в php.ini следующие строки (увеличиваем лимит загрузки файлов по времени и размеру), после загрузки, лучше вернуть все назад, чтобы не нагнули сервак с оказией: max_execution_time = 20000 max_input_time = 20000 upload_max_filesize = 150M post_max_size = 150M 7. Но на самом деле наиболее быстрым и оптимальным вариантом загрузки большой базы данных, имея доступ к консоли, будет загрузить дамп базы данных dump.sql через ftp, а затем залить её через консоль ssh: mysql -h hostname -u user-name -p DB_name < /path-to-dir/dump.sql если у вас в качестве хоста базы данных используется стандартный localhost , то ключик -h можно и опустить, так что получится вида: mysql -u user-name -p DB_name < /path-to-dir/dump.sql Да, чуть не забыл про самые поганые грабли всей пляски с импортом- при импорте базы данных могут возникнуть проблемы с кодировками, поэтому нам надо убедиться что дефолтная база и выгрузка sql находятся в одной кодировке, либо переконвертировать базу данных в стандартную для mysql кодировку (обычно это utf-8): iconv -f CP1251 -t UTF-8 dump.sql > dump.sql.utf8 либо указать необходимую кодировку при процедуре импорта базы данных: mysql -h hostname -u user-name -default_character_set utf8 -p DB_name < /path-to-dir/dump.sql ---------------------------------- И ещё немного информации ... Импорт и экспорт данных MySQL Экспорт и импорт данных в MySQL обычно требуется при переносе информации из одной базы данных MySQL в другую и для осуществления резервного копирования. Резервное копирование данных носит чисто технологический характер. Это означает, что в случае какого-либо программного или аппаратного сбоя оборудования, мы сможем восстановить актуальные данные клиента. Мы гарантируем сохранность самих данных, а не их резервных копий. Однако, при наличии резервной копии на необходимую дату, мы готовы пойти навстречу клиенту и восстановить утерянные по неосторожности данные. Для это необходимо подать заявку на свободную тему из панели управления. Единственный способ быть уверенным в 100% восстановлении данных — самостоятельно выполнять регулярное резервное копирование информации. Для этого необходимо воспользоваться утилитой mysqldump, которая доступна через unix shell. Пример команд для экспорта и импорта базы данных: mysqldump -u имя_пользователя -p -h имя_сервера_БД имя_базы > dump.sql Данные будут сохранены в файле dump.sql. Далее (в случае необходимости) восстанавливаем данные из резервной копии (дампа) так: mysql -u имя_пользователя -p -h имя_сервера_БД имя_базы < dump.sql Запускаемые указанным образом утилиты для работы с MySQL будут запрашивать пароль к базе данных. Нужно вводить пароль соответствующего пользователя БД. Если пароль был утерян, вы можете самостоятельно изменить его в панели управления, в разделе Древо услуг (выпадающее меню расположено в самой верхней строчке панели управления справа). По умолчанию система считает, что данные в базе хранятся в кодировке UTF-8. Если ваши данные хранятся в другой кодировке, то после создания резервной копии (дампа) для последующего корректного восстановления данных необходимо открыть созданный файл текстовым редактором и исправить в нём строчку: /*!40101 SET NAMES utf8 */; Например, для кодировки Windows-1251 нужно указать: /*!40101 SET NAMES cp1251 */; Дополнительные опции утилиты mysqldump: --add-drop-table — опция, которая добавляет команду DROP TABLE перед созданием таблиц. Перед восстановлением таблиц из дампа, таблицы с таким же именем в рабочей базе данных будут удалены и пересозданы из резервной копии. Рекомендуется использовать для предотвращения возможных ошибок после восстановления; --add-locks — опция, которая добавляет команды LOCK TABLES перед выполнением и UNLOCK TABLE после выполнения каждого дампа таблицы. Применяется для ускорения доступа к MySQL; --quote-names — опция, сообщающая утилите о необходимости ставить кавычки для названий таблиц и столбцов. Рекомендуется к использованию для MySQL версий, младше 4.1.1. В старших версиях она активирована по умолчанию. Опции --quick и --opt рекомендуется использовать, если база данных MySQL слишком большая для того, чтобы целиком поместиться в памяти. При этом утилита mysqldump выдает ошибку: mysqldump: Out of memory (Needed XXXXX bytes) mysqldump: Got error: 2008: MySQL client run out of memory when retrieving data from server В итоге строчка для создания копии базы данных получается следующей: mysqldump --opt -u имя_пользователя -p -h имя_сервера_БД --add-drop-table имя_базы > dump.sql либо такой: mysqldump --quick -u имя_пользователя -p -h имя_сервера_БД --add-drop-table имя_базы > dump.sql Для совместимости дампа, сделанного на стороннем сервере мы рекомендуем создавать дамп базы данных с ключом: --set-variable max_allowed_packet=2M либо -O max_allowed_packet=2M Если во время импорта вы получите ошибку вида mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when dumping table `some_table_name ` at row: 2 значит в вашей базе данных присутствуют данные, которые невозможно разделить на отдельные части, каждая не больше двух мегабайт. Как правило, такое случается, если базу данных MySQL используют для хранения содержимого различных файлов, например, картинок или музыки, не размещая их непосредственно в файловой системе. В таком случае, если размер какого-нибудь файла превышает определённое значение — база данных становится непригодной для использования на наших серверах и потребуется либо удалить такие данные из вашей базы, либо рассмотреть вариант использования сервера баз данных на VPS-сервере , где можно установить нужное ограничение max_allowed_packet в необходимое значение, либо не использовать его вообще. Если на вашем сервере установлена версия MySQL 4.0.x, то для корректного переноса данных со сторонних серверов необходимо при экспорте базы данных использовать ключ: --compatible=mysql40 Как работать с MySQL из скриптов на Perl Для работы с MySQL из Perl-скриптов как правило используют модуль DBI. Это позволяет удобно открывать и закрывать соединения к СУБД, подготавливать и выполнять запросы к базе, обрабатывать ошибки и так далее. Если вы не имеете опыта работы с MySQL из Perl, рекомендуем вам книгу «Программирование на Perl DBI» (рус., англ.). Итак, пример работы с MySQL из Perl DBI: #!/usr/bin/perl use DBI; my $host = "u12345.mysql.masterhost.ru"; # вымышленный MySQL-сервер my $port = "3306"; # порт, на который открываем соединение my $user = "u12345"; # имя пользователя (вымышленное) my $pass = "password"; # пароль my $db = $user; # имя базы данных -по умолчанию равно имени пользователя print "Content-type: text/html\n\n"; $dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass); $sth = $dbh->prepare("select field1 from table2");# готовим запрос $sth->execute; # исполняем запрос while ($ref = $sth->fetchrow_arrayref) { print "$$ref[0]\n"; # печатаем результат } $rc = $sth->finish; # закрываем $rc = $dbh->disconnect; # соединение В этом примере мы сначала определяем переменные с параметрами доступа к MySQL, далее выдаем HTTP-заголовок, так как это у нас скрипт для запуска через веб, затем соединяемся с базой, подготавливаем и отправляем select-запрос, получаем и печатаем результаты, после чего закрываем соединение. Это простейший скрипт для работы с MySQL из Perl. Более подробные примеры вы можете найти в этой статье. Как работать с MySQL из скриптов на PHP Для работы с MySQL вы можете использовать встроенный в язык PHP средства, поддержка которых уже осуществляется на хостинге. PHP имеет развитый и понятный интерфейс к этой СУБД, что делает работу с MySQL именно из PHP наиболее простой и удобной особенно для начинающих веб-мастеров и веб-программистов. # соединяемся с сервером и выбираем свою базу данных mysql_connect("u12345.mysql.masterhost.ru","u12345","password"); mysql_select_db("database"); # готовим и выполняем запрос к БД $query = "SELECT * FROM table"; $result = mysql_query($query) or die(mysql_error()); # выводим результаты выполнения запроса while($i = mysql_fetch_row($result)) { echo $i[0]; echo $i[1]; ..... } Полная документация на русском языке по работе с MySQL из PHP-скриптов находится здесь. Кроме описаний, там же вы найдете советы опытных пользователей и примеры использования функций, упоминаемых в документации. Также рекомендуем вам статью «Использование MySQL в PHP сценариях» на сервере hostinfo.ru. Загрузка данных с помощью LOAD DATA Начиная с версии MySQL 3.23.49, LOAD DATA LOCAL по умолчанию запрещено по соображениям безопасности, и его надо специально включать. MySQL-сервер у нас работает с включенным LOAD DATA LOCAL, но необходимо включение данной функциональности со стороны клиента. Для утилиты mysql есть несколько вариантов включения данной опции: Параметр --local-infile=1 Создать в домашней директории файл .my.cnf и в нем разрешить эту опцию для группы [mysql], которой пользуется данная утилита: [mysql] local-infile=1 Включение данного режима из perl'а: необходимо в dsn при подключении указать файл конфигурации mysql (т.к. библиотека libmysql по умолчанию никаких дополнительных файлов конфигурации не читает) и группу в нем, в файле создать эту группу, и для этой группы выставить local-infile=1: Например, вписываем в ~/.my.cnf [perl] local-infile=1 а в скрипте подключение оформляем так: my $dsn = "DBI:mysql:database:hostname;mysql_read_default_group=perl;". "mysql_read_default_file=~/.my.cnf"; my $dbh = DBI->connect($dsn, "username", "password") ||die "[err]: Can't connect to MySQL: $!"; Включение данного режима из PHP: у вас обязательно должен быть установлен свой собственный, скомпилированный интерпретатор PHP. В функции mysql_connect() необходимо использовать аргумент 128 (значение константы CLIENT_LOCAL_FILES) в качестве пятого параметра. Пример: $dbh = mysql_connect($server, $user, $pass, false, 128); Дополнительные MySQL-база и MySQL-доступ (MySQL-пользователь) Пользователям предоставляется определенное количество баз MySQL в рамках приобретенного тарифа. При этом автоматически подключается одна база, и реквизиты доступа к ней сообщаются в письме с уведомлением о заведении услуг. Клиенты могут самостоятельно создавать дополнительные базы данных и MySQL-доступы. Для этого необходимо в контрольной панели в разделе Древо услуг выбрать площадку, для которой необходимо создать дополнительную услугу и в таблице «MySQL» выбрать команду «добавить» для услуги «MySQL-доступ (доп.)» или «MySQL-база (доп.)». Пароли доступа к базам данных можно изменить, вызвав команду «изменить» у требуемого MySQL-доступа. -------------------- Вот еще немного инфы (которая, кстати работает, сам проверял) Импорт больших файлов sql в базу данных mysql Как изменить максимально допустимый размер импорта файла sql в базе данных Mysql. Для этого нужен доступ к папке \usr\local\mysql-5.1\ на сервере (или на локальном сервере denver). По умолчанию у вас установлен Максимально допустимый размер загружаемого файла 2 MB. По этому пути \usr\local\mysql-5.1\ открываем файл конфигурации my.cnf. Раскомментируйте следующие строки, если вы хотите изменить настройки InnoDB по умолчанию. # #innodb_data_home_dir = /usr/local/mysql-5.1/var/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /usr/local/mysql-5.1/var/ #innodb_log_arch_dir = /usr/local/mysql-5.1/var/ # Вы можете установить .._buffer_pool_size размером до 50 - 80 % # оперативной памяти, но опасайтесь перерасхода innodb_buffer_pool_size = 16M innodb_additional_mem_pool_size = 2M - здесь меняем до нужного размера! #Устанавливайте .._log_file_size to 25 % от _buffer_pool_size innodb_log_file_size = 5M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit=1 innodb_lock_wait_timeout = 50 Затем перезагружаем сервер и весело работаем с импортом больших sql файлов.
  12. После полутора лет разработки компания Oracle представила выпуск операционной системы Solaris 11.2. Для загрузки в настоящее время подготовлена бета-версия Solaris 11.2, установочные образы с которой доступны для архитектур x86 и SPARC. Для архитектуры x86 дополнительно поставляется демонстрационная Live-система. Из ключевых улучшений нового выпуска отмечается интеграция средств для обеспечения работы облачных инфраструктур, основанных на платформе OpenStack, поддержка нового вида изолированных контейнеров kernel zones и новые возможности по развёртыванию SDN-сетей. Основные новшества Solaris 11.2: — Включение в поставку полноценного стека для создания и обслуживания облачных инфраструктур, а также управления связанными с ними вычислительными ресурсами, хранилищами и сетевыми возможностями. Стек построен на базе платформы OpenStack и предоставляет единые средства для управления облачными системами, как на базе Solaris VM и Solaris Zones, так и на основе гипервизоров Xen и KVM; — Унифицированные архивы — новая форма резервного копирования и архивирования, позволяющая клонировать текущие рабочие окружения для последующего восстановления в случае сбоя или для быстрого развёртывания копии в облачной инфраструктуре; — Поддержка динамического переконфигурирования и переименования изолированных окружений на базе Solaris Zones без перезагрузки; — Новый тип контейнеров Kernel Zones, позволяющих использовать разные варианты ядра Solaris в разных изолированных окружениях. Новая возможность в том числе позволяет выполнять обновление ядра отдельных изолированных окружений без перезагрузки хост-системы (global Zone); — Новая система для развёртывания программных SDN-сетей (Software Defined Network), позволяющих реализовать независимые от оборудования методы обработки и приоритезации сетевого трафика, учитывающие потребности приложений. Интеграция компонента Elastic Virtual Switch для создания виртуальных сетей; — В инструменты управления пакетами интегрированы средства для обновления прошивок и управления прошивками, что позволяет при выполнении обновления системы добиться наличия всегда корректных прошивок; — В ZFS проведена оптимизация производительности, обеспечен процесс отображения прогресса выполнения длительных операций, улучшены средства для хранения данных в сжатом виде, работы на гибридных хранилищах и шифрования данных; — Добавлена утилита compliance для проверки наличия актуальных обновлений, оценки текущих настроек с точки зрения безопасности и выявления возможных следов нарушения безопасности; — Улучшение средств для автоматизированной установки большого числа серверов, организации серверов для распространения обновлений и создания зеркал репозиториев пакетов; — Добавлена новая группа пакетов solaris-minimal-server для установки минимального серверного окружения; — В пакетный менеджер pkg добавлена новая команда еxact-install для возврата системы к первоначальному состоянию, без удаления отдельных пакетов; — Для платформы SPARC началось формирование загрузочных USB-носителей; — Добавлена поддержка протоколов VXLAN (Virtual Extensible Local Area Network), L3 VRRP (Layer 3 Virtual Router Redundancy Protocol), PTP (Precision Time Protocol), DLMP (Probe Based Failure Detection in Datalink Multipathing); — Добавлена поддержка IKEv2 (Internet Key Exchange 2); — В состав включены две новые утилиты мониторинга ipstat и tcpstat; — Увеличена масштабируемость работы DTrace; — Добавлен системный вызов processor_affinity для привязки процессов или нитей к заданным ядрам CPU; — В поставку включены Java 8, GCC 4.8 и MySQL 5.5.
  13. Диагностика по SSH Если вы хотите узнать сколько места у вас занято на дисках и чем конкретно оно занято вам нужно подключиться к серверу по SSH И использовать команды df и du с различными ключами. Например: Команда df Узнать сколько занято и сколько всего у нас места: [root@hostname ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda3 1.1T 290G 752G 28% / Size - общий размер диска, Used - используется места, Avail - доступное место на диске. В нашем примере, занято 290 Гб, свободно 752Гб. Команда du Узнать какая директория занимает больше всего места: [root@host ~]# du -hs /* 32K /aquota.group 20K /aquota.user 7.5M /bin 74M /boot 188K /dev 50M /etc 4.0K /home 358M /lib 23M /lib64 16K /lost+found 4.0K /media 4.0K /mnt 561M /opt 0 /proc 48G /root 15M /sbin 4.0K /selinux 4.0K /srv 0 /sys 352M /tmp 172M /user2153294 15G /usr 265G /var После того как нашли директорию которая занимает много и вы не знаете что в ней занимает место, можно выполнить эту же команду, но указав в качестве параметры нужную директорию [root@host ~]# du -hs /usr/* 66M /usr/bin 4.0K /usr/etc 4.0K /usr/games 25M /usr/include 321M /usr/lib 162M /usr/lib64 40M /usr/libexec 3.2G /usr/local 28M /usr/sbin 11G /usr/share 12K /usr/src 0 /usr/tmp Так же можно комбинировать данную команду с другими, например grep, для того чтобы выводились только директории занимающие более гигабайта (G в колонке размера) [root@host ~]# du -hs /usr/* | grep G 3.2G /usr/local 11G /usr/share Команда repquota Repquota отобразит квоту пользователей, текущее состояние и ее лимит. ISPmanager считает квоту по группе пользователей, поэтому команда будет выглядеть так: [root@host ~]# repquota -g / | grep user21 user211 -- 254948 0 5242880 1756 0 0 user212 -- 2622280 0 5242880 37930 0 0 user213 -- 668776 0 5242880 35090 0 0 user214 -- 43860 0 5242880 2507 0 0 user215 -- 75788 0 5242880 8950 0 0 user216 -- 24864532 0 78643200 267 0 0 user217 -- 297576 0 5242880 1820 0 0 user218 -- 129208 0 5242880 11305 0 0 user219 -- 411052 0 5242880 15262 0 0 Диагностика в ISPmanager 5 Раздел Пользователи В этом разделе отображается размер дискового пространства в мебибайтах, которое занимают файлы пользователя (занято/доступно). В панели управления не отображается занятое дисковое пространство. В логе панели ошибка: Dec 5 16:09:02 [3228:38] proc EXTINFO Run '/bin/sh -c quotasync\ -g\ /' pid 3658 Dec 5 16:09:02 [3228:38] proc EXTINFO Process 3658 finished with status 1 Такое поведение характерно для файловой системы reiserfs (вирутализация OpenVZ). Для решения проблемы достаточно добавить в файл конфигурации ispmgr.conf (или ispmgrnode.conf если речь о ISPmanager Business) опцию DisableQuotasync. Option DisableQuotasync - если указана данная опция, панель не будет вызывать команду quotasync перед получением информации о системных квотах. После добавления опции в конфиг необходимо перезапустить панель командой killall core Значение занятого дискового пространства в ISPmanager отличается от того, что показывает команда du Например, в панели управления в разделе "Пользователи" отображается информация по занятому дисковому пространству: 880/1000 MB Но du -sh на директорию пользователя показывает 1,6 GB Это означает, что в директории пользователя есть файлы, группа которых не соответствует группе пользователя. Найти такие файлы поможет команда find /var/www/user/ -not -group user Если же команда du , наоборот, показывает меньшее значение, чем в панели, то значит за пределами домашней директории есть файлы, принадлежащие группе пользователя. Найти такие файлы можно с помощью команды find / -path /var/www/user/ -group user Раздел Ограничения (ISPmanager Business) В данном модуле представлена информация об использовании ресурсов пользователем панели управления, включая количество web-доменов, доменных имен, баз данных и т.п. Кроме того, вы можете просмотреть более подробную информацию о некоторых ресурсах, и, в зависимости от выбранного параметра, выполнить дополнительные действия над ним. Частые проблемы Файлы сессий Обычно их занимают файлы сессий. Они сохраняются в директориях пользователей mod-tmp В линуксах /var/www/user_name/data/mod-tmp чтобы удалить файлы из папок необходимо перейти в эту директорию командой # cd /www/user_name/data/mod-tmp где user_name это имя вашего пользователя. И выполняете команду # find . -type f -name 'sess_*' -delete Логи Так же много места могут занимать файлы логов. Расположены они обычно в директории /var/log /var/www/httpd-logs Смотрим размер логов [root@ashamans www]# du -hs /var/www/httpd-logs/* 4,0K /var/www/httpd-logs/ashamans.ru.access.log 4,0K /var/www/httpd-logs/ashamans.ru.error.log [root@ashamans www]# находим большие и можем обнулить их # :> /var/www/httpd-logs/ashamans.ru.error.log Полезные скрипты Уведомление о заканчивающемся свободном месте (PHP) Создайте файл с содержимым: <?php $bash_run = "df -m | grep \"/dev/vdisk\" | awk '{print $4}'"; $freespace = exec($bash_run); $srv_ip=$_SERVER['SERVER_ADDR']; // ip- адрес проверяемого сервера if ($freespace < 5000) // 5 Gb { mail( "mail@mail.ru", "!!! FreeSpase on the Server $srv_ip !!! // chech_disk_space_to_email.php ", "Warning!!! On the Server $srv_ip Freespace = $freespace Mb" ); } Добавьте выполнение данного скрипта в cron: # crontab -e 0 */2 * * * php /путь/до/скрипта
  14. Сегодня закончил интересный эксперимент — перенос сервера под управлением CentOS 7 с реального железа, на виртуальное. Поскольку виртуализация и облачные вычисления в наше время становятся все более и более популярными, считаю что данный способ переноса физических машин в виртуальную среду будет актуальным в некоторых случаях. Ситуация такова: есть сервер с работающим и настроенным CentOS на борту, нам нужно между голым железом и операционкой сделать прокладку в виде гипервизора ESXi/XenServer/Virtualbox и т.п. При этом, у нас нету второго сервера, нету vCenter, соответственно, нету возможности использовать «легальные» и поддерживаемые утилиты типа VMware Converter для P2V миграций. Собственно, у меня и возникла необходимость переноса Linux-сервера в такой ситуации. Но прежде чем делать все это на живом, работающем продакшн-сервере, я решил протестировать в, так сказать, «лабораторных» условиях. И вот что получилось. План миграции таков: — делаем образ диска с помощью Acronis True Image на флешку или внешний винчестер (в зависимости от объема) — форматируем внутренние винты сервера и устанавливаем гипервизор — создаем нужных размеров виртуальную машину — разворачиваем образ диска на виртуалке Данный способ хорош тем, что для миграции нам понадобится только: Live CD с Acronis, установщик ESXi, флешка или внешний винчестер подходящих размеров, консоль (ноутбук или ПК-шка в одной сети с сервером). Теоретически, план вполне рабочий, но «могут быть варианты» :)) В общем ближе к делу, по пунктам: Создание образа работающего сервера 1. Загружаемся с Windows Live-CD на котором есть Acronis (например Alkid). 2. Подключаем флешку или внешний винчестер, свободного места на котором будет достаточно для создания образа. Советую брать устройство, на котором есть столько свободного места, сколько занятого пространства на всех разделах сервера вместе взятых. Акронис, конечно, сжимает данные в процессе создания образа, но лучше брать с запасом. 3. С помощью Acronis True Image создаем файл образа всего винчестера. Подробно сей процесс описывать не буду т.к. Acronis — программа многим знакомая и интуитивно понятная. Единственное, на что нужно обратить внимание, это что бы стояли галочки на всех разделах диска, включая MBR!!! Форматирование дисков и установка гипервизора 4. После сзодания образа работающего сервера отключаем внешний накопитель, вставляем установочный диск с гипервизором, в моем случае — VMware ESXi 6.o, и перезагружаем сервер. 5. Устанавливаем ESXi, который автоматически отформатирует винчестер (или RAID-массив сервера), предварительно предупредив об этом (подробно процесс установки опишу отдельной статьей). 6. Настраиваем сеть на ESXi и подключаемся с помощью vSphere Client 6.0 (его можно скачать на веб-интерфейсе ESXi-сервера) из нашей «консоли» (ноутбук или пк-шка). Если проблем с подключением к серверу через vSphere Client не возникло (а их не должно возникнуть), то можно приступить к следующему этапу — подготовке целевой виртуальной машины для сервера 7. В vSphere Client-е кликаем правой по нашему хосту и выбираем «New Virtual Machine» -> «Custom». 8. Следуя мастеру выбираем «Version 8» -> задаем параметры оперативной памяти и кол-во процессоров, тип операционной системы и т.п.. 9. Когда доходим до диска — выбираем «Create New Disk» и задаем размер виртуального диска, который хотим отдать виртуалке. Здесь нужно указать размер не меньше чем объем занятого пространства на ВСЕХ разделах нашего Linux-сервера, когда он еще был живой. 10. Что бы пробросить USB-девайс в нашу виртуалку, понадобится добавить соответствующий контроллер в нее. Для этого кликаем правой -> «Edit Settings» -> «Add» -> «USB controller». Виртуальную машинку создали и подготовили — можно приступать к развертыванию образа в ней 11. Монтируем iso-шку Live-CD в CD-привод нашей виртуалки и пробрасываем наш USB-накопитель, загружаемся. 12. Убеждаемся, что наш внешний накопитель подключен и распознался и приступаем к развертыванию образа с помощью Acronis True Image. 13. Как было замечено выше — на одном из этапов восстановления Acronis предложил сделать автоматический ресайз разделов, или же можно сделать это вручную. Я выбрал автомат. Немного забегая наперед, скажу что данная процедура прошла удачно и Acronisне побил мои разделы, а все все файлы остались в целости и сохранности. У меня все разделы были в старой доброй Ext3, про другие файловые системы не скажу. 14. После завершения восстановления системы из образа — отключаем iso-шку, usb-девайс и перезагружаем виртуалку наблюдая результаты своего труда. И шо с того получилось… После перезагрузки, я был приятно удивлен тем, что мой CentOS начал бодренько грузиться. Сначала Grub, потом ядро…это значило что MBR в порядке и загрузочный раздел тоже. Но когда дело дошло до монтирования дисков, то вылезла бочина: В общем кернел в панике, а я в шоке…полез гуглить И вот что нагуглил. Решением данной проблемы есть создание нового файла initrd. Ничего сложного в этом нету. В CentOS это делается так: Подключаем к CD-приводу нашей виртуалки установочную iso-шку CentOS, желательно такой же версии как на сервере (в моем случае это был CentOS 7). Бутаемся с нее и при загрузке нажимаем F5-Rescue что бы загрузится в «Rescue mode» загрузчик нас просит написать linux rescue и нажать <ENTER> — делаем как сказано. При загрузке в этом режиме, загрузчик предложит автоматически обнаружить установленную на жестком CentOS и смонтировать все ее разделы в /mnt/sysimage— соглашаемся!. Итак, появилась командная строка. Набираем mount и видим что-то типа: Система смонтировала все автоматом, это круто!! Нам остается только сменить окружение с помощью команды chroot /mnt/sysimage Смотрим что у нас лежит в /boot и бэкапим старый файлик initrd: Генерируем новый файл initrd, в качестве параметров: имя целевого файла (должно быть идентичным старому) и точная версия ядра, затем проверяем наличие новоиспеченного файла: Отключаем iso-шку и перезагружаем виртуалку в нормальном режиме — вуаля! После таких манипуляций у меня все замечательно завелось, чего и вам желаю. В заключение Эксперимент можно считать удачным, а данный способ миграции — работающим. НО! исход данной процедуры зависит от дистрибутива, состояния операционной системы, файловых систем на разделах и т.п., поэтому завершение такой процедуры может быть далеко не тривиальным.
  15. k010v

    Zabbix 4 на CentOS 7

    Считаем, что у нас есть установленный и предварительно минимально настроенный CentOS 7. В качестве web-сервера для Zabbix будет использоваться nginx. Подключаем репозиторий nginx и устанавливаем его: rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx Запускаем nginx и добавляем в автозагрузку. systemctl start nginx systemctl enable nginx Дальше устанавливаем менеджер процессов FastCGI (FPM) – php-fpm. Для этого подключаем репозиторий remi rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm Активируем remi-php71 yum install -y yum-utils yum-config-manager --enable remi-php71 Устанавливаем php 7.1 и модули к нему yum install -y php71 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath Запускаем и добавляем в автозагрузку php-fpm systemctl start php-fpm systemctl enable php-fpm Проверяем, запустился ли он. netstat -tulpn | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 14271/php-fpm: mast Все в порядке, но запустим его через unix сокет. Для этого правим конфиг mcedit /etc/php-fpm.d/www.conf Комментируем строку: ;listen = 127.0.0.1:9000 После нее добавляем несколько других: listen = /var/run/php-fpm/php-fpm.sock listen.mode = 0660 listen.owner = nginx listen.group = nginx Там же изменим пользователя, от которого будет работать php-fpm. Вместо apache укажем nginx: user = nginx group = nginx Перезапустим php-fpm проверим, запущенный сокет systemctl restart php-fpm ll /var/run/php-fpm/php-fpm.sock srw-rw---- 1 nginx nginx 0 Jan 14 14:36 /var/run/php-fpm/php-fpm.sock Дальше установим свежую версию сервера баз данных MariaDB. Подключаем нужный репозиторий – Идем сюда и выбираем нужные параметры операционки mcedit /etc/yum.repos.d/mariadb.repo Содержимое файла: # MariaDB 10.3 CentOS repository list - created 2019-01-15 09:15 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 Устанавливаем сервер баз данных yum install -y MariaDB-server MariaDB-client Запускаем mariadb и добавляем в автозагрузку systemctl start mariadb systemctl enable mariadb Запустим скрипт начальной конфигурации mysql и создадим пароль для root. Все остальное можно оставить по-умолчанию. /usr/bin/mysql_secure_installation Сделаем свой конфиг для mariadb, оптимизированный под zabbix mcedit /etc/my.cnf.d/server.cnf Содержимое файла: [client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 [mysqld] character_set_server=utf8 collation-server=utf8_bin init_connect="SET NAMES utf8 collate utf8_bin" port = 3306 socket = /var/lib/mysql/mysql.sock innodb_file_per_table=1 innodb_buffer_pool_size = 768M #примерно в 2 раза меньше объема оперативной памяти сервера innodb_buffer_pool_instances=1 #увеличивать на 1 каждый GB innodb_buffer_pool_size innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 512M innodb_log_files_in_group = 3 [server] [galera] [embedded] [mariadb] [mariadb-10.3] Перезапустим mariadb и убедимся, что он запустился systemctl restart mariadb systemctl status mariadb.service ● mariadb.service - MariaDB 10.3.12 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Mon 2019-01-14 14:42:35 MSK; 21h ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 5353 (mysqld) Status: "Taking your SQL requests now..." CGroup: /system.slice/mariadb.service └─5353 /usr/sbin/mysqld Приступим к установке Zabbix Server 4.0, первым делом нужно подключить репозиторий rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm Теперь запускаем установку Zabbix-server yum install -y zabbix-server-mysql zabbix-web-mysql После установки, создаём базу данных zabbix, пользователя zabbix и заполняем базу mysql -uroot -p Enter password: > create database zabbix character set utf8 collate utf8_bin; > grant all privileges on zabbix.* to zabbix@localhost identified by 'пароль_для_пользователя_zabbix'; exit zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix Отредактируем файл конфигурации сервера zabbix, этих минимальных настроек достаточно, для работы сервера mcedit /etc/zabbix/zabbix_server.conf Изменяем указанные строки, остальное не трогаем DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=пароль_для_пользователя_zabbix ListenIP=0.0.0.0 Timeout=10 Запустим zabbix и добавим его в автозагрузку systemctl start zabbix-server systemctl enable zabbix-server Можно проверить лог файл на наличие ошибок cat /var/log/zabbix/zabbix_server.log Остается сделать конфиг nginx для работы web интерфейса zabbix. В моем случае nginx работает на том же сервере, где сам zabbix, а других виртуальных хостов нет, правим дефолтный конфиг mcedit /etc/nginx/conf.d/default.conf Приводим его к следующему виду: server {listen 80; server_name localhost; root /usr/share/zabbix; location / {index index.php index.html index.htm;} location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PHP_VALUE " max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europe/Moscow always_populate_raw_post_data = -1 "; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } } Проверим конфиг на ошибки и перезапустим nginx nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful nginx -s reload Важный нюанс – необходимо изменить права доступа и назначить владельцем nginx chown -R nginx:nginx /var/lib/php/session chown -R nginx:nginx /etc/zabbix/web Этот нужно будет проделывать после каждого обновления php или zabbix. По-умолчанию zabbix идет в комплекте с apache и рассчитан на работу с ним. После установки или обновления, он делает его владельцем директории /etc/zabbix/web. С серверной частью всё, продолжаем установку zabbix сервера через Zabbix Frontend. На одном из этапов указываем параметры доступа к базе данных. После завершения установки, авторизуемся на сервере со стандартной учетной записью Пользователь Admin Пароль zabbix Изменение стандартных шаблонов мониторинга В шаблоне Template App Zabbix Agent отключаем триггер Version of zabbix_agent(d) was changed on {HOST.NAME}. В шаблоне Template OS Linux меняем в триггере Disk I/O is overloaded on {HOST.NAME} значение со стандартных 20% до 50%. В этом же шаблоне в правиле обнаружения Mounted filesystem discovery добавим еще один прототип триггера, скопировав Free disk space is less than 20% on volume {#FSNAME}. В новом шаблоне вместо 20% указываем 5% и ставим важность «Высокая». В этом же шаблоне в триггере Lack of free swap space on {HOST.NAME} меняем порог срабатывания с 50% до 20%. В шаблоне Template OS Windows отключаем Правило обнаружения Windows service discovery. Если нужен мониторинг какой-то службы windows, для этого можно сделать отдельный шаблон. Общие настройки В общих настройках zabbix server, которые располагаются в разделе Администрирование -> Общие меняем следующие параметры: В разделе Рабочее время выставляем актуальные рабочие часы. В разделе Опции отображения триггеров меняем значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. В разделе Прочее меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
×
×
  • Create New...