+38 (067) 901-63-22

Корзина

0 товара(ов) на сумму
0 грн.

Июнь 2015 — К2®, Рудюк Сергей Анатольевич

WinMerge - утилита для сравнения исходных кодов исходников

Автор: Рудюк С.А.

http://corp2.net

Бывает, возникает необходимость сравнить два исходных текста. Для того, чтоб это было удобно сделать, предназначена программа Win Merge.

Данная программа показывает разными цветами отличающиеся места.

Закачать программу можно на сайте разработчика: http://winmerge.org

Данное программное обеспечение распространяется с открытым исходным кодом.

winmerge

Простейший способ создания штрих-кода в формате PNG из командной строки в Linux Ubuntu

Автор: Рудюк С.А.

http://corp2.info

В Linux есть огромное количество способов создания линейного штрих-кода. В данной статье мы рассмотрим, как сгенерировать графическое изображение штрих-кода прямо из командной строки. При этом, решение будет совершенно бесплатным и очень простым как в установке так и в использовании.

Итак, в Linux мы имеем прекрасную утилиту для генерации штрих-кода под названием barcode. Данная команда генерирует штрих-код в формате PostScript и Encapsulated Postscript.

Рассмотрим её описание:

$ barcode -h barcode: Options: -i <arg> input file (strings to encode), default is stdin -o <arg> output file, default is stdout -b <arg> string to encode (use input file if missing) -e <arg> encoding type (default is best fit for first string) -u <arg> unit ("mm", "in", ...) used to decode -g, -t, -p -g <arg> geometry on the page: [<wid>x<hei>][+<margin>+<margin>] -t <arg> table geometry: <cols>x<lines>[+<margin>+<margin>] -m <arg> internal margin for each item in a table: <xm>[,<ym>] -n "numeric": avoid printing text along with the bars -c no Checksum character, if the chosen encoding allows it -E print one code as eps file (default: multi-page ps) -P create PCL output instead of postscript -p <arg> page size (refer to the man page) Known encodings are (synonyms appear on the same line): "ean", "ean13", "ean-13", "ean8", "ean-8" "upc", "upc-a", "upc-e" "isbn" "39", "code39" "128c", "code128c" "128b", "code128b" "128", "code128" "128raw" "i25", "interleaved 2 of 5" "cbr", "codabar" "msi" "pls", "plessey" "code93", "93"

Как видите, данная команда генерирует штрих-коды во всех основных стандартах.

Рассмотрим примеры использования:

Grand & Toy # 99773,

Label width: 44 mm Label height: 12 mm Horizontal gap between labels 8 mm Vertical gap between labels: 1 mm Top margin: 13 mm Left margin: 8 mm

Should be:

yes 12345 | head -72 | barcode -p 8.5x11in -umm -t 4x18+8+13 -g 44x12+8+1 -e CODE39 > test.ps

But in fact:

yes 12345 | head -84 | barcode -p 8.5x11in -umm -t 4x21+0+0-0-12.8 -g 36x12+7+0 -m 5,0 -e CODE39 > test.ps; date '+%H:%M:%S'

Trying History

$ barcode -umm -p letter -t 4x18+8+13 -g 44x12+8+1 -e CODE39 -b 1234567890 -b 1234567890 -b 1234567890 -b 1234567890 -b 1234567890 -b 1234567890 > test.ps barcode: wrong page size specification "letter" barcode: try "barcode --help"

-p 8.5x11in works.

$ yes 12345 | head -72 | barcode -umm -p 215x279mm -t 4x18+0+12-0-12 -g 32x8.5+7+0 -m 0,0 -e CODE39 > test.ps; lpr test.ps; date '+%H:%M:%S' 15:44:48
# add l/r margin = 8 $ yes 12345 | head -72 | barcode -umm -p 215x279mm -t 4x18+0+12-0-12 -g 32x8.5+7+0 -m 8,0 -e CODE39 > test.ps; lpr test.ps; date '+%H:%M:%S' 16:10:30
$ yes 12345 | head -80 | barcode -p 8.5x11in -umm -t 4x20+8+13 -g 44x12+8+0 -m 5,0 -e CODE39 > test.ps; date '+%H:%M:%S' 09:35:57
$ yes 12345 | head -84 | barcode -p 8.5x11in -umm -t 4x21+8+0-8-12 -g 44x12+8+0 -m 5,0 -e CODE39 > test.ps; date '+%H:%M:%S' 10:37:04
$ yes 12345 | head -84 | barcode -p 8.5x11in -umm -t 4x21+0+0-0-12.8 -g 36x12+7+0 -m 5,0 -e CODE39 > test.ps; date '+%H:%M:%S' 11:18:40

