Apache 2.2.16 configure: error: the –with-apr parameter is incorrect | Apache, FreeBSD

Тривиальная проблема – не собирается порт.
Нужно обновить апач до 2.2.16
Делаем portsnap fetch, portsnap update.
Пробуем обновиться с помощью portupgrade:

#portupgrade -f apache

Не проходит. Пробуем деинсталлировать порт и поставить заново:

#cd /usr/ports/www/apache22
#make deinstall
#make

Получаем ту же ошибку:

# make
===>   apache-2.2.16 depends on file: /usr/local/bin/perl5.8.9 - found
===>   apache-2.2.16 depends on file: /usr/local/bin/autoconf-2.62 - found
===>   apache-2.2.16 depends on package: libtool>=2.2 - found
===>   apache-2.2.16 depends on shared library: expat.6 - found
===>   apache-2.2.16 depends on shared library: apr-1 - found
===>   apache-2.2.16 depends on shared library: pcre.0 - found
===>   apache-2.2.16 depends on shared library: iconv.3 - found
===>  Configuring for apache-2.2.16
checking for chosen layout... FreeBSD
checking for working mkdir -p... yes
checking build system type... i386-portbld-freebsd7.2
checking host system type... i386-portbld-freebsd7.2
checking target system type... i386-portbld-freebsd7.2

Configuring Apache Portable Runtime library ...

