|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> почтовые системы
—> exim&dovecot + fetchmail + SSL
Установка почтового сервера Exim & Dovecot + Postfixadmin & Roundcube + Fetchmail & smtp_relay + SSL шифрование
Автор: Cancer.
Понадобилось настроить почтовый сервер. Вот первым делом спросил на форуме, какой из MTA лучший, ответ однозначный дали Exim. Конфиги мои по большей части взяты со статей на http://www.lissyara.su/.
Мне поставили такую задачу, у нас был куплен хост на masterhost.ru с почтовым доменом @domain-ak.ru . Далее мне нужно было поставить MTA Exim в локалке и сделать так, чтобы внутренняя почта ходила внутри сети, а внешняя почта приходила сначала на masterhost, а потом masterhost ее редиректил на внутренний сервер. Сделано это было для того чтобы, оставить оплаченную защиту от спама и вирусов, да и немного съэкономить траффик. Ну если наш канал умрет, то те пользователи, ящики которых прописаны только на внешнем почтовом сервере (филиалы и т.п.) отсылали почту друг другу и во внешний мир не через наш канал.
Так как хостинг на masterhost.ru не позволяет делать форвардинг почты для домена но позволяет делать списки рассылки, на который можно подписать любой адрес, схема реализации будет такой:
1.Отправка почты exim'ом на masterhost.ru для домена "@domain-ak.ru" если пользователя не существует в локальном домене "@domain-ak.ru".
2.Отправка всей не локальной почты т.е на удаленные сервера кроме домена
"@domain-ak.ru", отправка производиться через открытый релей провайдера "smtp.donpac.ru"
3.Если лег сервер провайдера donpac.ru ,то EXIM отправляет напрямую от самого себя.
4.Прием почты с мастерхоста. Все письма на адреса *@domain-ak.ru мастерхост форвардит на *@zern.domain-ak.ru. (создаем пересылку, подписываем адрес)
5.Подмена адреса получателя с @zern.domain-ak.ru на @domain-ak.ru. алисы типа pupkin@zern.domain-ak.ru -> pupkin@domain-ak.ru мы прописывать не будем.
6.И ставим Roundcube webmail лучше него я ничего пока еще не видел )(GPL)
7.Ну и прикрутим ко всему этому fetchmail для того что бы тянул письма с удаленных почтовых серваков на локальный.
Да и чуть не забыл, что MTA находиться в DMZ с одной сетевой картой
Сразу пишу статья почти ничем отличается от http://www.lissyara.su/?id=1173 , токо задачи чуть чуть разные, да и написал думаю чуть более полнее, ну конечно кроме конфигов exim и dovecot, их Леха хорошо перевел, так что любому понятно будет.
Перед тем как начать установку обновите порты
/usr/home/cancer/> cd /usr/ports/www/apache13
/usr/ports/www/apache13/> make && make install && make clean
| Добавим строку в /etc/rc.conf для автозапуска apache при перезагрузке сервера
/usr/ports/www/apache13/> echo 'apache_enable="YES"' >> /etc/rc.conf
| Запускаем сам apache
/usr/> /usr/local/etc/rc.d/apache start
| Смотрим запустился ли веб сервер apache
6283 ?? Ss 0:00,05 /usr/local/sbin/httpd
6284 ?? I 0:00,00 /usr/local/sbin/httpd
6285 ?? I 0:00,00 /usr/local/sbin/httpd
6286 ?? I 0:00,00 /usr/local/sbin/httpd
6287 ?? I 0:00,00 /usr/local/sbin/httpd
6288 ?? I 0:00,00 /usr/local/sbin/httpd
6380 p0 R+ 0:00,00 grep http
|
/usr/ports/> cd /usr/ports/databases/mysql51-server/
/usr/ports/databases/mysql51-server/> make && make install && make clean
| Добавляем в /etc/rc.conf строку для запуска mysql
//> echo 'mysql_enable="YES"' >> /etc/rc.conf
| И запускаем сам сервер
//> /usr/local/etc/rc.d/mysql-server start
| Проверяем работу Mysql, должно быть что то типа этого.
6210 p0 RV 0:00,00 grep mysql (csh)
6188 p1- S 0:00,02 /bin/sh /usr/local/bin/mysqld_safe
--defaults-extra-file=/var/db/mysql/my.cnf -- user=mysql --datadir=/var
6206 p1- S 0:00,94 /usr/local/libexec/mysqld
--defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/
|
Далее, задаем пароль для суперпользователя root
//> mysqladmin -u root password 'your_password'
//> mysqladmin -u root -h hostname password 'your_password'
| Создаем таблицы в БД:
############# БД: `exim`
USE mysql;
INSERT INTO `user` (`Host`, `User`, `Password`)
VALUES ('localhost','exim',password('exim'));
INSERT INTO `db` (`Host`, `Db`, `User`, `Select_priv`)
VALUES ('localhost','exim','exim','Y');
FLUSH PRIVILEGES;
GRANT USAGE ON exim.* TO exim@localhost;
GRANT SELECT, INSERT, DELETE, UPDATE ON exim.* TO exim@localhost;
CREATE DATABASE `exim`;
USE `exim`;
#############Структура таблицы `admin`
CREATE TABLE `admin` (
`username` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`username`),
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Admins';
#############Структура таблицы `alias`
CREATE TABLE `alias` (
`address` varchar(255) NOT NULL default '',
`goto` text NOT NULL,
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`address`),
KEY `address` (`address`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Aliases';
#############Структура таблицы `domain`
CREATE TABLE `domain` (
`domain` varchar(255) NOT NULL default '',
`description` varchar(255) NOT NULL default '',
`aliases` int(10) NOT NULL default '0',
`mailboxes` int(10) NOT NULL default '0',
`maxquota` int(10) NOT NULL default '0',
`transport` varchar(255) default NULL,
`backupmx` tinyint(1) NOT NULL default '0',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`domain`),
KEY `domain` (`domain`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Domains';
#############Структура таблицы `domain_admins`
CREATE TABLE `domain_admins` (
`username` varchar(255) NOT NULL default '',
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Domain Admins';
#############Структура таблицы `log`
CREATE TABLE `log` (
`timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
`username` varchar(255) NOT NULL default '',
`domain` varchar(255) NOT NULL default '',
`action` varchar(255) NOT NULL default '',
`data` varchar(255) NOT NULL default '',
KEY `timestamp` (`timestamp`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Log';
#############Структура таблицы `mailbox`
CREATE TABLE `mailbox` (
`username` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`name` varchar(255) NOT NULL default '',
`maildir` varchar(255) NOT NULL default '',
`quota` int(10) NOT NULL default '0',
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`modified` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`username`),
KEY `username` (`username`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Mailboxes';
#############Структура таблицы `vacation`
CREATE TABLE `vacation` (
`email` varchar(255) NOT NULL default '',
`subject` varchar(255) NOT NULL default '',
`body` text NOT NULL,
`cache` text NOT NULL,
`domain` varchar(255) NOT NULL default '',
`created` datetime NOT NULL default '0000-00-00 00:00:00',
`active` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`email`),
KEY `email` (`email`)
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Vacation';
# И на последок дадим пользователю exim права бога :)
GRANT ALL PRIVILEGES ON *.* TO exim@localhost IDENTIFIED BY \
'exim' WITH GRANT OPTION;
|
/usr/> cd /usr/ports/lang/php5
/usr/ports/lang/php5/> make config
|
+--------------------------------------------------------------------+
| Options for php5 5.2.8 |
| +----------------------------------------------------------------+ |
| | [X] CLI Build CLI version | |
| | [X] CGI Build CGI version | |
| | [X] APACHE Build Apache module | |
| | [ ] DEBUG Enable debug | |
| | [X] SUHOSIN Enable Suhosin protection system (not for jails) |
| | [X] MULTIBYTE Enable zend multibyte support | |
| | [ ] IPV6 Enable ipv6 support | |
| | [ ] MAILHEAD Enable mail header patch | |
| | [ ] REDIRECT Enable force-cgi-redirect support (CGI only) | |
| | [ ] DISCARD Enable discard-path support (CGI only) | |
| | [ ] FASTCGI Enable fastcgi support (CGI only) | |
| | [ ] PATHINFO Enable path-info-check support (CGI only) | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
| Устанавливаем
/usr/ports/lang/php5/> make && make install && make clean
| Добавляем следующие строки в /usr/local/etc/apache/httpd.conf #для активации php
//> ee /usr/local/etc/apache/httpd.conf
|
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
| Далее создаем тестовую страничку
//> ee /usr/local/www/data/index.php #вот с таким содержанием
|
Перезапускаем веб сервер командой
//> /usr/local/etc/rc.d/apache restart
| Проверяем работоспособность php заходим с любого
интернет браузера http://ip_tachki/index.php
//> cd /usr/ports/lang/php5-extensions
/usr/ports/lang/php5-extensions/> make config
|
+--------------------------------------------------------------------+
| Options for php5-extensions 1.2 |
| +----------------------------------------------------------------+ |
| | [ ] BCMATH bc style precision math functions | |
| | [X] BZ2 bzip2 library support | |
| | [ ] CALENDAR calendar conversion support | |
| | [ ] CTYPE ctype functions | |
| | [ ] CURL CURL support | |
| | [ ] DBA dba support | |
| | [ ] DBASE dBase library support | |
| | [ ] DOM DOM support | |
| | [ ] EXIF EXIF support | |
| | [ ] FILEINFO fileinfo support | |
| | [ ] FILTER input filter support | |
| | [ ] FRIBIDI FriBidi support | |
| | [ ] FTP FTP support | |
| | [X] GD GD library support | |
| | [X] GETTEXT gettext library support | |
| | [ ] GMP GNU MP support | |
| | [ ] HASH HASH Message Digest Framework | |
| | [X] ICONV iconv support | |
| | [X] IMAP IMAP support | |
| | [ ] INTERBASE Interbase 6 database support (Firebird) | |
| | [ ] JSON JavaScript Object Serialization support | |
| | [ ] LDAP OpenLDAP support | |
| | [X] MBSTRING multibyte string support | |
| | [ ] MCRYPT Encryption support | |
| | [ ] MHASH Crypto-hashing support | |
| | [ ] MING ming shockwave flash support | |
| | [ ] MSSQL MS-SQL database support | |
| | [X] MYSQL MySQL database support | |
| | [X] MYSQLI MySQLi database support | |
| | [ ] NCURSES ncurses support (CLI only) | |
| | [ ] ODBC unixODBC support | |
| | [ ] OPENSSL OpenSSL support | |
| | [ ] PCNTL pcntl support (CLI only) | |
| | [ ] PDF PDFlib support (implies GD) | |
| | [ ] PDO PHP Data Objects Interface (PDO) | |
| | [ ] PDO_SQLITE PDO sqlite driver | |
| | [ ] PGSQL PostgreSQL database support | |
| | [ ] POSIX POSIX-like functions | |
| | [ ] PSPELL pspell support | |
| | [ ] READLINE readline support (CLI only) | |
| | [ ] RECODE recode support | |
| | [X] SESSION session support | |
| | [ ] SHMOP shmop support | |
| | [X] SIMPLEXML simplexml support | |
| | [ ] SNMP SNMP support | |
| | [ ] SOAP SOAP support | |
| | [ ] SOCKETS sockets support | |
| | [ ] SPL Standard PHP Library | |
| | [ ] SQLITE sqlite support | |
| | [ ] SYBASE_CT Sybase database support | |
| | [ ] SYSVMSG System V message support | |
| | [ ] SYSVSEM System V semaphore support | |
| | [ ] SYSVSHM System V shared memory support | |
| | [ ] TIDY TIDY support | |
| | [X] TOKENIZER tokenizer support | |
| | [ ] WDDX WDDX support (implies XML) | |
| | [X] XML XML support | |
| | [X] XMLREADER XMLReader support | |
| | [ ] XMLRPC XMLRPC-EPI support | |
| | [X] XMLWRITER XMLWriter support | |
| | [ ] XSL XSL support (Implies DOM) | |
| | [ ] YAZ YAZ support (ANSI/NISO Z39.50) | |
| | [ ] ZIP ZIP support | |
| | [X] ZLIB ZLIB support | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
| Устанавливаем
/usr/ports/lang/php5-extensions/> make && make install && make clean
|
//> cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
| И раскомментируем строку
session.save_path = "/tmp"
| Перезагрузим apache
//> /usr/local/etc/rc.d/apache restart
|
//> cd /usr/ports/mail/postfixadmin/
/usr/ports/mail/postfixadmin/> make config
|
+--------------------------------------------------------------------+
| Options for postfixadmin 2.2.1.1 |
| +----------------------------------------------------------------+ |
| | [X] MYSQL MySQL back-end (use mysql PHP extension) | |
| | [X] MYSQLI MySQL 4.1+ back-end (use mysqli PHP extension) | |
| | [ ] PGSQL PostgreSQL back-end (use pgsql PHP extension) | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
//> make && make install && make clean
| Добавляем алиас в httpd.conf
//> ee /usr/local/etc/apache/httpd.conf
|
# Алиас для "postfixadmin"
Alias /postfixadmin "/usr/local/www/postfixadmin/"
<Directory "/usr/local/www/postfixadmin/">
Options -Indexes FollowSymLinks MultiViews
DirectoryIndex index.php
AllowOverride None
Order deny,allow
Allow from all
</Directory>
| Правим конфиг postfixadmin
//> ee /usr/local/www/postfixadmin/config.inc.php
|
<?php
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE.TXT.
*
* Further details on the project are available at :
* http://www.postfixadmin.com or http://postfixadmin.sf.net
*
* @version $Id: config.inc.php 408 2008-07-21 21:43:06Z GingerDog $
* @license GNU GPL v2 or later.
*
* File: config.inc.php
* Contains configuration options.
*/
if (ereg ("config.inc.php", $_SERVER['PHP_SELF']))
{
header ("Location: login.php");
exit;
}
/*****************************************************************
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* The following line needs commenting out or removing before the
* application will run!
* Doing this implies you have changed this file as required.
*/
// $CONF['configured'] = false;
// Postfix Admin Path
// Set the location of your Postfix Admin installation here.
//Указывает где установлен postfixadmin
// YOU MUST ENTER THE COMPLETE URL e.g. http://domain.tld/postfixadmin
$CONF['postfix_admin_url'] = 'http://mail.zern.domain-ak.ru/postfixadmin/';
// shouldn't need changing.
$CONF['postfix_admin_path'] = '/usr/local/www/postfixadmin/';
// Language config
// Language files are located in './languages', change as required..
// Язык интерфейса. Список всех языков можно посмотреть
// в каталоге './languages'
$CONF['default_language'] = 'ru';
// Database Config
// mysql = MySQL 3.23 and 4.0
// mysqli = MySQL 4.1
// pgsql = PostgreSQL
// Параметры БД. Здесь необходимо указать тип БД
// MySQL или PostgreSQL),
// имя пользователя и пароль, использующиеся при
// подключении, а также имя БД.
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'exim';
$CONF['database_password'] = 'exim';
$CONF['database_name'] = 'exim';
$CONF['database_prefix'] = '';
// Here, if you need, you can customize table names.
$CONF['database_prefix'] = '';
$CONF['database_tables'] = array (
'admin' => 'admin',
'alias' => 'alias',
'alias_domain' => 'alias_domain',
'config' => 'config',
'domain' => 'domain',
'domain_admins' => 'domain_admins',
'fetchmail' => 'fetchmail',
'log' => 'log',
'mailbox' => 'mailbox',
'vacation' => 'vacation',
'vacation_notification' => 'vacation_notification',
);
// Site Admin
// Define the Site Admins email address below.
// This will be used to send emails from to create mailboxes.
// email от имени которго будет приходит письмо пользователю
// при создании почтового ящика
$CONF['admin_email'] = 'postmaster@domain-ak.ru';
// Mail Server
// Hostname (FQDN) of your mail server.
// This is used to send email to Postfix in order
// to create mailboxes.
// Имя хоста в формате FQDN где находится
// почтовый сервер postfix. Эти данные будут
//использоваться при отправке
// email для создания почтовых ящиков
$CONF['smtp_server'] = 'localhost';
$CONF['smtp_port'] = '25';
// Encrypt
// In what way do you want the passwords to be crypted?
// md5crypt = internal postfix admin md5
// md5 = md5 sum of the password
// system = whatever you have set as your PHP system default
// cleartext = clear text passwords (ouch!)
// system - используется метод шифрования
// установленный по умолчанию в php
// cleartext - в чистом виде, т.е. без шифрования.
$CONF['encrypt'] = 'cleartext';
// Minimum length required for passwords. Postfixadmin will not
// allow users to set passwords which are shorter than this value.
// Минимальная длина пароля. Postfixadmin не позволит
// пользователям сделать пароль
// короче чем эта величина
$CONF['min_password_length'] = 5;
// Generate Password
// Generate a random password for a mailbox or admin and display it.
// If you want to automagically generate paswords set this to 'YES'.
// Если вы хотите, чтобы postfix admin автоматически
// генерировал и отображал
// пароль при создании почтового ящика установите значение YES
$CONF['generate_password'] = 'NO';
// Show Password
// Always show password after adding a mailbox or admin.
// If you want to always see what password was set set
// this to 'YES'.
// Показывать пароль админа или юзера при
// просмотре списка ящиков
$CONF['show_password'] = 'NO';
// Page Size
// Set the number of entries that you would like to see
// in one page.
// Количество записей, одновременно отображаемых на странице
$CONF['page_size'] = '25';
// Default Aliases
// The default aliases that need to be created for all domains.
// Алиасы, создаваемые при создании домена
$CONF['default_aliases'] = array (
'abuse' => 'abuse@domain-ak.ru',
'hostmaster' => 'hostmaster@domain-ak.ru',
'postmaster' => 'postmaster@domain-ak.ru',
'webmaster' => 'webmaster@domain-ak.ru'
);
// Mailboxes
// If you want to store the mailboxes per domain set this to 'YES'.
// Examples:
// YES: /usr/local/virtual/domain.tld/username@domain.tld
// NO: /usr/local/virtual/username@domain.tld
// Использовать имя домена в пути к почтовому ящику 'YES'.
$CONF['domain_path'] = 'YES';
// If you don't want to have the domain in your
// mailbox set this to 'NO'.
// Examples:
// YES: /usr/local/virtual/domain.tld/username@domain.tld
// NO: /usr/local/virtual/domain.tld/username
// Note: If $CONF['domain_path'] is set to NO, this setting
// will be forced to YES.
// Включать имя домена в имя почтового ящика
$CONF['domain_in_mailbox'] = 'NO';
// Default Domain Values
// Specify your default values below. Quota in MB.
// Значения по умолчанию при создании домена. Количество алиасов,
// почтовых ящиков и максимальная квота в Мб.Если стоит 0,
// это без ограничений
$CONF['aliases'] = '0';
$CONF['mailboxes'] = '0';
$CONF['maxquota'] = '0';
// Quota
// When you want to enforce quota for your mailbox
// users set this to 'YES'.
// Позволяет задавать квоты при создании почтового ящика
$CONF['quota'] = 'YES';
// You can either use '1024000' or '1048576'
$CONF['quota_multiplier'] = '1024000';
// Transport
// If you want to define additional transport options for
// a domain set this to 'YES'.
// Read the transport file of the Postfix documentation.
// Позволяет устанавливать дополнительные параметры
// транспорта для домена
$CONF['transport'] = 'NO';
// Transport options
// If you want to define additional transport options
// put them in array below.
// Опции транспорта.
$CONF['transport_options'] = array (
'virtual', // for virtual accounts
'local', // for system accounts
'relay' // for backup mx
);
// Transport default
// You should define default transport. It must be in array above.
// Транспорт по умолчанию
$CONF['transport_default'] = 'virtual';
// Virtual Vacation
// If you want to use virtual vacation for you mailbox
// users set this to 'YES'.
// NOTE: Make sure that you install the vacation module
// Следующих два параметра используются для организации DNS
$CONF['vacation'] = 'NO';
// This is the autoreply domain that you will need to
// set in your Postfix
// transport maps to handle virtual vacations. It does
// not need to be a
// real domain (i.e. you don't need to setup DNS for it).
$CONF['vacation_domain'] = 'autoreply.domain-ak.ru';
// Vacation Control
// If you want users to take control of vacation set this to 'YES'.
// Управления алиасами, которые создает postfix для каждого ящика
$CONF['vacation_control'] ='YES';
// Vacation Control for admins
// Set to 'YES' if your domain admins should be able to
// edit user vacation.
// Установите "YES", если администраторы имеют
// возможность редактировать
// ящики (Активный Неактивный)
$CONF['vacation_control_admin'] = 'YES';
// Alias Control
// Postfix Admin inserts an alias in the alias table for
// every mailbox it creates.
// The reason for this is that when you want catch-all and
// normal mailboxes
// to work you need to have the mailbox replicated in the
// alias table.
// If you want to take control of these aliases as well
// set this to 'YES'.
// Если вы хотите взять под контроль алиасы, то установить "YES".
$CONF['alias_control'] = 'YES';
// Alias Control for admins
// Set to 'NO' if your domain admins shouldn't be
// ableto edit user aliases.
// Право на редактирование алисов админами
$CONF['alias_control_admin'] = 'YES';
// Special Alias Control
// Set to 'NO' if your domain admins shouldn't be
// able to edit default aliases.
// Право на редактирование стандартных алиасов админами
$CONF['special_alias_control'] = 'YES';
// Alias Goto Field Limit
// Set the max number of entries that you would like to see
// in one 'goto' field in overview, the rest will be hidden
// and "[and X more...]"
// will be added.'0' means no limits.
$CONF['alias_goto_limit'] = '0';
// Backup
// If you don't want backup tab set this to 'NO';
// Включить кнопку бэкап "YES" "NO"
$CONF['backup'] = 'YES';
// Send Mail
// If you don't want sendmail tab set this to 'NO';
// Включает закладку "Отправить письмо"
$CONF['sendmail'] = 'YES';
// Logging
// If you don't want logging set this to 'NO';
// Позволяет вести лог действий работы с postfixadmin
$CONF['logging'] = 'YES';
// Fetchmail
// If you don't want fetchmail tab set this to 'NO';
// Включает закладку "Сбор почты" (fetchmail)
$CONF['fetchmail'] = 'YES';
// fetchmail_extra_options allows users to specify
// any fetchmail options and any MDA
// (it will even accept 'rm -rf /' as MDA!)
// This should be set to NO, except if you *really* trust *all* your users.
$CONF['fetchmail_extra_options'] = 'NO';
// Header
// Отображать текст вверху страницы и его содержимое
$CONF['show_header_text'] = 'NO';
$CONF['header_text'] = ':: Postfix Admin ::';
// link to display under 'Main' menu when logged in as a user.
$CONF['user_footer_link'] = "http://zern.domain-ak.ru/postfixadmin";
// Footer
// Below information will be on all pages.
// If you don't want the footer information to appear set this to 'NO'.
// Аналогично, только текст будет отображаться внизу всех страниц
$CONF['show_footer_text'] = 'YES';
$CONF['footer_text'] = 'Вернуться на главную страницу';
$CONF['footer_link'] = 'http://zern.domain-ak.ru/postfixadmin';
// Welcome Message
// This message is send to every newly created mailbox.
// Change the text between EOM.
// Текст письма привествия. Это письмо будет высылаться на каждый
// создаваемый почтовый ящик
$CONF['welcome_text'] = <<<EOM
Hi,
Welcome to your new account.
EOM;
// When creating mailboxes or aliases, check that the domain-part of the
// address is legal by performing a name server look-up.
// #Обязательно поменяйте этот параметр на NO
$CONF['emailcheck_resolve_domain']='NO';
// Optional:
// Analyze alias gotos and display a colored block in the first column
// indicating if an alias or mailbox appears to deliver to a non-existent
// account. Also, display indications, for POP/IMAP mailboxes and
// for custom destinations (such as mailboxes that forward to a UNIX shell
// account or mail that is sent to a MS exchange server, or any other
// domain or subdomain you use)
// See http://www.w3schools.com/html/html_colornames.asp for a list of
// color names available on most browsers
//set to YES to enable this feature
$CONF['show_status']='NO';
//display a guide to what these colors mean
$CONF['show_status_key']='NO';
// 'show_status_text' will be displayed with the background colors
// 'show_status_text' will be displayed with the background colors
// associated with each status, you can customize it here
$CONF['show_status_text']=' ';
// show_undeliverable is useful if most accounts are delivered to this
// postfix system. If many aliases and mailboxes are forwarded
// elsewhere, you will probably want to disable this.
$CONF['show_undeliverable']='NO';
$CONF['show_undeliverable_color']='tomato';
//# Уберите обязательно перенос \
$CONF['show_undeliverable_exceptions']=array("unixmail.domain.ext", \
"exchangeserver.domain.ext"
,"gmail.com");
$CONF['show_popimap']='NO';
$CONF['show_popimap_color']='darkgrey';
// set 'show_custom_count' to 0 to disable custom indicators
$CONF['show_custom_count']=2;
$CONF['show_custom_domains']=array("subdomain.domain.ext","domain2.ext");
$CONF['show_custom_colors']=array("lightgreen","lightblue");
// Optional:
// Script to run after creation of mailboxes.
// Note that this may fail if PHP is run in "safe mode", or if
// operating system features (such as SELinux) or limitations
// prevent the web-server from executing external scripts.
// $CONF['mailbox_postcreation_script']='sudo -u courier \
// /usr/local/bin/postfixadmin-mailbox-postcreation.sh';
// Optional:
// Script to run after alteration of mailboxes.
// Note that this may fail if PHP is run in "safe mode", or if
// operating system features (such as SELinux) or limitations
// prevent the web-server from executing external scripts.
// $CONF['mailbox_postedit_script']='sudo -u courier \
// /usr/local/bin/postfixadmin-mailbox-postedit.sh';
// Optional:
// Script to run after deletion of mailboxes.
// Note that this may fail if PHP is run in "safe mode", or if
// operating system features (such as SELinux) or limitations
// prevent the web-server from executing external scripts.
// $CONF['mailbox_postdeletion_script']='sudo -u courier \
// /usr/local/bin/postfixadmin-mailbox-postdeletion.sh';
// Optional:
// Script to run after deletion of domains.
// Note that this may fail if PHP is run in "safe mode", or if
// operating system features (such as SELinux) or limitations
// prevent the web-server from executing external scripts.
// $CONF['domain_postdeletion_script']='sudo -u courier \
// /usr/local/bin/postfixadmin-domain-postdeletion.sh';
// Optional:
// Sub-folders which should automatically be created for new users.
// The sub-folders will also be subscribed to automatically.
// Will only work with IMAP server which implement sub-folders.
// Will not work with POP3.
// If you define create_mailbox_subdirs, then the
// create_mailbox_subdirs_host must also be defined.
//
// $CONF['create_mailbox_subdirs']=array('Spam');
// $CONF['create_mailbox_subdirs_host']='localhost';
//
// Normally, the TCP port number does not have to be specified.
// $CONF['create_mailbox_subdirs_hostport']=143;
//
// If you have trouble connecting to the IMAP-server, then specify
// a value for $CONF['create_mailbox_subdirs_hostoptions']. These
// are some examples to experiment with:
// $CONF['create_mailbox_subdirs_hostoptions']=array('notls');
// $CONF['create_mailbox_subdirs_hostoptions']= \
// array('novalidate-cert','norsh');
// See also the "Optional flags for names" table at
// http://www.php.net/manual/en/function.imap-open.php
// Theme Config
// Specify your own logo and CSS file
$CONF['theme_logo'] = 'images/logo-default.png';
$CONF['theme_css'] = 'css/default.css';
// If you want to keep most settings at default values
// and/or want to ensure
// that future updates work without problems, you can use
// a separate config
// file (config.local.php) instead of editing this file
// and override some
// settings there.
if (file_exists(dirname(__FILE__) . '/config.local.php')) { # for /
include(dirname(__FILE__) . '/config.local.php');
}
//
// END OF CONFIG FILE
//
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */
| Перезагрузим apache
//> /usr/local/etc/rc.d/apache restart
| Далее переходим в браузере http://ip/postfixadmin/
там создаем Администратора для того чтобы создавать домены и других админов
Будет что то типа
создаем администратора и нас просят удалить setup.php, но мы его просто переименуем :)
//> mv /usr/local/www/postfixadmin/setup.php \
/usr/local/www/postfixadmin/setup-old.php
|
//> cd /usr/ports/mail/dovecot
/usr/ports/mail/dovecot/> make config
|
+--------------------------------------------------------------------+
| Options for dovecot 1.1.8 |
| +----------------------------------------------------------------+ |
| | [X] KQUEUE kqueue(2) support | |
| | [X] SSL SSL support | |
| | [X] IPV6 IPv6 support | |
| | [X] POP3 POP3 support | |
| | [X] LDA LDA support | |
| | [ ] MANAGESIEVE ManageSieve support | |
| | [ ] GSSAPI GSSAPI support | |
| | [ ] VPOPMAIL VPopMail support | |
| | [ ] BDB BerkleyDB support | |
| | [ ] LDAP OpenLDAP support | |
| | [ ] PGSQL PostgreSQL support | |
| | [X] MYSQL MySQL support | |
| | [ ] SQLITE SQLite support | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/mail/dovecot/> make && make install && make clean
|
Создаем сертификаты для того что бы Dovecot мог работать с SSL шифрованием
//> mkdir /etc/dovecot
//> mkdir /etc/dovecot/ssl
|
Далее генерим ключ и сертификат, в моем случае буду генерить 2048 битный
//> cd /etc/dovecot/ssl
/etc/dovecot/ssl/> openssl req -new -outform PEM -out dovecot.crt \
-newkey rsa:2048 -nodes -keyout dovecot.key -keyform PEM -days 9999 -x509
|
Generating a 2048 bit RSA private key
..........................................+++
........................................+++
writing new private key to 'dovecot.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Rostov
Locality Name (eg, city) []:Zernograd
Organization Name (eg, company) [Internet Widgits Pty Ltd]:COMPANY
Organizational Unit Name (eg, section) []:IT
Common Name (eg, YOUR name) []:pop.zern.domain-ak.ru
Email Address []:postmaster@domain-ak.ru
|
Далее пишем конфиг Dovecot'a
/usr/ports/mail/dovecot/> cd /usr/local/etc/
/usr/local/etc/> ee dovecot.conf
|
base_dir = /var/run/dovecot/
protocols = imap imaps pop3 pop3s
# Renamed ssl_disable = yes to ssl = no
ssl = yes
ssl_cert_file = /etc/dovecot/ssl/dovecot.crt
ssl_key_file = /etc/dovecot/ssl/dovecot.key
protocol imap {
listen = *:143
ssl_listen = *:9143
}
protocol pop3 {
listen = *:110
ssl_listen = *:9110
}
disable_plaintext_auth = no
shutdown_clients = yes
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 64
login_greeting = dovecot MUA ready
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
verbose_proctitle = yes
first_valid_uid = 25
first_valid_gid = 0
mail_access_groups = mail
# После отладки убрать mail_debug
mail_debug = yes
mail_location = maildir:/var/mail/exim/%d/%n
# Removed umask. It wasn't really used anywhere anymore
# umask = 0077
protocol imap {
imap_client_workarounds = delay-newmail outlook-idle \
netscape-eoh tb-extra-mailbox-sep
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
postmaster_address = postmaster@domain-ak.ru
auth_socket_path = /var/run/dovecot/auth-master
}
auth default {
mechanisms = plain
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = mailnull
}
}
passdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
userdb sql {
args = /usr/local/etc/dovecot-sql.conf
}
user = root
}
plugin {
}
| Далее создаём файл dovecot-sql.conf
/usr/local/etc/> ee dovecot-sql.conf
|
driver = mysql
connect = host=localhost dbname=exim user=exim password=exim
default_pass_scheme = PLAIN
password_query = SELECT `username` as `user`, `password` FROM \
`mailbox` WHERE `username` = '%n@%d' AND `active`='1'
user_query = SELECT `maildir` AS `home`, 26 AS `uid`, 26 AS `gid` \
FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'
| Запускаем Dovecot
/usr/local/etc/> echo 'dovecot_enable="YES"' >> /etc/rc.conf
/usr/local/etc/> /usr/local/etc/rc.d/dovecot start
Starting dovecot.
//>
|
Теперь можно проверить работу сервера с сертификатом
//> openssl s_client -connect mail.zern.domain-ak.ru:imaps -debug
| Если все корректно настроили в ответ выйдет куча текста.
В тексте будут присутствовать такие строки
subject=/C=RU/ST=Rostov/L=Zernograd/O=COMPANY/OU=IT
/CN=pop.zern.domain-ak.ru/emailAddress=postmaster@domain-ak.ru
issuer=/C=RU/ST=Rostov/L=Zernograd/O=COMPANY/OU=IT/
CN=pop.zern.domain-ak.ru/emailAddress=postmaster@domain-ak.ru
|
Пишем вот это для сборки Exim , я его собирал без антивируса т.к masterhost.ru сам проверяет на вирусы, а два раза проверять на вирусы, это слишком (плюс еще к тому же на каждом компе антивирь NOD32)т.е даже трижды.
PORTSDIR?= /usr/ports
.if ${.CURDIR} == ${PORTSDIR}/mail/exim
WITH_MYSQL= yes
LOG_FILE_PATH?= syslog
WITH_DEFAULT_CHARSET?= koi8-r
WITHOUT_IPV6= yes
.endif
|
//> cd /usr/ports/mail/exim/
/usr/ports/mail/exim/> make && make install && make clean
| Отключаем sendmail
/usr/ports/mail/exim/> echo 'sendmail_enable="NONE"' >> /etc/rc.conf
/usr/ports/mail/exim/> ee /etc/mail/mailer.conf
| Правим mailer.conf
sendmail /usr/local/sbin/exim
send-mail /usr/local/sbin/exim
mailq /usr/local/sbin/exim -bp
newaliases /usr/local/sbin/exim -bi
hoststat /usr/local/sbin/exim
purgestat /usr/local/sbin/exim
|
Далее останавливаем Sendmail
//> /etc/rc.d/sendmail forcestop
|
Теперь пришло время генерить ключ и сертификат для Exim'a
//> mkdir /etc/exim
//> mkdir /etc/exim/ssl
|
/etc/exim/ssl/> openssl req -new -outform PEM -out exim.crt -newkey rsa:2048 \
-nodes -keyout exim.key -keyform PEM -days 9999 -x509
|
Generating a 2048 bit RSA private key
..........................................+++
........................................+++
writing new private key to 'exim.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Rostov
Locality Name (eg, city) []:Zernograd
Organization Name (eg, company) [Internet Widgits Pty Ltd]:COMPANY
Organizational Unit Name (eg, section) []:IT
Common Name (eg, YOUR name) []:smtp.zern.domain-ak.ru
Email Address []:postmaster@domain-ak.ru
|
И приводим конфиг Exim'a вот в такое состояние.(Смотрите внимательнее)
//> ee /usr/local/etc/exim/configure
|
# Имя хоста. Используется в EHLO.
# Фигурирует в других пунктах, если они не заданы -
# типа qualify_domain и прочих..
# Если тут ничё не установлено (строка закомметрована)
# то используется то, что вернёт функция uname()
primary_hostname = mail.zern.domain-ak.ru
# Вводим данные для подключения к MySQL серверу.
# словечко `hide`, вначале, означает, что при
# вызове проверки конфига командой
# exim -bV config_file эти данные не будут отображаться.
# Если без него - то будут показаны... Формат записи:
# хост/имя_бд/пользователь/пароль
hide mysql_servers = localhost/exim/exim/exim
# Делаем список локальных доменов. Далее этот
# список будет фигурировать в виде +local_domains
# В данном случае домены выбираются из БД MySQL. Также
# можно их просто перечислить через двоеточие. Есть интересная
# возможность, можно указать юзер@[хост] - user@[217.111.ххх.ххх]
domainlist local_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}
# делаем список доменов с которых разрешены релеи.
# Далее этот список будет в виде +relay_to_domains
# Можно использовать символы подстановки, типа:
# .... = *.my.ddomain-ak.ru : !spam.my.domen.su : first.su
# тогда пропускается всё, что похоже на *.my.domain-ak.ru, но
# от spam.my.domain.ru релеится почта не будет.
domainlist relay_to_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}
# Составляем список хостов с которых разрешён неавторизованый
# релей. Обычно в нём находятся локальные сети, и локалхост...
# ЛокалХост в двух видах был внесён сознательно - пару раз
# сталкивался с кривым файлом /etc/hosts - результатом было
# непонимание `localhost` но пониманием 127.0.0.1/8
hostlist relay_from_hosts = localhost:127.0.0.0/8
# Вводим названия acl`ов для проверки почты. (В общем-то, это
# необязательно, если вы делаете открытый релей, или хотите
# принимать вообще всю почту с любого хоста для любых
# получателей... Тока потом не жалуйтесь что у Вас спам
# и провайдер выкатывает немеряный счёт :))
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
# Прикручиваем антивирус - при условии, что exim собран
# с его поддержкой. В качестве антивиря юзаем ClamAV,
# ибо - ПО должно быть свободным! :)
# Итак, указываем местоположение сокета clamd.
#av_scanner = clamd:/var/run/clamav/clamd.sock
# Адрес куда слать на проверку спама (SpamAssasin), но я
# это не юзаю. Не так много у меня спама...
# spamd_address = 127.0.0.1 783
# Порты какие будет слушать Exim (25 и 9025)
daemon_smtp_ports = 25 : 9025
# Указываем порт который будет работать с шифрованием SSL TLS
tls_on_connect_ports = 9025
# Указываем где у нас находяться сертификат и ключ
tls_certificate = /etc/exim/ssl/exim.crt
tls_privatekey = /etc/exim/ssl/exim.key
# Имя домена добавляемое для локальных отправителей (реальных
# юзеров системы) т.е. почта отправляемая от root, будет от
# root@домен_указанный_здесь. Если пункт незадан, то используется
# имя хоста из `primary_hostname`. Логичней было бы написать здесь
# lissyara.su, но мне удобней иначе:
qualify_domain = zern.domain-ak.ru
# Имя хоста для ситуации, обратной предыдущей, - это имя домена
# добавляемое к почте для системных юзеров, ну и вообще для почты
# пришедшей на адрес типа `root`, `lissyara`, & etc... Если этот
# пункт незадан то используется значение полученное из
# предыдущего пункта - `qualify_domain`
qualify_recipient = zern.domain-ak.ru
# А это как раз кусок вышеописанного анахронизма - про почту в
# виде user@[222.222.222.222] - принимать её или нет. По дефолту
# (когда строка закомментирована) значение - false. Если захотите
# поставить true то надо будет добавить в список доменов
# комбинацию @[] - она означает `все локальные адреса`
allow_domain_literals = false
# Пользователь от которого работает exim
exim_user = mailnull
# группа в кторой работает exim
exim_group = mail
# запрещаем работу доставки под юзером root - в целях безопасности
never_users = root
# Проверяем соответствие прямой и обратной зон для всех хостов.
# Тока зачем это нужно - даже и незнаю... Спам на этом не режется...
# Зато возможны проблемы - если сервер зоны скажет `сервер файлед`
# то почту от этого хоста Вы не получите :)
#host_lookup = *
# Тоже анахронизм (на самом деле, не такой уж анахронизм, но все давно
# забили на ident и закрыли файрволлом tcp:113...) Это проверка - Ваш
# хост спрашивает у удалённого, с которого было подключение, а кто
# собстно ко мне подключился на такой-то порт? Если на удалённом хосте
# работает identd - он может ответить (а может и не ответить - как
# настроить), скажет UID пользователя от которого установлено
# соединение, тип ОС, и имя пользователя. Теперь, понимаете, почему
# у всех оно зарублено и файрволлами позакрыто? :) Это же палево :)
# Тока на мой взгляд, если на сервере всё настроено правильно -
# то вовсе это и не страшно.
# Короче - если хостс поставить * то будет проверять все. Таймаут -
# если поставить 0 то не будет ждать ответа ни от кого. По
# вышеописанным причинам - отключаем
#rfc1413_hosts = *
rfc1413_query_timeout = 0s
# По дефолту, экзим отфутболивает все `неквалифицированные` адреса,
# состоящие тока из локальной части. Для того чтобы разрешить такие письма
# определённых хостов используются эти директивы:
# для `неквалифицированных` отправителей
sender_unqualified_hosts = +relay_from_hosts
# для `неквалифицированных` получателей
recipient_unqualified_hosts = +relay_from_hosts
# Интересный пункт, тока я не вполне понимаю его логику.
# Позволяет выполнять что-то типа - пришло сообщение на
# локальный ящик user%test.ru@domain-ak.ru и
# переправляет его на user@test.ru. Делается это для
# перечисленного списка доменов (* - все):
# percent_hack_domains = *
# Если сообщение было недоставлено, то генерится соощение
# об ошибке. Если сообщение об ошибке не удалось доставить
# то оно замораживается на указанный в этом пункте срок,
# после чего снова попытка доставить его. При очередной
# неудаче - сообщение удаляется.
ignore_bounce_errors_after = 45m
# Замороженные сообщения, находящиеся в очереди, дольше
# указанного времени удаляются и генерится сообщение
# об ошибке (при условии, что это не было недоставленное
# сообщение об ошибке :))
timeout_frozen_after = 15d
# собсно на этом штатный конфиг кончился, но
# меня-то это не устраивает... Поэтому пошли пункты,
# почёрпнутые из других источников.
# список адресов, через запятую, на которые засылаются
# сообщения о замороженных сообщениях (о замороженых
# уведомлениях о заморозке, сообщения не генерятся. - я
# надеюсь эта строка понятна :))
freeze_tell = postmaster@domain-ak.ru
# Список хостов, почта от которых принимается, несмотря
# на ошибки в HELO/EHLO (тут указана моя подсеть)
helo_accept_junk_hosts = 192.168.1.0/24
# Через какое время повторять попытку доставки
# замороженного сообщения
auto_thaw = 1h
# Приветствие сервера
smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"
# Максимальное число одновременных подключений по
# SMTP. Рассчитывать надо исходя из нагрузки на сервер
smtp_accept_max = 50
# максимальное число сообщений принимаемое за одно соединение
# от удалённого сервера (или пользователя). C числом 25
# я имел проблемы тока один раз - когда у меня три дня лежал
# инет и после его подъёма попёрли мессаги. Но у меня не так
# много почты - всего 30 пользователей.
smtp_accept_max_per_connection = 25
# чё-то про логи и борьбу с флудом - я так понимаю -
# максимальное число сообщений записываемых в логи
smtp_connect_backlog = 30
# максимальное число коннектов с одного хоста
smtp_accept_max_per_host = 20
# Ход ладьёй - для увеличения производительности,
# директория `spool` внутри, разбивается на
# директории - это ускоряет обработку
split_spool_directory = true
# Если у сообщения много адресатов на удалённых хостах,
# то запускатеся до указанного числа максимально число
# параллельных процессов доставки
remote_max_parallel = 15
# при генерации сообщения об ошибке прикладывать
# не всё сообщение, а кусок (от начала) указанного
# размера (иногда полезно и целиком - в таком случае
# просто закомментируйте эту строку)
return_size_limit = 70k
# размер сообщения. У меня стоит относительно большой
# размер (`относительно` - потому, что на большинстве
# хостов оно ограничено 2-5-10мб, либо стоит анлим.)
message_size_limit = 10M
# разрешаем неположенные символы в HELO (столкнулся
# с этим случайно - имя фирмы состояло из двух слов
# и какой-то раздолбай домен обозвал my_firme_name
# прям с подчёркиваниями... Виндовые клиенты при
# соединении радостно рапортовали о себе
# `vasya.my_firme_name` ну а экзим их футболил :))
helo_allow_chars = _
# Принудительная синхронизация. Если отправитель
# торопится подавать команды, не дождавшись ответа,
# то он посылается далеко и надолго :) Немного,
# спам режется. вкл = true / выкл = false
smtp_enforce_sync = false
# Выбираем, что мы будем логировать
# + - писать в логи,
# - - Не писать в логи.
# +all_parents - все входящие?
# +connection_reject - разорваные соединения
# +incoming_interface - интерфейс (реально - IP)
# +lost_incoming_connections - потеряные входящие
# соединения
# +received_sender - отправитель
# +received_recipients - получатель
# +smtp_confirmation - подтверждения SMTP?
# +smtp_syntax_error - ошибки синтаксиса SMTP
# +smtp_protocol_error - ошибки протокола SMTP
# -queue_run - работа очереди (замороженные мессаги)
log_selector = \
+all_parents \
+connection_reject \
+incoming_interface \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run
# Убираем собственную временную метку exim`a из логов, её ставит
# сам syslogd - нефига дублировать
syslog_timestamp = no
### конфигурация ACL для входящей почты
begin acl
# Эти правила срабатывают для каждого получателя
acl_check_rcpt:
# принимать сообщения которые пришли с локалхоста,
# не по TCP/IP
accept hosts = :
# Запрещаем письма содержащие в локальной части
# символы @; %; !; /; |. Учтите, если у вас было
# `percent_hack_domains` то % надо убрать.
# Проверяются локальные домены
deny message = "incorrect symbol in address"
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
# Проверяем недопустимые символы для
# нелокальных получателей:
deny message = "incorrect symbol in address"
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
# Принимаем почту для постмастеров локальных доменов без
# проверки отправителя (я закомментировал, т.к. это -
# основной источник спама с мой ящик).
#
# accept local_parts = postmaster
# domains = +local_domains
#
# Запрещщаем, если невозможно проверить отправителя
# (отсутствует в списке локальных пользователей)
# У себя я это закоментил, по причине, что некоторые
# железяки (принтеры, & etc) и программы (Касперский, DrWEB)
# умеют слать почту, в случае проблем но не умеют ставить
# нужного отправителя. Такие письма эта проверка не пускает.
# require verify = sender
# Запрещщаем тех, кто не обменивается приветственными
# сообщениями (HELO/EHLO)
deny message = "HELO/EHLO require by SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
# Принимаем сообщения от тех, кто аутентифицировался:
# Вообще, большинство конфигов в рунете - это один и тот же
# конфиг написанный Ginger, в котором этот пункт расположен
# внизу. Но при таком расположении рубятся клиенты с adsl,
# ppp, и прочие зарезанные на последующих проверках. Но это
# жа неправильно! Этом мои пользователи из дома! Потому
# я это правило расположил до проверок.
accept authenticated = *
# Рубаем нах, тех, кто подставляет свой IP в HELO
deny message = "Your IP in HELO - access denied!"
hosts = * : !+relay_from_hosts : !81-196.domain-ak.ru
condition = ${if eq{$sender_helo_name}\
{$sender_host_address}{true}{false}}
# Рубаем тех, кто в HELO пихает мой IP (2500 мудаков за месяц!)
deny condition = ${if eq{$sender_helo_name}\
{$interface_address}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "main IP in your HELO! Access denied!"
# Рубаем тех, кто в HELO пихает только цифры
# (не бывает хостов ТОЛЬКО из цифр)
deny condition = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "can not be only number in HELO!"
## Рубаем тех, кто не пишет отправителя (пробел)
# deny condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
# hosts = !127.0.0.1 : !localhost : *
# message = "Sender address contains spaces?! not for RFC..."
# Рубаем тех, кто не пишет отправителя
deny condition = ${if eq{$sender_address}{}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Sender address is empty?! not for RFC..."
# Рубаем всех, если адрес отправителя нет в алиасах, кроме локальной сети
deny condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@domain-ak.ru}'}{no}{yes}}
hosts = !127.0.0.1 : !localhost : !192.168.1.0/24 : *
message = "No such user!"
# Рубаем всех, кроме нашего внешнего пересыльщика masterhost.ru и localhost
# (мастерхостость)Было сделано что бы никто кроме masterhost.ru
# не мог слать письма на @zern.domain-ak.ru
deny condition = ${if match{$sender_helo_name}{masterhost.ru}{no}{yes}}
hosts = !127.0.0.1 : !localhost : *
message = "Access deny!"
# Рубаем хосты типа *adsl*; *dialup*; *pool*;....
# Нормальные люди с таких не пишут. Если будут
# проблемы - уберёте проблемный пункт (у меня клиенты
# имеют запись типа asdl-1233.zone.su - я ADSL убрал...)
# deny message = "your hostname is bad (adsl, poll, ppp & etc)."
# condition = ${if match{$sender_host_name} \
# {adsl|dialup|pool|peer|dhcp} \
# {yes}{no}}
#
# Задержка. (это такой метод борьбы со спамом,
# основанный на принципе его рассылки) На этом рубается
# почти весь спам. Единственно - метод неприменим на
# реально загруженных MTA - т.к. в результате ему
# приходится держать много открытых соединений.
# но на офисе в сотню-две человек - шикарный метод.
#
# более сложный вариант, смотрите в статье по exim и
# курьер имап. Т.к. там метод боле умный (просто правил
# больше :), то можно и на более загруженные сервера ставить)
warn
# ставим дефолтовую задержку в 30 секунд
set acl_m0 = 30s
warn
# ставим задержку в 0 секунд своим хостам и
# дружественным сетям (соседняя контора :))
hosts = +relay_from_hosts : 127.0.0.1/8 : 192.168.1.0/24 \
: 83.222.25.0/24
set acl_m0 = 0s
warn
# пишем в логи задержку (если оно вам надо)
logwrite = Delay $acl_m0 for $sender_host_name \
[$sender_host_address] with HELO=$sender_helo_name. Mail \
from $sender_address to $local_part@$domain.
delay = $acl_m0
# Проверка получателя в локальных доменах.
# Если не проходит, то проверяется следующий ACL,
# и если непрошёл и там - deny
accept domains = +local_domains
endpass
message = "In my mailserver not stored this user"
verify = recipient
# Проверяем получателя в релейных доменах
# Опять-таки если не проходит -> следующий ACL,
# и если непрошёл и там - deny
accept domains = +relay_to_domains
endpass
message = "main server not know how relay to this address"
verify = recipient
# Рубаем тех, кто в блэк-листах. Серваки перебираются
# сверху вниз, если не хост не найден на первом, то
# запрашивается второй, и т.д. Если не найден ни в одном
# из списка - то почта пропускается.
deny message = "you in blacklist - $dnslist_domain \n $dnslist_text"
dnslists = opm.blitzed.org : \
cbl.abuseat.org : \
bl.csma.biz : \
dynablock.njabl.org
# Разрешаем почту от доменов в списке relay_from_hosts
accept hosts = +relay_from_hosts
# Если неподошло ни одно правило - чувак явно ищет
# открытый релей. Пшёл прочь. :)
deny message = "Homo hominus lupus est"
# Тут идут ACL проверяющие содержимое (тело) письма.
# Без них будут пропускаться все сообщения.
acl_check_data:
# Тут мы проверяем письма на ***SPAM***(ну если кому это нужно)
#.include_if_exists /usr/local/etc/exim/includes/antispam.conf
# Проверяем письмо на вирусы
# deny malware = *
# message = "In e-mail found VIRUS - $malware_name"
# Если есть необходимость - тут проверки на спам
# Пропускаем остальное
accept
# чё делаем с почтой
############################################################################
# #Секция роутеров
############################################################################
begin routers
# Все адреса *@zern.domain-ak.ru отправляем на
# *@domain-ak.ru все пользователи у нас в
# @domain-ak.ru, чтобы алиасы не прописывать
# Не юзаем потому что стоит подмена заголовков begin rewrite
# aliases_mysql_nnov:
# driver = redirect
# condition = ${if eq{zern.domain-ak.ru}{$domain}{yes}{no}}
# allow_fail
# allow_defer
# data = ${quote:$local_part}@domain-ak.ru
# Копируем всю входящую и исходящую почту на audit@domain-ak.ru
# Нужно было начальству для контроля.(если вам такое нужно то раскомментите)
#copy_message:
# driver = redirect
# unseen
# domains = *
# data = audit@domain-ak.ru
# 1.Смотрим системные Алиасы
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}}
# 2.Доставляем почты в dovecot
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
# 3.Отправка почты на "masterhost @adomain-ak.ru"
# для локального домена "@domain-ak.ru"
# если пользователя несуществует в локальном домене @domain-ak.ru
masterhost_router:
driver = manualroute
transport = masterhost_transport
route_list = domain-ak.ru smtp.masterhost.ru
# 4.Отправка всей не локальной почты т.е
# на удаленные сервера кроме "masterhost.ru
# домен @domain-ak.ru", отправка производить
donpac_router:
driver = manualroute
transport = donpac_transport
route_list = * smtp.donpac.ru
# 5.Если лег сервак провайдера donpac.ru то EXIM отправляет напрямую
# т.е как "mail.zern.domain-ak.ru"
# Поиск маршрута к хосту в DNS. Если маршрут не найден в DNS -
# то это `унроутабле аддресс`. Не проверяются локальные
# домены, 0.0.0.0 и 127.0.0.0/8
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
# начинаются транспорты - как доставляем почту
##########################################################################
# #Секция транспортов
##########################################################################
begin transports
# Доставка на удалённые хосты - по SMTP
remote_smtp:
driver = smtp
# Доставка локальным адресатам - в dovecot
# Надо заметить что тут использовалась ранее прямая доставка
# в директорию, но щас с портами стал-таки устанавливаться deliver
# программа dovecot занимающаяся доставкой мессаг.
# Соответственно юзаем его.
dovecot_delivery:
driver = pipe
command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = mailnull
# Имя программы
address_pipe:
driver = pipe
return_output
# Транспорт для автоответов
address_reply:
driver = autoreply
# Транспорт на smtp.masterhost.ru
masterhost_transport:
driver = smtp
hosts = smtp.masterhost.ru
# Транспорт на smtp.donpac.ru
donpac_transport:
driver = smtp
hosts = smtp.donpac.ru
# Начинаются повторы недоставленных писем.
#########################################################################
# # Секция повторов
#########################################################################
begin retry
# Address or Domain Error Retries
# ----------------- ----- -------
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
##########################################################################
# # Секция преобразование адресов
##########################################################################
begin rewrite
#Подмена заголовка @zern.domain-ak.ru на @domain-ak.ru
*@zern.domain-ak.ru $local_part@domain-ak.ru Eh
#########################################
# Флаги #
#########################################
# E ----> все поля конверта #
# F ----> поле "From" в конверте #
# T ----> поле "To" в конверте #
# b ----> заголовок "Bcc:" #
# c ----> заголовок "Cc:" #
# f ----> заголовок "From:" #
# h ----> все заголовки #
# r ----> заголовок "Reply-To:" #
# s ----> заголовок "Sender:" #
# t ----> заголовок "To:" #
#########################################
# Секция авторизации при отправке писем. Ввиду того,
# что почтовых клиентов много, и все всё делают
# по-своему, то и механизмов авторизации три...
#####################################################################
# # Секция аутентификаторов
#####################################################################
begin authenticators
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `username` FROM \
`mailbox` WHERE `username` = \
'${quote_mysql:$auth2}' AND `password` = \
'${quote_mysql:$auth3}'}{yes}{no}}
server_prompts = :
server_set_id = $auth2
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT `username` FROM \
`mailbox` WHERE `username` = \
'${quote_mysql:$auth1}' AND `password` = \
'${quote_mysql:$auth2}'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $auth1
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `password` FROM \
`mailbox` WHERE `username` \
= '${quote_mysql:$auth1}'}{$value}fail}
server_set_id = $auth2
|
Да и у кого в логах вот такая фигня
Oct 1 15:52:54 mail deliver(user1@domain-ak.ru): auth input: user1@domain-ak.ru
Oct 1 15:52:54 mail deliver(user1@domain-ak.ru): auth input: home=domain-ak.ru/user1/
Oct 1 15:52:54 mail deliver(user1@domain-ak.ru): auth input: uid=26
Oct 1 15:52:54 mail deliver(user1@domain-ak.ru): auth input: gid=26
Oct 1 15:52:54 mail deliver(user1@domain-ak.ru): Home dir not found: domain-ak.ru/user1/
|
Нужно поправить файл добавив "/var/mail/exim/"
Выглядет это будет вот так!
//> ee /usr/local/www/postfixadmin/create-mailbox.php
|
if ($error != 1)
{
$password = pacrypt ($fPassword);
if ($CONF['domain_path'] == "YES")
{
if ($CONF['domain_in_mailbox'] == "YES")
{
$maildir = "/var/mail/exim/" . $fDomain . "/" . $fUsername . "/";
}
else
{
$maildir = "/var/mail/exim/" . $fDomain . "/" .
escape_string ($_POST['fUsername']) . "/";
}
}
else
{
$maildir = "/var/mail/exim/" . $fUsername . "/";
| И добавляем в /etc/rc.conf
//> echo 'exim_enable="YES"' >> /etc/rc.conf
| Ну и запускаем Exim
//> /usr/local/etc/rc.d/exim start
|
Ну и вот время пришло устанавливать Roundcube
//> cd /usr/ports/mail/roundcube
|
+--------------------------------------------------------------------+
| Options for roundcube 0.2,1 |
| +----------------------------------------------------------------+ |
| | [X] MYSQL Use MySQL backend | |
| | [ ] PGSQL Use PostgreSQL backend | |
| | [ ] SQLITE Use SQLite backend | |
| | [X] SSL Enable SSL support (imaps or google spellcheck) |
| | [X] LOCALCHECK Install internal spellchecker | |
| | | |
| | | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/mail/roundcube/> make && make install && make clean
| Далее создаем базу в mysql для roundcube
//> mysql -u root -p
password:******
> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 \
-> COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON roundcubemail.* TO urcube@localhost \
-> IDENTIFIED BY 'PWD';
> use roundcubemail;
> GRANT ALL PRIVILEGES ON *.* TO urcube@localhost \
-> IDENTIFIED BY 'PWD' WITH GRANT OPTION;
>\q
| Далее нужно создать все таблицы.
//> cd /usr/local/www/roundcube/SQL/
/usr/local/www/roundcube/SQL/> mysql -u root -p roundcubemail \
< mysql5.initial.sql
password:******
| Примечание у кого mysql-server менее 4.1 нужно запускать mysql.initial.sql
Далее правим конфиги roundcube
//> ee /usr/local/www/roundcube/config/db.inc.php
|
// PEAR database DSN for read/write operations
// format is db_provider://user:password@host/database
// currently supported db_providers: mysql, mysqli, pgsql, sqlite, mssql
$rcmail_config['db_dsnw'] = 'mysql://urcube:PWD@localhost/roundcubemail';
|
Так же юзаем Roundcube с SSL
//> ee /usr/local/www/roundcube/config/main.inc.php
|
// the mail host chosen to perform the log-in
// leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL connection, enter ssl://hostname:993
$rcmail_config['default_host'] = 'ssl://pop.domain-ak.ru:9143';
// TCP port used for IMAP connections
$rcmail_config['default_port'] = 9143;
// Automatically add this domain to user names for login
// Only for IMAP servers that require full e-mail addresses for login
// Specify an array with 'host' => 'domain' values to
// support multiple hosts
$rcmail_config['username_domain'] = 'domain-ak.ru';
// This domain will be used to form e-mail addresses of new users
// Specify an array with 'host' => 'domain' values to support
// multiple hosts
$rcmail_config['mail_domain'] = 'domain-ak.ru';
// use this host for sending mails.
// to use SSL connection, set ssl://smtp.host.com
// if left blank, the PHP mail() function is used
$rcmail_config['smtp_server'] = 'ssl://smtp.domain-ak.ru';
// SMTP port (default is 25; 465 for SSL)
$rcmail_config['smtp_port'] = 9025;
// SMTP username (if required) if you use %u as the username RoundCube
// will use the current username for login
$rcmail_config['smtp_user'] = '%u';
// SMTP password (if required) if you use %p as the password RoundCube
// will use the current user's password for login
$rcmail_config['smtp_pass'] = '%p';
// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
// best server supported one)
$rcmail_config['smtp_auth_type'] = 'PLAIN';
// Use this charset as fallback for message decoding
$rcmail_config['default_charset'] = 'UTF-8';
| И добавляем алиас в конфиг apache
//> ee /usr/local/etc/apache/httpd.conf
|
# For Roundcube
Alias /wmail "/usr/local/www/roundcube/"
<Directory "/usr/local/www/roundcube/">
Options -Indexes FollowSymLinks MultiViews
DirectoryIndex index.php
AllowOverride None
Order deny,allow
Allow from all
</Directory>
|
//> /usr/local/etc/rc.d/apache restart
| И переходим в браузере http://ip_tachki/wmail
Ну и для полного счастья дополнил статью fetchmail
Нужен он для того что бы забирать почту с удаленных почтовых серверов на локальный
Поехали....
//> cd /usr/ports/mail/fetchmail
//> make config
|
+--------------------------------------------------------------------+
| Options for fetchmail 6.3.9 |
| +----------------------------------------------------------------+ |
| | [ ] X11 Python/Tkinter dependencies for fetchmailconf | |
| | [X] NLS National language support (NLS). | |
| | [ ] NTLM Build in support for NTLM/MSN authentication. | |
| | [ ] POP2 Build pop2 support (obsolete). | |
| | [ ] GSSAPI Build GSSAPI support (requires KRB5_HOME to be set) |
| | | |
| | | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
//> make && make install && make clean
| Даем права на конфиг fetchmail поскольку файл конфигурации (fetchmailrc) содержит пароли, доступ к нему должен иметь только его владелец (в противном случае fetchmail даже не запустится)
//> chmod 0710 /usr/local/etc/fetchmailrc
|
//> echo 'fetchmail_enable="YES"' >> /etc/rc.conf
|
//> ee /usr/local/etc/fetchmailrc
|
# Your fetchmail configuration goes here.
#
# See fetchmail(1), and/or use fetchmailconf (must not build the port
# WITHOUT_X11).
# Забираем почту c cancer@mail.ru кладем в cancer@domain-ak.ru
poll pop.mail.ru with protocol POP3:
no dns, user cancer@mail.ru password Пароль is cancer@domain-ak.ru here;
# Забираем почту c chel@mail.ru кладем в chel@domain-ak.ru
poll pop.mail.ru with protocol POP3:
no dns, user chel@mail.ru password Пароль is chel@domain-ak.ru here;
|
//> /usr/local/etc/rc.d/fetchmail start
|
Oct 9 12:01:59 mail fetchmail[22460]: запускается демон fetchmail 6.3.8
Oct 9 22:37:33 mail fetchmail[23835]: разбужен на четверг, 9 октября 2008 г. 22:37:33
Oct 9 22:37:33 mail fetchmail[23835]: в спящем режиме в четверг, 9 октября 2008 г. 22:37:33 на 1800 секунд
|
Тут меняется время подключения fetchmail к серверам в секундах (т.е fetchmail будет подключатся 1 раз в 900 секунд=15 мин) у меня стоит 1800сек=30мин =)
fetchmail_polling_interval="900"
|
Документация
http://www.exim.org/
http://www.dovecot.org/
http://www.postfixadmin.org
http://fetchmail.berlios.de/
http://www.roundcube.net/
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=11605.
размещено: 2008-10-10,
последнее обновление: 2009-11-23,
автор: Cancer
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD
Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC
Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat
Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot
Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless
Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение
Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга
Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff
Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа
Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL
Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)
Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP
Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools
Network UPS Tools представляет собой набор программ, которые обеспечивают общий
интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP
Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network
Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem
В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID
Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN
Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS
В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL
Настройка самого безопасного сервера FTP - vsftpd.
2009-03-31, Dron
Peoplenet + C-motech (3G)
Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
2009-03-25, lissyara
mod_auth_external
mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
2009-03-24, gx_ua
Lightsquid
Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
2009-03-18, LHC
Установка Zabbix-1.6
Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
2009-03-16, Cancer
Принт-Сервер Samba+LPD & AD
Простейшая настройка Принт-Сервера на FreeBSD используя Samba+LPD & AD
2009-03-04, Mad_caterpillar
ipsec_vpnc
Настройка VPN IPSec концентратора на FreeBSD 6.2 для клиента cisco с использованием ipsec-tools и авторизацией в активной директории
2009-02-18, Andy
Free-SA
Программа анализирует log файлы Squid'а и формирует по ним отчет.
2009-02-02, Cancer
Openfire Jabber Server
Установка Jabber сервера на примере Openfire
2009-01-28, Cancer
mpd5 + сжатие и шифрование
Установка VPN сервера mpd5 + сжатие и шифрование
2009-01-26, vp
freebsd + webcamera
Подключение и настройка вебмкамеры для работы с freebsd на примере Logitech QCam STX
2009-01-10, Grishun_U_S
конфиг для офисов
В статье разбирается конфиг для офиса, пользователи которого имеют строгие ограничения по портам. Заворачиваем www трафик на транспарентный прокси, а остальное NAT'им. Эффективно делим канал интернет
2008-12-27, Storoge
sftp+chroot
Возникла необходимость дать возможность нескольким пользователям заливать на сервер контент для своих сайтов через sftp, чтобы при этом не страдала безопасность.
2008-12-13, Morty
PurefFTPd
Администрирование pureftpd-сервера с помощью вэб интерфейса Usermanager
2008-12-11, lissyara
termlog
Небольшая простая утилита, использующаяся для записи в файл всего что происходит на терминалах системы. Полезно, когда есть доступ по ssh у тех, кому не очень доверяете. Паранойя - это не плохо =)
2008-11-26, Cancer
SQUID+SAMS +Rejik-(ADLDAP)
Установка Прокси сервера SQUID с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf,РЕЖИК собственно рубит банеры и запрещает пользователям ходить на запрещенные сайты,
2008-11-22, dvg_lab
php5-oci8
Решение проблем segmentation fault (core dumped) при работе с oracle8-client и php5-oci8
2008-11-21, m0ps
NTP
Пример настройки NTP сервера для локальной сети и клиента, для синхронизации времени с локальный NTP сервером. Обновление ntpd из портов.
2008-11-20, Cancer
SQUID+SAMS +Rejik-(NTLM)
Установка Прокси сервера SQUID с аутентификацией по NTL с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf, РЕЖИК собственно рубит банеры и запрещает пользователям хо
2008-11-20, UA
Hotspot
Настройка безпроводной точки доступа (WiFi) на freebsd
2008-11-12, Shaman
Enemy Territory
Появилась у меня такое желание поднять сервер Enemy Territory.
Поискал погуглил, ничего толкового не нашел пришлось все самому делать.
И вот решил поделиться опытом. Начинаем......
2008-11-11, lissyara
Samba+ NT ACL
Использование vfs самбы - модули full_audit и recycle. Настройка для использования в качестве файлопомойки с 500+ одновременно работающих юзеров. Раздача прав через нативный виндовый интерфейс.
2008-11-11, Raven2000
Upgrading OpenBSD
Сегодня мы будем обновлять OpenBSD. Систему необходимо поддерживать в актуальном виде и следить, чтобы все работало, как часы и все дырки были залатаны до прихода врага =)
2008-11-10, lexy
SMSTools 3
Как автоматизировать отправку и обработку входящих сообщений при помощи мобильного телефона, датакабеля и компа
2008-11-06, Cancer
Asterisk IP PBX
Установка VoiP сервера Asterisk IP PBX для соединения двух шлюзов и АТС
2008-10-30, atrium
Samba & CUPS & AD & ACL
Настройка Samba в роли доменного файл-сервера, и CUPS в роли принт-сервера для Windows клиентов
2008-10-17, Raven2000
src & ports
Конечно, в OpenBSD система портов никогда не сможет быть полной сравнение с той же системой во FreeBSD. Связано это с тем, что разработчики включают в порты лишь те приложение которые протестированн
2008-10-13, Morty
Mysql - базовое описание
Базовое описание и принципы работы с MySQL
2008-10-10, Cancer
exim&dovecot + fetchmail + SSL
Exim & Dovecot + Postfixadmin & Roundcube + Fetchmail & smtp_relay
С возможностью отправлять письма через смтп релей провайдера.
С использование SSL шифрование: POP3s IMAPs sSMTP
2008-10-09, m0ps
Дополнительные порты для роутера
Увеличение количества Ethernet портов маршрутизатора за счет свободных портов коммутатора пробросив vlan с сабинтерфейса роутера на интерфейс коммутатора.
2008-10-06, princeps
Bacula
Настройка сервера системы резервного копирования Bacula на FreeBSD для бэкапов FreeBSD и Windows машин
2008-10-02, zheromo
Postfix + DBMail
Создание почтовой системы на основе Postfix + DBMail + SASL2 + TLS + DSpam + ClamAV + RoundCubeWebMail
2008-10-02, Cancer
SugarForge CRM
SugarForge CRM предоставляет подавляющее большинство функциональных возможностей CRM систем
2008-09-12, arksu
ng_ipacct + squid
Подсчет трафика с помощью ng_ipacct. Связка ng_ipacct + squid + парсер логов + авторизатор + nginx + mysql и куча служебных скриптов для работы всей системы.
2008-09-03, Raven2000
GLPI
Мне надо было найти замену существующей программы инвентаризации, чтобы за компьютерами, принтерами, картриджами, лицензиями и тп был учет. Желательно с дополнительными бонусами типа системы подачи...
2008-09-03, salimk
POWERDNS
Статья о том как мигрировать с DNS сетвера ISC Bind на POWERDNS
2008-09-03, DNK
Rinetd
Редирект TCP портов с помощью утилиты rinetd - просто до безобразия - само прилодение простое, конфиг в одну строчку - что ещё надо для счастья? =)
2008-09-03, L!Ner
eGroupWare
Это сервер групповой работы. Он укомплектован собственным веб-интерфейсом, который обеспечивает доступ к вашим данным с любой платформы по всей планете.
2008-08-30, jafff
MAC адрес
У девайса VoIP Planet VIP-000 слетел MAC адрес и стал FF-FF-FF-FF-FF-FF, как я его востанавливал
2008-08-30, Morty
clonehdd
Перенесение, бэкапирование HDD,легко и просто
2008-07-31, Raven2000
Proxy Auto Configuration
Возникла необходимость автоматически настраивать прокси для всех компов и не бегать например если поменялось что-то на сервере прокси. Для этого давно существует технология Proxy Auto Configuration.
2008-07-29, f0s
NNTP сервер
Конфигурирование собственного NNTP-сервера.
2008-07-28, Al
spamooborona
настройка yandex spamooborona в качестве smtp-proxy для работы с exim
2008-07-28, Cancer
SQUID+SAMS +Rejik-(NCSA)
Установка Прокси сервера SQUID с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf,РЕЖИК собственно рубит банеры и запрещает пользователям ходить на запрещенные сайты,
2008-07-20, Raven2000
Pax
Эта замечательная утилита поставляется с FreeBSD по умолчанию, и она имеет неплохой потенциал.
Можно создавать архивы модифицировать их, а так же живьем переносить всю операционную систему с данными
2008-07-16, Andy2k
BIND & AD
Настройка BIND для обслуживания запросов контроллеров Active Directory. Альтернатива поднятию DNS от Microsoft.
2008-07-16, aleksey.kravchenko
Samba (PDC+BDC)
Поднять главный (офис) и резервный (филиал) контроллер домена на базе Samba и OpenLDAP, организовать синхронизацию и репликацию между ними. Запись в LDAP должена выполняться только на PDC.
2008-07-14, aleksey.kravchenko
OpenVPN + LDAP
Статья о том, как настроить OpenVPN с авторизацией пользователей в OpenLDAP.
2008-07-14, aleksey.kravchenko
ProFTPd + LDAP
ProFTPd с авторизацией пользователей в OpenLDAP
2008-07-13, lissyara
Asus Eee PC
Дали на несколько дней поиграться Asus Eee PC - мелкий ноутбок по смешной цене. Ну, первым делом ставим правильный ОС и смотрим - что из этого получиться.
2008-07-09, terminus
DNS сервер Unbound
Установка и настройка кеширующего DNS сервера Unbound под управлением FreeBSD 7.0
2008-07-08, f0s
mozilla autoconfig
Автонастройка браузера и почты Mozilla Seamonkey пользователям
2008-07-05, lissyara
iftop
Утилита предназначена для мониторинга загрузки канала в режиме реального времени - позволяет видеть кто именно занял полосу. Полезно для организаций с FreeBSD на шлюзовой машине.
2008-07-02, manefesto
snd_hda
Патчим snd_hda для корректной работы с наушниками
2008-06-27, Grishun_U_S
dd : бэкапируем windows
Клонирование разделов windows с помощью загрузочного диска FreeBSD
2008-06-25, terminus
DNS сервер NSD
Установка и настройка авторитарного DNS сервера NSD под управлением FreeBSD 7.0
2008-06-17, Al
NetXtreme BCM5722
Драйвер для сетевой карты NetXtreme BCM5722 Gigabit Ethernet
2008-06-15, tango
Amanda
Установка и настройка сервера резервного копирования Amanda на FreeBSD.
2008-06-12, LMik
Виртуальный свитч
Статья описывает создание виртуального коммутатора для соединения удаленных физических ethernet сетей.
2008-06-08, littlesavage
SiS*Mirage*1 на D201GLY2
Как заставить работать видеоrарту SiS*Mirage*1 на материнской D201GLY2
2008-06-06, nsand
Рыбалка на FreeBSD
Стьатья о том как настроить рыбалку со спутника под FreeBSD
2008-06-06, nsand
TT budget S-1401
Настройка драйвера ttbudget (SkyStar3) под FreeBSD
2008-05-30, Andy2k
NOD32 mirror
Скрипт для создания зеркала обновлений для антивируса NOD. Автоматически ищет нужные логин-пароль для получения обновлений. В теории не требует обслуживания.
2008-05-25, Romzes
метаданные exif
Пример сортировки фотографий сделаных разными фотоаппаратами, с разными названиями, датами создания/модификации. Из под консоли, конечно.
2008-05-23, FenX
svn+apache+trac
Установка связки Apache2.2 + Subversion + Trac (Установка и настройка SVN сервера с доступом к репозиториям по http протоколу)
2008-05-22, Grishun_U_S
простой конфиг PF
В статье разбирается простой конфигурационный файл pf "изнутри можно все"
2008-05-20, KrivoSoft
HAVP
HAVP(HTTP AntiVirus proxy)- работает как http прокси, проверяющий файлики используя LibClamav. В заметке описан процес прикручивания антивируса к уже работающему прокси серверу squid.
2008-05-20, Covax
ALTQ в IPFW
Исполльзование ALTQ вместе с IPFW
2008-05-19, nonalog2007
pppoe
Настройка ADSL-модема для подключения к Интернет.
2008-05-04, Abigor
php + mssql
Настройка php на freebsd для работы с базами в mssql по доменной авторизации.
2008-04-28, serge
i386=>amd64
Рассматриваеться способ удаленной миграции с архитектуры i386 на amd64 на рабочем сервере.
2008-04-24, Mr.Y
Lan over Bluetooth
Статья описывает как используя Bluetooth, объединить две FreeBSD машины в сеть.
2008-04-19, lissyara
WiFi WPA
Подключение FreeBSD к беспроводной WiFi сети с использованием шифрования WPA.
2008-04-18, nikll
nginx+php-fpm+mysql
Статья о настройке мощного веб сервера который не ляжет от хорошей нагрузки.
2008-04-16, nikll
qmail-ldap + AD
Статья о том как я прикрутил qmail к АД win2003 (с упровлением почтовыми аккаунтами через консоль mmc из под винды)
2008-04-14, SHPAk
Приглашение csh/tcsh
Приглашение csh/tcsh не всегда удобно. Здесь описано как помянять оное...
2008-04-07, inspirra
deltup, xdelta, bdelta
Некоторые тонкости создания бинарных патчей. И использование "The dynamic deltup server network" для экономии на обновлениях исходников программ устанавливаемых из портов.
2008-04-02, fr33man
exim + cyrus-imapd
Руководство по настройке почтовой системы на базе OpenBSD-4.2: exim + cyrus-imapd + mysql
2008-03-30, Morty
LiveCD (+restore)
LiveCD, который развернет мне на жёсткий диск готовую настроенную систему
2008-03-25, lissyara
BlueTooth mouse
Краткое повествование о том, как привернуть BlueTooth мышь к FreeBSD. Краткое - потому как делается это с полпинка...
2008-03-21, moonug
ProFTPD+iconv
Порт позволяющий включить перекодировку имён файлов в proftpd. Раньше для этого был патч, а щас всё поломали =))
2008-03-11, helloworld
vsftpd + mysql
Настройка фтп сервера vsftpd с пользователями из mysql
2008-03-06, Raven2000
Call of Duty 4
Call of Duty 4: Modern Warfare — компьютерная игра, продолжение серии COD,
разработанное студией Infinity Ward. Это первая игра в серии, действие которой
происходит не во время мировой войны.
2008-03-04, schizoid
NeTAMS 2
Netams, статистика, биллинг, огрнаичение и подсчет трафика
2008-03-04, schizoid
NeTAMS
Программа для учета и управления сетевым трафиком
2008-03-01, Le1
EA Battlefield 2 server
Установка игрового сервера EA Battlefield 2 под ОС FreeBSD
2008-02-25, dikens3
Dynamic DNS
Свой сервер с динамическим IP-Адресом.
2008-02-23, fr33man
squid ntlm
Настройка Squid с аутентификацией ntlm, под OpenBSD. Решение проблем сборки с поддержкой АД.
2008-02-18, lissyara
BlueTooth
Встала задача залить на Нокию гиг музыки через BlueTooth. ОС - правильный - FreeBSD, вот про то как это сделать из под неё - и рассказ. Также немного про нынешнее состояние дел с голубыми зубами =)
2008-02-17, Raven2000
NFS & Win2k3
При работе с UNIX системами на предприятиях часто приходится организовывать совместную работу с Windows. Необходимо обеспечить взаимодействие UNIX<>WIN бывает, что доступ по FTP или др не устраивает.
2008-02-14, Morty
Lightsquid
Снятие статистики с OOPS, SQUID с помощью lightsquid - нечто на подобии SARGa, и выполняет туже задачу, подбивает статистику пользования прокси сервером
2008-02-14, Morty
OOPS
Краткое описание установки и настройки прозрачного прокси-сервера OOPS
2008-02-12, fr33man
Apache
Настройка web-сервера apache, на базе OpenBSD.
Нужен был web сервер. Стандартно нужно было ставить apache. Но я помнил, когда раньше работал с OpenBSD, что апач поставляется вместе с системой. Так
2008-02-11, Raven2000
Установка OpenBSD
OpenBSD — свободная многоплатформенная операционная система, основанная на
4.4BSD — BSD-реализации UNIX системы. Основным отличием OpenBSD от других свободных
операционных систем, базирующихся на
2008-01-31, serge
ApacheStats
Сбор статистики с веб-сервера Apache в Cacti с использованием модулей mod_status и mod_info. Отображается число хитов в секунду, загрузка чилдренов и прочая полезная инфа.
2008-01-30, Raven2000
CVSUP и софт через Proxy
При работе за прокси люди испытывают неудобство при обновление портов и установки портов. Хотя, наверное, догадываются, что FreeBSD может элегантно обходить эти камни, но не знают как.
2008-01-25, nikll
kde и smb
статья о том как фрю сделать членом win2003 домена и о том как в кде 3.5 ходить по доменным шарам с нормальной русской кодировкой
2008-01-21, Fastman
Создание программ на QT4/С++
Установка и настройка QT4.
Пример создание приложения с GUI.
2008-01-17, Morty
stunnel для pop3,smtp
Создание защищенного подключения для сервисов POP3, SMTP, Imap , www
с помощью stunnel
2008-01-09, lissyara
Atheros AR5007EG
Прикручивание карточки Atheros AR5007EG (в ноутбуке Toshiba L40-139) под FreeBSD.
2008-01-04, LMik
growfs
Статья наглядно описывает изменение размера раздела диска в FreeBSD при помощи growfs, без потери данных находящихся на диске.
2007-12-23, serge
FreeBSD на VDS
Рассматривается настройка FreeBSD6.2 на VDS с чистой ОС.
2007-12-22, serge
OTRS на Apache1
Рассматривается установка Open Ticket Request System для работы на хостинг сервере в связке apache1.3 + mod_perl + mysql50.
2007-12-11, INFected
SkyStar-2+SlonAx
Встала задача организовать прием трафика от спутникового провайдера. Естественно на раздающем сервере должна быть FreeBSD. А как же иначе?
2007-12-08, netcat
GEOM-ELI
Шифрование файловых систем посредством класса GEOM-ELI
2007-12-07, helloworld
PVPGN
Настройка сервера Battle.net в небольшой локальной сети.
2007-12-06, seacon
ESET NOD32
Описание настройки антивирусной системы NOD32 ESET File Security
2007-11-23, azu
Bluetooth proximity monitor
Описание и скрипты для отслеживания удаленности bluetooth устройства.
2007-11-19, catdog_
verlihub (p2p)
описывается, как установить, настроить p2p-сервер и как им управлять
2007-11-14, UA
OpenVPN
руководство по настройке openvpn между FreeBSD и Windows
2007-11-11, AlkoGekS
atacontrol
Проверка работы raid-1 с помощью штатной утилиты atacontrol на freebsd 6.2
2007-11-08, Raven2000
Transport Tycoon Deluxe
Transport Tycoon Deluxe (сокращенно - TTD) - экономическая транспортная стратегия,
в которой целью игрока является создание максимально доходной транспортной
империи.
2007-11-06, lissyara
squid+AD
Инструкция - как авторизовать пользователей в домене, разделив доступ к ресурсам по виндовым группам - кому куда можно, а кому нельзя, с использованием squid2.6. Ну и объяснение - почему пока не 3.0.
2007-11-03, schizoid
icecast2
Вещание интернет радио в локальной сети с помощью icecast2
2007-11-02, AlkoGekS
RoundCube
Возникла необходимость перевести пользователей с squirrelmail на roundcube, завязать все это хотелось на postgresql, чтобы и в ней разобратьс заодно.
2007-10-30, SniZ
queues
Краткая заметка по использованию очередей В IPFW
2007-10-29, s@sh@
LACP и VLAN
Описание настройки LACP отдельно и совместно с VLAN во FreeBSD 7.0
2007-10-26, Al
portaudit
Эти приложение используется для контроля уязвимостей и обновления приложений, установленных из портов.
2007-10-24, -cat-
Заметки об IPFW
Заметки о настройке IPFW, подключение IPFW и NATD, принцип взаимодействия, принципы построения правил IPFW.
2007-10-23, Raven2000
X-Bomber
Представляю вниманию отличную аркаду которая скрасит наш быт и существование
в офисном пространстве именуемая как "работа"
И так прошу любить и жаловать X-Bomber
2007-10-22, Raven2000
TeamSpeak
Teamspeak (тимспик) — семейство программ, предназначенных для общения голосом в
сети. От классического телефона отличается практически неограниченным количеством
абонентов, разговаривающих одноврем
2007-10-22, RageLT
Nginx+php+fcgi
"Nginx + PHP + Spawn-fcgi" - установка nginx под FreeBSD и настройка для выполнения PHP скриптов.
2007-10-20, dikens3
UFS2
Как устроена UFS2. Небольшой взгляд изнутри.
2007-10-19, Al
Nagios - мониторинг сети
настройка мониторинга сети с использованием Nagios
2007-10-19, BlackCat
FFS из-под WinXP
Описание програмки для чтения BSD разделов под Windows. К сожалению, диск подключается в режиме только чтения - но и это уже неплохо.
2007-10-14, dikens3
recovery files
Восстановление файлов на FreeBSD с использованием foremost, sleuthkit, photorec. Немного теории о хранении файлов на диске.
2007-10-05, lissyara
ClamAV mirror
Понадобилось создать внутри локальной сети зеркало обновлений ClamAV, c учётом того, что разработчики это не привтствуют - пришлось изобретать подпорки и велосипеды.
2007-10-04, SeeD
irc + services
Установка irc сервера (unreailircd) + сервисов (anope) на FreeBSD 6.0. Приведён тот необходимый минимум, который вполне подойдет для одиночных серверов.
2007-10-04, lissyara
установка по сети
Столкнувшись с невозможностью поставить FreeBSD на старенький ноут с CD-ROM (толи диск царапаный, толи чё), пришлось изгаляться с установкой по сети - благо на нём был PXE у встроенной сетевухи.
2007-10-04, Al
cups-samba на samba+AD
Пример настройки сервера печати с использованием CUPS, Samba и AD. Пример установки и настройки клиентских (для винды) драйверов принтера на сервер с использованием порта cups-samba.
2007-10-03, schizoid
ipcalc
Скрипт для вычисления широковещательного адреса, диапазон хостов, шаблон сетевой маски по полученному IP и сетевой маске. Может использоваться для конструирования сетей и подсетей, а также в обучающих
2007-09-26, lissyara
немного о ssh
Краткое описание как пробросить порты с удалённой локальной сети на локальную машину при помощи ssh. Может быть полезным, когда нет VPN в удалённую сеть, а есть ssh, и нужен доступ к какому-то сервису
2007-09-26, SniZ
mod_ntlm2
mod_ntlm2 - модуль для apache22, позволяющий прозрачно авторизовать пользователя использую его доменную учетную запись. Удобно, если необходимо сделать ограниченный доступ к содержимому корпоротивного
2007-09-18, lissyara
klaptopdaemon
даемон KDE для мониторинга состояния батареи ноутбука. Наверное, самое удобное и функциональное из того, что я перебрал.
2007-09-17, bisyarin
Удаленное разбиение HDD
В статье рассмотрен пример удаленной доразбивки винчестера.
Показан путь решения задачи как с использованием sysinstall, так и с помощью утилит fdisk, bsdlabel и newfs.
2007-09-14, freeman_tnu
DSL-G804V и FreeBSD 6.2
Настройка VPN-туннеля между D-Link DSL-G804V и FreeBSD 6.2
2007-09-13, lissyara
KNemo
Служба KDE отображающая в трее значка сетевого подключения, с богатым функционалом - позволяет собирать статистику, строить графики, выполнять скрипты при изменении статуса сетевого подключения.
2007-09-12, lissyara
desktopbsd-tools
Набор утилит для упрощения жизни под KDE. Включают в себя утилиты трея для слежения за сетью, монтирования/ демонтирования, информацию о заряде батереи. Также несколько апплетов для контрольной панели
2007-09-06, lissyara
nettop
Приложение позволяющее отслеживать сетевую активность по портам-протоколам, и отображать скорость передачи данных по этим портам и протоколам. Весьма удобно для наблюдения - что происходит на сервере.
2007-09-04, squid
sshd & AD
Использование одной учетной записи на FreeBSD и Windows - используя AD для авторизации пользователей по ssh
|
Комментарии пользователей [34 шт.]