Домен 2003 — MS DTC fix

Ошибка: MS DTC не удалось правильно обрабоать событие повышения или понижения уровня контроллера домена. MS DTC продолжит работу и будет использовать текущие настройки безопасности. Сведенья об ошибке %1

Дать доступ Network Service к ветке реестра HKLM\Software\Microsoft\MSDTC на запись.

Настройка Vsftpd passive ports

Настройка Vsftpd passive ports

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

в /etc/vsftpd.conf прописываем:

1
2
pasv_min_port=49152
pasv_max_port=65535

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

В файрволе открываем порты:

1
iptables -A INPUT -p tcp —dport 49152:65535 -j ACCEPT

Запись опубликована 3 июня 2010 автором admin в рубрике Linux. Источник: http://www.qinet.ru/2010/06/264/

Excel Online. Настройка общего доступа к excel-таблицам

Всем привет!

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

Microsoft Excel

Непосредственно штатным Excel который установлен у всех,но есть некоторые нюансы:

— Файл должен находится в одной сети (у нас все пользователи раскиданы по разным объектам)

— Некоторые задачи становятся недоступны (создавать таблицы Excel;создавать, менять или просматривать сценарии; удалять листы; объединять либо разделять ячейки.)

— Частая «блокировка» файла

— Не видно кто что делает, т.е. информация будет доступна только после сохранения файла. Один не приятный момент при работе с файлом — если вы записываете информацию в одну и ту же ячейку, при сохранении файла работает правило «кто последний тот и папа»)))))

Реализация делается следующим образом, заходим в «Рецензирование» и щелкаем по значку «Доступ к книге».

После этих действий файл станет общим и даёт пользователям одновременное редактирование. В названии файла появится приписка [Общий]

При нажатии кнопки «Доступ к книге» может возникать ошибка:

Достаточно сделать по шагам что написано в диалоговом окне ошибки и она пропадёт!

И так что же мы увидим когда нажмем кнопку «Доступ к книге»?!

А увидим список пользователей которые работают в данный момент и не забудем так же поставить галочку «Разрешить изменять файл нескольким пользователям одновременно»

:)

Excel настроен для работы с общими документами

Источник: https://www.nibbl.ru/office/excel-online-nastrojka-obshhego-dostupa-k-excel-tablicam.html

Для организации площадки общего доступа предлагаю воспользоваться ftpDrive(для XP) или NetDrive.

Обновление openfire сервера

В продолжении моей статьи как установить openfire пришло время обновить его тем более уже прошло более 5 обновлений, моя версия Openfire 3.10.0 на данный момент, а сейчас уже можно скачать Openfire 4.0.1 Так что давайте перейдем к вопросу как и с чего начать обновление openfire сервера. 

Для обновления Openfire делаем следующие (напомню что данная инструкция описывает обновление сервера Openfire под Ubuntu):

  1.  Останавливаем сервер openfire командой  /etc/init.d/openfire stop
  2. Копируем директорию /usr/share/openfire и /etc/openfire
  3. Если есть возможность сделайте бекап базы данных, я для этого использую phpmyadmin
  4. Далее скачиваем последний дистрибутив openfire с сайта http://www.igniterealtime.org/downloads/index.jsp
  5. После этого запускаем команду dpkg -i openfire_4.0.1_all.deb
  6. Я бы еще советовал сделать следующее в файле openfire.xml  который находится в /etc/openfire в самом низу есть строчка   <setup>true</setup>  и в ней нужно удалить слово TRUE
  7. Далее запускаем сервер Openfire командой /etc/init.d/openfire start
  8. И переходим в админку http://IP_Сервера:9090 у нас будет снова запущена установка openfire, НО НЕ ВОЛНУЙТЕСЬ, А ПРОЙДИТЕ ВСЕ ЭТАПЫ и увидите что в админке все сохранения остались с пользователями и группами (ну даже если накосячили, то базу данных вы сохраняли из третьего пункта и можно будет откатиться и все заново повторить)
  9. Радуемся Жизни )

Вот таким простым способом мы обновили сервер Openfire (на самом деле на все это у меня ушло не более 10 минут, так что ни чего не бойтесь и делайте по инструкции)

PS кстати еще может кому понадобиться может пригодиться статья как восстановить пароль администратора в openfire

Источник: https://www.nibbl.ru/ubuntu/obnovlenie-openfire-servera.html

Установка, настройка и сброс пароля WebMin во FreeBSD

Автор: Воронов Глеб | 08-05-2013 Нет комментариев