Преобразование PS-файла в PNG

Конечно, все прекрасно, но нам же нужно получить формат файла - PNG. Тут на выручку нам приходит команда преобразования форматов графических файлов:

convert <Название исходного файла> <Название результирующего файла>

Генерация изображения с заданной четкостью:

convert -density 300 sierraf.eps sierraf.png

Генерация изображения заданного размера:

convert -density 300 IN.eps -resize 600x400 -transparent white OUT.png

Генерация штрих-кода в PNG-формате

Соединим обе команды для генерация штрих-кода символьного значения в формате CODE128:

barcode p 8.5x11in -umm -e 'code128' -b 12345678 > img.ps convert img.ps img.png

Таким образом, 2-мя строчками мы можем получить изображение практически в любом графическом формате (не только jpg) практически любого штрих-кода.

Декодирование и создание штрих-кодов QR и Data Matrix в Linux

Для разбора и кодирования Data Matrix-кодов (оформленный в виде квадрата
матричный код, состоящий из прямоугольных областей и способный содержать в себе
несколько килобайт данных) в Linux удобно использовать пакет libdmtx-utils.

Устанавливаем в Debian/Ubuntu:

sudo apt-get install libdmtx-utils

в Fedora:

sudo yum install libdmtx-utils

Кодируем текст из файла test.txt и сохраняем его в изображение test.png:

dmtxwrite -o test.png test.txt

для управления выводом можно использовать опции:

"-d N" - задаёт размер модуля в пикселях; "-s NxM" - задает размер кодирующих прямоугольников, например, "-s 10x10" "-m N" - задаёт отступы от границ изображения в пикселях; "-e тип" - задаёт тип кодирования данных: b = оптимизация, ориентированная на качество; f = оптимизация, ориентированная на скорость; a = ASCII (по умолчанию) c = C40 (цифры и символы верхнего регистра) t = Text (цифры и символы нижнего регистра) x = X12 ANSI X12 EDI e = EDIFACT (ASCII символы с кодами 32-94) 8 = Base 256 (все восьмибитные символы) "-f формат" - задаёт формат изображения для сохранения (список поддерживаемых форматов можно посмотреть через опцию "-l")

Декодируем содержимое Data Matrix-кода, содержащегося в изображении test.png:

dmtxread test.png

Другие варианты

