Перейти к собственно контенту

AgR^ Live Blog

Общественные записки не поддающиеся вкуриванию…

Архив

Рубрика: FreeBSD

После обновления консоли…..ой. После русификации консоли во freebsd, в monitorix перестал обновляться график загруженности системы. В /var/log/monitorix стали сыпаться сообщения:

Fri Jun 10 15:48:04 2011 - SIGTERM caught, exiting.
Died at /usr/local/sbin/monitorix line 58.
Fri Jun 10 15:48:05 2011 - Starting Monitorix version 2.1.2 (pid 23356).
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
ERROR: while updating /usr/local/share/monitorix/system.rrd: /usr/local/share/monitorix/system.rrd: conversion of '0,
Решил связаться с автором программы. После 3-х часового общения на английском языке(заодно вспомнил), решение было найдено. Всё оказалось ооочень просто. Оказывается в русской локализации, почему-то изменяется разделитель дробной части:
vadim# uptime
15:40 up 2 days, 3:42, 1 user, load averages: 0,01 0,02 0,00
vadim#
Вместо "точки" в инглиш локализации, стоит "запятая" в русском варианте.
Фикс заключается в следующем:
>ee /usr/local/sbin/monitorix
И исправляем следующим образом(добавляем строчку):
require 5.006;

no strict "vars";
no warnings "once";
#use warnings;
use LWP::UserAgent;
use IO::Socket;
use Getopt::Std;
use MIME::Lite;
use POSIX;
use RRDs;
use Cwd 'abs_path';
$ENV{LANG} = ""; <-----вот это добавили(обязательно здесь!!!)
И перезапускаем /usr/local/etc/rc.d/monitorix restart

Через 15 минут статистика стала нормально отображаться. А заодно отправил смал донэйшион автору в размере 3-х евров, ибо честно заработал 🙂

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
757 views

После какого-то очередного обновления, вдруг перестали запускаться php скрипты. Единственное что появлялось, так это одна единственная надпись:

Unknown: apc_fcntl_unlock failed: in Unknown on line 0

Немного покопавшись в инете, решение было найдено:
koms# cd /usr/ports/www/pecl-APC
koms# make config
и включаем! опцию - [X] - SEMAPHORES
koms# make install clean -D "FORCE_PKG_REGISTER"
koms# apachectl restart

Надеюсь это поможет кому-нибудь.:)

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
2 242 views

Собственно устанавливаем сам vnstat:

koms# cd /usr/ports/net/vnstat
koms# make install clean

Создадим конфиг:
koms# cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf
и необходимые директории:
koms# mkdir /var/db/vnstat

Отредактируем vnstat.conf изменив следующие строчки:
Interface "re0" - наша сетевуха

Запустим:
koms# vnstat
No database found, nothing to do. Use --help for help.

A new database can be created with the following command:
vnstat -u -i eth0

Replace 'eth0' with the interface that should be monitored.

The following interfaces are currently available:
re0 plip0 lo0

Пишет, что не найдена база данных наших интерфейсов. И предлагает создать их. Что и делаем:
koms# vnstat -u -i re0
Error: Unable to read database "/var/db/vnstat/re0".
Info: -> A new database has been created.

koms# vnstat -u -i lo0
Error: Unable to read database "/var/db/vnstat/lo0".
Info: -> A new database has been created.

koms# vnstat -u -i plip0
Error: Unable to read database "/var/db/vnstat/plip0".
Info: -> A new database has been created.

Запустим "демон":
koms# vnstatd -d

Через полчаса можно смотреть статистику.

Чтобы демон автоматом запускался при старте системы - добавим его в крон руту:
koms# echo @reboot /usr/local/sbin/vnstatd -d >> /var/cron/tabs/root

Из консоли можно смотреть, запуская vnstat с ключами:
$ vnstat --help
vnStat 1.10 by Teemu Toivola

-q, --query query database
-h, --hours show hours
-d, --days show days
-m, --months show months
-w, --weeks show weeks
-t, --top10 show top10
-s, --short use short output
-u, --update update database
-i, --iface select interface (default: eth0)
-?, --help short help
-v, --version show version
-tr, --traffic calculate traffic
-ru, --rateunit swap configured rate unit
-l, --live show transfer rate in real time