WebMin — крайне полезная вещь для начинающих администраторов. Консоль Unix — неоспоримо мощная штука. Но не всем так просто сразу её освоить. Кнопочки, подсказки и описания, ещё и на русском — то, от чего вряд ли откажется молодой красноглазик.
Когда я узнал об этом продукте, то установил, как и многое — чисто потестить. Особо ничем она мне не помогла, так как сервер уже был настроен и отлажен, но все же иногда устанавливаю…
Установка как обычно проще простого:

cd /usr/ports/sysutils/webmin/
make && make install && make clean

После сборки и установки вылезла кратенькая инструкция. Как я заметил от версии к версии она не меняется:

After installing Webmin for the first time you should perform the following
steps as root:

* Configure Webmin by running /usr/local/lib/webmin/setup.sh

* Add webmin_enable=»YES» to your /etc/rc.conf

* Start Webmin for the first time by running /usr/local/etc/rc.d/webmin start

The parameters requested by setup.sh may then be changed from within Webmin
itself.

Порт намекает, что надо сперва его настроить, потом добавить сервис в автозагрузку и потом запустить.
В установке я все оставляю по умолчанию кроме логина и пароля. Даже порт не меняю. После конфигурации запускаем по инструкции.

/usr/local/etc/rc.d/webmin start
Starting webmin.
Pre-loaded WebminCore

Все, работает.
можно заходить на вебморду (не забываем порт, который указали в настройках. По умолчанию 10000)и пользоваться. Первым делом я меняю тему и язык ставлю русским(благо, выбор есть)

Забыть пароль может кто угодно. Вот так случилось и со мной. Необходимо было что то посмотреть в webmin-е на сервере, который когда то давно администрировал. И как водится — пароль не помню. Разработчики подумали о таких как я (за что им отдельный респект) и создали скрипт смены пароля.

/usr/local/lib/webmin/changepass.pl /usr/local/etc/webmin user password

Источник: https://tradenark.com.ua/centos/freebsd-webmin-installing-change-password/

Статистика для сайта — AWStats

By Anton Vanyukov|15 Июн 2009|Categories: Информационные Технологии|Tags: IT, unix|0 Comments

Помимо возможности управления сервером через веб-интерфейс, хорошо бы иметь хорошую статистику по веб-сайтам. Мой выбор пал на AWStats. AWStats представляет из себя анализатор лог файлов, который генерирует отчеты в HTML с таблицами и графиками. Так же AWStats интегрируется с Webmin, о котором я рассказывал в предыдущей статье.

Установка

Ставить AWStats я решил из портов. Так проще отслеживать изменения в версиях. # cd /usr/ports/www/awstats/ # make install clean

 # cd /usr/ports/www/awstats/
# make install clean 

В опциях установки предлагается включить поддержку IPv6. Лично мне это не надо — отключил. Если интересно почитать документацию, то она устанавливается в /usr/local/share/doc/awstats.

Настройка

Есть два способа настройки — ручной и с помощью скрипта. Быстренько расскажу про оба способа. Внимание! Если выбирается второй способ, то учтите, что файл конфигурации Apache надо будет все равно править потом руками, т.к. скрипт установки допускает в нем ошибку!!!

1. Настраиваем все сами

После установки, надо переименовать файл /usr/local/www/awstats/cgi-bin/awstats.model.conf в awstats.site.conf для настройки AWStasts. Так же надо добавить следующие строчки в файл /usr/local/etc/apache22/httpd.conf:
Alias /awstatsclasses «/usr/local/www/awstats/classes/»
Alias /awstatscss «/usr/local/www/awstats/css/»
Alias /awstatsicons «/usr/local/www/awstats/icons/»
ScriptAlias /awstats/ «/usr/local/www/awstats/cgi-bin/»
<Directory «/usr/local/www/awstats/»>
<Files «awstats.pl»> AuthUserFile /usr/local/etc/apache22/passwd
AuthGroupFile /usr/local/etc/apache22/group
AuthName «Restricted Area For Customers»
AuthType Basic require valid-user
</Files>
Options None
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Дальше надо перейти к следующему пункту, упустив всю установку скриптом.

2. Настраиваем с помощью скрипта

Так же есть более простой метод настройки — с помощью файла awstats_configure.pl. Но разработчики почему-то не учли, что данную программу люди будут ставить и на FreeBSD, где пути отличаются от дистрибутивов Linux. По этому, в скрипте есть недочеты, которые надо исправить. Данный файл находится в папке /usr/local/www/awstats/tools/. Прежде чем что-то запускать, надо отредактировать файл. Нужно удалить wwwroot в значениях переменных для всех директорий. Открываем awstats_configure.pl любым редактором и приводим следующие секции к такому виду:

# примерно строчки 327-330 $AWSTATS_ICON_PATH=»$AWSTATS_PATH/icon»; $AWSTATS_CSS_PATH=»$AWSTATS_PATH/css»; $AWSTATS_CLASSES_PATH=»$AWSTATS_PATH/classes»; $AWSTATS_CGI_PATH=»$AWSTATS_PATH/cgi-bin»;

# примерно строчка 486 if ($_ =~ /Directory «$awstats_path_quoted»/) { $awstatsdirectoryfound=1; }

# строчка 530 <Directory «$AWSTATS_PATH»>

# строчка 549 if (-f «$AWSTATS_PATH/cgi-bin/awstats.model.conf») { $modelfile=»$AWSTATS_PATH/cgi-bin/awstats.model.conf»;

# и парой строчек ниже if (! -s $modelfile || ! -w $modelfile) { $modelfile = «$AWSTATS_PATH/cgi-bin/awstats.model.conf»; }

Вот теперь мжоно запустить скрипт:

# cd /usr/local/www/awstats/tools/

# perl awstats_configure.pl

Сначала скрипт расскажет нам о преимуществах чтения документации, расскажет о том, что мы используем нестандартную папку (стандартная — /usr/local/awstast/) и спросит хотим ли мы продолжать. Соглашаемся. После этого надо будет ввести полный путь до конфигурационного файла Apache — /usr/local/etc/apache22/httpd.conf. Следующий вопрос — создавать ли новый конфиг для AWStats — да. Далее надо будет ввести ваш домен и путь, где будут храниться конфигурационные файлы AWStats (я указал /usr/local/etc/awstats/). Теперь скрипт скажет, что он еще не умеет добавлять задания в cron и предложит сделать нам это самим. Делается это вот так (первая команда — для одного конфига, вторая — для всех; выбрать надо одну):

 # /usr/local/www/astats/cgi-bin/awstats.pl -update -config=stats.vcore.ru
# /usr/local/www/awstats/cgi-bin/awstats_updateall.pl now 

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

 # perl awstats.pl -update -config=stats.vcore.ru 

Или же можно создать статические отчеты с помощью команды:

 # perl awstats.pl -output=pagetype -config=stats.vcore.ru 

 # указываем правильный лог файл
LogFile=»/var/log/httpd-access.log» 
# разрешаем использовать DNS для замены ip-адресов именами
DNSLookup=1 
# где хранится бд AWStatsDirData=»/var/db/awstats» 
# разные параметры для авторизации
AllowAccessFromWebToAuthenticatedUsersOnly=1
AllowAccessFromWebToFollowingAuthenticatedUsers=»user1 user2″
AllowAccessFromWebToFollowingIPAddresses=»192.168.0.3″ 
# плагин, отвечающий за подсказкиLoadPlugin=»tooltips»
# плагин, отвечающий за правильное отображение UTF-строк
LoadPlugin=»decodeutfkeys»
# инфо о хостахLoadPlugin=»hostinfo» 

Создаем директорию /var/db/awstats и устанавливаем на нее нужные нам права:

# mkdir /var/db/awstats
# chown www:www /var/db/awstats 

Редактируем файл /usr/local/etc/apache22/httpd.conf и приводим секцию Directory вот к такому виду (она в самом низу файла):

 <Directory «/usr/local/www/awstats/»>  
<Files «awstats.pl»>      
AuthUserFile /usr/local/etc/apache22/passwd     
AuthName «Restricted Area For Customers»     
AuthType Basic      require valid-user  
</Files>  
Options None
AllowOverride All
   Order allow,deny
   Allow from all
</Directory> 

Это нужно для того, чтобы использовать авторизацию для просмотра логов. Так же для удобства я создаю виртуальный хост stats.vcore.ru. Добавляем следующие строчки в файл /usr/local/etc/apache22/extra/httpd-vhosts.conf:

 <VirtualHost *:80>
ServerAdmin av3nger@list.ru
DocumentRoot «/usr/local/www/awstats»
ServerName stats.vcore.ru
ServerAlias www.stats.vcore.ru
</VirtualHost> 

Чтобы создать файл с паролями, который будет использоваться для авторизации пользователей, надо воспользоваться следующей командой:

 # htpasswd -c /usr/local/etc/apache22/passwd user 

где user — это имя создаваемого пользователя.

Использование

Ок. Пришло время для первого тестового запуска. Для начала, надо создать или обновить базу данных AWStats. Запускаем скрипт awstats.pl, который находится в папке /usr/local/www/awstats/cgi-bin/:

# perl awstats.pl -config=stats.vcore.ru -update