Система zbar (http://sourceforge.net/projects/zbar/) позволяет декодировать не
только QR-коды, но и штрих коды других типов.

Устанавливаем ZBar в Debian/Ubuntu:

sudo apt-get install zbar-tools

в Fedora:

sudo yum install zbar-tools

Декодируем содержимое штрих-кода, содержащегося в изображении test.jpg:

zbarimg test.jpg

Еще один вариант декодирования QR-кодов - использование программы
libdecodeqr-simpletest из пакета libdecodeqr-examples:

libdecodeqr-simpletest test.jpg


Для кодирования QR-кодов в Linux можно использовать утилиту qrencode (http://fukuchi.org/works/qrencode/index.en.html):

sudo apt-get install qrencode

или

sudo yum install qrencode

Кодируем текст из файла test.txt и сохраняем его в изображение test.jpg:

cat test.txt| qrencode -o test.jpg
Источник: http://www.opennet.ru/tips/info/2565.shtml

Как проигрывать MP3-файлы с командной строки Linux

Мало кто слыхал и еще меньше людей пользуются возможностью прослушивания MP3-файлов через командную строку. Это и не странно, ведь в любой операционной системе есть качественный и хорошо графически оформленный музыкальный плеер. Но и в этом способе прослушивания музыки есть свои преимущества.

Установка программы.

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

sudo apt-get install mpg123


Это приложение доступно для всех видов операционных систем семейства Linux под одним названием mpg123, но также есть возможность скачать его и в исходном коде по следующей ссылке:

Управление.

Для того чтобы включить проигрывание конкретной песни необходимо перейти в каталог с MP3-файлами и ввести в командную строку после mpg123 имя песни:

mpg123 имя_файла.mp3

После чего программа приступит к проигрыванию трека от начала до конца, и выведет на экран следующий текст:

playmusicfromcli01

Плейлисты.

Вы также можете использовать шаблоны для отправки на проигрывание в mpg123 нескольких файлов одновременно. Самый простой способ создать плейлист — это, находясь в папке с MP3-файлами, ввести следующую команду:

mpg123 *.mp3

А для того чтобы песни проигрывались в случайном порядке, добавте в предыдущую команду флаг «-Z».

playmusicfromcli02

Или вы можете использовать стандартный башовский редирект чтобы направить на проигрывание в mpg123 список файлов.

mpg123 -Z -@ < файл_плейлиста

Где, флаг -@ указывает mpg123 то, что следующий ввод необходимо трактовать как плейлист (это укороченный флаг -list), а символ < — это стандартный редирект в командной строке, который берет текст из файла и передает его в плеер.

Дистанционное управление плеером.

Многим пользователям Linux известно об протоколе SSH, который предоставляет доступ к консоли удаленной системы, а так как mpg123 — это чисто консольное приложение, то и управлять им можно также через SSH. Введите следующие команды в терминале:

ssh имя_пользователя@адрес_удаленной_машины mpg123 -Z -@ < файл_плейлиста

и услышите музыку на удаленном компьютере.

Источник: http://osmaster.org.ua/?p=2012

Генерация QR-кодов в Linux Ubuntu из командной строки

Автор: Рудюк С.А.

http://corp2.info

В Linux есть огромное количество бесплатного программного обеспечения а так же различных языков программирования благодаря которым Вы можете решить практически любую задачу. Причем, сделать это можете быстро, эффективно и что очень важно - не затрачивая денежные ресурсы...

В данной статье я расскажу, как можно сгенерировать QR-код в Linux Ubuntu из командной строки.

Для генерации QR-кода Вы можете использовать команду:

qrencode -o [filename.png] ‘
[text 1="to" 2="encode" language="/url/information"][/text]

Например:

qrencode -o google.png 'http://google.com'

Получите такое изображение:

googleВы можете указать размер пикселей, используя аргумент '-s'. Например, для размера 6х6:

qrencode -o ~/Desktop/google.png -s 6 'http://google.com'

Получим такое изображение:

google1

Решение проблемы запуска сессий новых пользователей в XRDP

1. При эксплуатации решения XRDP+1С стали возникать проблемы захода новых пользователей в терминальную сессию. Причем, сессия просто сваливалась не выдавая на экран видимую ошибку. И в логах ничего не писалось.

Как оказалось, проблема возникала из-за прав доступа.

Необходимо вставить в каталог скелетов все необходимые файлы. У меня вставлены такие файлы и каталоги:

/.1C /.config /Desktop .bash_logout .bashrc .profile .xsession examples.desktop

На все файлы необходимо указать владельца root и группу - root.

2. При запуске 1С под разными пользователями в файловом варианте конфигурации стало выдавать ошибку о не достаточных правах доступа.

Для того, чтоб этого не происходило, я включил всех пользователей в одну группу - 1s.
И на базы и каталоги указал группу 1s.

Так же, понадобилось внести изменения в файл .profile (для того, чтоб не нужно было такого делать при создании каждого нового пользователя внесите данные изменения в скелеты skel). Укажите в .profile umask 0007 или umask 0000.

Содержимое моего файла .profile:

umask 0007 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi

Постраничная навигация WordPress с помощью WP-PageNavi

Установка и настройка WP-PageNavi и стилей к нему

1. Скачайте последнюю версию WP-PageNavi.

2. Распакуйте и загрузите на сервер папку с файлами плагина в директорию wp-content/plugins, используя бесплатный ftp клиент FileZilla.

3. Активируйте его, в списке плагинов он идет под именем «список страниц».

4. Теперь необходимо заменить стандартный код для постраничной навигации в шаблонах index.php, archive.php и search.php темы WordPress на новый:

<?php wp_pagenavi(); ?>
		

Стандартный код постраничной навигации WordPress выглядит примерно так:

<div> <div><?php next_posts_link('&laquo; Раньше') ?></div> <div><?php previous_posts_link('Позже &raquo;') ?></div> </div>
		

От темы к теме вид кода может несколько меняться, поэтому ищите конструкцию, содержащую строчки next_posts_link и previous_posts_link.

Как только замените код, плагин WP-PageNavi начнет работать. Все настройки плагина на русском языке и доступно расписаны, поэтому разобраться с ними не составит труда. Располагаются они в разделе «Плагины» — «список страниц».

WP-PageNaviЧтобы настроить внешний вид, необходимо отредактировать файл со стилями плагина WP-PageNavi — wp-pagenavi/pagenavi-css.css. Для этого перейдите в раздел «Плагины» — «Редактор», выберете в качестве плагина для изменения WP-PageNavi и найдите списке файл с разрешением .css.

wp-pagenavi-css

Конечно, чтобы настроить стили постраничной навигации вам необходимо знать хотя бы основы CSS. Чтобы не терять время на его изучение (хотя рано или поздно вам придется изучить как минимум html и css) можно воспользоваться плагином WP PageNavi Style, который предоставляет уже готовые стили на любой вкус.

Устанавливается плагин WP PageNavi Style стандартно, ничего прописывать в теме для него не нужно. Только скачайте последнюю версию с WordPress.org. После активации создается новый одноименный раздел в панели администратора WordPress.


Рассмотрим основные настройки, их немного.

Опция Select StyleSheet позволяет переключится между существующими стилями (existing styles) и возможностью сформировать их самому (custom).

WP-PageNavi-Style

Выбор стилей очень большой, даже глаза разбегаются. Особенно красиво выглядят стили на CSS3. Думаю, каждый найдет что-то интересное для себя. После выбора визуального оформления постраничной навигации, задайте ее расположение — Align Navigation: left — слева, rigth — справа и center — по центру.

Теперь рассмотрим, какие опции предоставляет нам раздел Custom

WP-PageNavi-Style-Options

  • Heading Color — цвет заголовка, не обязательно знать html код цвета, достаточно кликнуть на поле и визуально его выбрать;
  • Background Color — цвет заднего фона;
  • Active / Current Background Color — задней фон кнопки текущей страницы (активной);
  • Font Size — размер шрифта;
  • Link Color — цвет ссылки;
  • Link Mouse Hover / Active Color — цвет ссылки при наведении на нее курсора мыши;
  • Link Border Color — цвет границы кнопки с номером страницы;
  • Link Border Mouse Hover/Active Color — цвет границы, при наведении на кнопку курсора мыши;
  • Align Navigation — выравнивание на странице: по центру, по левому или правому краю.

Не забудьте сохранить измененные настройки WP-PageNavi Style — Save Settings
.

WP-PageNavi не работает

Сталкивался я и с тем, что плагин WP-PageNavi не работает.

1. Плагин WP-PageNavi не активируется. Скорее всего вы используете особо продвинутую тему, в которой уже используется нумерованная постраничная навигация. Добавьте на блог несколько статей, чтобы увидеть используемую по умолчанию навигацию на блоге. Скорее всего она выполнена в стили используемой темы и менять в ней ничего не надо. Если не понравилась — почистите шаблоны темы от кода постраничной навигации, тогда плагин WP-PageNavi должен активироваться.

2. WP-PageNavi на главной странице работает некорректно — не переключаются страницы, выдаются ошибки или содержание страниц не изменяется. Это опять же связано с используемой темой WordPress.

Откройте на редактирование шаблон index.php и найдите код, который отвечает за вывод записей:

<?php if(have_posts()) : while (have_posts()) : the_post(); ?> … <?php endwhile; else: ?>
		

Замените его на следующий код:

<?php query_posts($query_string.'&cat=1'); ?> <?php if(have_posts()) : while (have_posts()) : the_post(); ?> … <?php endwhile; else: ?>
		

Проверьте работоспособность WP-PageNavi.

3. Если и это не помогло, то можно воспользоваться альтернативным плагином — WP Page Numbers.

Плагин WP Page Numbers

Установка плагина WP Page Numbers аналогично рассмотренной выше установки WP-PageNavi, только используется несколько другой код:

<?php if(function_exists('wp_page_numbers')) { wp_page_numbers(); } ?>
		

Настройки плагина располагаются в разделе «Параметры» — «Page Numbers».

Page-Number-ThemesWP Page Numbers предоставляет на выбор 5 стилей оформления постраничной навигации WordPress. Конечно, по сравнению с многообразием стилей WP-PageNavi Style это выглядит скудно, но темы универсальные и прекрасно подойдут для большинства блогов.

nastroyki-Page-Number

Из остальных настроек я только заменил значения «Page» на «Страница», а предлог «of» на «из».

Плагин Number My Post Pages

Последний плагин в моей подборке называется Number My Post Pages и предназначен для создания постраничной навигации внутри одной записи. Он пригодится вам в том случае, если объем материала на странице блога очень велик, и его лучше представить постранично для удобства читателя.


1. Скачайте плагин Number My Post Pages.

2. Распакуйте архив и перекиньте папку с файлами плагина на ftp в директорию wp-content/plugins.

3. Активируйте плагин Number My Post Pages.

4. Добавьте в шаблоны single.php и page.php используемой темы WordPress следующий код:

<?php mysinglepages(wp_link_pages(array('before' => '', 'after' => '', 'next_or_number' => 'number','echo' => '0'))); ?>
		

Как вы понимаете, код следует добавлять в том месте, где хотите видеть постраничную навигацию. Скорее всего после кода, отвечающего за вывод контента страницы:

<?php the_content(); ?>
		

Чтобы разбить содержание статьи на страницы следует воспользоваться тегом:

тег nextpage

Настройки плагина Number My Post Pages проживают по адресу «Параметры» — «Number Post Pages».

Number-Post-Pages

  • Text for Number of Pages — текст для числа страниц.
  • Show the «Text for Number of Pages» — показывать или нет «текст для числа страниц».
  • Number of pages after the current page — число страниц после текущей страницы.
  • Number of pages before the current page — число страниц до текущей.
  • Text for next page — текст кнопки для перехода на следующую страницу.
  • Text for previous page — текст кнопки для перехода на предыдущую страницу.
  • Use default stylesheet — использовать ли стандартную тему.
  • Show Dropdown — так называемый дробдаун, который выводит список всех номеров страниц.
  • Always Show Navigation — всегда показывать навигацию, даже если содержание статьи не разбито на страницы.
Источник: http://fairheart.ru/wordpress/osnovy-sozdaniya-bloga/postranichnaya-navigaciya-na-bloge-wordpress-plaginy-wp-pagenavi-style-wp-page-numbers-i-number-my-post-pages.html

PHP-Barcode — генерация штрих кода

Для тех кто по каким-либо причинам стал изучать проблемы генерации штрих кода (barcode) средствами PHP, презентую open source библиотеку для реализации нескольких популярный стандартов кодирования.

Вообще библиотека существует не только в формате, php скрипта, а еще и в unix & windows source вариантах, которые способны работать с большим количеством штрих кодов, но, напомню, в большинстве случаев используется EAN-13.
Перечислю поддерживаемые стандарты:

EAN-8, EAN-12, EAN-13, UPC, ISBN, Code39, Code128, Code128B, Code128B, RAWCode128, Interleaved25, CBR, MSI, PLS and Code93

Для php библиотеки все немного скромнее — встроены в нее только EAN-13/ISBN, но если скрипт обнаружит распакованную утилиту genbarcode, то сразу становятся доступны все вышеперечисленные стандарты.

Подключение библиотеки происходит в 2 этапа:

  1. Распаковка
  2. Установка пути к библиотеке в файле php-barcode.php

Строки выглядят примерно так:

[code]
$genbarcode_loc="c:\winnt\genbarcode.exe";
$genbarcode_loc="/usr/local/bin/genbarcode"; // используется по умолчанию
[/code]

Не думаю что стоит описывать процесс установки 3-х скромных файлов, которые в свою очередь адекватно документированы в исходных текстах, тем более что для выполнения операции не требуется каких-либо сверх способностей :-)

Скачать файлы можно с сайта автора http://www.ashberg.de/php-barcode/download/

На этом все!

ЗЫ: думаю будет уместно упомянуть о генерации 2D штрих кода (Semacode), который в отличие от привычных нам «полосок», может хранить существенно больший объем информации, доходящий до нескольких килобайт. Подробнее на этой технологии я остановлюсь позже, а пока можете изучать вопрос самостоятельно, например тут: http://www.splitbrain.org/blog/2007-06/12-php_semacode_encoder


Источник: http://rulinux.org/?p=150

Установка и настройка DNS сервера Ubuntu

Установка и настройка DNS сервера Ubuntu

Для начала нужно установить самые последние обновления системы

sudo apt-get update sudo apt-get upgrade

После этого установим службу DNS сервера Bind9

sudo aptitude install bind9

после установки службы, она автоматически запуститься

nastrojka-DNS-servera-Ubuntu-1

Следующим шагом, генерируем ключ для обновления DNS записей

dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER

выводим его на экран

cat Kdhcp_updater.*.private|grep Key

на экране вы должны увидеть ключ, что то подобно этому:

Key: 4GD8OIb8pZk4vAueACAfUQ==

Настраиваем DNS сервер Bind9

Открываем файл конфигурации

sudo nano /etc/bind/named.conf.options

Добавим следующий код:

forwarders { 8.8.8.8; 8.8.4.4; }; listen-on { 127.0.0.1; 192.168.0.1; };



  • forwaders – вышестоящий dns сервер (сервер гугла), используется если url запроса не найден в нашей базе.
  • listen-on – адреса через которые будет обслуживаться наш DNS сервер.

Сохраняем (Ctrl+O) и закрываем (Ctrl+X) файл.

Перезапустим bind9

sudo service bind9 restart

Теперь можно протестировать работу нашего DNS сервера

Добавим в фал /etc/resolv.conf строчку с нашим DNS сервером (так как файл /etc/resolv.conf при перезагрузке меняет значения на дефолтные, добавить запись нужно в тот файл из которого будут браться дефолтные значения)

sudo nano /etc/resolvconf/resolv.conf.d/tail

в этот файл пишем следующее:

domain lab.loc search lab.loc nameserver 127.0.0.1

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

dig ubuntu.ru

в ответ вы получите ответ с временем выполнения запроса (выделено цветом)

nastrojka-DNS-servera-Ubuntu-1 otvet-komandy-dig-600x472Как видите запрос был выполнен за 284 мсек. Теперь еще раз выполним этот же запрос и проверим время запроса

otvet-komandy-dig-2-600x471Повторный запрос был выполнен за 7 мсек! Отлично! Кэширование запросов работает. Двигаемся дальше.

Настройка основного DNS сервера

Исходные данные:

  • Доменное имя – lab.loc
  • IP сервера – 192.168.0.1
  • Имя сервера – srv-01.lab.loc

Нам нужно будет указать две зоны (прямого и обратного просмотра) и прописать их в конфигурации сервера.

Я начну с конца и укажу настройки зон в файле конфигурации. Открываем его

sudo nano /etc/bind/named.conf.local

и вставляем следующее:

key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret "4GD8OIb8pZk4vAueACAfUQ=="; }; zone "lab.loc" { type master; file "/var/lib/bind/db.lab.loc"; allow-update { key DHCP_UPDATER; }; }; //reverse zone zone "0.168.192.in-addr.arpa" { type master; file "/var/lib/bind/db.192"; allow-update { key DHCP_UPDATER; }; };

  • key DHCP_UPDATER — информация о ключе, который мы с вами записывали (в кавычки вам нужно вписать свой ключ)
  • zone «lab.loc» — информация о зоне использования DNS, указан тип — master, путь к файлу хранения данных зоны, обновления файла разрешено с использованием ключа.
  • zone «0.168.192.in-addr.arpa» — создание зоны обратного просмотра