See also "--longhelp" for complete options list and "man vnstat".

А теперь приступим к установке веб-морд. Начнём с vnStat PHP frontend. Скачиваем здесь - vnStat PHP frontend и распаковываем tar -xvzf vnstat_php_frontend-1.5.1.tar.gz
Ниже привожу вывод "диффа" тех строчек, которые нужно поменять:
koms# diff config.php_orig config.php
31c31
< $language = 'nl';
--- меняем нидерландский язык на английский
> $language = 'en';

34c34
< $iface_list = array('eth0', 'sixxs');
--- задаём наши интерфейсы
> $iface_list = array('re0', 'lo0', 'plip0');

41,42c41,43
< $iface_title['eth0'] = 'Internal';
< $iface_title['sixxs'] = 'SixXS IPv6';
--- опять задаём наши "ифэйсы"
> $iface_title['re0'] = 'Internal';
> $iface_title['lo0'] = 'Localhost';
> $iface_title['plip0'] = 'plip0';

57,58c58,59
< $vnstat_bin = '/usr/bin/vnstat';
< $data_dir = './dumps';
--- меняем пути до программы и базы
> $vnstat_bin = '/usr/local/bin/vnstat';
> $data_dir = '/var/db/vnstat/dumps';

70c71
< define('DEFAULT_COLORSCHEME', 'light');
--- меняем цветовую тему
> define('DEFAULT_COLORSCHEME', 'dark');

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

Рассмотрим ещё один вариант веб-морды для vnstat - JSVNSTAT.
Скачиваем тут - JSVNSTAT. Распаковываем tar -xvzf jsvnstat.zip
И изменяем файл settings.php(ниже смотрите diff вывод):

< $interface = "eth0"; /* Interface to monitor, default is eth0 */ --- вписываем наш интерфейс > $interface = "re0"; /* Interface to monitor, default is eth0 */

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

А вот и пример нашей статистики:
http://koms.amigas.ru/db/vnstat/
http://koms.amigas.ru/db/jsvnstat/

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
2 285 views

В связи с подъёмом нового сервера на FreeBSD, понадобилась автономная torrent-о качалка с «веб мордой». Посоветовали установить «трансмиссион» (transmission).
Приступим.

koms# cd /usr/ports/net-p2p
koms# ll | grep transmission
drwxr-xr-x 2 root wheel 512 Apr 23 18:20 py-transmissionrpc
drwxr-xr-x 3 root wheel 512 May 8 01:15 transmission
drwxr-xr-x 4 root wheel 512 May 8 01:15 transmission-cli
drwxr-xr-x 2 root wheel 512 May 8 15:46 transmission-daemon
drwxr-xr-x 3 root wheel 512 May 8 01:19 transmission-gtk2
drwxr-xr-x 2 root wheel 512 May 5 21:41 transmission-qt4
Нам нужен transmission-daemon

koms# cd /usr/ports/net-p2p/transmission-daemon
koms# make install clean
---
Установилось.

Добавим в /etc/rc.conf следующие строчки:
transmission_enable="YES"
transmission_conf_dir="/usr/local/etc/transmission/home/"
transmission_download_dir="/home/transmission/downloads/"
transmission_user="transmission"
transmission_flags=""

Создадим каталог для загрузки файлов:
koms# mkdir /home/transmission/
koms# mkdir /home/transmission/downloads/
Выставим владельца и права если надо:
koms# chown -R transmission:transmission /home/transmission/

Запускаем демон...
koms# /usr/local/etc/rc.d/transmission start
и останавливаем
koms# /usr/local/etc/rc.d/transmission stop
Это нужно для того, что бы в директории /usr/local/etc/transmission/home/ создался конфигурационный файл settings.json

Открываем в редакторе этот файлик и правим следующие строчки:
koms# ee /usr/local/etc/transmission/home/settings.json

"rpc-authentication-required": true,
"rpc-password": "mypassword",
"rpc-username": "vasya",
"rpc-whitelist-enabled": false,
Зачем это нужно:
- включаем аутентификацию по логин\пассворд
- задаём пароль
- задаём логин
- отключаем "белый список"