Будет следующий вывод на экран:
Create/Update database for config
«/usr/local/etc/awstats/awstats.stats.vcore.ru.conf»
From data in log file «/var/log/httpd-access.log»…
Phase 1 : First bypass old records, searching new record… Searching new records from beginning of log file…
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)…
Jumped lines in file: 0
Parsed lines in file: 4909
Found 0 dropped records,
Found 2 corrupted records,
Found 0 old records,
Found 4907 new qualified records.

dropped records — отвечает за те записи, которые не соответствовал формату, указанному в конфиг файле, или не являлись валидными HTTP-запросами
corrupted records — это записи, которые не соответствую параметру «LogFormat» в конфиг файле AWStats; обычно таких записей не больше 5% даже на хорошо настроенных серверах
old records — записи, которые уже были просмотрены при прошлом запуске скрипта
new qualified records — записи, которые были использованы для наполнения базы данных AWStats

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

# perl awstats.pl -config=stats.vcore.ru -output -staticlinks > awstats.stats.vcore.ru.html

Ну, можно зайти на и посмотреть отчеты:

http://stats.vcore.ru/awstats/awstats.pl

Если, вдруг, на странице будет какая-то ошибка, связанная с недостающим модулем Perl Escape, то поставить его можно вот так:

# perl -MCPAN -e shell # install URI::Escape

Интеграция с Webmin

1. Открываем Webmin, идем в раздел Webmin -> Webmin Configuration -> Webmin Modules
2. Открываем вкладку Install и указываем путь до файла awstats-x.x.wbm, который находится в папке /usr/local/www/awstats/tools/webmin/
3. Нажимаем кнопку Install Module
4. Открываем файл /usr/local/lib/webmin/awstats/defaultacl и редактируем там параметр dir: dir=/usr/local/etc/awstats ~/awstats

Добавить поддержку перла в апач:

# cd /usr/ports/www/mod_perl2/

# make install clean

Пример содержимого httpd.conf:

LoadModule perl_module libexec/apache2/mod_perl.so
...
<Directory /usr/local/www/awstats>
    Options +ExecCGI
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders

    AllowOverride None
    Order Allow,Deny
    Allow from all
</Directory>

Выставить владельцем папки с авастом www:www, положить сюда конфигурационный файл свой.

Установить Perl

cd /usr/ports/lang/perl5.28/

make inastall clean

Установить GeoIP модули, запустить скрипт обновления БД /usr/local/bin/geoip update

Прописать путь к БД(/usr/locale/share/geoip) в конфигуратор awstats

Добавить в /etc/crontab задачу на каждые 28минут:
*/28 * * * * root perl /usr/local/www/awstats/cgi-bin/awstats.pl -config=stats.орлин.рф -update

Готовый отчет можно наблюдать по адресу http://stat.орлин.рф/awstats/awstats.pl

Ссылки по теме

1. Официальный сайт AWStats
2. Страничка в Wikipedia (к сожалению, на английском)


Русификация UTF-8 FreeBSD

Локализация — I18N/L10N использование и настройка

1. Локализация консоли

необходим только в случае работы за локальной консолью.

Данный пункт локализации не требуется и не влияет на работу удаленных text-mode эмуляторов терминалов, таких как putty или openssh.

Итак, начиная с релиза FreeBSD 10.1 в системе для Russian UTF-8, в консольном драйвере vt (4) имеются:

— клавиатурные мапперы/переключатели:

# ls -la /usr/share/vt/keymaps/ | grep ru
-r--r--r--  1 root  wheel  16228 Nov 12 06:04 ru.kbd
-r--r--r--  1 root  wheel  16234 Nov 12 06:04 ru.shift.kbd
-r--r--r--  1 root  wheel  16232 Nov 12 06:04 ru.win.kbd

BashCopy

— фонты:

# ls -la /usr/share/vt/fonts/
-r--r--r--  1 root  wheel  8452 Nov 12 06:04 gallant.fnt
-r--r--r--  1 root  wheel  8742 Nov 12 06:04 vgarom-8x14.fnt
-r--r--r--  1 root  wheel  9864 Nov 12 06:04 vgarom-8x16.fnt
-r--r--r--  1 root  wheel  5384 Nov 12 06:04 vgarom-8x8.fnt
-r--r--r--  1 root  wheel  5400 Nov 12 06:04 vgarom-thin-8x16.fnt
-r--r--r--  1 root  wheel  2704 Nov 12 06:04 vgarom-thin-8x8.fnt

BashCopy

Шрифт gallant.fnt – красивый но не поддерживает кириллические символы.

Консольный драйвер vt (4) по умолчанию использует для работы режим VGA разрешением 640×480×16 (vt_vga).

Для использования UTF-8, необходимо произвести следующие действия:

— добавить в /boot/loader.conf строку:

kern.vty=vt

означает использование консольного драйвера vt вместо syscons