Теперь создадим сами файлы в которых будут храниться данные зоны lab.loc. Для этого скопируем образец файла прямого просмотра:

sudo cp /etc/bind/db.local /var/lib/bind/db.lab.loc

откроем его

sudo nano /var/lib/bind/db.lab.loc

и внесем правки как у меня:

; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. ( 20141126 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS srv-01.lab.loc. @ IN A 192.168.0.1 @ IN AAAA ::1 srv-01 IN A 192.168.0.1

Теперь скопируем файл зоны обратного просмотра:

sudo cp /etc/bind/db.127 /var/lib/bind/db.192

откроем его

sudo nano /var/lib/bind/db.192

Вносим в него следующее:

; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA srv-01.lab.loc. root.srv-01.lab.loc. ( 20141126 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS srv-01. 1 IN PTR srv-01.lab.loc.

Сохраняем, закрываем, перезапускаем Bind9

sudo /etc/init.d/bind9 restart

Сохраняем, закрываем, проверяем работу DNS сервера:

nslookup srv-01.lab.loc

в ответ вы должны увидеть следующее: forward-zone-test-600x435Как видите зона прямого просмотра работает, нам показался адрес проверяемого имени. Теперь проверим работу зоны обратного просмотра

nslookup 192.168.0.1

В ответ должны получить следующее:

reverse-zone-test-600x429Как видите в ответ мы получили имя сервера по его адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, проверяйте что сделали не так.

Настройка динамического обновления зон DHCP сервером

Если вы вместе со мной настраивали сервер с самого начала, тогда у вас не должно возникнуть трудностей. Откроем файл /etc/dhcp/dhcpd.conf

sudo nano /etc/dhcp/dhcpd.conf

Проверяем что опция option domain-name содержит имя домена lab.loc, строку ddns-update-style none; закомментировать. Теперь добавим строчку update-static-leases on; – она отвечает за создание зон для клиентов у которых статичный IP адрес. Для автоматизации этого процесса, добавим следующий код:

ddns-update-style interim; update-static-leases on; key DHCP_UPDATER { algorithm hmac-md5; secret "CO0WnumqxGoxqGEDjaR3YA=="; } zone lab.loc. { primary 127.0.0.1; key DHCP_UPDATER; } zone 0.168.192.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPDATER; }

где secret это тот самый код который мы делали вначале статьи.

Вот пример моего файла /etc/dhcp/dhcpd.conf:

default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.254; option domain-name-servers 192.168.0.1; option domain-name "lab.loc"; option routers 192.168.0.1; option broadcast-address 192.168.0.255; default-lease-time 604800; max-lease-time 604800; } ddns-update-style interim; update-static-leases on; key DHCP_UPDATER { algorithm hmac-md5; secret "LUH8l/F2OtaVrA6eSffJog=="; } zone lab.loc. { primary 127.0.0.1; key DHCP_UPDATER; } zone 0.168.192.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPDATER; } log-facility local7;

