Logo    
Деловая газета CitCity.ru CITKIT.ru - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: CITFORUM.RU
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

26.03.2017

Google
WWW CITForum.ru
С Новым годом!

2006 г.

Установка IMAP4 сервера на базе cyrus-imapd + sendmail

Денис Шергин, "Slackware Linux в Томске"

Преамбула

Данный материал - это не сравнительный обзор протоколов работы с почтой, это практические рекомендации по установке IMAP (Internet Message Access Protocol) сервера для тех, кто уже определился, что именно это ему необходимо. Тем, кто еще не определился с выбором, рекомендую почитать. В результате описанных в этой статье действий мы должны получить работоспособный IMAP4 сервис, при работе с которым поддерживаются защищенные методы авторизации, почта хранится и сортируется на сервере, не нужно заводить реальных почтовых пользователей в системе. Дополнительно настроим веб-интерфейс к системе фильтрации почты на сервере.

Использовавшаяся в процессе подготовки материала операционная система - Slackware Linux 9.0, MTA - sendmail 8.12.9, MUA - sylpheed 0.9.4. Везде, где в тексте встречается your.hostname.domain - заменять на реальное имя вашего сервера.

Подготовительные работы

Сборка cyrus-sasl

SASL (Simple Authentication and Security Layer) - это набор утилит и библиотек, необходимых для авторизации пользователей. В документации по cyrus-sasl рекомендуется отключить все неиспользуемые механизмы авторизации, я решил оставить только digest-md5, cram-md5, plain, anonymous.

% tar zxvf ./cyrus-sasl-2.1.15.tar.gz
% cd cyrus-sasl-2.1.15
% ./configure --disable-otp --disable-krb4 --disable-gssapi --without-pam
% make
% make install
% ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
% ldconfig

Заводим базу пользователей

Добавляем пользователя (подобным образом нужно будет добавить всех почтовых пользователей):

% saslpasswd2 -c cyradmin

Указываем пароль, после этого у нас должен получиться файлик /etc/sasldb2 (это и есть база паролей для авторизации)

% chown cyrus.mail /etc/sasldb2

Примечание: как уже говорилось ранее, почтовые пользователи не пересекаются с системными.

Сборка cyrus-imapd

Теперь соберем непосредственно IMAP-сервер. Здесь все просто:

% tar zxvf ./cyrus-imapd-2.1.15.tar.gz
% cd cyrus-imapd-2.1.15
% ./configure
% make
% make install

Примечание: по умолчанию при обработке писем, в заголовках которых содержатся 8-битные символы (это противоречит RFC), заменяет их символами 'X'. Если вы хотите, чтобы такие письма проходили без модификации - можете перед сборкой внести соответствующие изменения в файлах imap/message.c и imap/lmtpengine.c (закомментировав строки 270 и 860 соответственно). Но, вообще-то, это нужно только в специфических случаях и лучше оставить все как есть, чтобы не противоречить стандарту.

Настраиваем cyrus-imapd

Для того, чтобы в случае неполадок облегчить поиск проблемы, включаем журналирование посредством syslog. Добавляем в /etc/syslog.conf следующее:

local6.debug	/var/log/imapd.log
auth.debug	/var/log/auth.log

Перезапускаем syslogd:

% killall -1 syslogd

Создаем /etc/imapd.conf:

% touch /etc/imapd.conf

Его содержимое:

configdirectory: /var/imap
partition-default: /var/spool/imap
sievedir: /var/spool/sieve
admins: cyradmin
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sasldb
sasl_mech_list: CRAM-MD5 PLAIN
tls_cert_file: /var/imap/server.pem
tls_key_file: /var/imap/server.pem

Подробнее о возможных используемых опциях можно посмотреть в соответствующей man-странице:

% man imapd.conf

Создаем каталоги и выставляем на них права:

% mkdir /var/imap
% chmod 750 /var/imap
% mkdir /var/spool/imap
% chmod 750 /var/spool/imap
% mkdir /var/spool/sieve
% chmod 750 /var/spool/sieve

Создаем структуру остальных каталогов (в документации к cyrus-imapd сказано, что надо сделать "su cyrus" и только потом выполнять следующие действия, но я устанавливал из-под рута и потом просто раздал права доступа):