Согласно информации на https://wiki.freebsd.org/Newcons VT не поддерживает экранные заставки и выключение монитора в частности.
Поэтому все вопросы, касающиеся этой темы, можно считать решенными. Ответ на вопрос, как сделать включение заставки в VT, ответ – НИКАК

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

#-- закомментарить *vga*, *sc* и оставить только *vt*
#device        vga             # VGA video card driver                 
#device        sc                                                      
device         vt                                                              
device         vt_vga

BashCopy

ps. ядро GENERIC 10.1 уже собрано с поддержкой vt (4) (man vt).

— добавить в /etc/rc.conf

#-- Russians keymap, uncomment that you preffer
# CAPS switch to russian
keymap="ru"
# SHIFT switch to russian, top keyboard raw as number
#keymap="ru.shift"
# CTRL+SHIFT switch to russian
#keymap="ru.win"
#-- font load
font8x16="vgarom-8x16"

BashCopy

Шрифт vgarom используется системой по умолчанию, можно не задавать, указан как пример задания фонта, когда появится выбор. верхнее означает что на данный момент можно использовать, как это было и ранее, три варианта клавиатурного маппинга, любой который Вам удобнее, раскомментарьте один, который Вам предпочтительней (выше это keymap=«ru»):

keymap="ru" – переключение на русский клавишей CAPS Lock
keymap="ru.shift" – переключение на русский клавишей CAPS Lock, но верхний ряд на клавиатуре по умолчанию будет цифровой
keymap="ru.win" – переключение на русский клавишами CTRL+SHIFT

выбор фонтов пока отсутствует, по умолчанию в наличии пока лишь следующие:
gallant.fnt – красивый, но не поддерживает русский
vgarom-8×8.fnt – матрица 8×8 с поддержкой русских символов
vgarom-8×14.fnt – матрица 8×14 с поддержкой русских символов
vgarom-8×16.fnt – матрица 8×16 с поддержкой русских символов
vgarom-thin-8×8.fnt
vgarom-thin-8×16.fnt

Консольные фонты Terminus, можно скачать:
фонт 8×16: ter-u16.fnt
чуть другой фонт 8×16: ter-u8x16.fnt
фонт 16×32: ter-u32.fnt

загрузить вручную, например:

# vidcontrol -f ter-u32.fnt

BashCopy

или положить в /usr/share/vt/fonts/ и настроить /etc/rc.conf, например:

font8x16="ter-u8x16.fnt"

BashCopy

Шрифты 16×32 нужны(удобны) для широкоформатных мониторов, для загрузки фонта ter-u32.fnt (16×32), нужно изменить скрипт /etc/rc.d/syscons или использовать /etc/rc.local и /etc/rc.conf.local для загрузки 16×32 фонтов.

Тип эмулируемого терминала для UTF-8 консоли: xterm

Начиная с 9.0, для syscons (4) драйвера и очень важно – для vt (4) драйвера, в /etc/ttys необходимо использовать тип эмулируемого терминала xterm:

ttyv0   "/usr/libexec/getty Pc"         xterm   on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv2   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv3   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv4   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv5   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv6   "/usr/libexec/getty Pc"         xterm   on  secure
ttyv7   "/usr/libexec/getty Pc"         xterm   on  secure

(чтобы перечитался /etc/ttys)

/etc/rc.d/syscons restart

BashCopy

Ранее, syscons (4), для KOI8-R тип эмулируемого терминала cons25r, для KOI8-Ucons25u. Для CP437 (VGA default) – cons25, US-ASCIIcons25w.

При использовании KMS драйверов: i915kms или radeonkms в /boot/loader.conf добавить:

kern.vt.fb.default_mode="1024x768"

BashCopy

Для использования vt (4) драйвера в text-mode, /boot/loader.conf:

hw.vga.textmode=1

BashCopy

Если ядро собрано с поддержкой обоих драйверов: *sc*(4) и *vt*(4), старый драйвер можно вернуть, задав в /boot/loader.conf:

kern.vty=sc

BashCopy

2. Локализация login shells и использование login class.

Описан в FreeBSD HandBook и выполняется как обычно, локализация login shell’ов и может быть использована совместно с настройкой login class через описание его в /etc/login.conf

Локализация представляет из себя следующую конструкцию:

LanguageCode_CountryCode.Encoding

BashCopy

где: LanguageCode_Country Code Description можно выбрать одно из значений:
en_US English, United States ru_RU Russian, Russia

команда покажет все присутствующие в системе locale:

# locale -a | more

BashCopy

Работа с charater set (charset) для языков, например:

– ISO8859-1, ISO8859-15, KOI8-R, CP1251, CP437 и тд и тп описана в multibyte (3), а список charsets для языков можно найти в IANA Registry

FreeBSD использует Xorg-compatible locale encodings.

1) использование login класса

— можно отредактировать /etc/login.conf и изменить настройки класса «russian» или создать отдельный класс russianu

a) изменяем класс russian в /etc/login.conf

russian|Russian Users Accounts:
        :charset=KOI8-R:
        :lang=ru_RU.KOI8-R:
        :tc=default:

BashCopy

на

russian|Russian Users Accounts:
        :charset=UTF-8:
        :lang=ru_RU.UTF-8:
        :tc=default:

BashCopy

или

b) создаем в дополнение к классу «russian», новый класс «russianu»

russianu|Russian Users Accounts UTF-8:
        :charset=UTF-8:
        :lang=ru_RU.UTF-8:
        :tc=default:

BashCopy

По завершении перестраиваем хеш-базу:

# cap_mkdb /etc/login.conf

BashCopy

Все, осталось перевести пользователей которым нужен UTF-8 на новый класс используя на выбор: passwd (1), pw (8), chpass (1), vipw (8)

Пример:

# pw user mod alex -L russianu

BashCopy

2) настройка locale в shell/bash/csh/tcsh

для настройки локализации в шелах, необходимо соответствующим образом настроить тот или иной shell, см. соответствующий man

Настройка локализации в login shell’ах сводится как минимум к заданию переменных:

LANG
MM_CHARSET

BashCopy

в пользовательских файлах: ~/.login_conf и/или пользовательских стартап

shell файлах: ~/.profile, ~/.bashrc, или ~/.cshrc.

BashCopy

sh/bash:

export LANG=ru_RU.UTF-8
export MM_CHARSET=UTF-8

BashCopy

csh/tsch:

setenv LANG ru_RU.UTF-8
setenv MM_CHARSET UTF-8

BashCopy

Или в системных стартап shell файлах: /etc/profile и /etc/csh.login

Для bash необходимо создать в домашней директории файл .inputrc

set convert-meta Off
set input-meta On
set output-meta On

BashCopy

Перекодировка имен файлов и директорий.
— необходимо установить и использовать утилиту convmv, из пакетов или портов

# pkg install converters/convmv
# make -C /usr/ports/converters/convmv install clean
# man convmv

BashCopy

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

# convmv -f koi8-r -t utf-8 *
# convmv -f koi8-r -t utf-8 --notest *
# convmv -r -f koi8-r -t utf-8 --notest *

BashCopy

При использовании утилиты convmv, возможны проблемы с перекодированием отдельных символов.

Перекодировка содержимого файлов.

Можно воспользоваться утилитами iconv и recode:

iconv (интегрирована в FreeBSD 10.x)

/usr/ports/converters/libiconv в более ранних версиях

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

iconv:

# man iconv
# iconv -c -f koi8-r -t utf-8 inputfile
# iconv -c -f koi8-r -t utf-8 inputfile > outputfile
# iconv -c -f koi8-r -t utf-8 < inputfile > outputfile

BashCopy

recode:

# make -C /usr/ports/converters/recode install clean
# man recode
# recode koi8-r..utf-8 inputfile
# recode koi8-r..utf-8 < inputfile > outputfile

BashCopy

При использовании утилиты iconv, возможны проблемы с перекодированием отдельных символов, утилита recode, работает более адекватно.

Удаленный терминальный доступ.

Для удаленного терминального доступа из системы с UTF-8 локализацией к системам с locale отличной от UTF-8, можно воспользоваться утилитой luit:

пример использования luit (man luit):

# luit -encoding "KOI8-R" slogin username@host.domain

BashCopy

в качестве encoding использовать charset соответствующие удаленному locale, в данном примере KOI8-R

Удаленный терминальный доступ из Windows в Unix-like OS с locale UTF-8:

— использование утилиты putty, настройка:

Putty -> Window -> Translation -> Remote character set: UTF-8

3. Локализация Xorg

осталась неизменной, так как основная масса DE, WM и X-Apps в настоящее время ориентирована на работу с UTF-8, больше не нужно использовать shell-wrapper’ы или переопределять переменную LANG для их запуска.

фонты в Xorg:

— при использовании locale == ru_RU.UTF-8, необходимо использовать фонты с поддержкой iso10646

misc содержат исправленные фонты iso10646, но по умолчанию не прописаны в fonts.aliases, если есть привычка использования алиасов, придется прописать их самостоятельно.

Например, как советует Markus Kuhn Unicode fonts and tools for X11.

— фонты misc с iso10646 и остальные фонты с iso10646, необходимо указывать первыми в xorg.conf

например так:

FontPath     "/usr/local/lib/X11/fonts/misc/"
        FontPath     "/usr/local/lib/X11/fonts/100dpi/"
        FontPath     "/usr/local/lib/X11/fonts/75dpi/"
        FontPath     "/usr/local/lib/X11/fonts/terminus-font/"
        FontPath     "/usr/local/lib/X11/fonts/bitstream-vera/"
        FontPath     "/usr/local/lib/X11/fonts/dejavu/"
        FontPath     "/usr/local/lib/X11/fonts/freefont/"
        FontPath     "/usr/local/lib/X11/fonts/unifont/"
        FontPath     "/usr/local/lib/X11/fonts/local/"
        FontPath     "/usr/local/lib/X11/fonts/webfonts/"
        FontPath     "/usr/local/lib/X11/fonts/urw/"
        FontPath     "/usr/local/lib/X11/fonts/cyrillic/"
        FontPath     "/usr/local/lib/X11/fonts/artwiz-ru/"
        FontPath     "/usr/local/lib/X11/fonts/freefont-ttf/"
        FontPath     "/usr/local/lib/X11/fonts/urwfonts-ttf/"
        FontPath     "/usr/local/lib/X11/fonts/TTF/"
        FontPath     "/usr/local/lib/X11/fonts/OTF/"
        FontPath     "/usr/local/lib/X11/fonts/Type1/"

BashCopy

Вы можете установить собственные предпочтения.

посмотреть установленные фонты:

# fc-list
# ls -laR /usr/local/etc/fonts/

BashCopy

— посмотреть фонты iso10646

# xlsfonts | grep iso10646
# xlsfonts | grep "-misc-fixed-medium" | grep iso10646 
# xlsfonts | grep "-misc-fixed-medium-r-semicondensed" | grep 10646

BashCopy

графические эмуляторы терминала с encoding, примеры с KOI8-R:

mate-terminal, gnome-terminal:

# sh -c "export LANG=ru_RU.KOI8-R CHARSET=KOI8-R; gnome-terminal --geometry 80x35 --disable-factory"
# sh -c "export LANG=ru_RU.KOI8-R CHARSET=KOI8-R; mate-terminal --geometry 80x35 --disable-factory"
# sh -c "export LANG=ru_RU.KOI8-R CHARSET=KOI8-R; xfce4-terminal"

BashCopy

переменные среды LANG,CHARSET в соответствии с использованием locale, например на удаленной стороне, или для локальной работы с файлами в KOI8-Rxterm с encoding

# xterm -en [koi8-r|cp1251|...]

BashCopy

4. Локализация Applications (приложений).

Зависит исключительно от написания приложения в соответствии со стандартом i18n и работой с базами termcap в случае xBSD или terminfo в случае Linux или SYSV-based для эмулируемого терминала TERM.

К сожалению, консольных фонтов пока, очень мало, не говоря уже о хороших и красивых фонтах.
Некоторые фонты и клавиатурный маппинг от Александра Рыбалко, можно найти:
https://people.freebsd.org/~ray/newcons/fonts/
https://people.freebsd.org/~ray/newcons/newcons_kbd/
https://people.freebsd.org/~emaste/newcons/

Пример конвертации bdf фонта в fnt используя vtfontcvt и его загрузку используя vidcontrol, см: https://wiki.freebsd.org/Newcons

Минимум позволяющий работать в консоли с UTF-8:
— отображение – /usr/bin/less (использовать в качестве PAGER)
— редактирование – /usr/bin/vi , редактор Vi в 10.1 собран с поддержкой wide-char
— псевдографика в mc выглядит красиво, встроенный редактор поддерживает utf-8
— любимый многими, простой редактор /usr/bin/ee не поддерживает utf-8, отображает криво, но позволяет набирать текст «вслепую».
— настройку chrasets и работу samba3x, samba4x – не проверял

Все вышенаписанное проверено на реальном железе с FreeBSD 10.1 и в гостевой FreeBSD 10.1 под VirtualBox, включая Xorg и несколько DE и WM.

Практика:
— используем syscons (4) для работы в консоли с KOI8-R, CP1251, CP866
— используем vt (4) для работы в консоли только с UTF-8

Вывод: наконец можно постепенно избавиться от разнообразия: CP866,CP1251,KOI8-R и тд и тп и использовать одну универсальную кодировку UTF-8.

источник: http://unix1.jinr.ru/~lavr/vt/vtcons.html, https://blognode.ru/freebsd-utf-8-v-konsoli-i-terminale

Проксирование запросов Apache во внутренюю сеть

Часть 1. Настройка домашнего хостинга на FreeBSD