Теперь можно запустить:
koms# /usr/local/etc/rc.d/transmission start

Проверяем:
koms# sockstat -4 | grep transmission
transmission transmissi84908 8 tcp4 *:9091 *:*
transmission transmissi84908 9 tcp4 *:51413 *:*
transmission transmissi84908 11 udp4 *:51413 *:*

И пытаемся зайти через web морду — http://you.site.ru:9091

Радуемся.

Также понравился java клиент — transmission-remote-java
Последняя версия клиента — transmission-remote-java 0.12.16-1034 source and binary release (09/01/2011)
Скачиваем бинарный файл. В системе обязательно должна стоять java, чтобы запускать jar файлы. Или же вот ещё вариант хорошего клиента — требуется dotnet — http://code.google.com/p/transmission-remote-dotnet/
Вот и всё.

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Загрузка...
5 222 views

Хочу тут описать свои мучения по поводу восстановления начальных установок рутера ASUS WL500gP. Некоторые могут сказать…аааа что там восстанавливать? зашёл через админку да и сбросил или через кнопку «Reset». В принципе правильно. НО! Не в моём случае.
Итак начну.
Достался мне с работы не рабочий роутер. Не торопясь, месяца за три, я его вернул к жизни. А также, пришлось ещё и блок питания «подшаманить», тк он из той же серии что и дылинковские (5В/2А), которые долго не живут. Вернув роутер к жизни и включив его, хотел было войти в его «админку»….но не тут то было.
В то время когда он был ещё в работе, я его настроил так, что стояла МАК фильтрация(с других компьютеров не попадёш никак). По Wi-Fi роутер пускал мой смартфон(тк он был прописан) но ключ аутенфикации не проходил (баг Windows Mobile с WPA2 шифрованием). Жму кнопку «RESET» на задней стенке…..и ноль… ничего не изменяется, что очеь странно. Пытаюсь его прошить, в надежде что настройки вернуться в начальные значения. Выключаю роутер, жму и держу «Reset», включаю роутер и жду мигания(1/1сек) индикатора «Power». Всё. Роутер готов к «прошиванию».
Проеверяю доступен ли роутер:
ping 10.0.0.220

Доступен…… Начинаем прошивать:
tftp -i 10.0.0.220 put flashxxx.trx
Прошивка заливается за 5 секунд. И ещё 2-3 минуты прошивается. Ждём моргания! индикатора «ANT»!!!! Питание не трогаем.
Новая прошивка залилась. Но настройки остались. Блять….не мой день наверное…..
Пытаюсь вспомнить MAC адреса чтобы подделать их, но и этот вариант не проходит.
Проебавшись пару часиков…..вдруг осиняет идейка. Вспомнив, что веб-админка включена и на WAN — порту, подключаю ноут шнурком к нему и назначаю статический адрес из той подсети, что и прописана в рутере(а это я точно помню, что там статика и какой адрес). И о чудо. Вот она админская веб-панель. Захожу и сбрасываю все настройки в «дефолтные». Урррра. Еботне конец….
А вот теперь думаю. Если бы веб-админка была доступна только через LAN — порты. То, как попасть в неё, чтоб восстановить начальные установки? Жду идей…..

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
4 565 views

А вот и обещанное ранее описание процедуры инсталяции и настройки жаббер сервера «prosody» на FreeBSD.

В какой то момент вдруг и резко заебала аська. В следствии чего было решено уползти на jabber, ибо бесплатно, опенсурсно и легко конфигурируемо….. А поскольку имеем свои доменные имена и свои выделенные сервера, то решил поднять что то своё. Перебрав несколько вариантов (ejabber, openfire, prosody,…..) решил остановиться на prosody, тк очень и очень легковесный и не особо требователен к ресурсам.

13-04-2011 p.s. Пока готовил статью — появилась версия 0.8. И как следствие — изменился конфиг. Ниже теперь вставлен новый конфигурационный файл.
Далее…

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
8 512 views

