07.07.2004 12:54
Администратор
Разрабатывая политику безопасности работы беспроводной сети Windows XP, помимо Wired Equivalent Privacy (WEP) или системы шифрования Wi-Fi Protected Access (WPA), вы можете воспользоваться технологией фильтрации адресов Media Access Control (MAC).
C активированной функцией адресной фильтрации MAC, точка беспроводного доступа или беспроводной маршрутизатор перед подключением компьютера к сети проверит MAC-адрес запрашивающей доступ сетевой карты на наличие его в списке фильтров. Это значит, что сперва нужно будет узнать MAC-адрес каждого клиентского компьютера. Наверное, вы думаете, что для этого придётся вручную запустить команду Getmac на каждой машине.
Существует более простой путь. Для быстрого сбора всех MAC-адресов достаточно воспользоваться командой Address Resolution Protocol (ARP):
1...На одном компьютере запустите команду Ping для обмена пакетами со всеми машинами, которые будут подключены к точке беспроводного доступа или беспроводному маршрутизатору. 2...Введите команду ARP с параметром -a:
Arp -a
При запуске команды ARP с параметром –a на экране будет отображён кэш ARP, в котором хранятся IP- и MAC-адреса наиболее часто входящих в сеть компьютеров, или, как в данном случае, компьютеров, откликнувшихся на действие команды Ping.
Обновлено 28.05.2010 09:09
09.10.2006 02:32
Администратор
Загрузочными дискетами (или CD с загрузочной областью) пользуются во многих случаях:
для изменения параметров (форматирования) уже используемого жесткого диска или при разметке вновь купленного; для установки Операционной Системы; при отказе в работе Операционной Системы (вплоть до отказа загружаться вообще); при восстановлении Системы из образа (например, Norton Ghost); для попытки восстановления "забытого" пароля Администратора; а так же во многих других случаях.
Существует огромное количество готовых BootDisks - загрузочных дискет, да и многие программы (например, тот же PartitionMagic) имеют функцию формирования собственной загрузочной дискеты. В результате имеем кучу разнообразных загрузочных дискет (зачастую двойных для запуска одной программы) или уже готовых (купленных) загрузочных CD, причём не всегда точно помним, на котором именно и что именно запускается.
Меня интересовали два основных вопроса: иметь несколько вариантов загрузки с одного CD; иметь загрузочный образ размером больше, чем одна стандартная дискета 1440 Кб.
Возможность решить сразу оба этих вопроса собственными силами предоставляет менеджер загрузки с компакт-дисков Bootable CD Wizard. Это своеобразный "конструктор" загрузочного Меню, в котором и производится выбор варианта загрузки.
Что потребуется для работы
Естественно, сам "конструктор" BCDW, распространяющийся бесплатно. В настоящий момент в сети обычно упоминаются две версии BCDW - 1.50z и 2.0a1. На официальном сайте BCDW предлагается к загрузке только 1.50z. Версия 2.0а1 находится в состоянии альфа-релиза и официально не выкладывалась, однако доступна в сети. Поскольку функционально она превосходит 1.50z (в частности, поддерживает загрузку некоторых ISO образов и Windows XP SP2), то многие используют именно 2.0a1. Загрузить версию 2.0a1 можно по прямой ссылке с нашего сайта: в архиве 7-zip (84 kb) или в Zip (303 кб). В этой статье рассматриваются конфигурационные файлы BCDW 2.0a1, однако большинство задач можно было решить и при помощи версии 1.50z.
Справочное руководство для 1.50, по сути являющееся оффлайн версией сайта BCDW (формат CHM, 815 kb), в большинстве случаев применимо и к 2.01. Настоятельно рекомендуется загрузить его и изучить, т. к. там действительно есть ответы на очень многие вопросы. Официальных справочных материалов для 2.0a1 на данный момент нет.
Также пригодится утилита для работы с образами дисков. Например, WinImage (следует отметить, что эта программа не совсем бесплатная). Состав аварийно-восстановительного диска
Есть много статей, описывающих работу с Bootable CD Wizard (например, Совмещение нескольких вариантов установки Windows XP на одном диске или Создание мультисистемного аварийного диска), но там, в основном, описывается мультизагрузка для установки различных операционных систем. Mеня же более интересовал CD в виде ReAnimator, на котором мне требовались: минимальная быстрозагружаемая сборка на основе Window 98 (или 95, а то и DOS, как менее навороченного), чтобы только загрузиться, заглянуть на жёсткие диски, восстановить подпорченную загрузочную область, сделать Format, прогнать Sсandisk, перебросить (да хоть дистрибутив ОC) с CD-Rom на жесткий диск (например, вот такая 725 кб); расширенный вариант Загрузочной дискеты, с поддержкой длинных русских наименований, возможность залезть в разделы NTFS, в архивы, прогнать диагностику жёсткому диску, тестировать Оперативную память или другие "железные" компоненты (соль-сахар по вкусу), и так далее; загрузчик PartitionMagic (устанавливать для этих целей на винт полный пакет не вижу никакого смысла); загрузчик Norton Ghost, для сохранения либо обратного восстановления убитой (насмерть) Системы. загрузчик Memtest, для жесткого и обстоятельного тестирования оперативной памяти (RAM)
Далее будем рассматривать, как я использовал Bootable CD Wizard для реализации именно и только указанных свойств. Разобравшись с общими принципами работы с BCDW, вы без труда сможете добавить варианты загрузки своих любимых утилит, расширив функциональность диска. Настройка меню вариантов загрузок
Пакет Bootable CD Wizard предоставляет широчайшие возможности для создания меню мультизагрузки, но мы в основном будем крушить "лишние" на данный момент функции универсального загрузчика (ломать - не строить, голова не болит). Первым делом создадим где-нибудь в укромном уголке своего жёсткого диска папку с гордым названием (у меня она называется "A вот это всё и нужно записать"). В неё копируем из пакета Bootable CD Wizard следующие папки и файлы:
initest.bat - тест оболочки, с помощью которого можно проверить, как будет выглядеть интерфейс Меню (если мы его будем изменять) без проверки собственно функциональности.
В папке bcdw2dos файлы для запуска теста оболочки, хотя bcdw.com может использоваться не только для этого.
cp1251r.cpf и russian.fnt - файлы Шрифта и Кодировки русского языка (для Меню), все остальные файлы в обеих папках - на данный момент лишние.
bcdw.ini - конфигурационный файл BCDW.
Файлы *.bin - сами загрузчики.
BOOTFIX.BIN нужен, если вы хотите при загрузке иметь опцию "Press any key to boot from CD..."; и не нужен, если хотите сразу загружаться в BCDW).
На одном уровне с папкой [BCDW] есть папка [IMG]. Сюда мы будем складывать все свои загрузочные образы, которые будут запускаться по выбору из стартового Меню. На скриншоте образы уже есть в папке, а о том, как их создавать, рассказывается ниже.
Теперь начнём кройку и шитьё.
Открываем в Блокноте файл bcdw.ini, cмотрим выпученными глазами на его содержимое, затем удаляем ВСЁ, заменяя на текст (например у меня осталось): [InitOptions]
Font= \BCDW\FONTS\russian.fnt CharSet= \BCDW\CHARSETS\cp1251r.cpf
[MenuItems]
C:\; Загрузка с диска C:;^ Опа... Я не переключился в CMOS на загрузку с диска C: A:\; Загрузка с FLOPPY;^ Ну нафиг, не с CD-Rom надо было, а с Флоппера :Reboot; Перезагрузка;^ Перезагрузка компьютера : :; *** Загрузка DOS-программ с компакт-диска : \img\Quicker.IMA; Системная дискета DOS 7.10; ^ Быстрая загрузка без изысков^ Но тогда кое-чё из функций может и не работать. \img\Win_98SE.IMA; Крутая загрузочная дискета Win 98SE; К обычной загрузочной дискете Win 98SE присобачены ещё:^ Volkov Commander с поддержкой длинных имен, NTFS Reader,^ Victoria v3.4, DIMM-Test, PTS DiskEditor, System Speed Test ... \img\Part_Mag.IMA; PartitionMagic & BootMagic 8.0; Позволяет изменять, делить, объединять и конвертировать разделы^ (partitions) жесткого диска без потери записанной информации,^ возможна работа с FAT/FAT32/NTFS/Linux и OS2 дисками. \img\No_Ghost.IMA; Norton Ghost 2003; Умеет сохранять и восстанавливать посекторно файлы жесткого диска,^ всех его байтов вплоть до загрузочных секторов,^ независимо от файловой системы. \img\memtest.iso; Memtest ; ^ Незаменим для тщательного тестирования оперативной памяти (RAM)
[MenuOptions]
BGColors= 00, 80, 80, 80 BGSymbol= 32 MenuPosition= 02, 05, 76, 13 MenuColors= f9, 9f, 1f, f0, 0f, fd, f9 MenuBorderStyle= 5 MenuShadowStyle= 2 MenuTitle= * Варианты загрузки * MenuDefault= 0 MenuTimerLabel= Если ничего не трогать - загрузка с винта запустится через: MenuTimer= 10 HelpPosition= 02, 19, 76, 05 HelpColors= 70, 9f, 1f, 70, 0f, 70 HelpBorderStyle= 5 HelpShadowStyle= 2 HelpTitle= * Описание варианта * AboutPosition= 02, 01, 76, 03 AboutColors= 70, 9f, 1f, 70, 0f, 70 AboutBorderStyle= 5 AboutShadowStyle= 2 AboutTitle= * Freeware Multiple-Image Bootable CD Manager * AboutText= * Аварийный мультизагрузочный диск * ScrollPosition= 21, 00, 43, 01 ScrollColors= 87, 87, 87, 87, 0f, 87 ScrollMode= 0 ScrollText= ну давай уже хватит думать нажми хоть на что-нибудь
Запускаем initest.bat и смотрим, что получилось. Что-то вроде такого:
Увеличить
При данных настройках файла bcdw.ini на выбор предлагается пять вариантов загрузки с CD, загрузка с Флоппера или продолжение обычной загрузки в обход Меню, с жесткого диска, причём если не трогать клавиатуру - последний вариант происходит автоматически через 10 секунд.
Все текстовые данные можно менять произвольно. При желании подёргать за разные [Options] окна Меню (расположение, размеры, цвета фона и букв) - читайте описание файла bcdw.ini в Полном Руководстве (если удосужились его скачать) или на сайте. Вот варианты настроек от участников конференции OSZone:
Vovanchik
Увеличить
Fanzuga
Увеличить
_SV_
Увеличить
Секции [MenuOptions] каждого из вариантов собраны в один текстовый файл. Создание загрузочных образов
Обычно используются загрузочные образы дискет (IMA) или дисков (ISO). Образы загрузочных дискет (IMA)
Если готового образа нет, считаем, что у нас есть Загрузочная дискета и WinImage.
Вставляем в компьютер дискету, выбираем в WinImage диск A:, считываем дискету и сохраняем в образ (с расширением *.IMA). Описание с картинками опять же есть либо в Полном Руководстве, либо на сайте. Если этих дискет ДВЕ - образ делается из первой дискеты, затем формат образа меняется на 2880 Кб, и в окно образа переносятся все файлы (по замене совпадающих) со второй дискеты. В процессе желательно "немножко" откорректировать описание загрузки. К примеру для дискет из пакета PartitionMagic из файла AUTOEXEC.BAT можно совсем удалить строчки ECHO. ECHO Please Insert PartitionMagic Disk 2 ECHO. ECHO. ECHO *** Press Any Key to Continue *** ECHO. PAUSE >NUL
нам же теперь не потребуется ждать замены на вторую дискету.
Для создания образа произвольного размера мне показалось проще всего взять жёсткий диск (любой старый, того размера, который под руки попадётся), разметить его первый раздел как активный и задать размер 700 Мб (а куда больше-то?), правильным образом перенести на него системные файлы с загрузочной дискеты (Sys A: C:), скопировать туда с Загрузочной дискеты остальные файлы, а затем свалить туда же ВСЁ то, что хотелось бы видеть после загрузки: драйвера CD и мышки, DOS-тестовые программы, Вьювер NTFS-разделов, Norton Comander вместе со всеми архиваторами (ZIP, RAR, ARJ, LHA, ICE и прочей экзотики), да хоть и вообще DOS Navigator, общий размер-то нас волновать перестал. Теперь, подключив этот жёсткий диск, как основной, перезагрузить компьютер с него и произвести полную настройку приложений, вместе с Общими настройками и Меню NC (или другого файлового менеджера). Не мешало бы в файл AUTOEXEC.BAT вставить строчку Set TEMP=C:\TEMP
иначе многие DOS-программы не будут запускаться с CD, так же они могут не работать, если все жёсткие диски, и даже сам диск C:, размечены как NTFS.
Затем грузимся в обычном режиме, прицепляя этот винт дополнительным к своему основному, берём тот же WinImage (нас теперь интересует его Профессиональный режим) и, указывая ему этот самый 700-Мб раздел, делаем образ всего раздела, сохраняя его как *.IMA. Размер получившегося образа - 700 Мб. Если WinImage указать "Oтceкaть нeиcпoльзуeмую чacть oбpaзa" - размер файла образа будет определяться только размером файлов, его составляющих (в моём случае - около 8 Мб), но в этот образ можно набить ещё файлов вплоть до его полного размера, 700 Мб. Не мешало бы провести операцию "Дефрагментировать текущий образ" - тогда его объём получится ещё меньше. Образы загрузочных дисков (ISO)
Для загрузки с ISO нужен BCDW 2.0a1, но и он не абсолютно любой ISO образ может загрузить. Загрузочные образы можно найти в сети (например, memtest) или создать самому при помощи все того же WinImage (Disk - Create CD-ROM ISO Image). Таким способом, к примеру, можно создавать ISO образы загрузочных дисков Acronis True Image и Disk Director Suite.
Вообще, BCDW распознает образ не по расширению, а по содержимому. Так что вы можете переименовать расширения всех своих образов хоть в *.APO. Как прописать загрузку образов в bcdw.ini
Осталось только сложить все свои получившиеся образы в папку [IMG] и сделать соответствующие изменения в секции [MenuItems] файла bcdw.ini, поместив туда названия своих вариантов загрузки и краткие описания этих вариантов. Вы, наверное, уже догадались как это делается, посмотрев код, приведенный выше. На всякий случай, поясняем формат: ; путь к образу; название; описание ; ^ - перевод строки \img\Quicker.IMA ; Системная дискета DOS 7.10 ; ^ Быстрая загрузка без изысков \img\memtest.iso ; Memtest ; ^ Незаменим для тщательного тестирования оперативной памяти (RAM)
Всё. Готовы записывать. Запись загрузочного диска
Мы рассмотрим создание ISO образа утилитой CDImage, a также классический метод записи загрузочного диска при помощи таких программ, как Nero или Easy Media Creator. Рекомендуется вначале пару раз побаловаться с перезаписываемым CD-RW, чтоб не запускать с балкона в сторону горизонта испорченные одноразовые CD-R болванки.
Для начала, в корень Проекта Загрузочного диска помещаем папки [BCDW] и [IMG]. CDImage
Подробнее CDImage рассматривается в статье Создание загрузочного ISO/CD. В набор, который можно загрузить с нашего сайта, входит все необходимое для создания образа мультизагрузочного диска на основе BCDW (кроме BCDW, который вам надо загрузить отдельно). В набор входит файл Create_ISO_BCDW.cmd, запустив который вы и получите желаемый ISO образ. Давайте рассмотрим файл подробнее, открыв его в текстовом редакторе: @echo off TITLE Creating ISO Image of BCDW project ECHO.
:: Укажите путь к дистрибутиву (файлам создаваемого диска) SET DISTRO=C:\XPCD
:: Укажите где создать результирующий ISO образ SET OUTPUT=C:
:: Укажите метку тома (без пробелов!) :: Она же будет использована как имя ISO образа SET LABEL=MULTIBOOT_BCDW :: Список стандартных меток :: Windows XP http://www.tacktech.com/display.cfm?ttid=342 :: Windows 2003 http://www.tacktech.com/display.cfm?ttid=355
:: Снятие атрибутов файлов ECHO Removing any possible attributes set on %DISTRO% and its subfolders... attrib -R -H "%DISTRO%" /S /D ECHO.
:: Создание ISO ECHO Creating ISO...
:: Предполагается, что папка с BCDW в корне создаваемого диска. :: Измените путь к загрузчику (.bin) если необходимо.
:: Для BCDW 2.0a1 CDIMAGE.EXE -l"%LABEL%" -h -j1 -oci -m -b"%DISTRO%\bcdw\loader.bin" "%DISTRO%" "%OUTPUT%\%LABEL%.ISO"
:: Для BCDW 1.50z :: CDIMAGE.EXE -l"%LABEL%" -h -j1 -oci -m -b"%DISTRO%\bcdw\bcdw.bin" "%DISTRO%" "%OUTPUT%\%LABEL%.ISO" ECHO.
PAUSE EXIT
Вам нужно указать, где находятся файлы проекта (по умолчанию - C:\XPCD) и куда вы хотите сохранить получившийся образ (по умолчанию - корневой каталог диска С). Вы также можете легко изменить метку тома на свою. Мы предполагаем, что папка [BCDW], содержащая загрузчик, находится в корне проекта. Если вы разместили папку в другом месте, то измените путь к загрузчику. Двойной клик на файле Create_ISO_BCDW.cmd начинает создание ISO образа. Это, пожалуй самый простой и надежный метод создания загрузочного диска. Классический метод записи
В качестве загрузочного образа указываем файл loader.bin, он лежит у нас (чтоб не искать его каждый раз) в папке [BCDW]. (Примечание: речь идет о загрузчике 2.0a1; для 1.50z указывайте bcdw.bin). Не пугайтесь, он и правда всего ДВА КилоБайта. Файл initest.bat нам здесь не потребуются.
На оставшееся место до полного заполнения записываемого CD-R можно складывать уже всё, что угодно.
Здесь имеется один подводный камень: далеко не все программы записи на CD имеют необходимые настройки (к примеру Small CD-Writer для наших целей не подходит). В настройках записи ОБЯЗАТЕЛЬНО нужно указать параметры "Режим эмуляции"="Без эмуляции" и "Количество секторов для загрузки" = 4. Если этого не сделать - при стандартной записи на CD информации объёмом более 100 Мб загрузочный сектор такого рода работать отказывается. Правда, менее 100 Мб - работает, даже при записи через Small CD-Writer. Для тех кто в танке
Настройки (с картинками) для программ Nero, CDRWin, WinOnCD, Easy CD Creator, Instant CD+DVD, CDImage или mkisofs имеются всё в том же Полном Руководстве или на сайте BCDW. Практические советы
Если вы не устали, то нам еще есть что рассказать Вашему вниманию предлагается два примера, демонстрирующих применение BCDW в реальных условиях. Упрощаем до упора
Если загрузочный образ всего один, то есть мультизагрузка не требуется (например, нужно создать загрузoчный образ всего жёсткого диска или только одного его раздела, если он конечно не больше объёма CD-R), то INI файлы BCDW практически вырождаются. Содержимое файла bcdw.ini принимает вид [MenuItems] \img\No_Ghost.IMA
Сам подготовленный образ *.GHO всего жёсткого диска (или только одного его раздела) переносится прямо в корень образа загрузчика No_Ghost.IMA (здесь потребуется именно тот самый 700-Мб образ).
Записываем на CD-R папку [BCDW], в которой лежат два файла bcdw.ini и loader.bin (папки [charsets] и [fonts] здесь не потребуются), и папку [IMG], в которой лежит один-единственный файл No_Ghost.IMA . Используем в качестве загрузочного образа всё тот же файл loader.bin.
Загружаемся с CD-Rom. Никаких входных Меню выбора, загружается сразу Norton Ghost, и, Вы будете смеяться, но файл *.GHO (нехилого размера) лежит прямо на диске A:\. Можно конечно вообще избавиться от папок, но это уже, наверное, перебор... Усложняем по максимуму
В данной статье для примера взят диск с пятью различными вариантами загрузки. Если не скромничать и продолжать добавлять варианты, то чтобы их все увидеть, придется долго прокручивать меню вниз. В такой ситуации неизбежно возникает вопрос о более удобной системе навигации по меню. Решить проблему можно, создав древовидную структуру меню.
Допустим, ваши варианты загрузки можно условно разделить на несколько категорий: Установка операционных систем, Тест стабильности компонентов, Создание и изменение разделов HDD и т.д. Тогда можно на первом экране отобразить эти категории. Пользователь, выбрав какую-либо категорию, будет переходить уже непосредственно к различным вариантам загрузки.
Например, выбрав Создание и изменение разделов HDD, мы попадаем в подменю, содержащее PartitionMagic и Acronis Disk Director.
Увеличить
Реализовать это даже проще, чем объяснить словами. Все что нужно сделать, это в [MenuItems] bcdw.ini указать путь к соответствующему INI файлу, определяющему содержимое меню. Формат этого INI файла абсолютно такой же, как у bcdw.ini. В описанном выше примере мы имеем примерно следующее (приводятся только секции [MenuItems], т.к. остальные будут одинаковыми, а описания вариантов загрузки взяты произвольно и могут не полностью соответствовать скриншоту).
bcdw.ini [MenuItems] \bcdw\OSInstal.ini ; Установка операционных систем ;^ Ваше описание. \bcdw\Test.ini ; Тест стабильности компонентов ;^ Ваше описание. \bcdw\PrtRstrk.ini ; Создание и изменение разделов HDD ;^ Ваше описание.
OSInstal.ini [MenuItems] :Return ; Возврат в предыдущее меню \i386\setupldr.bin ; Windows XP Pro Regular; ^ Regular installation of Windows XP Professional. \i386\setupld1.bin ; Windows XP Pro Unattended; ^ Unattended installation of Windows XP Professional.
Test.ini [MenuItems] :Return ; Возврат в предыдущее меню \img\memtest.iso; Memtest ; ^ Незаменим для тщательного тестирования оперативной памяти (RAM)
PrtRstrk.ini [MenuItems] :Return ; Возврат в предыдущее меню \img\Part_Mag.IMA ; PartitionMagic & BootMagic 8.0; Позволяет изменять, делить, объединять и конвертировать разделы. \img\adds_10.iso ; Acronis Disk Director ;^ Тоже самое но уже на Linux, алгоритмы работы более оптимизированные.
Вложенность меню не ограничивается двумя уровнями. К любому меню можно прикрутить подменю. Главное - не увлекаться и не усложнять навигацию сильнее, чем это необходимо. Естественно, для каждого меню можно сделать собственную схему оформления.
Спасибо Vovanchik'у, предложившему включить в статью эту секцию и любезно предоставившему свои INI файлы для наглядности.
Обновлено 28.05.2010 12:25
|
30.09.2006 23:27
Администратор
Ошибка Microsoft Document Image Writer При нажатии на меню файл программа выдаёт ошибку и закрывается Решение: Ошибка возникает из-за того что Microsoft Document Image Writer помнит несколько сохранённых файлов и ссылки к ним и если файл переименовывается программа не обнаруживая его закрывается. Выход: Открыть несколько файлов Microsoft Document Image Writer чтобы ссылки на файлы обновились.
Обновлено 28.05.2010 09:50
12.10.2006 01:13
Администратор
Настройка почтового сервера на базе postfix
Автор: lissyara. Оригинал: http://www.lissyara.su/archive/postfix+courier-imap+mysql/
Эта статья в архиве. Postfix`ом я больше не пользуюсь, новых не будет. Используйте exim :))
MTA postfix - был создан как альтернатива sendmail, типа более простой, более шустрый и защищённый. Также в нём был отказ от монолитной структуры - он представляет собой много мелких программ занимающихся разными делами. Отличие от qmail состоит в том, что эти программы не умирают, выполнив порученное задание, а продолжают висеть в памяти. Это позволяет экономить ресурсы на запуск-убиение программ. Всё это, в том числе и структура postfix детально рассмотрено на его сайте, а на русском языке это можно найти тут. Я на postfix пересел после sendmail, с которым довольно долго колупался пытаясь сделать на нём виртуальные домены, а в итоге просто плюнул и всё. Кроме поддержки виртуальных доменов postfix порадовал грамотным WEB-интерфейсом, такого у других почтовиков просто нет :(. А жаль... (просто в итоге я-то пользуюсь exim :)) А вот из плохого у него - кривая авторизация пользователей при отправке писем, куча конфигурационных файлов, пусть и с понятым и простым синтаксисом. Итак, начало обычное - обновляем порты и поехали. Для начала ставим MySQL нужной нам (читать как Вам) версии, я пользуюсь 4.0: /root/>cd /usr/ports/databases/mysql40-server /usr/ports/databases/mysql40-server/>make && make install && make clean
После чего добавляем строчку в /etc/rc.conf и запускаем mysqld. /usr/ports/databases/mysql40-server/>echo 'mysql_enable="YES"' >> /etc/rc.conf /usr/ports/databases/mysql40-server/>cd /usr/local/etc/rc.d /usr/local/etc/rc.d/>./mysql-server.sh start Starting mysql. /usr/local/etc/rc.d/>ps -ax | grep sql 54603 p1 S 0:00.02 /bin/sh /usr/local/bin/mysqld_safe --defaults- 54620 p1 S 0:02.54 /usr/local/libexec/mysqld --defaults-extra-fil 54622 p1 DL+ 0:00.00 grep sql /usr/local/etc/rc.d/>
Если для редактирования файлов будете пользоваться такими же извращёнными методами что и я (это про echo 'mysql_enable="YES"' >> /etc/rc.conf), то аккуратней с угловыми скобками - если поставить одну, а не две, то строка будет не дописана в файл, а заменит содержимое файла (короче с одной скобкой в файле тока строка про майскул_енаблед и останется :)). Лучше пользуйтесь ее. Дальше собираем phpMyAdmin (в общем-то он не нужен ,но я им пользуюсь, да и при установке он тащит с собой apache, php, и прочие необходимые вещи :)) /usr/local/etc/rc.d/>cd /usr/ports/databases/phpmyadmin /usr/local/ports/phpmyadmin/>make && make install && make clean
Оставляем все опции по-умолчанию, у меня получилось (список того что я "выбрал"): bzip2 library support GD library support OpenSSL support PDFlib support ZLIB support MCrypt library support Multi-byte character-set string support За собой он тащит apache1.3 и php4. Для php выбираем: Enable zend multibyte support Build static OpenSSL extension Для php4-gd выбираем всё, кроме поддержки японских шрифтов :), т.е.: Include T1lib support Enable TrueType string function В опциях для php4-mpstring выбираем: Enable multibyte regex support А вот полный список того, что он за собой потащщит(для версии phpMyAdmin-2.6.4.r1): php4-bz2-4.4.0 php4-zlib-4.4.0 libiconv-1.9.2_1 php4-mbstring-4.4.0 mysql-client-4.0.25 php4-mysql-4.4.0 autoconf-2.59_2 bison-1.75_2,1 gettext-0.14.5 gmake-3.80_2 imake-4.5.0 libltdl-1.5.20 libtool-1.5.20 m4-1.4.3 p5-gettext-1.03 php4-pcre-4.4.0 pkgconfig-0.17.2 t1lib-5.0.1,1 jpeg-6b_3 php4-gd-4.4.0 png-1.2.8_2 php4-4.4.0 help2man-1.35.1 freetype2-2.1.10_1 pdflib-6.0.2 pecl-pdflib-2.0.4 libmcrypt-2.5.7_1 php4-mcrypt-4.4.0 rc_subr-1.31_1 expat-1.95.8_3 apache-1.3.33_2 fontconfig-2.2.3,1 XFree86-libraries-4.5.0 Редактируем /usr/local/etc/apache/httpd.conf. Особо там нечего редактировать, если не собираетесь поднимать полноценный http-сервер. Если только для себя, тогда меняем эти пункты:# интерфейс, на котором работать. #Если все интерфейсы, то - * BindAddress 192.168.0.254
#И добавляем альяс на папку phpMyAdmin Alias /phpMyAdmin/ "/usr/local/www/phpMyAdmin/"
<Directory "/usr/local/www/phpMyAdmin"> Options Indexes FollowSymlinks MultiViews AllowOverride AuthConfig Order deny,allow Allow from all </Directory>
Создаём файл паролей, и файл с пользователями (чтобы кто попало не шарился по этой папке) для апача:/usr/local/etc/rc.d/>cd /usr/local/www/ /usr/local/www/>htpasswd -bc .htpasswd lissyara my_password Adding password for user lissyara /usr/local/www/>htpasswd -b .htpasswd vasya_pryanikow vasin_password Adding password for user vasya_pryanikow /usr/local/www/>cat .htpasswd lissyara:xrQpFTJSERWNY vasya_pryanikow:kVrHSjsKfSDi. /usr/local/www/>cd phpMyAdmin /usr/local/www/phpMyAdmin/>cat > .htaccess AuthName "Admin`s level :)" AuthType Basic AuthUserFile /usr/local/www/.htpasswd Require valid-user
^C
Вкратце, о проделанных действиях - создали файл паролей, одновременно внеся туда пользователя lissyara с паролем my_password, затем добавили vasya_pryanikow с паролем vasin_password. Создали файл .htaccess - там прописали необходимость авторизации и путь до файла с паролями. Добавляем apache_enable="YES" в rc.conf, и запускаем апача:/usr/local/www/phpMyAdmin/>echo 'apache_enable="YES"' >> /etc/rc.conf /usr/local/www/phpMyAdmin/>../../etc/rc.d/apache.sh start Starting apache. [Thu Sep 8 10:07:06 2005] [alert] httpd: Could not determine the server's fully qualified domain name, using 192.168.0.254 for ServerName /usr/local/www/phpMyAdmin/>
У меня он ругнулся на жизнь - я не прописал DNS :) Ну и пробуем зайти по сети на него - http://192.168.0.254/phpMyAdmin/ (завершающий слэш обязателен, без него ругнётся что ненайдено). После чего даём пароль руту, правим /usr/local/www/phpMyAdmin/config.inc.php (заносим туда пароль root). Ставим postfix:/usr/local/www/phpMyAdmin/>cd postfix /usr/ports/mail/postfix/>cd /usr/ports/mail/postfix /usr/ports/mail/postfix/>make && make install && make clean
Выбираем: MySQL map lookups и VDA (Virtual Delivery Agent). Если надо что-то ещё - выбирайте, а я не магистральный майлер поднимаю :) Потом будет следующий вопрос: Added user "postfix". You need user "postfix" added to group "mail". Would you like me to add it [y]?
- говорим y, следующий вопрос: Would you like to activate Postfix in /etc/mail/mailer.conf [n]? y
- тоже соглашаемся. Потом быренько вверх проскакивает инструкция что делать дальше, я первый раз прошляпил, и долго ковырялся над простыми вещами :( If you have postfix configured in your /etc/mail/mailer.conf (answered yes to the previous question) and would like to enable postfix to start at boot time, please set these variables in your /etc/rc.conf file:
sendmail_enable="YES" sendmail_flags="-bd" sendmail_pidfile="/var/spool/postfix/pid/master.pid" sendmail_procname="/usr/local/libexec/postfix/master" sendmail_outbound_enable="NO" sendmail_submit_enable="NO" sendmail_msp_queue_enable="NO"
This will disable Sendmail completely, and allow you to use /etc/rc.d/sendmail to start and stop postfix (FreeBSD 5.x and up). For FreeBSD 4.x, it will just cause the system boot scripts to start sendmail for you.
Alternatively to the above settings, you can enable postfix to start with the other local services, for example, after your database server starts if you need it to be running for postfix. To do this, set in your rc.conf file:
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
Then make the following symbolic link:
cd /usr/local/etc/rc.d ln -s /usr/local/sbin/postfix postfix.sh
With either startup configuration, you will want to disable some Sendmail-specific daily maintenance routines in your /etc/periodic.conf file:
daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO"
Ну, и выполняем инструкцию :), вернее её вторую часть, где говорится о том, что если надо чтобы postfix запускался после БД то надо.... Читаем инструкцию, короче :) Ставим postfixadmin./usr/ports/>cd /usr/ports/mail/postfixadmin /usr/ports/mail/postfixadmin/>make && make install && make clean
По окончании опять-таки вылезет инструкция:1. Create the MySQL Tables -------------------------- In ${PREFIX}/www/postfixadmin/DATABASE.TXT you can find the table structure that you need in order to configure Postfix Admin and Postfix in general to work with Virtual Domains and Users
2. Configure ------------ Check the ${PREFIX}/www/postfixadmin/config.inc.php file. There you can specify settings that are relevant to your setup.
The default password for the admin part of Postfix Admin is admin/admin. This is specified in the .htpasswd file in the admin directory. Make sure that the location of the .htpasswd file matches your path.
3. Configure Apache ------------------- Add a line in your httpd.conf to allow the use of .htaccess file.
<Directory "/usr/local/www/postfixadmin"> Options Indexes AllowOverride AuthConfig </Directory>
Что и делаем: /usr/ports/mail/postfixadmin/>cd /usr/local/www/postfixadmin/ /usr/local/www/postfixadmin/>mysql --user=root --password= < DATABASE_MYSQL.TXT
Вообще-то я бы порекомендовал для начала чуть поправить этот файл в текстовом редакторе, - конкретно место где в БД вносится пользователи и пароли - пароли надо бы сменить... Можно это сделать и через phpMyAdmin. В этом примере я ничего не меняю. Чего вам делать не советую. Далее - запароливаем директорию postfixadmin - чтобы никто лишний не шарился. Для этого используем всё теже файлы, что и для phpMyAdmin: cp ../phpMyAdmin/.htaccess .htaccess /usr/local/www/postfixadmin/>rm admin/.ht*
Последнее сделано потому, что я предпочитаю запароливать весь интерфейс postfixadmin, а не только его папку admin. И добавляем в конфиг апача следующие строчки: Alias /postfixadmin/ "/usr/local/www/postfixadmin/"
<Directory "/usr/local/www/postfixadmin"> Options Indexes FollowSymlinks MultiViews AllowOverride AuthConfig Order deny,allow Allow from all </Directory>
Перезапускаем apache и пробуем зайти по адресу http://192.168.0.254/postfixadmin/ Там нам предлагают запустить setup. У меня он ругнулся на отсутствующий модуль php и дал подробную инструкцию что сделать. После выпоннения инструкции надо перезапустить апач (этого в инструкции нет). После всё работает. (Ну, там стандартные ошибки из версии в версию - надо исправить кодировку в файле templates/header.tpl на windows-1251 и влепить в меню 4 штуки <br>-ов чтоб не наезжало друг а друга в файле templates/admin_menu.tpl). Можно конфигурить postfix. В директории /usr/local/etc/postfix создаём следующие файлы: /usr/local/etc/postfix/mysql_relay_domains_maps.cfuser = postfix password = postfix hosts = localhost dbname = postfix table = domain select_field = domain where_field = domain
/usr/local/etc/postfix/mysql_virtual_alias_maps.cfuser = postfix password = postfix hosts = localhost dbname = postfix table = alias select_field = goto where_field = address
/usr/local/etc/postfix/mysql_virtual_domains_maps.cfuser = postfix password = postfix hosts = localhost dbname = postfix table = domain select_field = transport where_field = domain
/usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cfuser = postfix password = postfix hosts = localhost dbname = postfix table = mailbox select_field = quota where_field = username
/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cfuser = postfix password = postfix hosts = localhost dbname = postfix table = mailbox select_field = maildir where_field = username
/usr/local/etc/postfix/main.cfqueue_directory = /var/spool/postfix command_directory = /usr/local/sbin daemon_directory = /usr/local/libexec/postfix mail_owner = postfix mynetworks_style = subnet mynetworks = 192.168.8.0/24, 127.0.0.0/8 sendmail_path = /usr/local/sbin/sendmail newaliases_path = /usr/local/sbin/newaliases mailq_path = /usr/local/sbin/mailq setgid_group = maildrop html_directory = no manpage_directory = /usr/local/man sample_directory = /usr/local/etc/postfix readme_directory = no myhostname = mail.my_domain.ru mydomain = my_domain.ru myorgin = $mydomain mydestination = localhost local_transport = virtual smtpd_recipient_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl-xbl.spamhaus.org content_filter = scan:127.0.0.1:10025 receive_override_options = no_address_mappings
relay_domains = mysql:/usr/local/etc/postfix/mysql_relay_domains_maps.cf virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf virtual_gid_maps = static:125 virtual_mailbox_base = /var/spool/postfix/virtual/ virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_relay_domains_maps.cf virtual_mailbox_limit = 51200000 virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_minimum_uid = 125 virtual_transport = virtual virtual_uid_maps = static:125 # QUOTA virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_mailbox_limit_maps = \ mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = Дохрена почты скопилось в ящике. Надо удалить! virtual_overquota_bounce = yes unknown_local_recipient_reject_code = 550 transport_map = mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf message_size_limit = 10240000 smtpd_recipient_limit = 5
/usr/local/etc/postfix/master.cf - тут редактируем не все строки# CLAMAV scan unix - - n - 16 smtp -o smtp_send_xfo 127.0.0.1:10026 inet n - n - 16 smtpd -o content_filter= -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_autorized_xforward_hosts=127.0.0.0/8
Затем ставим ClamAV и ClamSMTP: /usr/local/etc/postfix/>cd /usr/ports/security/clamsmtp /usr/ports/security/clamsmtp/>make && make install && make clean
Чуть погодя появляется окошко ClamAV с опциями (ClamSMTP его за собой тащщит), где ничё не выбираем. Затем конфигурим ClamSMTP: /usr/local/etc/postfix/clamsmtpd.conf (его там нет, есть только исходный clamsmtpd.conf-sample)OutAddress: 10026 Listen: 0.0.0.0:10025 ClamAddress: /var/run/clamav/clamd Header: X-AV-Checked: ClamAV using ClamSMTP on mail.my_domain.ru TempDirectory: /tmp/clamav_tmp Quarantine: on User: clamav
И ClamAV: /usr/local/etc/postfix/clamd.confLogFile /var/log/clamd.log PidFile /var/run/clamav/clamd.pid DatabaseDirectory /var/db/clamav LocalSocket /var/run/clamav/clamd FixStaleSocket User clamav ScanPE ScanOLE2 ScanMail ScanHTML ScanArchive ScanRAR ArchiveMaxFiles 5000
Добавляем в /etc/rc.conf строки, создаём папки, запускаем это хозяйство и сразу его обновляем:/usr/local/etc/>echo 'clamav_clamd_enable="YES"' >> /etc/rc.conf /usr/local/etc/>echo 'clamsmtpd_enable="YES"' >> /etc/rc.conf /usr/local/etc/>cd rc.d /usr/local/etc/rc.d/>mkdir /tmp/clamav_tmp /usr/local/etc/rc.d/>chown clamav /tmp/clamav_tmp /usr/local/etc/rc.d/> /usr/local/etc/rc.d/>./clamsmtpd.sh start Starting clamsmtpd. /usr/local/etc/rc.d/>./clamav-clamd.sh start Starting clamav_clamd. /usr/local/etc/rc.d/>ps -ax | grep clam 87674 ?? Is 0:00.00 /usr/local/sbin/clamsmtpd -f /usr/local/etc/clamsmtpd.conf 87683 ?? Ss 0:00.01 /usr/local/sbin/clamd 87698 p0 S+ 0:00.01 grep clam /usr/local/etc/rc.d/>mkdir /var/spool/postfix/virtual /usr/local/etc/rc.d/>chown postfix:mail /var/spool/postfix/virtual /usr/local/etc/rc.d/> /usr/local/etc/rc.d/>newaliases /usr/local/etc/rc.d/> /usr/local/etc/rc.d/>freshclam freshclam: Command not found. /usr/local/etc/rc.d/>rehash /usr/local/etc/rc.d/>freshclam ClamAV update process started at Fri Sep 9 17:50:11 2005 main.cvd is up to date (version: 33, sigs: 36102, f-level: 5, builder: tkojm) Downloading daily.cvd [*] ERROR: Mirrors are not fully synchronized. Please try again later. Trying again in 5 secs... ClamAV update process started at Fri Sep 9 17:50:17 2005 main.cvd is up to date (version: 33, sigs: 36102, f-level: 5, builder: tkojm) Downloading daily.cvd [*] daily.cvd updated (version: 1072, sigs: 4080, f-level: 5, builder: sven) Database updated (40182 signatures) from database.clamav.net (IP: 213.248.60.121) Clamd successfully notified about the update. /usr/local/etc/rc.d/>
Во как. Попал на момент синхронизации самого зеркала. Вообще неплохо добавить строчку обновления ClamAV в crontab - пусть обновляется 3-4 раза в сутки. Перезагружаем машину, и смотрим, запустился ли postfix./usr/home/lissyara/>ps -ax | grep master 215 ?? Is 0:02.55 /usr/local/libexec/postfix/master /usr/home/lissyara/>
для тестирования работы создаём два домена через postfixadmin - my_domain.ru и mail.my_domain.ru. В домене mail.my_domain.ru создаём альяс * - чтоб вся его почта валилась на какой нужно ящик. В качестве pop3 и imap демонов выступит courier-imap. Почему он? Ну просто настраивается он легко, и возможностей выше крыши. И нравится мне он. :)/root/>cd /usr/ports/mail/courier-imap/ /usr/ports/mail/courier-imap/>make && make install && make clean
Выбираем только одну опцию - AUTH_MySQL. Если Вам нужно что-то ещё - ставьте. Он за собой потащщит courier-authlib-base и courier-authlib-mysql. После чего настраиваем: /usr/local/etc/authlib/authmysqlrcMYSQL_SERVER localhost MYSQL_USERNAME postfix MYSQL_PASSWORD postfix MYSQL_PORT 3306 MYSQL_DATABASE postfix MYSQL_USER_TABLE `mailbox` MYSQL_CRYPT_PWFIELD `password` MYSQL_UID_FIELD 125 MYSQL_GID_FIELD 125 MYSQL_LOGIN_FIELD `username` MYSQL_NAME_FIELD `name` MYSQL_HOME_FIELD CONCAT('/var/spool/postfix/virtual/', `maildir`) MYSQL_MAILDIR_FIELD CONCAT('/var/spool/postfix/virtual/', `maildir`) DEFAULT_DOMAIN my_domain.ru
После чего добавляем строчки в /etc/rc.conf и запускаем это хозяйство: /usr/local/etc/authlib/>cd /usr/local/etc/rc.d /usr/local/etc/rc.d/>echo 'courier_imap_pop3d_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/>echo 'courier_imap_imapd_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/>echo 'courier_authdaemond_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/>./courier-authdaemond.sh start Starting courier_authdaemond. /usr/local/etc/rc.d/>./courier-imap-imapd.sh start Starting courier_imap_imapd. /usr/local/etc/rc.d/>./courier-imap-pop3d.sh start Starting courier_imap_pop3d. /usr/local/etc/rc.d/>ps -ax | grep imap 68539 ?? I 0:00.00 /usr/local/sbin/courierlogger -pid=/var/run/imapd.pid 68540 ?? I 0:00.02 /usr/local/libexec/courier-imap/couriertcpd -address=0 68549 ?? S 0:00.00 /usr/local/sbin/courierlogger -pid=/var/run/pop3d.pid 68550 ?? S 0:00.02 /usr/local/libexec/courier-imap/couriertcpd -address=0 68552 p0 S+ 0:00.01 grep imap /usr/local/etc/rc.d/>sockstat | grep couri root couriert 68550 3 tcp4 *:110 *:* root couriert 68540 3 tcp4 *:143 *:* root courierl 68549 4 dgram syslogd[70]:3 root courierl 68539 4 dgram syslogd[70]:3 root courierl 68523 4 dgram syslogd[70]:3 /usr/local/etc/rc.d/>sockstat | grep auth root authdaem 68529 5 stream /var/run/authdaemond/socket.tmp root authdaem 68528 5 stream /var/run/authdaemond/socket.tmp
Ну, вот и всё. Всё работает и крутится :) Данная конфигурация тестилась на следующей машине: P-II 233 MHz 64 Mb RAM 8 Gb HDD Версии установленного ПО (без учёта мелочи что тянется следом): courier-authlib-base-0.57 Courier authentication library base courier-authlib-mysql-0.57 MySQL support for the Courier authentication library courier-imap-4.0.4,1 IMAP (and POP3) server that provides access to Maildir mail postfix-2.2.5,1 A secure alternative to widely-used Sendmail postfixadmin-2.1.0_1 PHP frontend to postfix and mySQL mysql-client-4.0.25 Multithreaded SQL database (client) mysql-server-4.0.25 Multithreaded SQL database (server)
P.S. Добавлено 2006-01-14 в 16:20 Жизнь полна сюрпризов и неожиданностей :))) На старой работе понадобилось приделать отправку почты снаружи - а там конфигурация ровно как описанная в статье - соответствено снаружи ничё не предусмотрено. Что потребовалось - пересобрать и переустановить postfix с опциями (предварительно удалив старый - pkg_delete):[X] SASL2 Cyrus SASLv2 (Simple Authentication and Security Layer) [X] MySQL MySQL map lookups (choose version with WITH_MYSQL_VER) [X] VDA VDA (Virtual Delivery Agent)
SASL2 он сам за собой потащщит. Но, перед тем как установить SASL2 его надо пропатчить. Причина проста - sasl не умеет работать с криптоваными паролями, а в бд они хранятся в зашифрованном виде. Затем и патчим - чтоб научить :) Патч берём отсюда. Сохраняем его в /usr/ports/security/cyrus-sasl2/files/ под именем patch-crypt. Вот его содержимое (на случай если тот сервер будет лежать):/usr/ports/security/cyrus-sasl2/files/>cat patch-crypt *** lib/checkpw.c.orig Thu Jan 13 09:44:01 2005 --- lib/checkpw.c Thu Jan 13 09:47:17 2005 *************** *** 143,149 **** "*cmusaslsecretPLAIN", NULL }; struct propval auxprop_values[3]; ! if (!conn || !userstr) return SASL_BADPARAM;
--- 143,153 ---- "*cmusaslsecretPLAIN", NULL }; struct propval auxprop_values[3]; ! ! /* added by lopaka */ ! char salt[31]; ! char *crypt_passwd = NULL; ! if (!conn || !userstr) return SASL_BADPARAM;
*************** *** 180,191 **** goto done; }
/* At the point this has been called, the username has been canonified * and we've done the auxprop lookup. This should be easy. */ if(auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] ! && !strcmp(auxprop_values[0].values[0], passwd)) { /* We have a plaintext version and it matched! */ return SASL_OK; } else if(auxprop_values[1].name --- 184,220 ---- goto done; }
+ /* 20041008 added by lopaka */ + /* encrypt the passwd and then compare it with the encrypted passwd */ + if(!strncmp(auxprop_values[0].values[0],"$1",2)) + { + /* MD5 */ + /* obtain salt = first 12 chars */ + crypt_set_format("md5"); + strlcpy(salt,auxprop_values[0].values[0],13); + } + else if(!strncmp(auxprop_values[0].values[0],"$2",2)) + { + /* BLF (blowfish) */ + /* obtain salt = first 30 chars */ + crypt_set_format("blf"); + strlcpy(salt,auxprop_values[0].values[0],31); + } + else + { + /* DES */ + /* obtain salt = first 2 chars */ + crypt_set_format("des"); + strlcpy(salt,auxprop_values[0].values[0],3); + } + crypt_passwd = crypt(passwd,salt); + /* At the point this has been called, the username has been canonified * and we've done the auxprop lookup. This should be easy. */ if(auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] ! && !strcmp(auxprop_values[0].values[0], crypt_passwd)) { /* We have a plaintext version and it matched! */ return SASL_OK; } else if(auxprop_values[1].name
После чего инсталлируем postfix и делаем файлик /usr/local/lib/sasl2/smtpd.conf следующего содержания:log_level: 7 pwcheck_method: auxprop sql_engine: mysql mech_list: plain login cram-md5 digest-md5 sql_hostnames: localhost sql_user: postfix sql_passwd: postfix sql_database: postfix sql_select: SELECT password FROM mailbox WHERE username = '%u@%r' sql_verbose: true
(На пункт log_level он почему-то забивает, причину пока не нашёл), добавить в main.cf следующие строки:broken_sasl_auth_clients = yes smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous
И рихтануть строку smtpd_recipient_restrictions = было так:smtpd_recipient_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl-xbl.spamhaus.org
А станет так:smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl-xbl.spamhaus.org
После чего делаем команду postfix reload и можно пользоваться почтой снаружи (не забудте указать в почтовом клиенте аутентификацию на отправку - логин-пароль такой же как и на приёме).
Обновлено 28.05.2010 12:22
|