Для трансляции изображения с камеры из внутренней сети на сайт потребуется прокси модуль апача. Само вещание ведёт ContaCam 7.0(для Windows XP). Понравилось, что сразу и онлайн-вещание и возможность посмотреть записи обнаруженных движений. Вставил трансляцию на страницу с помощью фрейма: <iframe allowtransparency=»true» scrolling=»no» style=»border:1px solid #ededed» src=»http://webcam.site:8800″ frameborder=»0″ height=»750″ width=»750″>

Чтобы маршрут до DVR сервера апач выбрал через внутреннюю сеть, включаем mod_proxy. Это модуль Apache для перенаправления соединений (то есть, шлюз, пропускающий их). Он доступен для использования так же, как любой другой стандартный модуль или базовая конфигурация. В целом, mod_proxy – это не один модуль, а набор модулей, каждый из которых обладает особенными функциональными возможностями.

Некоторые из этих модулей:

  • mod_proxy: основной прокси-модуль Apache, который управляет соединениями и перенаправляет их.
  • mod_proxy_http: функции прокси-сервера для протоколов HTTP и HTTPS.
  • mod_proxy_ftp: функции прокси-сервера для протокола FTP.
  • mod_proxy_connect: тунеллирование SSL.
  • mod_proxy_ajp: взаимодействие с протоколом AJP.
  • mod_proxy_wstunnel: работа с веб-сокетами (например, WS и WSS).
  • mod_proxy_balancer: кластеризация и балансировка нагрузки.
  • mod_cache: кэширование.
  • mod_headers: управление заголовками HTTP.
  • mod_deflate: сжатие.

Примечание: чтобы получить дополнительную информацию о mod_proxy и Apache, читайте официальную документацию Apache.

Активация модулей

В httpd.conf раскомментировать нужные proxy модули Возможно апач попросит раскомментировать дополнительно модуль xml2enc

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

a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html

В файле конфигурации виртуальных хостов вставить блок кода:

<VirtualHost *:*>
ProxyPreserveHost On
# Servers to proxy the connection, or;
# List of application servers:
# Usage:
# ProxyPass / http://[IP Addr.]:[port]/
# ProxyPassReverse / http://[IP Addr.]:[port]/
# Example:
ProxyPass / http://0.0.0.0:8080/
ProxyPassReverse / http://0.0.0.0:8080/
ServerName localhost
</VirtualHost>

Активация балансировки нагрузки

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

Отредактируйте настройки виртуального хоста (как в предыдущем разделе), используя следующие конфигурации:

<Proxy balancer://mycluster>
# Define back-end servers:
# Server 1
BalancerMember http://0.0.0.0:8080/
# Server 2
BalancerMember http://0.0.0.0:8081/
</Proxy>
<VirtualHost *:*>
# Apply VH settings as desired
# However, configure ProxyPass argument to
# use "mycluster" to balance the load
ProxyPass / balancer://mycluster
</VirtualHost>

Активация SSL для поддержки обратного прокси

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

Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
# Set the path to SSL certificate
# Usage: SSLCertificateFile /path/to/cert.pem
SSLCertificateFile /etc/apache2/ssl/file.pem
# Servers to proxy the connection, or;
# List of application servers:
# Usage:
# ProxyPass / http://[IP Addr.]:[port]/
# ProxyPassReverse / http://[IP Addr.]:[port]/
# Example:
ProxyPass / http://0.0.0.0:8080/
ProxyPassReverse / http://0.0.0.0:8080/
# Or, balance the load:
# ProxyPass / balancer://balancer_cluster_name
</VirtualHost>

Перезапустить службу апача.

Теперь Apache будет проксировать соединения на внутренние серверы приложений.

Источник: https://www.8host.com/blog/ustanovka-http-servera-apache-kak-obratnogo-proksi-s-pomoshhyu-mod_proxy/

Как осуществить простейшую веб-трансляцию (видеорегистратор + VLC media player + WordPress + VideoEmbed)

Задача такова: с минимальными усилиями вставить живое видео с домашнего компа(видеорегистратора) или IP камеры  из внутренней(OpenVPN) сети на сайт под управлением WordPress. Пример моей трансляции тут. Читать далее «Как осуществить простейшую веб-трансляцию (видеорегистратор + VLC media player + WordPress + VideoEmbed)»

Zabbix на FreeBSD11 и mariadb10.3 php73

Система мониторинга.

Добавить перед установкой в /etc/make.conf:

DEFAULT_VERSIONS+= ssl=openssl
DEFAULT_VERSIONS+= mysql=10.3
DEFAULT_VERSIONS+= php=7.3

этим сохраним mariadb, т.к. zabbix по-умолчанию ищет установленный в системе mysql (актуально на март 2019го)