Больше никакие настройки DHCP не трогаем, перезапускаем bind9 и dhcp

sudo /etc/init.d/bind9 restart
sudo /etc/init.d/isc-dhcp-server restart

Теперь нужно проверить как все это дело работает “в бою”. Запускаем клиентскую машину, которая находиться в сети с сервером. После включения машина получит IP адрес от DHCP сервера, а DHCP сервер создаст запись вроде klient-pc.lab.loc.

На запрос nslookup yos-pc (yos-pc это имя клиентской машины), мы должны увидеть ответ от сервера

Win7-600x450Как видите по скриншоту, работает и прямой и обратный запросы к DNS.

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

zapis-v-dns-596x480Источник: http://faqpc.ru/nastrojka-dns-servera-ubuntu/

Что делать, если автоматическое обновление Wordpress завершилось неудачей

Выход новых версий WordPress происходит регулярно: устраняются разнообразные уязвимости, решаются вопросы с безопасностью, добавляется уникальный функционал. В данном контексте очень важно проводить своевременное обновление, которое совершается очень просто: с помощью одного щелчка мышью в панели администратора. Несколько минут — и WordPress обновлился до новой версии. Однако бывают ситуации, когда автоматическое обновление WordPress заканчивается провалом. Давайте посмотрим, почему это происходит, и что в таком случае можно сделать.