checking for APR... configure: error: the --with-apr parameter is incorrect. 
It must specify an install prefix, a build directory, or an apr-config file.
===>  Script "configure" failed unexpectedly.
Please report the problem to apache@FreeBSD.org [maintainer] and attach the
"/usr/ports/www/apache22/work/httpd-2.2.16/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. an `ls
/var/db/pkg`).
*** Error code 1

Stop in /usr/ports/www/apache22.
*** Error code 1

Stop in /usr/ports/www/apache22.

Ругается на APR (что это такое можно почитать здесь: http://www.rsdn.ru/article/files/libs/apr.xml)
Если не используем – комментируем опции в Makefile

#--with-apr=${LOCALBASE}/bin/apr-1-config \
#--with-apr-util=${LOCALBASE}/bin/apu-1-config

Далее собираем ставим как обычно.

negative sbsize for uid = 100 | FreeBSD, Squid

Пару раз вываливалась ошибка на консоль:

negative sbsize for uid = 100

Uid 100 у меня на машине у сквида. В сети описания ошибки не нашёл, но sbsize это ограничение потребляемого объёма сетевой памяти (mbufs). Настраивается sbsize в /etc/login.conf (в мане по login.conf можно почитать).
Пока искал рецепт ошибки пропали – но лечим скорее всего тюнингом сквида, сетевой подсистемы или самого sbsize в login.conf.

imapd-ssl: maximum connection limit reached for | Courier-imap

Выборсило на консоль почтового сервера ошибку:

imapd-ssl: maximum connection limit reached for 1.45.55.6

Возможен такой вариант:

imapd: maximum connection limit reached for 1.45.55.6

Посмотрел – в конфигах /usr/local/etc/courier-imap/imapd и /usr/local/etc/courier-imap/imapd-ssl есть переменная MAXPERIP по дефолту равная четырём.
То есть imap принимает только по четыре соединения с одного айпишника (судя по всему по соображениям безопасности для контроля расхода ресурсов), что конечно очень мало, если к примеру по имапу к серверу обращаются клиенты из-за ната.
Меняем на большее значение:

MAXPERIP=40

и перезапускаем сервис:

#cd /usr/local/etc/rc.d
#./courier-imap-imapd-ssl restart
#./courier-imap-imapd restart

Переменную можно менять в обоих конфигах (я так понимаю для гибкости управления) /usr/local/etc/courier-imap/imapd /usr/local/etc/courier-imap/imapd-ssl – в первом она установлена, во втором – упоминается.

Проброс портов для torrent клиента | FreeBSD

Итак классическая ситуация – вы сидите за натом и вы начинающий админ, управляющий шлюзом на FreeBSD с kernel nat. Torrent клиент работает, но для сохранения положительного ратио нужно раздавать. Решается все одной строчкой (вернее добавлением к строке добавляющей нат):

${fwcmd} nat 1 config if ${LanOut} log redirect_port tcp 172.16.5.5:33020 33020
${fwcmd} add nat 1 ip from any to any via ${LanOut}

Порт – порт на котором висит ваш torrent клиент (или VNC или что-то другое, что вам нужно), айпи – ваша машина.

Roundcube | Courier-imap, Postfix

Есть задача – поставить веб интерфейс к почтовому серваку. Самым популярным наверное будет roundcube (в обзорах на самаге его хвалят, как ставить все рассказывают, к тому же уже стоял у нас roundcube на старом нашем почтовике)…
Итак ставим roundcube.
Первое что необходимо осознать – для работы roundcube необходим настроенный и рабочий IMAP. По сути roundcube – это веб IMAP клиент. Продолжить чтение →

Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max tunable | FreeBSD

После установки на шлюз HAVP на консоль посыпались сообщения:

Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max tunable

Смотрим параметр vm.pmap.shpgperproc:

#sysctl vm.pmap.shpgperproc
#vm.pmap.shpgperproc: 200

Лечится увеличением vm.pmap.shpgperproc до 400 в /boot/loader.conf (у меня пока хватило такого значения, на сильно загруженых машинах возможно нужно больше) при этом не лишне посмотреть как используется память, своп, сколько памяти доступно ядру (vm.kmem.size), сколько используется и т.д.

Общую статистику можно посмотреть командой:

#sysctl vm

Просто поменять переменную командой sysctl vm.pmap.shpgperproc=200 система не даст, нужно прописать именно в /boot/loader.conf и перегрузиться.

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

watchdog timeout и polling | FreeBSD

Итак на консоли мы заметили сообщение watchdog timeout это значит что можно попробовать включить polling или сменить сетевую карту. Суть поллинга (polling) в том что мы мы говорим ядру опрашивать сетевые интерфейсы на предмет наличия данных через определенный промежуток времени. Иначе при каждом событии на интерфейсе генерится прерывание, что при большом потоке данных может вызвать interrupt storm и соответсвенно watchdog timeout (см. man watchdogd). Продолжить чтение →

Быстрая ротация логов. logrotate | FreeBSD

Небольшая записка про logrotate на FreeBSD.

Ставим из портов, правим конфиг /usr/local/etc/logrotate.conf:

Комментируем строчку (иначе будет ругаться):

#include /usr/local/etc/logrotate.d

Добавляем лог который хотим подвергнуть ротации:

/var/log/httpd-access.log {
daily
rotate 5
}

Далее запускаем указав ключ принудительного запуска и путь к файлу конфига:

logrotate -f /usr/local/etc/logrotate.conf

Добавляем в крон:

0 * * * * root /usr/local/sbin/logrotate -f /usr/local/etc/logrotate.conf

NeTAMS и Cisco | Cisco

Для ведения статистики и подсчёта трафика прходящего через наши шлюзы использую NeTAMS. Понадобилось смотреть статистику по трафику проходящему через маршрутизаторы cisco. Для этого есть возможность использовать netflow. Продолжить чтение →

Простой шлюз на Cisco без NAT | Cisco

Задача – настроить простой шлюз без NAT на маршрутизаторе cisco (в данном случае 2621). Поскольку обычно в конфигах для начинающих описывается шлюз с внешним маршрутизируемым айпи и внутренним с приватной сетью и NAT статья хоть и описывает очевидыне вещи, но может кому-нибудь пригодиться.
Итак провайдер выделил нам 8 маршрутизируемых адресов и предоставил возможность управлять этим хозяйством самостоятельно. Продолжить чтение →

System config parse from (tftp://255.255.255.255/cisconet.cfg) failed | Cisco

По умолчанию в циске стоит опция загрузки конфигурации по сети и выдает такие ошибки:
%SYS-4-CONFIG_RESOLVE_FAILURE: System config parse from (tftp://255.255.255.255/cisconet.cfg) failed

Делаем.
>enable
#conf t Переходим в режим редактирования конфига
#no service config
#^Z Сtrl + Z – завершаем ввод
#wr mem Пишем конфиг в память

minicom, cu – доступ на консоль Cisco под Unix | Cisco, FreeBSD

Итак, задача простая – получить доступ на консоль Cisco из-под unix. На самом деле все очень просто. Продолжить чтение →

Recipient address rejected: User unknown; | Postfix

Немного нестандартная ситуация с ошибкой почтовика Recipient address rejected: User unknown;

Во время переноса сервера сложилась следующая ситуация – часть доменов со старого почтовика я перенёс на новый (на обоих почтовиках аутентификация через базу mysql).
Используя postfixadmin удалил со старого почтовика домены, но суть в том что из базы записи о доменах в таблицах остались. По этой причине получил ошибку Recipient address rejected: User unknown; Продолжить чтение →

Icecast с аутентификацией | IceCast

Появилась необходимость настроить вещание радио в интернет для передачи региональным партнерам. Понятно что Icecast, но с аутентификацией чтобы не каждый мог получить доступ к источнику. Источник сигнала – кодеры Barix (http://www.barix.com/), эти железки берут источник cигнала, кодируют и отдают сигнал на ретранслятор (в нашем случае Icecast 2). Icecast уже «вещает» в инет – вы можете клиентом (VLC, winamp) подключиться на сокет который слушает icecast и получить аудиопоток.
Конечно можно настроить так чтобы Icecast вещал c самого сервака треки которые вы укажете, но это не наш случай. Продолжить чтение →

Squid как перестроить кэш | Squid

Если Squid ворочается медленно, процесс занимает много памяти и процессорного времени может помочь перестройка кэша:

Останавливаем squid:

/usr/local/etc/rc.d/squid stop

Убиваем кэш. Или где он у вас лежит (в squid.conf строка cache_dir):

rm -rf /var/squid/cache

Реинициализируем кэш.

squid -z

Запускаемся:

/usr/local/etc/squid start

Ну а после смотрим более детально в чём проблема. :)