Ключевые слова:gui, gentoo, linux, xfree86, font, xfs, mouse, video, kde, (найти похожие документы)
From: Юрий Борисов <[email protected]>
Newsgroups: http://www.linuxshop.ru/unix4all/
Date: Mon, 25 Sep 2003 14:31:37 +0000 (UTC)
Subject: Руководство по настройке "рабочего окружения" в Gentoo Linux
Оригинал: http://www.linuxshop.ru/unix4all/?cid=20&id=213
Авторы: John P. Davis, Grant Goodyear
Перевод: Юрий Борисов <[email protected]>
Это руководство показывает, как настроить Gentoo Linux в качестве
полноценной настольной системы. А именно, мы прошлись по установкам и
настройкам Xов, KDE, GNOME, OSS (звук), postfix (электронная почта), и
samba (взаимодействие unix/windows).
Ver. 1.4.2, 25 February 2003
Предварительные замечания
Необходимо сказать, что для начала вы должны иметь установленный
Gentoo Linux (http://www.gentoo.org/doc/en/build.xml). После
окончания этого довольно приятного процесса, вы должны загрузить
дерево Портэджей. Настоятельно рекомендуется прочесть Руководство
по работе с Портэджами (http://www.gentoo.org/doc/en/portage-user.xml),
но если Вы очень спешите, то просто можете набрать следующую команду:
Получение актуальных версий
$ emerge sync
Коротко о пакетах, о которых рассказывается в данном руководстве.
Gentoo Linux имеет богатый выбор оконных менеджеров, MTA, и других
программ, которые могут быть легко установлены. Пакеты, которые
описываются в данном документе не являются предпочтительными для
использования в Gentoo Linux, это пакеты, которые просто нравятся
автору и/или он знает, как они настраиваются. Другими словами, это
пакеты, с которыми автор работает на собственной машине.
В зависимости от типа рабочего окружения, которое Вы хотите
установить, Вы можете отключить поддержку оконных менеджеров, которые
вы не будете использовать, в файле /etc/make.conf. В секции USE,
добавьте -gnome -gtk если Вы используете KDE, или -kde -qt если GNOME.
Если вы столкнетесь с ошибкой в любом из этих пакетов, сообщите о ней
в http://bugs.gentoo.org/. НЕ СООБЩАЙТЕ о ней мэйнтэйнерам данного
пакета (например KDE), если потребуется, разработчики Gentoo передадут
сообщение об ошибке сами.
Установка XFree86
Установка
Установка (emerge) XFree86 занимает достаточно много времени даже на
быстрой системе. Программа большая, так что, в процессе установки вы
сможете почитать книгу, вздремнуть, и т.д.
Для установки X, все что Вам надо сделать это набрать:
Установка XFree86
$ emerge xfree
После этого довольно длительного процесса начинается конфигурация.
Конфигурация XFree86
Я предпочитаю использовать консольную программу xf86config для
конфигурации XFree86, хотя генерируемый ею файл /etc/X11/XF86Config
выглядит не очень элегантно - смотри это руководство
http://www-105.ibm.com/developerworks/education.nsf/linux-onlinecourse-bytitle/3100FF4795B3F31F86256AF70056FDB3?OpenDocument
по альтернативной и более полной (тонкой) настройке XFree86. Перед
началом, вы должны узнать вертикальную и горизонтальную частоту
развертки вашего монитора (Мой viewsonic G773 имеет Горизонтальную:
30-69 КГц, Вертикальную: 55-90 КГц), тип (модель) и количество памяти
(в KB) в вашей видео карте (32768 KB GeForce, в моём случае), тип
(модель) и к какому типу порта подключена ваша мышь (intellimouse
включенная в ps/2 порт /dev/psaux).
Запуск xf86config
$ /usr/X11R6/bin/xf86config
Так как у меня трех-кнопочная мышь, я не использую режим эмуляции
третьей кнопки. Не забудьте включить поддержку XKB, если Вы
используете интернациональные клавиатуру или Вам необходима поддержка
нескольких языков. Вы должны выставить разрешение экрана и глубину
цветности на свой вкус. Я использую 1280x1024 при 24бит на моем
viewsonic, но это только потому, что он не работает в более высоких
разрешениях. Если вы не делали такого раньше, не удивляйтесь что
работа с xf86config заняла много времени.
Если Вы не знаете частоты развёртки вашего монитора, воспользуйтесь
поиском в http://www.google.com/, по номеру модели и производителю Вашего
монитора. Частоты развёртки обычно даются в спецификациях на монитор.
Если Вы ветеран в настройке XFree86, то Вы можете сделать
символическую ссылку с мыши на /dev/mouse. Такие символические ссылки
имели некоторые проблемы с devfs, они пропадали после перезагрузки.
Теперь Gentoo Linux взаимодействует с /dev корректно. Просто сделайте
символьную ссылку на /dev/mouse с помощью ln -s и она будет сохранена
после перезагрузки.
Если Вы хотите использовать XFS (XFontServer), следуйте приведённым
ниже инструкциям. Использование XFS настоятельно рекомендуется, так
как делает настройку шрифтов намного легче. Обратитесь к этой
статье о XFS на сайте RedHat:
http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/ref-guide/s1-x-fonts.html
Тестирование Ваших настроек
$ rc-update add xfs default
$ /etc/init.d/xfs start
$ startx
Если Вы сконфигурировали XFree86 правильно, после запуска startx
стартует достаточно гадкий оконный менеджер (twm, если быть точным).
Если Иксы подымутся, то Вы можете двигаться дальше. Нажмите для
остановки X сервера.
xf86config создаёт только базовые конфигурационные настройки. Видео
карты на чипах NVIDIA, USB мыши и многие другие установки должны быть
сделаны вручную. Я расскажу об этих функциях ниже, но советую Вам
посмотреть в файл XF86Config. Он не сильно зашифрован, и Вы можете
найти в нём некоторые интересные настройки. Хорошее место для
получения информации о тонкой настройке находится http://www.tldp.org/HOWTO/mini/FDU/
Настройка PS/2 мыши
Если у Вас мышь с колесом, то отредактируйте файл XF86Config вручную:
Редактирование файла XF86Config
$ cp /etc/X11/XF86Config /etc/X11/XF86Config.working
$ vim /etc/X11/XF86Config
Раздел Pointer section в XF86Config
Section "InputDevice"
#Identifier and driver
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
Так как у меня intellimouse, я изменяю "протокол" с "PS/2" на
"IMPS/2". Включение прокрутки с помощью колеса требует добавления
строки 'Option "ZAxisMapping" "4 5"', где '4' и '5' сообщает мыши о
прокрутке вверх/вниз.
В Netscape 4.x прокрутка не работает по умолчанию; для начала Вы
должны создать файл .Xdefaults. Как это сделать смотрите
http://www-sop.inria.fr/koala/colas/mouse-wheel-scroll/
Но лучше используйте konqueror, opera, mozilla, galeon, или другой
броузер.
Запустите startx снова и убедитесь, что XFree86 запускаются.
Настройка USB мыши
USB мышь - это ваш друг при работе в высоких разрешениях экрана. Ядро
следит за масштабированием, что бы Вам не нужно было водить мышкой
пять раз по коврику для перемещения курсора через весь экран.
Первое, что должно быть сделано, инсталляция модулей ядра. Модули
необходимые для работы USB мыши это usbmouse, mousedev, hid, usbcore,
usb-uhci, и input. После окончания необходимой настройки, подключите
модули командой insmod.
Используйте usbmouse ИЛИ hid. Если Вы установите оба модуля, мышь
перестанет работать.
Когда будете настраивать поддержку Input Core для мыши, установите то
же разрешение экрана которое вы будете использовать в XFree86. Это
сделает масштабирование удобным и правильным.
Теперь, отключите мышь, включите обратно, и проверьте логи ядра на
предмет сообщения похожего на это
Сообщение ядра
hub.c: USB new device connect on bus1/1, assigned device number 2
input0,hiddev0: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse Optical]
on usb1:2.0
Теперь, когда мышь определилась, проверьте /dev/input что бы убедится
ваша мышь присутствует и работает.
Проверка USB мыши
$ cd /dev/input
$ cat mice
Подвигайте мышкой во время выполнения команды cat, Вы должны увидеть
мусор на экране.
Как только мышь должным образом обнаружена и установлена, мы должны
сказать XFree86 использовать USB мышь. Всё что для этого нужно, это
сделать небольшие изменения в настройках XFree.
Редактирование XF86Config
$ cp /etc/X11/XF86Config /etc/X11/XF86Config.working
$ vim /etc/X11/XF86Config
Секция Pointer section в XF86Config
Section "InputDevice"
# Identifier and driver
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Окей, перезапустим XFree и мышь должна заработать!
Не забудьте добавить используемые Вашей мышью модули в
modules.autoload.
Добавление модулей в modules.autoload
$ echo $'/n'mousedev $'/n'hid #'/n'usbcore $'/n'input >> /etc/modules.autoload
Настройка видео карт на чипах NVIDIA
Если вы счастливый обладатель карты от NVIDIA, сейчас самое время
настроить драйвера NVIDIA с поддержкой акселерации.
Если Вы перекомпилируете ядро, Вы должны так же перекомпилировать
nvidia-kernel. Это делается, потому что новое ядро удалит модули
nvidia.
Только для владельцев карт NVIDIA
$ emerge nvidia-glx
$ emerge nvidia-kernel
$ nano -w /etc/X11/XF86Config
$ echo "NVdriver" >> /etc/modules.autoload
$ modprobe NVdriver
Включение GLX в /etc/X11/XF86Config
Section "Module"
# This loads the GLX module
# Load "glx" (Раскоментируйте эту строку)
Говорим XFree использовать драйвера NVIDIA в /etc/X11/XF86Config:
Section "Device"
Identifier "NVIDIA GeForce"
#Driver "nv"
Driver "nvidia"
#VideoRam 32768
# Insert Clocks lines here if appropriate
EndSection
Запустите startx опять, что бы убедится, что X подымаются (вы должны
увидеть заставку с логотипом NVIDIA, если вы установили драйвера).
Оконные менеджеры
Введение
Вообще-то, первое, что происходит после установки XFree, это установка
симпатичного оконного менеджера. Конечно, вы можете, остановится на
tvm, если вам нужен действительно убогий, в смысле функциональности,
оконный менеджер.
Существует много оконных менеджеров из которых Вы можете выбрать. Вот
некоторые из них KDE, GNOME, Fluxbox, Blackbox, другие *box 'ы,
Windowmaker, Sawfish, и т.д. Как Вы можете видеть, в Gentoo Linux
весьма приятный выбор оконных менеджеров.
KDE
Я предполагаю, что вы будете использовать KDE, если вы читаете этот
раздел. KDE полностью поддерживается в Gentoo Linux, но есть несколько
вещей, которые Вы должны проверить перед установкой KDE:
* Убедитесь, что "qt" и "kde" установлены как переменные USE в файле
make.conf.
* Убедитесь, что (не обязательно) "-gnome" и "-gtk" установлены как
переменные USE в файле make.conf.
Оба эти шага могут быть выполнены путём редактирования файла
/etc/make.conf например, так:
Редактирование make.conf
$ vim /etc/make.conf
#Inside of make.conf
USE="qt kde -gnome -gtk"
Для получения информации о переменных USE, читайте USE HOWTO
http://www.gentoo.org/doc/en/use-howto.xml
Всегда полезно использовать ключ --pretend перед выполнением emerge
для того, что бы увидеть зависимомти устанавливаемого пакета, в нашем
случае их очень много.
Смотрим пакеты/зависимости для KDE
$ emerge --pretend kde
$ emerge kde
Будьте осторожны при использовании emerge kde-base. Эта команда
устанавливает только пакеты KDE и не устанавливает приложения помощи
KDE.
Если Вы планируете использовать CUPS для печати, вы должны установить
переменную "cups" в USE в /etc/make.conf перед установкой KDE. Это
делается из командной строки с помощью USE="cups" emerge kde. Прочтите
руководство Gentoo Print Guide для полной установки CUPS.
Можете подремать!
Если у Вас есть бинарные пакеты Gentoo Linux на CD, вы можете
установить пакет прямо с CD.
Установка бинарных пакетов с CD
$ export PKGDIR=/mnt/cdrom/gentoo/packages
Обычно Portage использует бинарные пакеты из /usr/portage/packages
$ emerge --usepkg /mnt/cdrom/gentoo/packages/All/kdebase-x.y.z.tbz2
Ключ --usepkg даёт уверенность, что будут установлены все зависимые
пакеты (если они доступны).
Настройка KDM
После установки KDE, предпочтительно использовать хороший login
manager, а конкретнее KDE login manager, или KDM. KDM идёт вместе с
пакетами KDE, всё, что Вам надо сделать для его запуска это:
Запуск KDM
$ kdm
Теперь вы можете войти и увидеть полностью рабочее окружение KDE.
Конечно, звук пока не работает, так что вы пропустите надоедливый звук
приветствия, но мы мгновенно это поправим. Откройте консоль в окне и
наберите ls /usr/bin (или что либо, что активно заполняет консольное
окно), и посмотрите, скролит ли мышка окно консоли. Это должно
работать!
Если запускаемый kdm возвращает "command not found", то Вы должны
обновит значение переменной $PATH в /etc/profile.
Всё что осталось сделать это убедиться, что XFree стартуют во время
загрузки Gentoo. Отредактируйте в /etc/rc.conf строку
DISPLAYMANAGER="kdm".
Редактирование /etc/rc.conf
$ vim /etc/rc.conf
/etc/rc.conf -- Установка DISPLAYMANAGER
# What display manager do you use ? [ xdm | gdm | kdm ]
DISPLAYMANAGER=kdm
Теперь необходимо убедится, что загрузочные скрипты xdm читаются при
загрузке.
Добавление скриптов XDM в default runlevel
$ rc-update add xdm default
Перезагрузитесь, и проследите, что бы X/KDE поднялись!
Команда rc-update в Gentoo Linux's - это улучшенная версия команды
chkconfig для управления init скриптами. Наберите rc-update без
параметров, для просмотра списка опций этой команды.
GNOME
Установка
Перед установкой GNOME, Вы должны отредактировать переменные USE.
Выполнение этого включит поддержку GNOME в поддерживаемых приложениях,
которые Вы собираете.
* Убедитесь что "gtk" and "gnome" установлены как переменные USE
make.conf.
* Убедитесь, что (не обязательно) "-kde" and "-qt" установлены как
переменные USE make.conf.
Оба эти шага могут быть выполнены путём редактирования файла
/etc/make.conf например так:
Редактирование make.conf
$ vim /etc/make.conf
# Внутри make.conf
USE="gnome gtk -kde -qt"
Для получения информации о переменных USE, читайте ]USE HOWTO
http://www.gentoo.org/doc/en/use-howto.xml
Теперь установим необходимые пакеты для GNOME.
Установка пакетов GNOME
$ emerge --pretend gnome
$ emerge gnome
После этого можно откинутся назад, и посмотреть кино. Автор
рекомендует Криминальное Чтиво.
Начиная с этого пункта конфигурация GNOME такая же, как и KDE. Не
используются специфические для GNOME конфигурационные файлы, только
login manager для GNOME - GDM.
Настройка GDM
После установки GNOME, предпочтительно использовать хороший login
manager, а конкретнее GNOME login manager, или GDM. GDM идёт вместе с
пакетами GNOME, всё, что Вам надо сделать для его запуска это:
Запуск GDM
$ gdm
Теперь вы можете войти и увидеть полностью рабочее окружение GNOME.
Конечно звук пока не работает, так что вы пропустите надоедливый звук
приветствия, но мы мгновенно это поправим. Откройте консоль в окне и
наберите ls /usr/bin (или что либо, что активно заполняет консольное
окно), и посмотрите, скролит ли мышка окно консоли. Это должно
работать!
Если запускаемый gdm возвращает "command not found", то Вы должны
обновит значение переменной $PATH в /etc/profile.
Всё, что осталось сделать это убедиться, что XFree стартуют во время
загрузки Gentoo. Отредактируйте в /etc/rc.conf строку
DISPLAYMANAGER="gdm".
Редактирование /etc/rc.conf
$ vim /etc/rc.conf
/etc/rc.conf -- установка DISPLAYMANAGER
# What display manager do you use ? [ xdm | gdm | kdm ]
DISPLAYMANAGER=gdm
Теперь необходимо убедится, что загрузочные скрипты xdm читаются при
загрузке.
Добавление скриптов XDM в default runlevel
$ rc-update add xdm default
Перезагрузитесь, и проследите что бы X/GNOME поднялись!
Команда rc-update в Gentoo Linux's это улучшеная версия команды
chkconfig для управления init скриптами. Наберите rc-update без
параметров, для просмотра списка опций этой команды.
Настройка звука
Alsa
Для установки ALSA, прочитайте Gentoo Linux ALSA setup guide здесь
KDE и звук
KDE имеет отличные звуковые утилиты, включая KDE микшер kmix.
Если kmix не может найти микшер, возможно у вас не установлена
поддержка звука. Выйдете и удалите ~/.kde/share/config/kmixrc и
~/.kde/share/config/kmix:* и зайдите опять. В этот раз он должен найти
микшер должным образом.
GNOME и звук
Будет в следующей версии.
Почта
Postfix -- установка и настройка
Я предпочитаю использовать почтовую систему postfix, так как она имеет
возможности сходные sendmail без необходимости использования кошмарной
процедуры настройки sendmail. Также мы инсталлируем программу для
чтения почты mutt, что даст нам возможность протестировать настройки
postfix.
Установка postfix и mutt
$ emerge postfix mutt
Если Вы хотите использовать Ваш почтовый сервер только для отправки
почты, то postfix уже настроен для Вас. Иначе, вы захотите
отредактировать файл /etc/postfix/main.cf. Файл main.cf подробно
документирован , и настройки по умолчанию хорошо подходят для личной
машины. Если ваша рабочая станция подключена к internet на прямую
(т.е., имеет собственный не приватный IP и DNS имя) Вы должны будете
сделать изменения для получения возможности получать почту.
Включение получения почты в main.cf:
# RECEIVING MAIL
# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on. By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = $myhostname, localhost
mydestination = $myhostname, localhost.$mydomain
Postfix Testing (with Mutt)
Давайте посмотрим, работает ли это.
Тестирование Postfix
$ postfix check
$ newaliases
$ postfix start
postfix-script: starting the Postfix mail system
$ mutt -x root
/root/.maildir does not exist. Create it? ([y]/n): [ответьте y]
To:
Subject: test
(End message with a . on a line by itself)
test
.
$ mutt
[Вы должны увидеть ваше сообщение]
Используя postfix check мы убеждаемся, что файл main.cf обрабатывается
правильно и что созданы необходимые директории. Запустите newaliases
для установки системных почтовых алиасов, и наберите postfix start для
запуска. Я использую mutt (в mailx, или в старомодном mail, режиме)
для отправке сообщений себе на моей локальной машине. По ходу mutt
создаёт пользовательские (root'овую, в данном случае) почтовую spool
директорию, ~/.maildir. При запуске mutt в полностью диалоговом режиме
он показывал мне моё сообщение, значит доставка местных сообщений
работает. После этого я отправил сообщение на один из моих не
локальных адресов и проверил что почта действительно дошла.
Если Вы шлёте сообщение, используя стандартный main.cf с машины,
находящейся в локальной сети, Вы можете никогда не увидеть это
сообщение. Многие почтовые сервера отклоняют почту с узлов, которые не
могут быть проверены с помощью обратного DNS.
Предположим всё работает, тогда настало время установить загрузку
postfix'а при старте системы.
Настраиваем Postfix на загрузку при старте:
$ postfix stop
postfix-script: starting the Postfix mail system
$ rc-update add postfix default
* postfix added to runlevel default...
* Caching service dependencies... [ ok ]
* rc-update complete.
$ /etc/init.d/postfix start
Starting postfix...... [ ok ]
Ветераны sendmail или postfix наркоманы возможно предпочитают
сохранять почту в /var/spool/mail вместо пользовательских каталогов, и
эта почта сохраняется в формате mbox вместо формата maildir. Не
труqдно переконфигурировать postfix и mutt для использования
стандартной unix mailbox системы (mbox) вместо этого. Отредактируйте
/etc/postfix/main.cf, закомментируйте home_mailbox и раскоментируйте
mail_spool_directory = /var/spool/mail. Создайте директорию mail spool
командой mkdir -p /var/spool/mail и перезапустите postfix. Теперь надо
позаботиться о почтовой программе, для mutt необходимо отредактировать
/etc/mutt/Muttrc для использования mbox с помощью установки set
mbox_type = mbox и установки пути /var/spool/mail в set
spoolfile=/var/spool/mail.
Если Вы предпочитаете GUI почтовый клиент, мы установим
web-базированый почтовый сервер, Squirrelmail, ниже в данном
руководстве. Как алтернативу, Daniel Robbins настоятельно рекомендует
комбинацию IMAP (который мы установим далее как требуемый для
Squirrelmail) и почтовый клиент kmail из состава KDE. Kmail это часть
kde-base/kdenetwork.
Далее мы установим Ximian's Evolution в качестве Менеджера
Персональной Информации, поддерживающего Palm pilot. Он, так же, может
работать как отличный почтовый клиент.
Samba
Установканастройка Samba
Samba - замечательный пакет, дающий возможность Вашей linux машине,
использовать файлы и принтеры совместно с машинами под Windows. Для
получения более детальной информации читайте статью о Samba,
написанную Daniel Robbins на http://www.ibm.com/developerworks.
Установка Samba:
$ emerge samba
$ rc-update add samba default
$ cd /etc/samba
$ cp smb.conf.example smb.conf
$ nano -w smb.conf
smb.conf -- workgroup:
$ workgroup = NT-Domain-Name or Workgroup-Name, eg: REDHAT4
workgroup = MYGROUP [измените на имя своей рабочей группы]
smb.conf -- печать с cups:
# It should not be necessary to specify the print system type unless
# it is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx
; printing = bsd
printing = cups
smb.conf -- шифрование:
# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
encrypt passwords = yes
Я довольствуюсь минимумом возможностей Samba. Всё что мне необходимо,
это совместное использование файлов между моими linux и windows
машинами, и использование linux машины как принт сервера (используя
cups). После установки, необходимо сделат некоторые изменения в файле
/etc/samba/smb.conf. Определённо, переменная workgroup должна
соответствовать имени вашей рабочей группы в windows сети (Я обычно
использую "OLYMPUS", но "WORKGROUP" значение по умолчанию, если я
правильно помню, printing должно соответствовать cups вместо bsd, а
строка encrypt passwords = yes должна быть раскоментирована. Машины
Windows используют зашифрованные пароли по умолчанию, это может быть
изменено путём внесения изменений в registry на всех windows машинах
[Не рекомендуется]. К сожалению, Windows использует метод шифрования
паролей отличный от Linux, по этому вам прийдётся поддерживать
отдельный файл с паролями для samba.
Добаление пользователей в Samba:
$ smbpasswd -a grant [замените "grant" на необходимое имя пользователя]
New SMB password:
Retype new SMB password:
Added user grant.
Перед добавлением этого пользователя в лист паролей samba, этот
пользователь должен быть добавлен в /etc/passwd.
Для каждого пользователя, которому вы хотите дать возможность
использовать samba с windows машины, Вы должны запустить команду
smbpasswd. Samba сохраняет пароли в файле
/etc/samba/private/smbpasswd, который создаётся после первого запуска
smbpasswd.
Запуск Samba:
$ /etc/init.d/samba start
Starting samba... [ ok ]
Запустите samba, и вы должны получить возможность подключаться к Вашей
машине с Gentoo Linux с любой windows машины и видеть домашнюю
директорию пользователя в качестве, которого Вы подключились и
использовать любой подключённый принтер. Если вы не можете
подключиться, посмотрите
/usr/share/doc/samba-2.2.5-r1/full_docs/textdocs/DIAGNOSIS.txt.gz для
более полной помощи.
Apache и Squirrelmail Webmail
Apache с поддержкой SSL и PHP
Допустим вы имеете статический IP адрес (или используете сервис вроде
dyndns с динамическим IP адресом), тогда вы можете захотеть получить
эффективный способ проверки своей почты, находясь вне города. Для
решения этой задачи я выбрал установку webmail сервера, Squirrelmail,
к которому я могу получить удалённый доступ используя любой web
браузер.
Первый шаг установка web сервера. Большая часть мира использует
Apache; и мы тоже будем его использовать. Мы так же установим PHP
(PHP4, в действительности), т.к. Squirrelmail написан на PHP. Номера
версий программ показанных в листинге могут не совпадать с теми
которые Вы устанавливаете, читая это руководство. Пожалуйста
откорректируйте их в соответствии с версиями Ваших программ. Не
делайте copy'n'paste этих команд в Ваш терминал!
Установка и настройка Apache
$ emerge apache php mod_php mod_ssl
$ ebuild /var/db/pkg/dev-php/mod_php-4.2.2-r1/mod_php-4.2.2-r1.ebuild config
$ ebuild /var/db/pkg/net-www/mod_ssl-2.8.10/mod_ssl-2.8.10.ebuild config
Вы должны удостовериться, что Вы установили mod_ssl если Вы хотите
получит поддержку SSL в Apache. Если Вы хотите проверять свою почту
удаленно, не пересылая незашифрованный пароль через весь internet,
значит Вам нужен SSL!
Посмотрите на файл /etc/apache/conf/apache.conf, т.к. Apache очень
гибко настраиваемый. По умолчанию корневая директория Apache (где он
первым делом ищет файлы html при обращении к http://www.servername.foo
или http://localhost) это /home/httpd/htdocs; но Вы вольны
перенастроить ее, если хотите.
/etc/apache/conf/apache.conf:
# Do NOT add a slash at the end of the directory path.
#
DocumentRoot "/home/httpd/htdocs" (отредактируйте эту строку, если хотите)
Делаем Apache загружаемым при старте
$ rc-update add apache default
* apache added to runlevel default...
* Caching service dependencies... [ ok ]
* rc-update complete.
$ nano -w /etc/conf.d/apache
Используйте rc-update для установки Apache в default runlevel, а затем
отредактируйте /etc/conf.d/apache на предмет добавления нескольких
строк, что бы Apache автоматически загружал SSL и PHP модули.
/etc/conf.d/apache:
APACHE_OPTS="-D SSL -D PHP4"
Перезагрузка Apache:
$ /etc/init.d/apache start
* Starting Apache... [ OK ]
$ lynx localhost
Вы должны удостовериться что Ваш Apache работает, обратившись из
любого броузера к localhost. Для того, что бы убедится что поддержка
SSL функционирует, зайдите броузером на https://localhost. Префикс
https говорит броузеру произвести безопасное подключение к серверу
используя SSL. Графические броузеры показывают наличие безопасного
подключения иконкой замочка.
Когда вы подключаетесь к серверу используя безопасное подключение, Вы,
вероятно, получите предупреждение что сертификат безопасности для
данного сайта не опознан. Дело в том, что mod_ssl устанавливает
подписанный собой сертификат безопасности, годящийся только для
тестовых задач. Для более полной информации по mod_ssl читайте
следующее руководство: /usr/share/doc/mod_ssl-2.8.10. Для собственного
использования такой сертификат вполне пригоден.
Теперь необходимо убедиться, что PHP работает нормально. Первый шаг
это создание простого PHP файла и размещение его в директории Apache
DocumentRoot.
Проверка PHP
$ echo "" > /home/httpd/htdocs/test.php
$ lynx http://localhost/test.php
Работа Apache + PHP:
phpinfo() (p1 of 26)
PHP Logo
PHP Version 4.0.6
System Linux my.server.edu 2.4.10 #1 Tue Oct 9 16:33:50 Local
time zone must be set--see zic manuali686 i686 unknown
Build Date Oct 16 2001
Если Вы видите что либо подобное, значит Apache корректно обрабатывает
код PHP.
Если Вы смотрите на полный вывод вышеупомянутого скрипта, то Вы
видите, что скрипт test.php выводит очень много информации о Вашей
системе. Вы должны избавиться от него, как только удостоверитесь, что
php работает. (Или сделайте как я mv test.php test.phps. Apache
отобразит test.phps как исходник PHP, а не выполнит его).
Courier-imap
Squirrelmail приложение PHP, но он накладывается IMAP server как клей
между web сэрвером и e-mail. Так как Gentoo linux использует Maildir
почтовые папки по умолчанию, Courier IMAP - хороший выбор.
Установка/Тестирование Courier-imap:
$ emerge courier-imap
$ rc-update add courier-imapd default
* courier-imapd added to runlevel default...
* Caching service dependencies... [ ok ]
* rc-update complete.
$ nano -w /etc/courier-imap/authdaemonrc
$ /etc/init.d/courier-imapd start
$ telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc.
See COPYING for distribution information.
1 LOGIN grant passwd (<-- вставте вместо "grant" ваше имя пользователя
и пароль вместо "passwd")
1 OK LOGIN OK
(Нажмите -"]" и введите "quit" для выхода)
Корректная авторизация в /etc/courier-imap/authdaemonrc
##NAME: authmodulelist:0
#
# The authentication modules that are linked into authdaemond. The
# default list is installed. You may selectively disable modules simply
# by removing them from the following list. The available modules you
# can use are: authcustom authcram authuserdb authpam
#authmodulelist="authcustom authcram authuserdb authpam"
authmodulelist="authpam"
Courier IMAP обычно подключает имена директорий ползователей
Maildir-типа которые устанвливаются в rc загрузочных скриптах, в
/usr/lib/courier-imap/imapd.rc, это $HOME/Maildir. Gentoo linux,
однако, использует для этого $HOME/.maildir, courier-imap ebuild
изменяет imapd.rc скрипт для использования $MAILDIR, знасение которого
он получает из init скриптов Gentoo /etc/init.d/courier-imap. Если вы
решили использовать home user's mailbox отличный от .maildir, Вы
должны изменить строку MAILDIR=.maildir в стартовом скрипте
courier-imap.
Если Вы хотите использовать Courier IMAP с поддержкой SSL Вы должны
создать IMAP SSL сертификат (и указать courier-imap где его найти),
Создание SSL сертификата для IMAP:
$ /usr/sbin/mkimapdcert
и запустить imap-ssl.
Добавление Courier IMAP в default:
$ rc-update add courier-imapd-ssl default
$ /etc/init.d/courier-imapd-ssl start
Вы можете проверить работу imap с помощью любого поддерживающего IMAP
клиента, такого как netscape, kmail, или mutt.
Проверка Вашего IMAP сервера:
$ mutt -f imap://localhost
Проверка Вашего SSL IMAP сервера
$ mutt -f imaps://localhost
Squirrelmail
К счастью, установка и конфигурация Squirrelmail, если все компоненты
находятся вместе, является простой.
Установка Squirrelmail
$ emerge squirrelmail
$ cd /home/httpd/htdocs
$ cd squirrelmail
$ ./configure
Если Ваша директория Apache DocumentRoot не /home/httpd/htdocs, вы
должны отредактировать так, чтобы переменная в net-mail/squirrelmail
указывала туда.
Для корректной работы squirrelmail, необходимо, что бы владельцем всех
файлов, был пользователь от имени, которого запущен Apache (для
squirrelmail предполагается что это "apache"). Выполните ./configure и
выберет опцию 2.
Squirrelmail настройка -- Server settings
SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
Server Settings
1. Domain : my.server.edu
2. IMAP Server : localhost
3. IMAP Port : 143
4. Use Sendmail/SMTP : SMTP
6. SMTP Server : localhost
7. SMTP Port : 25
8. Authenticated SMTP : false
9. Server : courier
10. Invert Time : false
11. Delimiter : detect
R Return to Main Menu
C. Turn color off
S Save data
Q Quit
Command >>
Убедитесь что переменная Server установлена в значение courier.
Вернитесь в главное меню и выберите опцию 4, General Options.
Squirrelmail настройка -- General options
SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
General Options
1. Default Charset : iso-8859-1
2. Data Directory : ../data/
3. Attachment Directory : /tmp/
4. Default Left Size : 150
5. Usernames in Lowercase : false
R Return to Main Menu
C. Turn color off
S Save data
Q Quit
Command >>
Я использую директорию data принадлежащую пакету, хотя было бы
безопаснее использовать директорию лежащую вне дерева директорий
Apache. Я так же использую /tmp как директорию для хранения
присоединенных файлов.
Теперь необходимо перезапустить Apache, и всё готово!
Перезапуск Apache
$ /etc/init.d/apache restart
Теперь зайдите по адресу https://localhost/squirrelmail/src/login.php,
всё должно работать!
Тестирование Squirrelmail
$ lynx https://localhost/squirrelmail/
Squirrelmail login page
SquirrelMail - Login
[sm_logo.jpg]
SquirrelMail version 1.2.0 [rc2]
By the SquirrelMail Development Team
SquirrelMail Login
Name: ____________________
Password: ____________________
Login
(Я не советую использовать lynx с Squirrelmail, Но Вы можете делать
это!)
Управление персональной информацией
Evolution с поддержкой Palm
Evolution исключительно хороший инструмент для Управления Персональной
Информацией, который хорошо синхронизируется с Palm. Первый шаг,
установка evolution. Если Вы хотите использовать evolution с Palm
pilot, убедитесь, что установлен ключ "pda" в USE в файле
/etc/make.conf перед установкой evolution.
Установка Evolution
$ emerge --pretend evolution
$ emerge evolution
К сожалению, установка evolution занимает больше времени чем обычно
(учтите что, есть зависимость с mozilla!); запаситесь несколькими
галлонами кофечая на время ожидания.
При установке evolution необходимо так же, что бы утилиты Palm pilot
были установлены. Что бы быть уверенным, что обычные пользователи
смогут синхронизировать свой pilot, мы должны внести некоторые
изменения в права на последовательный порт. Я предполагаю что ваша
стыковочная база подключена к первому последовательному
порту(/dev/ttyS0, или /dev/tts/0 в "devfs").
Adding serial device
$ groupadd serial
$ chown root.serial /dev/tts/0
$ chmod g+rw /dev/tts/0
$ ls -l /dev/tts/0
crw-rw---- 1 root serial 4, 64 Dec 31 1969 /dev/tts/0
$ ln -s /dev/tts/0 /dev/pilot
$ nano -w /etc/group (добавьте соответствующих пользователей в группу serial)
Мы создали группу "serial" в системе, и Вы должны добавлять в неё
любого пользователя, которому необходимо использовать последовательный
порт (все пользователи Palm pilot). Мы дали этой группе "rw" права на
/dev/tts/0, и на будущее мы должны сделать символическую ссылку с
/dev/pilot на /dev/tts/0. Благодаря недавним изменениям в том, как
devfs обрабатывается в Gentoo, эти изменения сохранятся после
перезагрузки.
Пользователи версии pre-rc6-r13 должны или обновить
sys-apps/baselayout и sys-apps/devfsd (и соединить все "._cfg*" файлы
в /etc в результате), или просто добавить соответствующие права и
символическую ссылку на /etc/devfsd.conf.
Пользователи захотят использовать пункт меню tools/Pilot settings в
evolution для установки программного обеспечения Gnome pilot. Не
забудьте установить "Pilot Conduits" и не плохо бы "Pilot Link" в
Gnome Control Center.