Как выглядит ошибка автоматического обновления в WordPress?

После инициации автоматического обновления ядра WordPress (скажем, от версии 3.1.0 до 3.1.1) на экране “Update WordPress” будут отображаться статусы, характеризующие каждый шаг обновления:

Downloading update from http://wordpress.org/wordpress-3.1.1.zip… Unpacking the update… Verifying the unpacked files… Installing the latest version…

Пока, вроде бы, все в порядке. Давайте посмотрим, что произойдет дальше.

auto-update-failВ нашем случае сообщение, стоящее перед “Installation Failed”, раскрывает суть возникшей проблемы. Это самый простой вариант ошибки. В более сложных ситуациях статусы вообще не выводятся на экран, поэтому приходится разбираться в возникшей проблеме самостоятельно. Более того, в результате такой проблемы доступ к сайту может быть заблокирован для всех пользователей, включая администратора. Если администратор попытается загрузить какую-либо из страниц своего сайта, он получит на экран страницу со следующим содержанием:

Briefly unavailable for scheduled maintenance. Check back in a minute.

Очень сложно справиться с проблемой, если вы не можете залогиниться как администратор. К счастью, решить вопрос можно и без администраторских полномочий. Достаточно использовать доступ через FTP: пройти в корневую директорию и удалить файл .maintenance. Если ваш FTP-клиент не видит файлов, начинающихся с точки, попробуйте войти в панель управления вашего сервера и использовать файловый менеджер для поиска и удаления требуемого файла. На следующем скриншоте представлен файл .maintenance в корневой директории WordPress:

