Короткие заметки по RHEL


Настройка SMTP сервера в RHEL (sendmail)

По умолчанию, sendmail в RHEL прослушивает, только виртуальный локальный интерфейс:

[root@hpom ~]# netstat -an | grep :25 | grep tcp
tcp     0      0 127.0.0.1:25   0.0.0.0:*             LISTEN

В такой конфигурации нет возможности подключиться к серверу sendmail иначе как с самого сервера, где он работает и это, действительно, так:

[orca@blizzard ~]$ telnet hpom.asia-systems.com 25
Trying 10.0.0.134...
telnet: Unable to connect to remote host: Connection refused

Поэтому, необходимо изменить конфигурацию сервера sendmail так, чтобы он “слушал” и другие интерфейсы, а, затем, перезапустить его. Здесь есть один ньюанс. Конфигурация сервера sendmail меняется в два этапа:

  1. Правка первичного файла (/etc/mail/sendmail.mc)
  2. Сборка конфигурации с помощью команды sendmail-cf

В консоли сервера:

[root@hpom ~]# mount /dev/cdrom /mnt                    <1>
[root@hpom ~]# rpm -iv 
/mnt/Server/sendmail-cf-8.13.8-2.el5.x86_64.rpm         <2>
[root@hpom ~]# vi /etc/mail/sendmail.mc                 <3>

найти строку:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

и заменить её на:
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

[root@hpom ~]# make -C /etc/mail                        <4>
[root@hpom ~]# service sendmail restart                 <5>
[root@hpom ~]# netstat -an | grep :25 | grep tcp        <6>
tcp     0      0   0.0.0.0:25   0.0.0.0:*             LISTEN

[orca@blizzard ~]$ telnet hpom.asia-systems.com 25      <7>
Trying 10.0.0.134...
Connected to hpom.asia-systems.com.
Escape character is '^]'.
220 hpom.asia-systems.com ESMTP Sendmail 8.13.8/8.13.8;
^]
telnet> quit
Connection closed.
  1. Подключение установочного диска RHEL
  2. Установка пакета sendmail-cf
  3. Правка первичного файла конфигурации sendmail
  4. Сборка основного файла конфигурации sendmail
  5. Перезапуск демона sendmail
  6. Проверка на стороне сервера
  7. Проверка со стороны другой системы

Теперь демон sendmail готов к использованию другими системами в сети.


Настройка POP3 сервера в RHEL (dovecot)

Замечание При настройке клиентской части, необходимо учитывать тот факт, что в коде dovecot жёстко прописан запрет на получение почты пользователя root.

Строго говоря, конфигурация dovecot по умолчанию (файл /etc/dovecot.conf) запрещает получение почты от всех пользователей, чей идентификатор (UID) меньше 500

Для того, чтобы можно было читать почтовые сообщения, адресованные пользователям сервера RHEL с клиентской программы, работающей на другой системе в сети, необходимо настроить сервер доставки электронной почты, например, по протоколу POP3:

[root@hpom ~]# mount /dev/cdrom /mnt                    <1>
[root@hpom ~]# rpm -iv 
/mnt/Server/dovecot-1.0.7-7.el5.x86_64.rpm 
/mnt/Server/mysql-5.0.77-3.el5.x86_64.rpm 
/mnt/Server/postgresql-libs-8.1.11-1.el5_1.1.x86_64.rpm 
/mnt/Server/perl-DBI-1.52-2.el5.x86_64.rpm              <2>
[root@hpom ~]# service dovecot start                    <3>
Starting Dovecot Imap:                  [  OK  ]

[orca@blizzard ~]$ telnet hpom.asia-systems.com 110     <4>
Trying 10.0.0.134...
Connected to hpom.asia-systems.com.
Escape character is '^]'.
+OK Dovecot ready.
  1. Подключение установочного диска RHEL (пропустить, если уже подключен)
  2. Установка пакета dovecot и зависимостей для него
  3. Запуск демона dovecot
  4. Проверка со стороны другой системы

Остаётся отправить тестовое сообщение кому нибудь из пользователей системы RHEL (кроме пользователя root и пользователей чей UID меньше 500). Затем настроить клиентскую часть на эту учётную запись и пользоваться почтовой системой.


Низкая производительность в среде VMWare Server 2

Наблюдаемый симптом, судя по всему, связан с некорректной работой с файлом оперативной памяти, который VMWare Server создаёт в момент запуска и обновляет в процессе работы виртуальной машины.

Решение:

  • Если виртуальная машина работает под управлением Linux, то добавить в файл /etc/fstab строку “tmpfs /tmp tmpfs rw,size=12G 0 0”
  • Остановить виртуальную машину
  • На сервере VMWare Server в директории этой виртуальной машины найти конфигурационный файл .vmx и добавить в него ключ: mainMem.useNamedFile = “FALSE”
  • Запустить виртуальную машину