1. Предварительные замечания
Необходимо сказать, что для начала вы должны иметь установленный Gentoo Linux (http://www.gentoo.org/doc/en/build.xml). После окончания этого довольно приятного процесса, вы должны загрузить дерево Портэджей. Настоятельно рекомендуется прочесть Руководство по работе с portage (http://www.gentoo.org/doc/en/portage-user.xml), но если Вы очень спешите, то просто можете набрать следующую команду:
Code Listing 1.1: Получение актуальных версий. |
# emerge sync
|
Коротко о пакетах, о которых рассказывается в данном руководстве. Gentoo Linux имеет богатый выбор оконных менеджеров, MTA, и других программ, которые могут быть легко установлены. Пакеты, которые описываются в данном документе не являются предпочтительными для использования в Gentoo Linux, это пакеты, которые просто нравятся автору и/или он знает, как они настраиваются. Другими словами, это пакеты, с которыми автор работает на собственной машине.
Important: В зависимости от типа рабочего окружения, которое Вы хотите установить, Вы можете отключить поддержку оконных менеджеров, которые вы не будете использовать, в файле /etc/make.conf. В секции USE, добавьте -gnome -gtk если Вы используете KDE, или -kde -qt если GNOME. |
Warning: Если вы столкнетесь с ошибкой в любом из этих пакетов, сообщите о ней в http://bugs.gentoo.org/. НЕ СООБЩАЙТЕ о ней мэйнтэйнерам данного пакета (например KDE), если потребуется, разработчики Gentoo передадут сообщение об ошибке сами. |
2. Установка XFree86
Установка (emerge) XFree86 занимает достаточно много времени даже на быстрой системе. Программа большая, так что, в процессе установки вы сможете почитать книгу, вздремнуть, и т.д.
Для установки X, все что Вам надо сделать это набрать:
Code Listing 2.1: Установка XFree86 |
# emerge xfree
|
После этого довольно длительного процесса начинается конфигурация.
Я предпочитаю использовать консольную программу xf86config для конфигурации XFree86, хотя генерируемый ею файл /etc/X11/XF86Config выглядит не очень элегантно -- смотри это руководство по альтернативной и более полной (тонкой) настройке XFree86. Перед началом, вы должны узнать вертикальную и горизонтальную частоту развертки вашего монитора (Мой viewsonic G773 имеет Горизонтальную: 30-69 КГц, Вертикальную: 55-90 Гц), тип (модель) и количество памяти (в KB) в вашей видео карте (32768 KB GeForce, в моём случае), тип (модель) и к какому типу порта подключена ваша мышь (intellimouse включенная в ps/2 порт /dev/psaux).
Code Listing 2.2: Запуск xf86config |
# /usr/X11R6/bin/xf86config
|
Так как у меня трех-кнопочная мышь, я не использую режим эмуляции третьей кнопки. Не забудьте включить поддержку XKB, если Вы используете интернациональные клавиатуру или Вам необходима поддержка нескольких языков. Вы должны выставить разрешение экрана и глубину цветности на свой вкус. Я использую 1280x1024 при 24бит на моем viewsonic, но это только потому, что он не работает в более высоких разрешениях. Если вы не делали такого раньше, не удивляйтесь что работа с xf86config заняла много времени.
Note: Если Вы не знаете частоты развёртки вашего монитора, воспользуйтесь поиском в google, http://www.google.com/, по номеру модели и производителю Вашего монитора. Частоты развёртки обычно даются в спецификациях на монитор. |
Если Вы ветеран в настройке XFree86, то Вы можете сделать символическую ссылку с мыши на /dev/mouse. Такие символические ссылки имели некоторые проблемы с devfs, они пропадали после перезагрузки. Теперь Gentoo Linux взаимодействует с /dev корректно. Просто сделайте символьную ссылку на /dev/mouse с помощью ln -s и она будет сохранена после перезагрузки.
Если Вы хотите использовать XFS (XFontServer), следуйте приведённым ниже инструкциям. Использование XFS настоятельно рекомендуется, так как делает настройку шрифтов намного легче. Обратитесь к этой статье о XFS на сайте RedHat.
Code Listing 2.3: Тестирование Ваших настроек |
# rc-update add xfs default # /etc/init.d/xfs start # startx |
Если Вы сконфигурировали XFree86 правильно, после запуска startx стартует достаточно гадкий оконный менеджер (twm, если быть точным). Если Xы подымутся, то Вы можете двигаться дальше. Нажмите <ctrl><alt><backspace> для остановки X сервера.
xf86config создаёт только базовые конфигурационные настройки. Видео карты на чипах NVIDIA, USB мыши и многие другие установки должны быть сделаны вручную. Я расскажу об этих функциях ниже, но советую Вам посмотреть в файл XF86Config.Он не сильно зашифрован, и Вы можете найти в нём некоторые интересные настройки. Хорошее место для получения информации о тонкой настройке находится здесь.
Если у Вас мышь с колесом, то отредактируйте файл XF86Config вручную:
Code Listing 2.4: Редактирование файла XF86Config |
# cp /etc/X11/XF86Config /etc/X11/XF86Config.working # vim /etc/X11/XF86Config |
Code Listing 2.5: Раздел 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' сообщает мыши о прокрутке вверх\вниз.
Note: В Netscape 4.x прокрутка не работает по умолчанию; для начала Вы должны создать файл .Xdefaults. Как это сделать смотрите тут. Но лучше используйте konqueror, opera, mozilla, galeon, или другой броузер. |
Запустите startx снова и убедитесь, что XFree86 запускаются.
USB мышь это ваш друг при работе в высоких разрешениях экрана. Ядро следит за масштабированием, что бы Вам не нужно было водить мышкой пять раз по коврику для перемещения курсора через весь экран.
Первое, что должно быть сделано, инсталляция модулей ядра. Модули необходимые для работы USB мыши это usbmouse, mousedev, hid, usbcore, usb-uhci, и input. После окончания необходимой настройки, подключите модули командой insmod.
Note: Используйте usbmouse ИЛИ hid. Если Вы установите оба модуля, мышь перестанет работать. |
Note: Когда будете настраивать поддержку Input Core для мыши, установите то же разрешение экрана которое вы будете использовать в XFree86. Это сделает масштабирование удобным и правильным. |
Теперь, отключите мышь, включите обратно, и проверьте логи ядра на предмет сообщения похожего на это
Code Listing 2.6: Сообщение ядра |
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 что бы убедится ваша мышь присутствует и работает.
Code Listing 2.7: Проверка USB мыши |
# cd /dev/input # cat mice Подвигайте мышкой во время выполнения команды cat, Вы должны увидеть мусор на экране. |
Как только мышь должным образом обнаружена и установлена, мы должны сказать XFree86 использовать USB мышь. Всё что для этого нужно, это сделать небольшие изменения в настройках XFree.
Code Listing 2.8: Редактирование XF86Config |
# cp /etc/X11/XF86Config /etc/X11/XF86Config.working # vim /etc/X11/XF86Config |
Code Listing 2.9: Секция 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.
Code Listing 2.10: Добавление модулей в modules.autoload |
# echo $'/n'mousedev $'/n'hid #'/n'usbcore $'/n'input >> /etc/modules.autoload
|
Настройка видео карт на чипах NVIDIA
Если вы обладатель карты от NVIDIA, сейчас самое время настроить драйвера NVIDIA с поддержкой акселерации.
Note: Если Вы перекомпилируете ядро, Вы должны так же перекомпилировать nvidia-kernel. Это делается, потому что новое ядро не увидит модули nvidia принадлежащие старому ядру. |
Code Listing 2.11: Только для владельцев карт NVIDIA |
# emerge nvidia-glx # emerge nvidia-kernel # nano -w /etc/X11/XF86Config # echo "NVdriver" >> /etc/modules.autoload # modprobe NVdriver |
Code Listing 2.12: Включение GLX в /etc/X11/XF86Config |
Section "Module"
# This loads the GLX module
# Load "glx" (Раскоментируйте эту строку)
|
Code Listing 2.13: Говорим 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, если вы установили драйвера).
3. Оконные менеджеры
Вообще то, первое, что происходит после установки XFree, это установка симпатичного оконного менеджера. Конечно, вы можете, остановится на tvm если вам нужен действительно убогий, в смысле функциональности, оконный менеджер.
Существует много оконных менеджеров из которых Вы можете выбрать. Вот некоторые из них KDE, GNOME, Fluxbox, Blackbox, другие *box 'ы, Windowmaker, Sawfish, и т.д. Как Вы можете видеть, в Gentoo Linux весьма приятный выбор оконных менеджеров.
Я предполагаю, что вы будете использовать KDE, если вы читаете этот раздел. KDE полностью поддерживается в Gentoo Linux, но есть несколько вещей, которые Вы должны проверить перед установкой KDE:
Оба эти шага могут быть выполнены путём редактирования файла /etc/make.conf например, так:
Code Listing 3.1: Редактирование make.conf |
# vim /etc/make.conf Inside of make.conf USE="qt kde -gnome -gtk" |
Для получения информации о переменных USE, читайте USE HOWTO.
Всегда полезно использовать ключ --pretend перед выполнением emerge для того, что бы увидеть зависимомти устанавливаемого пакета, в нашем случае их очень много.
Code Listing 3.2: Смотрим пакеты/зависимости для KDE |
# emerge --pretend kde # emerge kde |
Note: Будьте осторожны при использовании emerge kde-base. Эта команда устанавливает только пакеты KDE и не устанавливает приложения помощи KDE. |
Note: Если Вы планируете использовать CUPS для печати, вы должны установить переменную "cups" в USE в /etc/make.conf перед установкой KDE. Это делается из командной строки с помощью USE="cups" emerge kde. Прочтите руководство Gentoo Print Guide для полной установки CUPS. |
Можете подремать!
Note: Если у Вас есть бинарные пакеты Gentoo Linux на CD, вы можете установить пакет прямо с CD. |
Code Listing 3.3: Установка бинарных пакетов с CD |
# export PKGDIR=/mnt/cdrom/gentoo/packages Обычно Portage ищет бинарные пакеты в /usr/portage/packages # emerge --usepkg /mnt/cdrom/gentoo/packages/All/kdebase-x.y.z.tbz2 Ключ --usepkg даёт уверенность, что будут использованы бинарные пакеты и для зависимостей (если они доступны). |
После установки KDE, предпочтительно использовать хороший login manager, а конкретнее KDE login manager, или KDM. KDM идёт вместе с пакетами KDE, всё, что Вам надо сделать для его запуска это:
Code Listing 3.4: Запуск KDM |
# kdm
|
Теперь вы можете войти и увидеть полностью рабочее окружение KDE. Конечно, звук пока не работает, так что вы пропустите надоедливый звук приветствия, но мы скоро это поправим. Откройте консоль в окне и наберите ls /usr/bin (или что либо, что активно заполняет консольное окно), и посмотрите, скролит ли мышка окно консоли. Это должно работать!
Note: Если запускаемый kdm возвращает "command not found", то Вы должны обновит значение переменной $PATH в /etc/profile. |
Всё что осталось сделать это убедиться, что XFree стартуют во время загрузки Gentoo. Отредактируйте в /etc/rc.conf строку DISPLAYMANAGER="kdm".
Code Listing 3.5: Редактирование /etc/rc.conf |
# vim /etc/rc.conf
|
Code Listing 3.6: /etc/rc.conf -- Установка DISPLAYMANAGER |
# What display manager do you use ? [ xdm | gdm | kdm ] DISPLAYMANAGER=kdm |
Теперь необходимо убедится, что загрузочные скрипты xdm читаются при загрузке.
Code Listing 3.7: Добавление скриптов XDM в default runlevel |
# rc-update add xdm default
|
Перезагрузитесь, и проследите, что бы X/KDE поднялись!
Important: Команда rc-update в Gentoo Linux's это улучшена версия команды chkconfig для управления init скриптами. Наберите rc-update без параметров, для просмотра списка опций этой команды. |
4. GNOME
Перед установкой GNOME, Вы должны отредактировать переменные USE. Выполнение этого включит поддержку GNOME в поддерживаемых приложениях, которые Вы собираете.
Оба эти шага могут быть выполнены путём редактирования файла /etc/make.conf например так:
Code Listing 4.1: Редактирование make.conf |
# vim /etc/make.conf Внутри make.conf USE="gnome gtk -kde -qt" |
Для получения информации о переменных USE, читайте USE HOWTO.
Теперь установим необходимые пакеты для GNOME.
Code Listing 4.2: Установка пакетов GNOME |
# emerge --pretend gnome # emerge gnome |
После этого можно откинутся назад, и посмотреть кино. Автор рекомендует Криминальное Чтиво.
Начиная с этого пункта конфигурация GNOME такая же, как и KDE. Не используются специфические для GNOME конфигурационные файлы, только login manager для GNOME - GDM.
После установки GNOME, предпочтительно использовать хороший login manager, а конкретнее GNOME login manager, или GDM. GDM идёт вместе с пакетами GNOME, всё, что Вам надо сделать для его запуска это:
Code Listing 4.3: Запуск GDM |
# gdm
|
Теперь вы можете войти и увидеть полностью рабочее окружение GNOME. Конечно звук пока не работает, так что вы пропустите надоедливый звук приветствия, но мы мгновенно это поправим. Откройте консоль в окне и наберите ls /usr/bin (или что либо, что активно заполняет консольное окно), и посмотрите, скролит ли мышка окно консоли. Это должно работать!
Note: Если запускаемый gdm возвращает "command not found", то Вы должны обновит значение переменной $PATH в /etc/profile. |
Всё, что осталось сделать это убедиться, что XFree стартуют во время загрузки Gentoo. Отредактируйте в /etc/rc.conf строку DISPLAYMANAGER="gdm".
Code Listing 4.4: Редактирование /etc/rc.conf |
# vim /etc/rc.conf
|
Code Listing 4.5: /etc/rc.conf -- установка DISPLAYMANAGER |
# What display manager do you use ? [ xdm | gdm | kdm ] DISPLAYMANAGER=gdm |
Теперь необходимо убедится, что загрузочные скрипты xdm читаются при загрузке.
Code Listing 4.6: Добавление скриптов XDM в default runlevel |
# rc-update add xdm default
|
Перезагрузитесь, и проследите что бы X/GNOME поднялись!
Important: Команда rc-update в Gentoo Linux's это улучшеная версия команды chkconfig для управления init скриптами. Наберите rc-update без параметров, для просмотра списка опций этой команды. |
5. Настройка звука
Для установки ALSA, прочитайте Gentoo Linux ALSA setup guide здесь
KDE имеет отличные звуковые утилиты, включая KDE микшер kmix.
Note: Если kmix не может найти микшер, возможно у вас не установлена поддержка звука. Выйдете и удалите ~/.kde/share/config/kmixrc и ~/.kde/share/config/kmix:* и зайдите опять. В этот раз он должен найти микшер должным образом. |
Будет в следующей версии.
6. Почта
Postfix -- установка и настройка
Я предпочитаю использовать почтовую систему postfix, так как она имеет возможности сходные sendmail без необходимости использования кошмарной процедуры настройки sendmail. Также мы инсталлируем программу для чтения почты mutt, что даст нам возможность протестировать настройки postfix.
Code Listing 6.1: Установка postfix и mutt |
# emerge postfix mutt
|
Если Вы хотите использовать Ваш почтовый сервер только для отправки почты, то postfix уже настроен для Вас. Иначе, вы захотите отредактировать файл /etc/postfix/main.cf. Файл main.cf подробно документирован , и настройки по умолчанию хорошо подходят для личной машины. Если ваша рабочая станция подключена к internet напрямую (т.е., имеет собственный не приватный IP и DNS имя) то пожалуй единственное изменение, которое нужно будет сделать, это разрешить.postfix получать почту
Code Listing 6.2: Включение получения почты в 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 |
Давайте посмотрим, работает ли это.
Code Listing 6.3: Тестирование 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: <root> 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 показал мне моё сообщение, значит доставка местных сообщений работает. После этого я отправил сообщение на один из моих не локальных адресов и проверил что почта действительно дошла.
Warning: Если Вы шлёте сообщение, используя стандартный main.cf с машины, находящейся в локальной сети, Вы можете никогда не увидеть это сообщение. Многие почтовые сервера отклоняют почту с узлов, которые не могут быть проверены с помощью обратного DNS. |
Предположим всё работает, тогда настало время установить загрузку postfix'а при старте системы.
Code Listing 6.4: Настраиваем 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 ] |
Important: Ветераны 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. Он, так же, может работать как отличный почтовый клиент.
7. Samba
Samba замечательный пакет, дающий возможность Вашей linux машине, использовать файлы и принтеры совместно с машинами под Windows. Для получения более детальной информации читайте статью о Samba написанную Daniel Robbins http://www.ibm.com/developerworks.
Code Listing 7.1: Установка Samba |
# emerge samba # rc-update add samba default # cd /etc/samba # cp smb.conf.example smb.conf # nano -w smb.conf |
Code Listing 7.2: smb.conf -- workgroup |
# workgroup = NT-Domain-Name or Workgroup-Name, eg: REDHAT4
workgroup = MYGROUP [измените на имя своей рабочей группы]
|
Code Listing 7.3: 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 |
Code Listing 7.4: 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.
Code Listing 7.5: Добаление пользователей в Samba |
# smbpasswd -a grant [замените "grant" на необходимое имя пользователя] New SMB password: Retype new SMB password: Added user grant. |
Note: Перед добавлением этого пользователя в лист паролей samba, этот пользователь должен быть добавлен в /etc/passwd. |
Для каждого пользователя, которому вы хотите дать возможность использовать samba с windows машины, Вы должны запустить команду smbpasswd. Samba сохраняет пароли в файле /etc/samba/private/smbpasswd, который создаётся после первого запуска smbpasswd.
Code Listing 7.6: Запуск 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 для более полной помощи.
8. Apache и Squirrelmail Webmail
Допустим вы имеете статический IP адрес (или используете сервис вроде dyndns с динамическим IP адресом), тогда вы можете захотеть получить эффективный способ проверки своей почты, находясь вне города. Для решения этой задачи я выбрал установку webmail сервера, Squirrelmail, к которому я могу получить удалённый доступ используя любой web браузер.
Первый шаг установка web сервера. Большая часть мира использует Apache; и мы тоже будем его использовать. Мы так же установим PHP (PHP4, в действительности), т.к. Squirrelmail написан на PHP. Номера версий программ показанных в листинге могут не совпадать с теми которые Вы устанавливаете, читая это руководство. Пожалуйста откорректируйте их в соответствии с версиями Ваших программ. Не делайте copy'n'paste этих команд в Ваш терминал!
Code Listing 8.1: Установка и настройка 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 |
Important: Вы должны удостовериться, что Вы установили mod_ssl если Вы хотите получит поддержку SSL в Apache. Если Вы хотите проверять свою почту удаленно, не пересылая незашифрованный пароль через весь internet, значит Вам нужен SSL! |
Посмотрите на файл /etc/apache/conf/apache.conf, т.к. Apache очень гибко настраиваемый. По умолчанию корневая директория Apache (где он первым делом ищет файлы html при обращении к http://www.servername.foo или http://localhost) это /home/httpd/htdocs; но Вы вольны перенастроить ее, если хотите.
Code Listing 8.2: /etc/apache/conf/apache.conf |
# Do NOT add a slash at the end of the directory path.
#
DocumentRoot "/home/httpd/htdocs" (отредактируйте эту строку, если хотите)
|
Code Listing 8.3: Делаем 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 модули.
Code Listing 8.4: /etc/conf.d/apache |
APACHE_OPTS="-D SSL -D PHP4" |
Code Listing 8.5: Перезагрузка Apache |
# /etc/init.d/apache start * Starting Apache... [ OK ] # lynx localhost |
Вы должны удостовериться что Ваш Apache работает, обратившись из любого броузера к localhost. Для того, что бы убедится что поддержка SSL функционирует, зайдите броузером на https://localhost. Префикс https говорит броузеру произвести безопасное подключение к серверу используя SSL. Графические броузеры показывают наличие безопасного подключения иконкой замочка.
Note: Когда вы подключаетесь к серверу используя безопасное подключение, Вы, вероятно, получите предупреждение что сертификат безопасности для данного сайта не опознан. Дело в том, что mod_ssl устанавливает подписанный собой сертификат безопасности, годящийся только для тестовых задач. Для более полной информации по mod_ssl читайте следующее руководство: /usr/share/doc/mod_ssl-2.8.10. Для собственного использования такой сертификат вполне пригоден. |
Теперь необходимо убедиться, что PHP работает нормально. Первый шаг это создание простого PHP файла и размещение его в директории Apache DocumentRoot.
Code Listing 8.6: Проверка PHP |
# echo "<? phpinfo(); ?>" > /home/httpd/htdocs/test.php # lynx http://localhost/test.php |
Code Listing 8.7: Работа 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.
Warning: Если Вы смотрите на полный вывод вышеупомянутого скрипта, то Вы видите, что скрипт test.php выводит очень много информации о Вашей системе. Вы должны избавиться от него, как только удостоверитесь, что php работает. (Или сделайте как я mv test.php test.phps. Apache отобразит test.phps как исходник PHP, а не выполнит его). |
Squirrelmail приложение PHP, но он полагается на IMAP server как на прослойку между web сэрвером и e-mail. Так как Gentoo linux использует Maildir почтовые папки по умолчанию, Courier IMAP - хороший выбор.
Code Listing 8.8: Установка/Тестирование 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 (Нажмите <ctrl>-"]" и введите "quit" для выхода) |
Code Listing 8.9: Корректная авторизация в /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" |
Important: 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 где его найти),
Code Listing 8.10: Создание SSL сертификата для IMAP |
# /usr/sbin/mkimapdcert
|
и запустить imap-ssl.
Code Listing 8.11: Добавление Courier IMAP в default |
# rc-update add courier-imapd-ssl default # /etc/init.d/courier-imapd-ssl start |
Вы можете проверить работу imap с помощью любого поддерживающего IMAP клиента, такого как netscape, kmail, или mutt.
Code Listing 8.12: Проверка Вашего IMAP сервера |
# mutt -f imap://localhost
|
Code Listing 8.13: Проверка Вашего SSL IMAP сервера |
# mutt -f imaps://localhost
|
К счастью, установка и конфигурация Squirrelmail, если все компоненты находятся вместе, является простой.
Code Listing 8.14: Установка Squirrelmail |
# emerge squirrelmail # cd /home/httpd/htdocs # cd squirrelmail # ./configure |
Note: Если Ваша директория Apache DocumentRoot не /home/httpd/htdocs, вы должны отредактировать так, чтобы переменная в net-mail/squirrelmail указывала туда. |
Для корректной работы squirrelmail, необходимо, что бы владельцем всех файлов, был пользователь от имени, которого запущен Apache (для squirrelmail предполагается что это "apache"). Выполните ./configure и выберите опцию 2.
Code Listing 8.15: 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.
Code Listing 8.16: 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, и всё готово!
Code Listing 8.17: Перезапуск Apache |
# /etc/init.d/apache restart
|
Теперь зайдите по адресу https://localhost/squirrelmail/src/login.php, всё должно работать!
Code Listing 8.18: Тестирование Squirrelmail |
# lynx https://localhost/squirrelmail/
|
Code Listing 8.19: 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, Но Вы можете делать это!)
9. Управление персональной информацией
Evolution исключительно хороший инструмент для Управления Персональной Информацией, который хорошо синхронизируется с Palm. Первый шаг, установка evolution. Если Вы хотите использовать evolution с Palm pilot, убедитесь, что установлен ключ "pda" в USE в файле /etc/make.conf перед установкой evolution.
Code Listing 9.1: Установка Evolution |
# emerge --pretend evolution # emerge evolution |
К сожалению, установка evolution занимает больше времени чем обычно (учтите зависимость от mozilla!); запаситесь несколькими галлонами кофе/чая на время ожидания.
При установке evolution необходимо так же, что бы утилиты Palm pilot были установлены. Что бы быть уверенным, что обычные пользователи смогут синхронизировать свой pilot, мы должны внести некоторые изменения в права на последовательный порт. Я предполагаю что ваша стыковочная база подключена к первому последовательному порту(/dev/ttyS0, или /dev/tts/0 в "devfs").
Code Listing 9.2: 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, эти изменения сохранятся после перезагрузки.
Note: Пользователи версии 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.