auto-update-fileЭтот файл содержит переменную, которая используется функцией wp_maintenance:

<?php $upgrading = 1302115706; ?>

Если вы столкнулись с блокировкой доступа к своему ресурсу, просто удалите файл .maintenance, чтобы справиться с проблемой. Как только вы сделаете это, вам вновь откроется доступ к панели администратора и другим страницам сайта. Оказавшись в панели администратора, вы можете увидеть небольшое уведомление, которое информирует вас о недавнем провале автоматического обновления:

auto-update-fail-message

An automated WordPress update has failed to complete – please attempt the update again now.



К этому времени у вас будет два варианта дальнейшего развития событий: либо упорно продолжать процесс автоматического обновления, пока он не приведет к каким-либо результатам, либо скачать свежий релиз и установить его вручную. Бывает так, что ручная загрузка новой версии системы позволяет справиться с проблемой.

Проверка прав доступа к файлам

Установка надлежащих прав доступа к файлам — один из способов справиться с различными неприятностями, возникающими в процессе автообновления. В разделе «Обновление Консоли» кодекса WordPress можно увидеть следующий совет, касающийся решения проблем:

Удостоверьтесь в том, что ваша директория WordPress связана с тем пользовательским именем, под которым запущен сервер Apache. К примеру, если ваш сервер запущен как https, и ваши файлы лежат в папке /var/wordpress, используйте “chown -R apache.apache /var/wordpress.”

