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

AgR^ Live Blog

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

Архив

Рубрика: Web

В связи с окончанием поддержки php53 на FreeBSD, решил переехать на php55, при этом перескачив ветку php54.
Приступим....

1. Запускаем обновление:
portmaster -o lang/php55 lang/php53
2. сохраняем и (или) распечатываем файл подключаемых модулей - /usr/local/etc/php/extensions.ini , тк он нам ещё понадобится.
3. Удаляем ВСЕ модули начинающиеся с php53-########
pkg delete -f php53-########
...
...
...
pkg delete -f php53-########
и
удаляем также модули начинающиеся с pecl-####### , ессно предварительно сохранив их список (pkg version -v | grep pecl >> ext.txt)
pkg delete -f pecl-#######
...
pkg delete -f pecl-#######

4. Устанавливаем расширения:
cd /usr/ports/lang/php55-extensions
make config
И выбираем все те модули которые находились у нас в файле /usr/local/etc/php/extensions.ini
Жмём ОК и далее:
make install clean

Устанавливаем из портов pecl-####### модули, которые удалили.
5. И напоследок, на всякий случай, а вдруг что то зависящее забыли пересобрать:
portmaster -R -r php55-5.5.18

и оказались правы. Пересобралось ещё с десяток зависящих портов.

6. Проверяем:
php -v
должно вывести информацию о php без вывода ошибок:
-
PHP 5.5.18 (cli) (built: Oct 28 2014 09:08:34)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
-
И ещё так, чисто для профилактики - проверка всех библиотек:
pkg check -Ba

7. Устанавливаем модуль php для apache, тк его вынесли отдельно:
cd /usr/ports/www/mod_php55
make install clean

И фиг....не ставится по причине окончания поддержки apache22 во фре.
Делать нечего. Будем обновляться до apache24

portmaster -o www/apache24 www/apache22
Обновились.
Про все прелести переноса конфигов писать не буду, тк у каждого будет своя пляска с бубном, ибо апач24 это отдельная история.

А теперь подключаем PHP:
cd /usr/ports/www/mod_php55
make install clean
Готово!

Не забываем поправить /etc/rc.conf для запуска apache24.
Запускаем апач:
/usr/local/etc/rc.d/apache24 start

Уффффф. На всё ушло три часа. Но зато теперь веб сервак на фре снова в строю.

И напоследок. Очень важно посмотреть что изменилось. Какие директивы удалены(будут удалены), какие добавились(взамен), чтобы после очередного обновления не получить что-то не работающее как надо.

Вот такое глобальное обновление получилось!

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

В общем вот, обновляемый список blacklist.txt для статистики AWStats. Список пополняется и обновляется раз в сутки.

Так что теперь пусть сосут хуй всякие спамеры, seo-шники, и прочий пидорский сброд продвигающий реф ссылками всякие говносайты.

http://amigas.ru/~vadim/awstats_blacklist.rar  — пароль на архив: awstats

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

Apache coredump

Сен 17

Решил записать как сделать чтобы сохранялись коредампы апача на FreeBSD. А то опять понадобилось, а знания проёбаны.

httpd.conf
CoreDumpDirectory /home/user/apache/
или
sysctl kern.corefile=/some/core/pattern

sysctl kern.coredumps=1
sysctl kern.sugid_coredump=1

limit coredumpsize unlimited
или
ulimit -c unlimited (на FreeBSD вроде не проходит эта команда)

Всё. Ждём падения апача и httpd.core в соответствующей директории.

И начинаем отладку:
gdb /usr/local/sbin/httpd /home/user/apache/httpd.core
bt full

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

Занялся вопросом поднятия собственного сервера Firefox Sync, тк надоели разрозненные закладки на работе, дома, и в portable версии браузера на флешке. Использовать предлагаемый в браузере сервер не хочу, тк как то не особо горю желанием отправлять данные закладок, паролей, истории, настроек, на «чужой сервер». Хоть данные и шифруюся….но! бережёного бог бережёт. Сразу оговорюсь, что имеется в распоряжении настроенный web-сервер + php + sqlite. Остаётся поднять только желаемый сервис. К чему и приступаем.
1. Скачиваем последнюю версию сервера синхронизации — https://codeload.github.com/balu-/FSyncMS/zip/master
закидывем к себе на сервер и там распаковываем: unzip FSyncMS-master.zip
или
можно скачать сразу к себе на сервер командой — wget —no-check-certificate https://codeload.github.com/balu-/FSyncMS/zip/master
и распаковать: unzip master
в итоге получаем папку — FSyncMS-master
2. Обязательно проверяем, что веб сервер имеет право на запись в эту папку!
В моём случае пришлось выставить пользователя и группу на эту папку:
>> chown -R www:www FSyncMS-master
3. Заходим по адресу: http://your.domain.ru/FSyncMS-master/index.php
и нажимаем «OK»
Setup FSyncMS
Creating sqlite weave storage: http://your.domain.ru/FSyncMS-master/weave_db
Now going to install the new database! Type is: sqlite
Database created
Creating cfg file: http://your.domain.ru/FSyncMS-master/settings.php Finished the setup, please delete setup.php and go on with the FFSync
Обязательно удаляем файл setup.php как просят.
4. Всё! Теперь собственный сервер синхронизации Firefox Sync, готов к работе.
От себя добавлю. В этой же папке создайте файлик .htaccess , и заполните следующим:

Files weave_db
order allow,deny
deny from all
/Files

Так секурней 🙂
5. Теперь можно настраивать Firefox Sync в браузере, указывя в качестве своего сервера синхронизации наш.
Внимание!!!! Адрес сервера должен выглядеть таким образом:
http://your.domain.ru/FSyncMS-master/index.php/
, т.е в конце адреса сервера обязательно должен стоять слеш «/» !!!
Ну и пара слов про управление:
6. Отключение новых регистраций на сервере: settings.php -> define(«ENABLE_REGISTER», false);
7. Для удаления пользователей и их данных, удалите weave_db и settings.php (для новой конфигурации переходим на пункт №3).
Про настройки в браузере писать не хочу. Там и так всё ясно до безобразия.
Про миграцию тоже не буду. И так логически всё понятно как это происходит.
Хотя если много пинать будете, то допишу 🙂

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

В статистике веб сервера apache со временем стали появляться ошибки — 206 Partial Content. Кто то пишет что это баг апача. Но чтобы эта ошибка не мозолила глаза — уберём её.
Для начала проверим апач на «вшивость»:

curl -I -H "Range: bytes=0-1,0-2" -s amigas.ru/robots.txt | grep Partial
curl -I -H "Request-Range: bytes=0-1,0-2,0-3,0-4,0-5,0-6" -s amigas.ru/robots.txt | grep Partial
И если ответ сервера - 206 Partial Content, значит наш сервер уязвим.

1. Проверяем, собран ли наш апач с модулем mod_headers:
cd /usr/ports/www/apache22 ; make config
и ищем данную опцию - [X] HEADERS Enable mod_headers
Если установлена, то всё ОК. Если нет, то пересобираем апач.
2. Редактируем конфиг апача, путём добавления пары строчек:
ee /usr/local/etc/apache22/httpd.conf
и добавляем:
RequestHeader unset Request-Range
RequestHeader unset Range
3. Перезапускаем апач.


Вот и всё. Теперь в статистике апача полностью отсутствует данная ошибка.

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

Был…Стоял и работал. Но потом вдруг перестал после каких-то обновлений. Посмотрел что стояло — linux-flash9 — ый. Хммммм….старьё. Удаляем нах.
Начнём ставить новый и настраивать всё по новой.


Проверяем наличие такой строчки в /etc/rc.conf
linux_enable="YES"

и наличие этой в /etc/fstab
linproc /compat/linux/proc linprocfs rw 0 0

Если их нету то делаем следующее:
echo linux_enable="YES" >> /etc/rc.conf
mkdir -p /compat/linux/proc
mount /compat/linux/proc
/etc/rc.d/abi start

Далее ставим сам плагин и враппер:
cd /usr/ports/www/linux-f10-flashplugin10
make install clean
cd /usr/ports/www/nspluginwrapper
make install clean

Я использую три браузера - Mozzila Firefox, Opera, SeaMonkey.
Добавим этот плагин в эти браузеры.
FireFox:
mkdir /usr/local/lib/browser_plugins
nspluginwrapper -a -i
ln -s /usr/local/lib/browser_plugins/npwrapper.libflashplayer.so ~/.mozilla/plugins

Opera:
cd /usr/ports/www/opera-linuxplugins
make install clean
В настройках оперы иногда надо зайти в настройки и сделать рескан плагинов.

SeaMonkey:
Похоже также как и для лисы :)

Ну вот. Теперь имеем полноценный флеш в браузерах. Хотя пару раз браузер упал при просмотре флеша. Может конечно и не из-за флеша. Хз…

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

После обновления консоли…..ой. После русификации консоли во 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)
Загрузка...
746 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 219 views

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

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