% cd cyrus-imapd-2.1.15/tools
% ./mkimap
% chown -R cyrus.mail /var/imap
% chown -R cyrus.mail /var/spool/imap
% chown -R cyrus.mail /var/spool/sieve

Примечание: если у вас файловая система ext2 на том разделе, где будут размещаться базы, то почитайте оригинальную документацию к cyrus-imapd.

Если у вас прописаны в (x)inetd.conf сервисы pop3, imap, pop3s, kpop, lmtp, sieve - закомментируйте их и перезапустите (x)inetd. В /etc/services прописываем (если там нет этих записей):

pop3      110/tcp
imap      143/tcp
imsp      406/tcp
acap      674/tcp
imaps     993/tcp
pop3s     995/tcp
kpop      1109/tcp
sieve     2000/tcp
lmtp      2003/tcp
fud       4201/udp

Из каталога master/conf берем конфигурационный файл:

% cp master/conf/normal.conf /etc/cyrus.conf

Пробуем вручную запустить процесс master:

% /usr/cyrus/bin/master &

Генерируем сертификаты (в процессе нужно будет заполнить несколько полей информацией об организации):

% openssl req -new -x509 -nodes -out /var/imap/server.pem \
-keyout /var/imap/server.pem -days 365
% chown cyrus.mail /var/imap/server.pem

Вышеприведенной командой мы создали X.509 сертификат, действительный 1 год (эта строчка для генерации есть в документации к cyrus-imapd). За более подробной информацией по поводу сертификатов и openssl в общем можно сходить сюда, в раздел документации, правда, там зачастую можно встретить надписи [STILL INCOMPLETE].

Настраиваем sendmail

Нам понадобится пакет sendmail-cf, если вы ставили sendmail из пакета (package) в slackware. Создаем наш mc-файл конфигурации sendmail:

% cd /usr/share/sendmail/cf/cf
% cp ./linux.smtp.mc ./current.mc

Добавляем туда строчки:

define(`confLOCAL_MAILER', `cyrusv2')dnl
MAILER(`cyrusv2')dnl

Если вы ставили sendmail-cf из пакета, то в скрипте Build надо заменить строчку M4=`sh $BUILDTOOLS/bin/find_m4.sh` на M4=/usr/bin/m4

Примечание: если вы устанавливаете imapd таким образом, что сокет для работы с почтой находится в отличном от /var/imap/socket/lmtp месте, то необходимо будет исправить путь в файлике cyrusv2.m4 (по умолчанию в slackware его можно найти в /usr/share/sendmail/cf/mailer). Если у вас sendmail версии 8.12.8 и ниже - загляните в документацию к cyrus-imapd, но я бы посоветовал обновить sendmail.

Собираем новый sendmail.cf:

% ./Build current.cf
% cp ./current.cf /etc/mail/sendmail.cf

Добавляем запуск /usr/cyrus/bin/master в стартовые скрипты (например, в /etc/rc.d/rc.init2) и перезагружаемся.

Проверяем работоспособность

Воспользуемся утилитой imtest:

% /usr/local/bin/imtest -m cram-md5 -a cyradmin your.hostname.domain

Вводим пароль, если нам отвечают A01 OK, то все нормально, если ругаются - идем в /var/log курить логи до просветления.

Создаем почтовые ящики

Для управления почтовыми ящиками в комплекте с cyrus-imapd идет утилита cyradm. После инсталляции для запуска cyradm мне пришлось скопировать часть библиотек, которые поставились не совсем корректно (при сборке cyrus-imapd с --prefix=/usr такой проблемы не будет):

% cp -R /usr/local/lib/perl5 /usr/lib/

Типовая процедура создания нового почтового аккаунта:

% saslpasswd2 -c dummyuser
% cyradm --user cyradmin --server your.hostname.domain

В cyradm создаем почтовый ящик для пользователя и устанавливаем квоту в 20 Мб:

your.hostname> cm user.dummyuser
your.hostname> sq user.dummyuser 20480

Все, теперь настраиваем клиентскую часть и проверяем, что у нас получилось. В качестве клиента я использовал sylpheed, собранный с поддержкой SSL (configure --enable-ssl).

Настраиваем sieve

Sieve - язык, на котором пишутся почтовые фильтры в cyrus-imapd.

Проверяем работоспособность сервера sieve (timsieved):

% telnet your.hostname.domain sieve

Если отвечают "IMPLEMENTATION" "Cyrus timsieved v2.1.15" ... OK, то все в порядке. Пишем на sieve скрипт для разбора почты (приведу здесь несколько типовых действий, дальше должно быть понятно):

require ["reject","fileinto"];

# не принимаем почту и высылаем сообщение об отказе:
if address :is :all "From" "annoying@badnet.domain" {
    reject "Утомили";
}

# фильтруем по subject корпоративный список рассылки:
if header :contains "Subject" "corporate mailing" {
    fileinto "INBOX.lists.corporate";
}

# еще один список рассылки:
if header :is "List-Id" "<bugtraq.list-id.securityfocus.com>" {
    fileinto "INBOX.lists.bugtraq";
}

# а это вообще странные письма - адресованы не нам:
if anyof ( not address :all :contains ["To", "Cc", "Bcc"] "myname@myaddress.domain" ) {
    fileinto "INBOX.bad";
}

Сохраняем этот скрипт в файлик test.script. Подключаемся к серверу sieve, загружаем и активируем скрипт:

% sieveshell -u cyradmin your.hostname.domain
> put test.script
> activate test
> quit

Если все сделано правильно, то на этом все, мы получили разбор почты по каталогам на сервере. Если такая система управления фильтрацией вас устраивает, дальше можно не читать.

Далее рассматривается прикручивание веб-интерфейса к sieve для того, чтобы пользоваться возможностями sieve могли и простые пользователи.

Устанавливаем библиотеку c-client

Для того, чтобы впоследствии скомпилировать PHP с поддержкой imap, необходимо установить бибилиотеку c-client. Итак, начинается шоу под названием "собираем c-client". Инструкции по сборке я нашел на http://www.php.net/, поискав по сайту с ключевым словом 'imap'. Скачиваем тарбол, распаковываем его, смотрим внутрь - а там нас поджидает веселый сюрприз в качестве одного Makefile. Авторы сего пакета, по всей видимости, не подозревают о существовании таких благ цивилизации, как autoconf и иже с ним, поэтому configure скрипта внутри нет, вместо него эксплуатируются мозги администратора. Просматриваем содержимое Makefile, среди комментариев ищем наиболее подходящее вашей системе описание, например, это 'slx' ("Linux using -lcrypt to get the crypt() function"). Затем пробуем скомпилировать c-client с выбранной опцией:

% make slx

Как показывает практика, обычно с разбега сборка не удастся из-за различий в расположении файлов - прийдется немного поработать вместо configure, подбирая эти опции вручную. Можно либо править Makefile, либо указывать опции при запуске make. Для моей системы команда сборки выглядела следующим образом:

% make slx EXTRASPECIALS="SSLINCLUDE=/usr/include/openssl SSLLIB=/usr/lib"

При возникновении проблем помогает вдумчивое прочтение Makefile.

Итак, компиляция успешно завершена, теперь следующий этап - инсталляция скомпилированного (да, не удивляйтесь, make install не сработает - авторы решили выдержать все в одном стиле и не написали такой цели в Makefile, так что опять будем делать все вручную). Создаем каталог /usr/local/imap-2002d и подкаталоги /usr/local/imap-2002d/include и /usr/local/imap-2002d/lib. Из подкаталога c-client копируем все *.h файлы в include, все *.c в lib. В том же каталоге находим файлик c-client.a и копируем его в lib, переименовывая в libc-client.a.

На этом с установкой c-client покончено, лично я в процессе инсталляции не раз помянул недобрым словом разработчиков за такое жестокое отношение к пользователям.

Устанавливаем веб-сервер

Предварительно собираем libmcrypt (тут все тривиально):

% tar zxvf ./libmcrypt-2.5.7.tar.gz
% cd libmcrypt-2.5.7
% ./configure
% make
% make install
% ldconfig

Установка и настройка Apache+PHP - очень обширная тема, я ограничусь лишь минимальным количеством разъяснений, которого должно хватить для достижения наших целей. Распаковываем apache, запускаем скрипт configure без каких-либо параметров. Распаковываем php (в том же каталоге, где развернули apache), собираем:

% ./configure --with-imap=/usr/local/imap-2002d --with-imap-ssl=/usr/include/openssl \
--with-apache=./../apache_1.3.28 --with-mcrypt=/usr/local --with-iconv
% make
% make install

Пути к файлам могут изменяться на разных машинах, поэтому если сборка не удалась - проверьте пути (в частности, каталог с исходниками apache может называться по-иному). Копируем файлик php.ini-recommended в /usr/local/lib/php.ini. Если php успешно собралось и заинсталлировалось, возвращаемся в каталог с apache:

% ./configure --activate-module=src/modules/php4/libphp4.a
% make
% make install

Если все собралось, идем в каталог, куда заинсталлировался apache (по умолчанию - /usr/local/apache), в каталоге bin запускаем веб-сервер командой:

% ./apachectl start

Проверяем работоспособность сервера:

% lynx http://your.hostname.domain/

Либо просто любым браузером обращаемся по адресу нашего сервера. Если видим ободряющую надпись "If you can see this, it means that the installation of the Apache web server software on this system was successful", значит - все нормально, иначе перечитываем вышенаписанное и идем читать документацию по php и apache до тех пор, пока не наступит счастье.

Устанавливаем SmartSieve

В принципе, можно удовлетвориться взаимодействием с sieve сервером посредством sieveshell, но с точки зрения рядового пользователя такой метод управления почтой вряд ли можно назвать удобным. Альтернативой может послужить использование SmartSieve - это написанный на PHP менеджер sieve скриптов, позволяющий черз веб-интерфейс управлять правилами сортировки почты.

Изначально я скачал с официального сайта smartsieve-i18n версии 0.5.1, однако при его использовании столкнулся с проблемой работы с русскими именами каталогов в почтовом ящике. Решив, что транслит и другие компромиссы - это не наш метод, пропатчил это дело, заодно написав русскую версию локали. Русифицированную версию smartsieve можно скачать по адресу.

Вся процедура установки сводится к распаковке тарбола и копированию содержимого в структуру каталогов, являющуюся структурой http-корня веб-сервера. По умолчанию опция DocumentRoot равна "/usr/local/apache/htdocs". Уточнить ее значение можно в основном конфигурационном файле apache - httpd.conf (по умолчанию он находится в /usr/local/apache/conf). Допустим, мы скопировали файлы smartsieve в /usr/local/apache/htdocs/smartsieve. Проверяем работоспособность, открывая в браузере страницу http://your.hostname.domain/smartsieve/ Логинимся под именем одного из заведенных пользователей, пробуем создавать правила (при входе в форме выбираем русский язык для корректной работы с русскоязычными каталогами).

Небольшое примечание: smartsieve может не работать с sieve скриптами, написанными вами вручную, а не с его помощью.

Заключение

Если вы дошли до этого места и у вас все работает, значит, мы достигли поставленной в начале цели.

При написании были активно использованы оригинальная документация к cyrus-imapd и поисковый сервер google.

PS: спасибо warm'у за консультации.

Статья опубликована в журнале "Системный администратор" , номер 10(11) - октябрь 2003.

Размещение рекламы — тел. +7 495 4119920, ICQ 232284597

Подписка на новости IT-портала CITForum.ru
(библиотека, CITKIT.ru, CitCity)

Новые публикации:

24 декабря

CITKIT.ru:

  • Новогодние поздравления
  • Сергей Кузнецов. Цикл Операционные системы: Ностальгия по будущему:

  • Алексей Федорчук. OpenSolaris 2008.11 Release

  • Сергей Голубев:

  • Евгений Чайкин aka StraNNik (Блогометки):

    17 декабря

  • С.Д.Кузнецов. Базы данных. Вводный курс

    10 декабря

    CITKIT.ru:

  • OpenSolaris 2008.11 Release

  • Альтернативные ОС: две грустные истории (С.Кузнецов)
  • Nokia N810 — доведение до ума
  • CitCity:

  • Платформа 2009: заоблачные перспективы Microsoft

    4 декабря

  • Лекция С.Д.Кузнецова Понятие модели данных. Обзор разновидностей моделей данных

    CITKIT.ru:

  • OpenSolaris 2008.11 Release. Первые впечатления

  • Linux vs FreeBSD: продолжим "Священные войны"?

  • Nokia N810 as is

  • Индульгенция для FOSS

  • Друзья СПО'2008

    26 ноября

  • Нечеткое сравнение коллекций: семантический и алгоритмический аспекты

    CitCity:

    CITKIT.ru:

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • 19 ноября

  • Проблемы экономики производства крупных программных продуктов

  • Язык модификации данных формата XML функциональными методами

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Заметки к книге:

  • FreeBSD: монтирование сменных устройств и механизм HAL
  • Текстовый редактор ee

    12 ноября

  • Правило пяти минут двадцать лет спустя, и как флэш-память изменяет правила (Гоц Грейф, перевод: Сергей Кузнецов)

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:
  • OSS в России: взгляд правоведа (В.Житомирский)

  • Новая статья из цикла С.Голубева "Железный марш":

    29 октября

  • О некоторых задачах обратной инженерии

  • Веб-сервисы и Ruby

  • Тестирование web-приложений с помощью Ruby

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

  • PuppyRus Linux - беседа с разработчиком (С.Голубев)

  • Сергей Кузнецов. Заметка не про Linux

    22 октября

  • Обзор методов описания встраиваемой аппаратуры и построения инструментария кросс-разработки

    CITKIT.ru:

  • Сергей Кузнецов. Почему я равнодушен к Linux

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • Что надо иметь
    3. Базовые познания

    CitCity:

  • Управление IT-инфраструктурой на основе продуктов Microsoft

    15 октября

  • Методы бикластеризации для анализа интернет-данных

    CitCity:

  • Разъемы на ноутбуках: что они дают и зачем их так много?
  • AMD Puma и Intel Centrino 2: кто лучше?

    CITKIT.ru:

  • Новый цикл статей С.Голубева
    Железный марш:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    8 октября

  • Автоматизация тестирования web-приложений, основанных на скриптовых языках
  • Опыт применения технологии Azov для тестирования библиотеки Qt3

    Обзоры журнала Computer:

  • SOA с гарантией качества
  • Пикоджоуль ватт бережет
  • ICT и всемирное развитие

    CitCity:

  • Пиррова победа корпорации Microsoft

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Статья из архива:

  • Я живу в FreeBSD (Вадим Колонцов)

    Новые Блогометки:

  • Перекройка шаблона Blogger или N шагов к настоящему
  • Blogger. Comment style
  • Screenie или глянцевый снимок экрана

    2 октября

    CITKIT.ru:

  • Сага о FreeBSD (А. Федорчук)

    Zenwalk: пакет недели

  • Банинг — интеллектуальное развлечение (С.Голубев)

    CitCity:

    25 сентября

  • Клермонтский отчет об исследованиях в области баз данных

    CITKIT.ru:

  • Пользователям просьба не беспокоиться... (В.Попов)

  • Снова про ZFS: диск хорошо, а два лучше
  • Командная оболочка tcsh (А.Федорчук)

    Zenwalk: пакет недели

    17 сентября

  • T2C: технология автоматизированной разработки тестов базовой функциональности программных интерфейсов
  • Технология Azov автоматизации массового создания тестов работоспособности

    CITKIT.ru:

  • FreeBSD: ZFS vs UFS, и обе-две — против всех (А.Федорчук)

    Zenwalk: пакет недели

  • Дачнет — практика без теории (С.Голубев)

    10 сентября

  • За чем следить и чем управлять при работе приложений с Oracle
  • Планировщик заданий в Oracle
    (В.Пржиялковский)

    CITKIT.ru:

  • Microsoft: ответный "боян" (С.Голубев)

  • Причуды симбиоза, или снова "сделай сам" (В.Попов)

  • Файловые системы современного Linux'а: последнее тестирование
  • Zsh. Введение и обзор возможностей
    (А.Федорчук)

    Описания пакетов Zenwalk: Zsh, Thunar, Thunar-bulk-rename, Xfce4-places-plugin, Xfce4-fsguard-plugin

    Блогометки:

  • Google Chrome
  • Лончер для ASUS Eee PC 701

    3 сентября

    CITKIT.ru:

  • Заметки о ядре (А.Федорчук):

    Добавлены описания пакетов Zenwalk: Galculator, Screenshot, Gnumeric, Pidgin

    В дискуссинном клубе:

  • И еще о Википедии и Google Knol

  • Лекция для начинающего линуксоида (С.Голубев)

    26 августа

  • Транзакционная память (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Открыт новый проект Zenwalk: пакет недели

  • Статья Текстовые процессоры и их быстродействие: конец еще одной легенды?

    21 августа

    CITKIT.ru:

  • Почему школам следует использовать только свободные программы (Ричард Столлман)
  • Беседа Сергея Голубева с учителем В.В.Михайловым

  • Википедия или Гуглезнание? Приглашение к обсуждению (Алексей Федорчук)
  • Народная энциклопедия от Google (StraNNik)

  • Обзор Mandriva 2009.0 Beta 1 Thornicrofti
  • Новичок в Линукс: Оптимизируем Mandriva 2008.1

  • Книга Zenwalk. Приобщение к Linux:

    13 августа

    CitCity:

  • Мирный Atom на службе человеку. Обзор платы Intel D945GCLF с интегрированным процессором
  • Обзор процессоров Intel Atom 230 на ядре Diamondville

  • iPhone - год спустя. Скоро и в России?

    CITKIT.ru:

  • Интермедия 3.4. GRUB: установка и настройка (из книги Zenwalk. Приобщение к Linux)

    6 августа

  • СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности? (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Интермедия 2.2. Что неплохо знать для начала (из книги Zenwalk. Приобщение к Linux)

  • И снова про шрифты в Иксах (А.Федорчук)

  • 20 самых быстрых и простых оконных менеджеров для Linux

  • Дело о трех миллиардах (С.Голубев)

    30 июля

  • OLTP в Зазеркалье (Пересказ: С. Кузнецов)

    CitCity:

  • Будущее BI в облаках?
  • Тиражные приложения и заказная разработка. Преимущества для заказчика
  • Дискуссия со сторонниками заказной разработки

    CITKIT.ru:

  • Новые главы книги Zenwalk. Приобщение к Linux:
  • Глава 8. Пакеты: средства установки, системы управления, системы построения
  • Глава 9. Zenwalk: репозитории, пакеты, методы установки

    23 июля

    CITKIT.ru:

  • Все против всех. 64 vs 32, Intel vs AMD, tmpfs vs ext3
  • Две головы от Intel

  • Zenwalk: обзор штатных приложений (глава из книги "Zenwalk. Приобщение к Linux")

  • Нормально, Григорий...

    16 июля

    Обзоры журнала Computer:

  • Перспективы и проблемы программной инженерии в XXI веке
  • Большие хлопоты с большими объемами данных
  • Перспективы наноэлектроники

    CITKIT.ru:

  • Интермедия о лицензиях (А.Федорчук. "Zenwalk. Приобщение к Linux")

  • Есть ли будущее у KDE?

  • Linux в школе: альтернативный вариант в задачах

  • Шифр (приключения агента Никодима)

    10 июля

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия вступительная. Linux или GNU/Linux? Как вас теперь называть?
  • Глава 5. Среда Xfce
  • Глава 6. Xfce: приложения и плагины

  • ZUR (Zenwalk User Repository) FAQ

    2 июля

  • Персистентность данных в объектно-ориентированных приложениях (С. Кузнецов)

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия 1.2. Дорога к Zenwalk'у. Период бури и натиска
  • Интермедия 3.3. Немного о Linux'е и "железе"
  • Глава 4. Настройка: инструментами и руками
  • Интермедия 4.1. Zenpanel и конфиги: поиски корреляции

  • Интервью с Жан-Филиппом Гийоменом, создателем дистрибутива Zenwalk

  • Linux в школе: первые итоги (С. Голубев)

    25 июня

    CITKIT.ru:

  • Zenwalk. Приобщение к Linux (А. Федорчук)

  • Логика и риторика (С.Голубев)

  • Технология Tru64 AdvFS

  • Ханс Райзер предлагает отвести полицейских к телу Нины

    18 июня

  • Проекты по управлению данными в Google (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • ОС и поддержка "железа": мифы и реальность (А. Федорчук)

  • Linux в школе: другие дистрибутивы

  • Пинок (С. Голубев)

    4 июня

  • Ландшафт области управления данными: аналитический обзор (С. Кузнецов)

    CITKIT.ru:

  • Linux в школе: слово заинтересованным лицам

  • SlackBuild: пакеты своими руками

  • Linux от компании Novell. Установка и обзор openSUSE Linux

    Все публикации >>>




  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 4119920, ICQ 232284597 Пресс-релизы — pr@citcity.ru
    Послать комментарий
    Информация для авторов
    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2007 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...