Вдруг в какой-то момент как «зачесалось», что хочу консоль в высоком разрешении и всё тут. Ну чтож…Гугл в руки и вперёд. Делать точь в точь по чужим записям — тоже хз чем может обернуться. Поэтому расскажу как есть, что бы избежать подводных камней на которые я наткнулся. Что за камни? Сейчас объясню.
Т.к. я решил не использовать подгружаемые модули, то естественно пришлось собирать новое ядро. А так как я несколько раз делал бинарное обновление!(быстро и просто чтоб не парица с пересборкой), то соответственно исходники остались от версии 7.х. И после сборки и установки ядра — как и полагается получил «кернел паник».
Пришлось взять ЦД с фрёй 8.2 и по новому установить бинарное ядро. Потом идём в /usr/src и удаляем всё!
Копируем с CD новые исходники (можно вручную, можно и через sysinstall установить, кому как нравится).

Это была моя первая попытка изменения разрешения консоли. А теперь вот вторая 🙂


Скопируем GENERIC во что то своё и откроем в редакторе:
cp /sys/i386/conf/GENERIC /sys/i386/conf/AGR
ee /sys/i386/conf/AGR

Добавим эти строчки в конфиг ядра:
options SC_PIXEL_MODE
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_YELLOW|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
options VESA
options VGA_WIDTH90

И запустим сборку:
cd /sys/i386/conf && config AGR && cd ../compile/AGR && make cleandepend && make depend && make && make install

Перезагружаемся...
Проверяем режимы видяхи:
vidcontrol -i mode

Это значение по максисуму:
283 - 1280*1024*32

Добавим его в rc.conf
echo allscreens_flags="MODE_283">> /etc/rc.conf

Перезагружаемся ещё раз.
И радуемся новому виду консоли, в которой теперь приятно сидеть.


1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Загрузка...
757 views

После установки jabber сервера prosody (возможно про установку напишу чуть позже) понадобилось добавить людей из другого домена. Но! Они нихера не видятся и соответственно не получается устроить диалог. Зато внутри своего домена всё нормально. Чтение «фака» сразу просветило. Всё оказалось проще пареной репы….но не всё.
Из «фака» стало ясно, что достаточно будет прописать в днс сервере — запись типа:
_xmpp-client._tcp.example.com. 18000 IN SRV 0 5 5222 xmpp.example.com.
_xmpp-server._tcp.example.com. 18000 IN SRV 0 5 5269 xmpp.example.com.

В моём случае это выглядит так:
_xmpp-client._tcp.amigas.ru. 18000 IN SRV 0 5 5222 amigas.ru.
_xmpp-server._tcp.amigas.ru. 18000 IN SRV 0 5 5269 amigas.ru.

Ну что же….идём к своему «днс хостеру»(хостинг-центр) в админку и пытаемся там прописать. И вот вам облом…. Произвольную запись добавить нельзя! Ибо там у них своя «админка». Читаем их «фак». Просветления никакого. Решил написать в техподдержку. Правда спустя минут 10, методом тыка нашёл, каким образом вписывать такие записи. Вот:


И теперь народ в других сетях нормально находится и можно спокойно общаться.
А хостинг центру рекомендую добавить в «фак» инфу про то, как вписывать такие записи через их «админку».
Вот и всё…..

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
1 195 views

Решил тут заняться делом и сделать что-то полезное. И вот как итог статья про установку и настройку AWStats, для парсинга логов веб сервера и отображения статистики посещений веб ресурса. В отличие от всеобщеизвестных сборщиков статистики таких как Hotlog или SpyLog (в том числе и все остальные), тут не обязательно вставлять в веб страницу ссылку на счётчик, т.к в лог веб сервера попадает всё!, а если веб страниц тысяча и все они разношёрстые, то тут просто геморой будет, и единственный выход при наличии своего сервера это AWStats!
Далее…

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
2 174 views

Недавно заметил, что на сайте перестали отображаться и создаваться png изображения. А случилось это видимо после какого-то очередного обновления.
Дооооолго вспоминал что же я делал чтобы вернуть работоспособность. И вот вспомнив и проделав нижеследующее, я получил положительный результат.

Итак вот волшебное слово:

>portupgrade -fr graphics/png

That’s all…

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка...
938 views