Наряду с этим вы можете также попытаться изменить права доступа для директории /upgrade/. Как показано на следующем скриншоте, WordPress использует папку /upgrade/ для хранения временного файла, создаваемого в процессе установки:


auto-update-tmp

Для того чтобы временный файл был создан в каталоге /upgrade/, он (каталог) должен быть перезаписываемым для сервера. Чтобы понять, послужило ли это причиной возникновения проблем, попробуйте изменить права доступа для каталога на 777 (или на любой другой CHMOD эквивалент), после чего повторите процесс автоматического обновления. Если это сработало, то вопрос решен, правда, с небольшой оговоркой: вы должны использовать такие права доступа, которые выставляют самые жесткие ограничения из всех возможных. Получить такую комбинацию можно как опытным путем, так и с помощью изучения различных справок. Online CHMOD Calculator поможет вам с подбором подходящих прав доступа.

Отключение безопасного режима

Отключение безопасного режима, если оно разрешено, может помочь справиться с проблемами, вызванными автоматическим обновлением. Согласно PHP-руководству, начиная с версии PHP 5.3.0 безопасный режим считается устаревшей возможностью. Отключить безопасный режим можно несколькими способами. Самый простой способ — отключение безопасного режима в панели управления сервера, но этот способ не всегда доступен. Обходной путь — добавление следующего сниппета в файл php.ini:

safe_mode = Off

или следующего сниппета в конфигурационный файл Apache:

<Directory /var/www/public> php_admin_flag safe_mode off </Directory>

Добавьте этот код в файл httpd.conf и перезапустите Apache.

Определение FTP переменных в файле wp-config.php

Еще один способ вернуть к работе автмоатическое обновление — задать необходимые переменные в файле wp-config.php. Для этого метода существует множество различных вариаций, так что вам придется экспериментально выяснять требуемые переменные. Лично у меня сейчас стоит следующая рабочая конфигурация:

define('FS_CHMOD_FILE', 0755); define('FS_CHMOD_DIR', 0755); define('FS_METHOD', 'ftpext'); define('FTP_BASE', '/httpdocs/'); define('FTP_CONTENT_DIR', '/httpdocs/wp-content/'); define('FTP_PLUGIN_DIR ', '/httpdocs/wp-content/plugins/'); define('FTP_USER', 'username'); define('FTP_PASS', 'password'); define('FTP_HOST', '123.456.789'); define('FTP_SSL', false);

Разместите этот фрагмент кода над строкой “That’s all, stop editing! Happy blogging.” Не забудьте изменить имя пользователя, пароль и другие данные, используемые в остальных переменных.

auto-updates-success

В качестве заключения хочется заметить, что функция автоматического обновления стоит того, чтобы решать проблемы с ее работоспособностью. Без автоматического обновления приведение всех компонентов в актуальный вид отнимает значительное время. Легче один раз разобраться с возникшими неприятностями, чем потом тратить лишние усилия на установку свежих обновлений для WordPress.

Источник: http://oddstyle.ru/wordpress-2/stati-wordpress/chto-delat-esli-avtomaticheskoe-obnovlenie-zavershilos-neudachej.html