<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Unix4Me &#187; FreeBSD</title>
	<atom:link href="http://unix4me.ru/archives/category/freebsd/feed" rel="self" type="application/rss+xml" />
	<link>http://unix4me.ru</link>
	<description>*nix</description>
	<lastBuildDate>Thu, 08 Apr 2010 11:22:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FreeBSD &#8211; PostgreSQL установка</title>
		<link>http://unix4me.ru/archives/614</link>
		<comments>http://unix4me.ru/archives/614#comments</comments>
		<pubDate>Mon, 01 Mar 2010 14:23:27 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=614</guid>
		<description><![CDATA[В мое случае использовалось:
- FreeBSD 7.2
- PostgreSQL 8.3

Для начала ставим саму базу данных
# cd /usr/ports/databases/postgresql83-server
# make install clean
далее меняем пароль для пользователя pgsql
# passwd pgsql
и определившись с местонаждением самой базы(у меня /data/pgsql/), настраиваем:
- создаем директорию
# mkdir /data/pgsql
- меняем домашнюю директорию для пользователя
# chpass pgsql
- на всякий случай копируем все файлы(у меня было пусто) из стандартной [...]]]></description>
			<content:encoded><![CDATA[<p>В мое случае использовалось:<br />
- FreeBSD 7.2<br />
- PostgreSQL 8.3<br />
<span id="more-614"></span><br />
Для начала ставим саму базу данных<br />
<code># cd /usr/ports/databases/postgresql83-server<br />
# make install clean</code></p>
<p>далее меняем пароль для пользователя pgsql<br />
<code># passwd pgsql</code></p>
<p>и определившись с местонаждением самой базы(у меня /data/pgsql/), настраиваем:<br />
- создаем директорию<br />
<code># mkdir /data/pgsql</code><br />
- меняем домашнюю директорию для пользователя<br />
<code># chpass pgsql</code><br />
- на всякий случай копируем все файлы(у меня было пусто) из стандартной директории в нашу новую директорию<br />
<code># mv /usr/local/pgsql/* /data/pgsql/</code><br />
- создаем директорию для файлов самой базы данных<br />
<code># mkdir /data/pgsql/data</code><br />
- и меняем права доступа<br />
<code># chown -R pgsql:pgsql /data/pgsql/<br />
# chmod -R 750 /data/pgsql/</code></p>
<p>добавляем в /etc/rc.conf строчки для загрузки postgresql<br />
<code>postgresql_enable="YES"<br />
postgresql_data="/data/pgsql/data/"<br />
postgresql_class="postgres"</code></p>
<p>инициализируем создание бд<br />
<code>/usr/local/etc/rc.d/postgresql initdb</code><br />
если инициализация проходит в некоректной кодировке, инициализируете командой<br />
<code>su -l pgsql -c "initdb -E KOI8 -D /data/pgsql/data"</code><br />
и перед выполнением не забываем удалить файлы предыдущей(некоректно созданной) базы данных</p>
<p>заходим под пользователем, стартуем postgresql, меняем кодировку, меняем пароль для суперпользователя на 12345, создаем пользователя puser, создаем ему пароль 1234 и даем ему права на создание и наполнения базы данных<br />
<code># su pgsql<br />
$ /usr/local/etc/rc.d/postgresql start<br />
psql template1<br />
\encoding KOI8<br />
alter user pgsql with password '12345';<br />
create user puser;<br />
alter user puser with password '1234';<br />
alter user postgres with createdb;<br />
</code></p>
<p>далее останавливаем postgresql<br />
<code>$ /usr/local/etc/rc.d/postgresql stop</code></p>
<p>и меняем тип авторизации в файле /data/pgsql/data/pg_hba.conf<br />
- отключаем IPv6 - комментируем строчку<br />
<code>#host    all         all         ::1/128               trust</code><br />
- менем trust на password в строчках<br />
<code># "local" is for Unix domain socket connections only<br />
local   all         all                               password<br />
# IPv4 local connections:<br />
host    all         all         127.0.0.1/32          password</code></p>
<p>теперь запускаем обратно postgesql<br />
<code># su pgsql<br />
$ /usr/local/etc/rc.d/postgresql start</code></p>
<p>начальная установка закончилась, теперь если необходимо - можно создать базу данных для пользователя puser - pdata<br />
<code># su pgsql<br />
$ psql -U puser template1<br />
password:<br />
template1=# create database pdata template=template0 with encoding='KOI8';</code><br />
вводим пароль для пользователя puser (он у нас '1234')</p>
<p>если необходимо востановить дамп предыдущей бд - шаблон:<br />
(psql -a имя_базы имя_пользователя < дамп_базы >out 2>&#038;1)</p>
<p>пример( где pdata.sql файл с дампом бд):<br />
<code>$ psql -a pdata puser < pdata.sql >out 2>&#038;1</code><br />
и смотрим ошибки<br />
<code>$ grep -i erro out</code></p>
<p>Созданию статьи поспособствовал вики очень интересного сайта <a href="http://www.lissyara.su/">http://www.lissyara.su/</a> - <a href="http://wiki.lissyara.su/wiki/Установка_PostgreSQL">ссылка на вики</a></p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/614/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD &#8211; Установка OpenFire сервера</title>
		<link>http://unix4me.ru/archives/563</link>
		<comments>http://unix4me.ru/archives/563#comments</comments>
		<pubDate>Tue, 27 Oct 2009 13:01:04 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Jabber]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=563</guid>
		<description><![CDATA[Рассмотрим установку OpenFire сервера во FreeBSD. Это jabber сервер поддерживающий видео и голос (с помощью плагинов).

Для начала установим его из портов
# cd /usr/ports/net-im/openfire
# make install clean
Заходим и скачиваем необходимые компоненты - во время инсталяции будут необходимые ссылки - при этом необходимо будет зарегестрироваться на сайте Sun.
Теперь добавляем в загрузку OpenFire, стартуем сервер и смотрим статус
# [...]]]></description>
			<content:encoded><![CDATA[<p>Рассмотрим установку <a href="http://www.igniterealtime.org/projects/openfire/">OpenFire</a> сервера во FreeBSD. Это jabber сервер поддерживающий видео и голос (с помощью плагинов).<br />
<span id="more-563"></span><br />
Для начала установим его из портов</p>
<p><code># cd /usr/ports/net-im/openfire<br />
# make install clean</code></p>
<p>Заходим и скачиваем необходимые компоненты - во время инсталяции будут необходимые ссылки - при этом необходимо будет зарегестрироваться на сайте Sun.</p>
<p>Теперь добавляем в загрузку OpenFire, стартуем сервер и смотрим статус</p>
<p><code># echo 'openfire_enable="YES"' >> /etc/rc.conf<br />
# /usr/local/etc/rc.d/openfire start<br />
# /usr/local/etc/rc.d/openfire status<br />
openfire is running as pid 863</code></p>
<p>Далее заходим через веббраузер на сервер - порт 9090 и проводим инсталяцию по шагам. Выбираем базу банных Mysql (предварительно создав базу данных, логин и пароль для изменение базы), проверяем чтобы кодировка база была utf8 и вводим параметры</p>
<p><code>Driver: MYSQL<br />
jdbc:mysql://localhost:3306/database?useUnicode=true&#038;characterEncoding=UTF-8&#038;characterSetResults=UTF-8</code></p>
<p>и естественно ниже логин и пароль. Далее создаем пароль для пользователя admin.</p>
<p>Инсталяция закончена - далее добиваем функциональность плагинами <a href="http://www.igniterealtime.org/projects/openfire/plugins.jsp">отсюда</a> и общаемся. Для соединения можно использовать их собственный клиент <a href="http://www.igniterealtime.org/projects/spark/index.jsp">Spark</a> или любой другой который имеет возможность подключение к Jabber.</p>
<p>А теперь любопытные и необходимые ремарки. (Меняем [ на < и ] на >)<br />
- Если что-то не так настроили - открываете openfire.xml (по умолчанию располагается  /usr/local/etc/openfire/) и удалаем  строку<br />
<code>[setup]true[/setup]</code>,<br />
 перегружаем сервер и заново конфигурим<br />
- Если не пускает сразу после инсталяции под логином admin - в секции adminConsole в файле openfire.xml вставляем<br />
<code>[authorizedUsernames]admin[/authorizedUsernames]</code><br />
- При необходимости смены пароля администратора - заходим в базу (Mysql), добавляем пароль в поле plainPassword, обнуляем поле encryptedPassword и при необходимости перегружаем сам сервис.<br />
<code>mysql> update ofUser set plainPassword='12345' where username='admin';<br />
mysql> update ofUser set encryptedPassword=NULL where username='admin';</code><br />
Не забываем после входа в сразу сменить пароль на необходимый</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/563/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD &#8211; Эмуляция Linux</title>
		<link>http://unix4me.ru/archives/556</link>
		<comments>http://unix4me.ru/archives/556#comments</comments>
		<pubDate>Fri, 23 Oct 2009 13:02:16 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=556</guid>
		<description><![CDATA[Включаем режим совместимости LInux. Для начала пропысываем в ядре:

option          COMPAT_LINUX
option          PSEUDOFS
option          LINPROCFS
option          LINSYSFS

компилим и устанавливаем -
# cd /usr/src/
# make [...]]]></description>
			<content:encoded><![CDATA[<p>Включаем режим совместимости LInux. Для начала пропысываем в ядре:<br />
<span id="more-556"></span><br />
<code>option          COMPAT_LINUX<br />
option          PSEUDOFS<br />
option          LINPROCFS<br />
option          LINSYSFS<br />
</code></p>
<p>компилим и устанавливаем -</p>
<p><code># cd /usr/src/<br />
# make kernel KERNCONF=YOUR_KERNEL_HERE<br />
# reboot</code></p>
<p>Добавляем в /etc/rc.conf</p>
<p><code>linux_enable="YES"</code></p>
<p>В /etc/sysctl.conf</p>
<p><code>compat.linux.osrelease=2.6.16</code></p>
<p>В /etc/fstab:</p>
<p><code> linproc /usr/compat/linux/proc linprocfs rw 0 0</code></p>
<p>Выполняем команды:</p>
<p><code> mkdir -p /usr/compat/linux/proc<br />
mount /usr/compat/linux/proc<br />
/etc/rc.d/abi start<br />
/etc/rc.d/sysctl start</code></p>
<p>Далее устанавливаем linux_base</p>
<p><code># cd /usr/ports/emulators/linux_base-f10/<br />
# make install clean</code></p>
<p>Перегружаемся и работаем</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/556/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD &#8211; Postfix: ClamSMTP, Clamav, Spamassassin</title>
		<link>http://unix4me.ru/archives/534</link>
		<comments>http://unix4me.ru/archives/534#comments</comments>
		<pubDate>Thu, 22 Oct 2009 09:28:16 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[clamav]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=534</guid>
		<description><![CDATA[Открываю небольшой цикл заметок про postfix. Почему postfix - долго выбирал MTA для нужд компании (не провайдера) и по удобству/гибкости/надежности остановился на postfix.
Cобственно первая статься - защищаем postfix от спама и вирусов.

Для начала считаем что у нас postfix стоит и работает.
Устанавливаим и настраиваем Clamav (Не забываем обновлять порты) .
# cd /usr/ports/security/clamav
# make install clean

Далее настраиваем [...]]]></description>
			<content:encoded><![CDATA[<p>Открываю небольшой цикл заметок про postfix. Почему postfix - долго выбирал MTA для нужд компании (не провайдера) и по удобству/гибкости/надежности остановился на postfix.<br />
Cобственно первая статься - защищаем postfix от спама и вирусов.<br />
<span id="more-534"></span><br />
Для начала считаем что у нас postfix стоит и работает.<br />
Устанавливаим и настраиваем Clamav (Не забываем обновлять порты) .</p>
<p><code># cd /usr/ports/security/clamav<br />
# make install clean<br />
</code></p>
<p>Далее настраиваем Clamav - /usr/local/etc/clamd.conf</p>
<p><code>##<br />
## config file for the Clam AV daemon<br />
##</p>
<p>LogFile /var/log/clamav/clamd.log<br />
LogFileMaxSize 0<br />
LogTime yes<br />
LogSyslog yes<br />
PidFile /var/run/clamav/clamd.pid<br />
DatabaseDirectory /var/db/clamav<br />
LocalSocket /var/run/clamav/clamd.sock<br />
FixStaleSocket yes<br />
User clamav<br />
AllowSupplementaryGroups yes<br />
TCPSocket 3310<br />
TCPAddr 127.0.0.1<br />
MaxConnectionQueueLength 30<br />
MaxThreads 50<br />
ReadTimeout 300<br />
ScanPDF yes<br />
ScanPE yes<br />
ScanELF yes<br />
DetectBrokenExecutables yes<br />
ScanOLE2 yes<br />
ScanMail yes<br />
ScanArchive yes<br />
ArchiveBlockEncrypted no<br />
#ArchiveMaxFileSize 5M<br />
</code></p>
<p>Кидаем в загрузку и запускаем:</p>
<p><code># echo 'clamav_clamd_enable="YES"' >> /etc/rc.conf<br />
# /usr/local/etc/rc.d/clamav-clamd start</code></p>
<p>Далее необходимо обновить базы - для этого настраиваем /usr/local/etc/freshclam.conf</p>
<p><code>##<br />
## config file for freshclam<br />
##<br />
DatabaseDirectory /var/db/clamav<br />
UpdateLogFile /var/log/clamav/freshclam.log<br />
PidFile /var/run/clamav/freshclam.pid<br />
DatabaseOwner clamav<br />
AllowSupplementaryGroups yes<br />
DatabaseMirror db.ru.clamav.net<br />
Checks 24<br />
NotifyClamd /usr/local/etc/clamd.conf</code></p>
<p>Запускаем и прописываем в крон для ежедневного запуска обновления в 23:45:</p>
<p><code># /usr/local/bin/freshclam<br />
# crontab -e<br />
45  23  *   *   *   /usr/local/bin/freshclam</code></p>
<p>Все Clamav настроен и работает. Теперь производим настройку и установку Spamassassin.<br />
Установим из портов:</p>
<p><code># cd /usr/ports/mail/p5-Mail-SpamAssassin<br />
# make install clean</code></p>
<p>Ставим в загрузку </p>
<p><code># echo 'spamd_enable="YES"' >> /etc/rc.conf</code></p>
<p>и настраиваем /usr/local/etc/mail/spamassassin/local.cf</p>
<p><code>rewrite_header Subject *****SPAM*****<br />
report_safe 1<br />
required_score 7.0<br />
use_bayes 1<br />
bayes_auto_learn 1<br />
bayes_ignore_header X-Bogosity<br />
bayes_ignore_header X-Spam-Flag<br />
bayes_ignore_header X-Spam-Status<br />
</code></p>
<p>и запускаем</p>
<p><code>/usr/local/etc/rc.d/sa-spamd start</code></p>
<p>Осталось настроить ClamSMTP. Ставим из портов:</p>
<p><code># cd /usr/ports/security/clamsmtp<br />
# make install clean</code></p>
<p>Далее настраиваем /usr/local/etc/clamsmtpd.conf :</p>
<p><code>#<br />
# config file for clamsmtpd<br />
#</p>
<p># The address to send scanned mail to.<br />
# This option is required unless TransparentProxy is enabled<br />
OutAddress: 10026</p>
<p># The maximum number of connection allowed at once.<br />
# Be sure that clamd can also handle this many connections<br />
#MaxConnections: 64</p>
<p># Amount of time (in seconds) to wait on network IO<br />
#TimeOut: 180</p>
<p># Keep Alives (ie: NOOP's to server)<br />
#KeepAlives: 0</p>
<p># Send XCLIENT commands to receiving server<br />
#XClient: off</p>
<p># Address to listen on (defaults to all local addresses on port 10025)<br />
#Listen: 0.0.0.0:10025<br />
Listen: 127.0.0.1:10025</p>
<p># The address clamd is listening on<br />
#ClamAddress: /var/run/clamav/clamd<br />
ClamAddress: /var/run/clamav/clamd.sock</p>
<p># A header to add to all scanned email<br />
Header: X-Virus-Scanned: ClamAV Scanned</p>
<p># Directory for temporary files<br />
TempDirectory: /tmp</p>
<p># What to do when we see a virus (use 'bounce' or 'pass' or 'drop'<br />
Action: drop</p>
<p># Whether or not to keep virus files<br />
Quarantine: on</p>
<p># Enable transparent proxy support<br />
#TransparentProxy: off</p>
<p># User to switch to<br />
User: clamav</p>
<p># Virus actions: There's an option to run a script every time a virus is found.<br />
# !IMPORTANT! This can open a hole in your server's security big enough to drive<br />
# farm vehicles through. Be sure you know what you're doing. !IMPORTANT!<br />
#VirusAction: /path/to/some/script.sh<br />
</code></p>
<p>Вносим в rc.conf  и и запускаем</p>
<p><code># echo clamsmtpd_enable="YES"' >> /etc/rc.conf<br />
# /usr/local/etc/rc.d/clamsmtpd start</code></p>
<p>Теперь вносим изменения в настройки postfix, по умолчанию они находятся в /usr/local/etc/postfix</p>
<p><code>main.cf:<br />
content_filter = scan:[127.0.0.1]:10025<br />
receive_override_options = no_address_mappings</p>
<p>master.cf<br />
# AV scan filter (used by content_filter)<br />
scan      unix  -       -       n       -       16      smtp<br />
    -o smtp_send_xforward_command=yes<br />
    -o smtp_enforce_tls=no</p>
<p># For injecting mail back into postfix from the filter<br />
127.0.0.1:10026 inet  n -       n       -       16      smtpd<br />
    -o content_filter=<br />
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks<br />
    -o smtpd_helo_restrictions=<br />
    -o smtpd_client_restrictions=<br />
    -o smtpd_sender_restrictions=<br />
    -o smtpd_recipient_restrictions=permit_mynetworks,reject<br />
    -o mynetworks_style=host<br />
    -o smtpd_authorized_xforward_hosts=127.0.0.0/8</p>
<p># Check spam<br />
smtp      inet  n       -       n       -       -       smtpd<br />
    -o content_filter=spam:dummy</p>
<p>spam      unix  -       n       n       -       -       pipe<br />
  flags=R user=virtual argv=/usr/local/bin/spamc -u virtual -e /usr/sbin/sendmail -f $sender $recipient</code></p>
<p>Осталось протестировать. Необходимо вставить в тело письма тестовые сигнатуры</p>
<p><code>Для определения вируса:<br />
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*</p>
<p>Для определения спама:<br />
Subject: Relax, be happy<br />
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X<br />
</code></p>
<p>Вот и все - все работает.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/534/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql во FreeBSD</title>
		<link>http://unix4me.ru/archives/434</link>
		<comments>http://unix4me.ru/archives/434#comments</comments>
		<pubDate>Fri, 05 Jun 2009 08:00:44 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=434</guid>
		<description><![CDATA[Решил написать некий обобщеный пост по поводу mysql. Большая часть информации опробована и введена в работу на базе серверов Freebsd - но на линуксах все очень похоже.

Для начала - установка самой базы данных.
У меня в make.conf описаны параметры для инсталяции (на данный момент акутальна версия 5.1):

.if ${.CURDIR:N*/ports/databases/mysql51-server} == ""
WITH_CHARSET=utf8
WITH_XCHARSET=all
WITH_COLLATION=utf8_general_ci
.....
.endif

Остальные параметры не влияют на кодировку по [...]]]></description>
			<content:encoded><![CDATA[<p>Решил написать некий обобщеный пост по поводу mysql. Большая часть информации опробована и введена в работу на базе серверов Freebsd - но на линуксах все очень похоже.<br />
<span id="more-434"></span><br />
Для начала - установка самой базы данных.</p>
<p>У меня в make.conf описаны параметры для инсталяции (на данный момент акутальна версия 5.1):</p>
<pre>
.if ${.CURDIR:N*/ports/databases/mysql51-server} == ""
WITH_CHARSET=utf8
WITH_XCHARSET=all
WITH_COLLATION=utf8_general_ci
.....
.endif
</pre>
<p>Остальные параметры не влияют на кодировку по умолчанию. Соответственно - мне нужна по умолчанию кодировка utf8(без параметров выставляется latin1), если необходима кодировка koi8-r то выставляется:</p>
<pre>
...
WITH_CHARSET=koi8r
WITH_XCHARSET=all
WITH_COLLATION=koi8r_general_ci
...
</pre>
<p>Также возможно передать команды непосредственно в синтаксисе команды make</p>
<p>Далее инициализируем установленную базу данных<br />
- создаем базы самого mysql</p>
<pre>#/usr/local/bin/mysql_install_db --user=mysql</pre>
<p>- для первичного запуска </p>
<pre>#/usr/local/bin/mysqld_safe &#038;</pre>
<p>- для создания пароля для root</p>
<pre>#/usr/local/bin/mysqladmin -u root password 'password'</pre>
<p>- для автоматического запуска после перезагрузки добавляем mysql_enable="YES" в /etc/rc.conf<br />
- и при дальнейших входах набираем</p>
<pre>#mysql -u root -p</pre>
<p>и вводим созданный пароль</p>
<p>Также настоятельно рекомендую установить из портов mysql51-scripts(в зависимости от версии mysql такая же версия скриптов). И после установки запустить mysql_secure_installation, этот скрипт обеспечит более высокий уровень безопасности при дальнейшем использовании базы данных mysql.</p>
<p>Если же у вас уже установлен mysql и при изначальной компиляции/установки стоит кодировка latin1(или любая другая, отличная от необходимой) и нужно поменять например на utf8 - решение есть в стандартных инструментах mysql.<br />
Для начала смотрим в какой кодировки у нас сама база:</p>
<pre>mysql> SHOW CREATE DATABASE database_name;</pre>
<p>в конце видим: /*!40100 DEFAULT CHARACTER SET latin1 */<br />
а нам надо поменять на utf8, для этого вводим:</p>
<pre>mysql> ALTER DATABASE database_name DEFAULT CHARACTER SET utf8;
mysql> SHOW CREATE DATABASE database_name;</pre>
<p>Теперь мы видим /*!40100 DEFAULT CHARACTER SET utf8 */<br />
Далее необходимо поменять кодировку в уже созданных таблицах в этой базе, для этого вводим для каждой таблицы:</p>
<pre>mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8;
mysql> SHOW CREATE TABLE table_name;</pre>
<p>и видим в конце DEFAULT CHARSET=utf8<br />
Но через терминал мне все равно не корректно отображались русские символы(а именно вопросительными значками) поэтому при каждом заходе приходится вводить команду:</p>
<pre>mysql> SET NAMES utf8;</pre>
<p>последнее изменение проводилось в линуксе(практически чистый Debian).</p>
<p>Если будут еще некоторые интересные аспекты использования mysql в opensource системах - буду скорее всего дополнять эту статью.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/434/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pure-ftpd на FreeBSD</title>
		<link>http://unix4me.ru/archives/409</link>
		<comments>http://unix4me.ru/archives/409#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:06:25 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ftpd]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pure-ftpd]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=409</guid>
		<description><![CDATA[Ставил и использовал большое количество фтп серверов, но в итоге для FreeBSD остановился на pure-ftpd с поддержкой mysql. Фтп сервер небольшой, удобный в настройки, быстрый и главное замечательно работает с любой версией mysql.

Прежде чем устанавливать - не поленитесь обновите дерево портов, делаю это через cvs(позже опишу настройку этого решения):
# cd /usr/ports/
# make update &#38;&#38; make [...]]]></description>
			<content:encoded><![CDATA[<p>Ставил и использовал большое количество фтп серверов, но в итоге для FreeBSD остановился на pure-ftpd с поддержкой mysql. Фтп сервер небольшой, удобный в настройки, быстрый и главное замечательно работает с любой версией mysql.<br />
<span id="more-409"></span><br />
Прежде чем устанавливать - не поленитесь обновите дерево портов, делаю это через cvs(позже опишу настройку этого решения):</p>
<pre># cd /usr/ports/
# make update &amp;&amp; make fetchindex</pre>
<p>после этого заходим, настраиваем параметры:</p>
<pre># cd /usr/ports/ftp/pure-ftpd/
# make config</pre>
<p>выбираем опции установки:<br />
- MYSQL<br />
- PRIVSEP<br />
- PERUSERLIMITS<br />
- THROTTLING<br />
- BANNER<br />
- UPLOADSCRIPT<br />
- UTF8<br />
- SENDFILE<br />
- LARGEFILE<br />
Нажимаем OK и начинаем установку:</p>
<pre># make install clean</pre>
<p>После установки в папке /usr/local/etc появились файлы конфигурации - pure-ftpd.conf.sample pureftpd-ldap.conf.sample pureftpd-mysql.conf.sample  pureftpd-pgsql.conf.sample. Копируем, убирая слово sample только необходимые для настройки:</p>
<pre># cd /usr/local/etc
# cp pure-ftpd.conf.sample pure-ftpd.conf
# cp pureftpd-mysql.conf.sample pureftpd-mysql.conf</pre>
<p>И приступаем к непосредственно к настройки</p>
<pre><em>pure-ftpd.conf</em>
ChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             5
VerboseLog                  no
DisplayDotFiles             no
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 10
MySQLConfigFile               /usr/local/etc/pureftpd-mysql.conf
LimitRecursion              2000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   no
Umask                       133:022
MinUID                      100
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       yes
ProhibitDotFilesRead        yes
AutoRename                  no
AnonymousCantUpload         yes
NoChmod                     yes
KeepAllFiles                yes
MaxDiskUsage               80
CustomerProof              yes
IPV4Only                 yes
FileSystemCharset   koi8-r
ClientCharset       cp1251</pre>
<p>И настройка для подключения к базе mysql</p>
<pre><em>pureftpd-mysql.conf</em>
MYSQLSocket     /tmp/mysql.sock
MYSQLUser       user
MYSQLPassword   password
MYSQLDatabase   pureftpd
MYSQLCrypt      cleartext
MYSQLGetPW      SELECT password FROM users WHERE user="L" AND active ="1"
MYSQLGetUID     SELECT uid FROM users WHERE user="L"
MYSQLGetGID     SELECT gid FROM users WHERE user="L"
MYSQLGetDir     SELECT home FROM users WHERE user="L"
MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE user="L"
MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE user="L"
MySQLGetRatioUL SELECT ULRatio FROM users WHERE user="L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE user="L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE user="L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE user="L"</pre>
<p>Каждый параметр подробно описан в самом конфигурационном файле, поэтому не будем останавливаться на каждом в отдельности.<br />
Далее заходим в mysql и создаем базу pureftpd, пользователя user c паролем password, даем пользователю user права на базу pureftpd и создаем таблицу:</p>
<pre># mysql
mysql&gt; CREATE DATABASE pureftpd;
mysql&gt; GRANT ALL PRIVILEGES on pureftpd.* to user@localhost identified by 'password';
mysql&gt; USE pureftpd;
mysql&gt; CREATE TABLE `users` (
mysql&gt; `user` varchar(16) binary NOT NULL,
mysql&gt; `password` varchar(64) binary NOT NULL,
mysql&gt; `uid` int(11) NOT NULL default '-1',
mysql&gt; `gid` int(11) NOT NULL default '-1',
mysql&gt; `home` varchar(128) binary NOT NULL default '/usr/home/anonymous',
mysql&gt; `QuotaFiles` int(9) NOT NULL default '10000',
mysql&gt; `QuotaSize` int(6) NOT NULL default '100',
mysql&gt; `ULRatio` int(2) NOT NULL default '1',
mysql&gt; `DLRatio` int(2) NOT NULL default '10',
mysql&gt; `ULBandwidth` int(6) NOT NULL default '1024',
mysql&gt; `DLBandwidth` int(6) NOT NULL default '1024',
mysql&gt; `active` int(1) NOT NULL default '1',
mysql&gt; PRIMARY KEY  (`user`)
mysql&gt; ) TYPE=MyISAM;</pre>
<p>Как таковая настройка закончилась, теперь необходимо создать хотябы одного пользователя. Добавляем пользователя, создаем папку и даем возможность пользователю записывать туда файлы/создавать директории:</p>
<pre>mysql&gt; INSERT INTO `users` VALUES ('user', 'password', 1111, 1111, '/usr/ftp/user', 10000, 100, 1, 10, 1024, 1024, 1);
mysql&gt; quit;
# mkdir /usr/ftp/user
# chown 1111:1111 /usr/ftp/user</pre>
<p>Вот и все. Ошибки(как и остальные логи) по умолчанию будут записываться в /var/log/xferlog.</p>
<p>Во вспоминании по настройки сервера очень помог <a href="http://www.lissyara.su/?id=1177">ресурс</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/409/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ntpd на FreeBSD</title>
		<link>http://unix4me.ru/archives/372</link>
		<comments>http://unix4me.ru/archives/372#comments</comments>
		<pubDate>Thu, 15 Jan 2009 09:21:46 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ntpd]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=372</guid>
		<description><![CDATA[Решил написать про процесс настраивания ntp сервера на базе FreeBSD. Процесс довольно не сложный. Самое первое - необходимо определится с серверами - с которыми будет синхронизироваться время на сервере.

Идем вот сюда и выбираем понравившиеся серверы. Мой выбор пал на stratum 1 и на сервера:
 - ntp1.imvp.ru
 - timekeeper.isi.edu
 - clock.via.net
Небольшой апдейт - добавил еще несколько [...]]]></description>
			<content:encoded><![CDATA[<p>Решил написать про процесс настраивания ntp сервера на базе FreeBSD. Процесс довольно не сложный. Самое первое - необходимо определится с серверами - с которыми будет синхронизироваться время на сервере.<br />
<span id="more-372"></span><br />
Идем <a href="http://support.ntp.org/bin/view/Servers/WebHome">вот сюда</a> и выбираем понравившиеся серверы. Мой выбор пал на stratum 1 и на сервера:<br />
 - ntp1.imvp.ru<br />
 - timekeeper.isi.edu<br />
 - clock.via.net<br />
Небольшой апдейт - добавил еще несколько серверов<br />
- ntp.ucsd.edu<br />
- time.nist.gov</p>
<p>Теперь необходимо их проверить - вводим в командной строке:</p>
<pre># ntpdate -d ntp1.imvp.ru timekeeper.isi.edu clock.via.net </pre>
<p>И получаем информацию по каждому серверу.</p>
<p>Теперь осталось создать файл настроек - /etc/ntp.conf и файл для хранения логов - /var/log/ntpd.log. И вносим в файл настроек (/etc/ntp.conf):</p>
<pre>#
# ntp-server config
#
server ntp1.imvp.ru prefer
server timekeeper.isi.edu
server clock.via.net
server ntp.ucsd.edu
server time.nist.gov

driftfile /var/db/ntp.drift
logfile /var/log/ntp.log

restrict default ignore

restrict ntp1.imvp.ru noquery notrap
restrict timekeeper.isi.edu noquery notrap
restrict clock.via.net noquery notrap
restrict ntp.ucsd.edu noquery notrap
restrict time.nist.gov noquery notrap 

restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
</pre>
<p>Из настроек видно - что данный ntp сервер используется только в локальной сети 192.168.0.0/24. И для хранения смещения частоты системных часов используется файл /var/db/ntp.drift, не забываем его создать:</p>
<pre># touch /var/db/ntp.drift</pre>
<p>Далее заносим в файл /etc/rc.conf данные для автоматического запуска после перезагрузки:</p>
<pre>ntpd_enable="YES"
ntpd_program="/usr/sbin/ntpd"
ntpd_flags="-c /etc/ntp.conf -l /var/log/ntpd.log -p /var/run/ntpd.pid"</pre>
<p>Вот и все - настройка ntp сервера закончена, запустить его можно из командной строки:</p>
<pre># ntpd -c /etc/ntp.conf -l /var/log/ntpd.log -p /var/run/ntpd.pid</pre>
<p>И не забываем открывать 123 порт для ntpd.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/372/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Авторизация прокси сервера Squid в домене Windows 2003 Server</title>
		<link>http://unix4me.ru/archives/335</link>
		<comments>http://unix4me.ru/archives/335#comments</comments>
		<pubDate>Sun, 11 Jan 2009 10:17:59 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=335</guid>
		<description><![CDATA[Постараюсь подробно описать процесс настраивания авторизации прокси сервера Squid 3 на базе FreeBSD 7.1 в домене Windows 2003 Server. Как всегда есть два варианта авторизации:
- первый - через squid_ldap_auth
- второй - через samba
Опишу оба.

Изначально рассмотрим первый - самый простой способ авторизации.
При установки squid из портов необходимо выбрать SQUID_LDAP_AUTH и при корректной сборке и установки получится [...]]]></description>
			<content:encoded><![CDATA[<p>Постараюсь подробно описать процесс настраивания авторизации прокси сервера Squid 3 на базе FreeBSD 7.1 в домене Windows 2003 Server. Как всегда есть два варианта авторизации:</p>
<p>- первый - через squid_ldap_auth<br />
- второй - через samba</p>
<p>Опишу оба.<br />
<span id="more-335"></span><br />
<strong>Изначально рассмотрим первый</strong> - самый простой способ авторизации.<br />
При установки squid из портов необходимо выбрать SQUID_LDAP_AUTH и при корректной сборке и установки получится бинарник расположеный - /usr/local/libexec/squid/squid_ldap_auth. Далее тестируем работу squid_ldap_auth - вводим в командной строке:</p>
<blockquote><p>/usr/local/libexec/squid/squid_ldap_auth -R -D admin_user@domain.ru -w admin_pass -b "dc=domen,dc=ru" -f "sAMAccountName=%s" -h ip_add_domen_control</p>
<p>admin_user - администратор домена<br />
admin_pass - пароль администратора домена<br />
domen - собственно сам домен<br />
ip_add_domen_control - ip адрес контроллера домена</p></blockquote>
<p>Получаем пустую строку - и вводим логин пароль через пробел. Если все работает и правильные логины и пароли - то получаем OK</p>
<p>Далее настраиваем /usr/local/etc/squid/squid.conf.</p>
<blockquote><p>Для авторизации<br />
auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -R -D admin_user@domain.ru -w admin_pass -b "dc=domen,dc=ru" -f "sAMAccountName=%s" -h ip_add_domen_control</p>
<p>Аксес лист<br />
acl ldapauth proxy_auth REQUIRED<br />
http_access allow ldapauth</p></blockquote>
<p>Последним обязательно должно быть:</p>
<blockquote><p>http_access deny all</p></blockquote>
<p>Теперь пробуем - вводим в настройках компьютера пользователя адрес и порт прокси сервера. Далее необходимо вводить логин и пароль.<br />
В этом способе самое плохое - что приходится показывать в открытую пароль администратора - что очень плохо.</p>
<p><strong>Вот как раз поэтому, есть второй способ</strong> - более сложный, через настройку samba и kerberos.<br />
В сети есть много грамотных статей по этому поводу - например <a href="http://freebsd.nnm.ru/avtorizaciya_squid_v_domene_windows_2003_server">вот эта</a> или <a href="http://wiki.squid-cache.org/ConfigExamples/WindowsAuthenticationNTLM">вот эта</a>. В этой статье постараюсь описать собственный процесс настравания, при котором использовались эти и другие статьи.</p>
<p>Для начала настроим время на контроллере домена и сервере (если разница превышает 5 минут - авторизация работать не будет), поэтому - желательно - поднять ntp сервер на одном из серверов (я это сделал на FreeBSD сервере).</p>
<p>Далее смотрим настройки сети - а именно /etc/resolv.conf</p>
<blockquote><p>domain domain.ru<br />
nameserver ip_add_dns_server</p>
<p>- domain.ru - собственно сам домен<br />
- ip_add_name_server - ip  адрес dns сервера</p></blockquote>
<p>Если по каким-то причинам возникли сложности с dns сервером, то можно прописать в файле /etc/hosts:</p>
<blockquote><p>ip_add      name name.domain.ru</p>
<p>- ip_add - ip адрес хоста в домене<br />
- name - имя хоста<br />
- domain.ru - сам домен</p></blockquote>
<p>Таким образом можно сделать принудительный резолв как для домен контроллера, так и для любого хоста.</p>
<p>Теперь необходимо установить и настроить kerberos. Переходим в папку /usr/ports/security/heimdal/ и устанавливаем. Правим файлик /etc/krb5.conf, он должен выглядеть так:</p>
<blockquote><p>[libdefaults]<br />
default_realm = DOMAIN.RU<br />
clockskew = 300<br />
v4_instance_resolve = false<br />
v4_name_convert = {<br />
host = {<br />
rcmd = host<br />
ftp = ftp<br />
}<br />
plain = {<br />
something = something-else<br />
}<br />
}</p>
<p>[realms]<br />
DOMAIN.RU = {<br />
kdc = ip_add_domain_controlller<br />
admin_server = name_domain_controlller.domain.ru<br />
}<br />
OTHER.REALM = {<br />
v4_instance_convert = {<br />
kerberos = kerberos<br />
computer = computer.some.other.domain<br />
}<br />
}<br />
[domain_realm]<br />
.domain.ru = DOMAIN.RU</p></blockquote>
<p>Меняем DOMAIN на имя домена, ip_add_domain_controlller на ip адрес конроллера домена (вида x.x.x.x), name_domain_controlller на имя контроллера домена. И не забываем - там, где большие буквы - <strong>ОБЯЗАТЕЛЬНО</strong> должны быть большие, ну а маленькие соответственно маленькими. Далее проверяем корректность настройки, вводим в коммандной строке:</p>
<blockquote><p>kinit -p user@DOMAIN.RU</p></blockquote>
<p>Должно появится приглашение на пароль:</p>
<blockquote><p>user@DOMAIN.RU's Password:</p></blockquote>
<p>и при правильном пароле:</p>
<blockquote><p>kinit: NOTICE: ticket renewable lifetime is 1 week</p></blockquote>
<p>И проверим состояние соединения:</p>
<blockquote><p>#klist<br />
Credentials cache: FILE:/tmp/krb5cc_0<br />
Principal: user@DOMAIN.RU</p>
<p>Issued           Expires          Principal<br />
Jan 11 16:45:47  Jan 12 02:45:47  krbtgt/DOMAIN.RU@DOMAIN.RU</p></blockquote>
<p>Далее устанавливаем и настраиваем Samba 3. Заходим в /usr/ports/net/samba3 и устанавливаем - обязательно должно быть LDAP и ADS, остальное по выбору(если не будет ставится попробуйте удалить heimdal - как ни странно это мне помогло докомпилить пакет и все работает). Далее настраиваем /usr/local/etc/smb.conf. Выглядеть должно так:</p>
<blockquote><p>[global]<br />
workgroup = DOMAIN<br />
server string = freebsd<br />
security = ads<br />
encrypt passwords = yes<br />
winbind separator = +<br />
winbind use default domain = yes<br />
winbind uid = 10000-20000<br />
winbind gid = 10000-20000<br />
winbind enum users = yes<br />
winbind enum groups = yes<br />
hosts allow = 192.168. 127.<br />
load printers = no<br />
log file = /var/log/samba/log.%m<br />
password server = ip_add_domain_controller<br />
realm = DOMAIN.RU<br />
passdb backend = tdbsam<br />
socket options = TCP_NODELAY<br />
local master = no<br />
os level = 0<br />
domain master = no<br />
preferred master = no<br />
domain logons = no<br />
dns proxy = no<br />
display charset = koi8-r<br />
unix charset = koi8-r<br />
dos charset = cp866<br />
nt acl support = yes</p></blockquote>
<p>Здесь также обязательны большие/маленькие буквы. Там есть и другие настройки - но для авторизации они нам не интересны. Далее пробуем зайти в домен:</p>
<blockquote><p>net ads join -U user%password<br />
Using short domain name -- DOMAIN<br />
Joined 'SERVER' to realm 'DOMAIN.RU'</p></blockquote>
<p>Далее прописываем в /etc/rc.conf - samba_enable="YES" , для запуска samba после перезагрузки.</p>
<p>Теперь проверим winbind(необходимо запустить samba) - запустим:</p>
<blockquote><p>#wbinfo -t<br />
checking the trust secret via RPC calls succeeded</p></blockquote>
<p>Выставляем права - chmod 750 /var/db/samba/winbindd_privileged, пользователь/группа должны быть root:squid</p>
<p>Теперь вводя комманду:<br />
- wbinfo -u - получаете список пользователей<br />
- wbinfo -g - список групп</p>
<p>Далее проверяем авторизацию в домене:</p>
<blockquote><p>#wbinfo -a user%password<br />
plaintext password authentication succeeded<br />
challenge/response password authentication succeeded</p></blockquote>
<p>Теперь изменяем файл /etc/nsswitch.conf</p>
<blockquote><p>passwd: files winbind<br />
group: files winbind</p></blockquote>
<p>и проверяем распознование пользователей системой</p>
<blockquote><p>#id user<br />
uid=10002(user) gid=10000(domain users) groups=10000(domain users)</p></blockquote>
<p>А теперь приступим собственно к установки и настройки самого squid.</p>
<p>Заходим в /usr/ports/www/squid30/ и устанавливаем. Далее настраиваем конфигурационный файл /usr/local/etc/squid/squid.conf, вносим строки:</p>
<blockquote><p>Для авторизации<br />
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp<br />
auth_param ntlm children 10<br />
#auth_param ntlm max_challenge_reuses 0<br />
#auth_param ntlm max_challenge_lifetime 2 minutes<br />
#auth_param ntlm use_ntlm_negotiate off<br />
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic<br />
auth_param basic children 5<br />
auth_param basic realm Domain Proxy Server<br />
auth_param basic credentialsttl 2 hours<br />
auth_param basic casesensitive off<br />
authenticate_cache_garbage_interval 10 seconds</p>
<p>Аксес лист<br />
acl office src 192.168.0.0/24<br />
acl auth  proxy_auth REQUIRED<br />
http_access deny office noacc<br />
http_access allow office auth</p></blockquote>
<p>Последним обязательно должно быть:</p>
<blockquote><p>http_access deny all</p></blockquote>
<p>Далее пробуем - вводим в настройках компьютера пользователя адрес и порт прокси сервера. При использовании IE авторизация запрашиваться не будет(все должно работать прозрачно), в случае остальных браузеров необходимо вводить логин и пароль.</p>
<p>Прокси сервер squid очень богат на различные настройки - в данном случае описаны ТОЛЬКО авторизационные настройки. В последующих статьях постараюсь описать некоторые другие настройки squid'а.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/335/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ошибка при запуске Apache под FreeBSD</title>
		<link>http://unix4me.ru/archives/277</link>
		<comments>http://unix4me.ru/archives/277#comments</comments>
		<pubDate>Fri, 14 Nov 2008 09:11:59 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=277</guid>
		<description><![CDATA[Настраивал очередной веб-сервер - установил и настроил apache и при запуске очень удивился ошибке:
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
Решил, что это не порядок и полез искать решение проблемы ....

И конечно нашел. Как оказалось проблема была в accf_http модуле, идея которого в буферизации входящих соединений до окончания полного http [...]]]></description>
			<content:encoded><![CDATA[<p>Настраивал очередной веб-сервер - установил и настроил apache и при запуске очень удивился ошибке:</p>
<blockquote><p>[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter</p></blockquote>
<p>Решил, что это не порядок и полез искать решение проблемы ....<br />
<span id="more-277"></span><br />
И конечно нашел. Как оказалось проблема была в accf_http модуле, идея которого в буферизации входящих соединений до окончания полного http запроса. Соответственно включаем его - пишем в командной строке:</p>
<blockquote><p>kldload accf_http</p></blockquote>
<p>И для постоянной загрузки модуля(при перезагрузки) пишем в /boot/loader.conf:</p>
<blockquote><p>accf_http_load=”YES”</p></blockquote>
<p>Вот и все - теперь загрузка apache происходит без ошибок.<br />
А вот - <a href="http://www.mydigitallife.info/2006/04/23/freebsd-apache-http-accept-filter-error/">оригинальная статья</a> по которой я это делал.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/277/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Интересные программки</title>
		<link>http://unix4me.ru/archives/173</link>
		<comments>http://unix4me.ru/archives/173#comments</comments>
		<pubDate>Mon, 08 Sep 2008 11:31:46 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=173</guid>
		<description><![CDATA[Давно было интересно - и добрые люди подсказали.
Нашел две интересные программки - вернее один перловый скрипт ... другой исходники ..

Рассмотрим первое:
shc - Generic shell script compiler
Это как вы поняли программка для компиляции бинарника из шелового скрипта.
Вот ссылка на сайт автора, а вот ссылка на последнюю версию (на сегодняшний день) программы (на случай гибели сайта автора)
второе:
ex2pl
Как [...]]]></description>
			<content:encoded><![CDATA[<p>Давно было интересно - и добрые люди подсказали.<br />
Нашел две интересные программки - вернее один перловый скрипт ... другой исходники ..<br />
<span id="more-173"></span><br />
Рассмотрим первое:</p>
<p>shc - Generic shell script compiler<br />
Это как вы поняли программка для компиляции бинарника из шелового скрипта.<br />
Вот <a href="http://www.datsi.fi.upm.es/~frosal/">ссылка</a> на сайт автора, а <a href="http://unix4me.ru/filez/shc-3.8.6.tgz">вот</a> ссылка на последнюю версию (на сегодняшний день) программы (на случай гибели сайта автора)</p>
<p>второе:</p>
<p>ex2pl<br />
Как понятно из названия - это перловый скрипт который переводит бинарники в перловый скрипт. Сайт автора к сожалению не нашел - но ссылка на сам скрипт - <a href="http://unix4me.ru/filez/ex2pl.zip">вот она</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/173/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Простая установка nat во Freebsd</title>
		<link>http://unix4me.ru/archives/3</link>
		<comments>http://unix4me.ru/archives/3#comments</comments>
		<pubDate>Fri, 20 Jun 2008 12:29:16 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[nat]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=3</guid>
		<description><![CDATA[У нас сервер под управлением FreeBSD(пробовал на 5 и 6 версиях) с двумя сетевыми картами. Одна карта обслуживает внутреннюю подсеть, и имеет адрес - 10.1.1.1 /24(rl0).
Ко второй карте подключен кабель от провайдера и имеет адрес - 84.52.91.91(fxp0).

Для начала нам нужно добавить в ядро несколько опций:
IPFIREWALL - включаем поддержку самого firewall'a
IPFIREWALL_VERBOSE  - это  нужно, [...]]]></description>
			<content:encoded><![CDATA[<p>У нас сервер под управлением FreeBSD(пробовал на 5 и 6 версиях) с двумя сетевыми картами. Одна карта обслуживает внутреннюю подсеть, и имеет адрес - 10.1.1.1 /24(rl0).<br />
Ко второй карте подключен кабель от провайдера и имеет адрес - 84.52.91.91(fxp0).<br />
<span id="more-3"></span><br />
Для начала нам нужно добавить в ядро несколько опций:<br />
IPFIREWALL - включаем поддержку самого firewall'a<br />
IPFIREWALL_VERBOSE  - это  нужно,  что  бы  наш  firewall смог записывать логи<br />
IPFIREWALL_VERBOSE_LIMIT=10 - данная   опция   ограничивает попадающие  в  firewall  логи,  это крайне полезная опция, она не даст сгенерироваться  большому  числу  пакетов  которое  может  привести  к переполнению  жесткого  диска,  и  вам  самим  можно будет более точно оценивать, что происходит, не копаясь в больших логах<br />
IPDIVERT  - обязательна для работы NAT<br />
TCP_DROP_SYNFIN  - эта опция нам не нужна, но ее включение будет гарантировать  полное  отбрасывание  таких  не  хороших  TCP пакетов с одновременно установленными флагами начала и завершения соединения, из собственной  практики  я  зная,  что  такие  пакеты  очень часто любят использовать хакеры<br />
ICMP_BANDLIM - сильно  снижает  число  генерируемых  машиной сообщений  об  ошибках  TCP/IP, крайне полезная опция в отбивания DOS атак</p>
<p><code>options IPFIREWALL<br />
options IPFIREWALL_VERBOSE<br />
options IPFIREWALL_VERBOSE_LIMIT=10<br />
options IPDIVERT<br />
options TCP_DROP_SYNFIN<br />
options ICMP_BANDLIM</code></p>
<p>Далее компилим у устанавливаем новое ядро(более подробно по компиляции и установки смотри /usr/src/Makefile). Теперь  когда  наше новое ядро собрано и установлено с поддержкой ipfw(ipfirewall).</p>
<p>Далее добавляем в /etc/rc.conf:</p>
<p><code>gateway_enable="YES"<br />
#<br />
# natd<br />
natd_enable="YES"<br />
natd_flags="-a 84.52.91.91"</p>
<p>#<br />
# Firewall<br />
firewall_enable="YES"<br />
firewall_script="/etc/rc.firewall"<br />
firewall_type="/etc/fw.filters"<br />
firewall_quiet="NO"<br />
firewall_logging="YES"<br />
firewall_flags=""</code></p>
<p>Создаем файл /etc/fw.filters и добавляем туда правила:</p>
<p><code>add  100  divert natd  all from 10.1.1.0/24 to any out recv rl0 xmit fxp0<br />
add  200  divert  natd all from not 10.1.1.0/24 to 84.52.91.91 recv fxp0<br />
add 65534 allow ip from any to any</code></p>
<p>Далее перегружаем сетевые настройки скриптом /etc/netstart или просто ребутим сервер и получаем сервер который nat'ит внутреннюю подсеть во внешний адрес.</p>
<p>Также можно создать правило и для одиного адреса:<br />
<code>add 100 divert natd all from 10.10.1.6 to any out recv rl0 xmit fxp0<br />
add 200 divert natd all from not 10.10.1.6 to 81.222.156.16 recv fxp0</code></p>
<p>Идея взята с opennet.ru</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
