Поиск по этому блогу

воскресенье, 31 июля 2011 г.

Установка пакета tar.bz2

Недавно скачал Iptables Но увы распаковать я не знал как. Поэтому нашел статейку, где все подробно отписано.
Большинство программ в линуксе можно установить используя средства операционной системы (такие как APT), но иногда бывает ситуация когда необходимая программа отстуствует в репозиториях, а на сайте предлагают скачать tar архив с программой без каких-либо вариантов. Допустим программа называется superprogra. В таком случае необходимо:
1. Распаковать архив с программой командой
bzip2 -d superproga.tar.bz2
tar xfv superproga.tar
2. Зайти в каталог с распакованой программой и посмотреть на содержимое. Нужно найти файлы README и INSTALL в них обычно содержится информация о том как ставть программу.
3. Если программа содержит программу в бинарном виде, то для её установки обычно нужно запустить скрипт установки install.sh (или с похожим именем, например setup.sh) с правами суперпользователя
sudo ./install.sh
Если установщик будет спрашивать путь для установки, нужно выбрать каталог /opt/superproga -- это аналог Program Files из windows.
4. Если программа поставляется в виде исходных текстов прораммы, то необходимо найти и запустить скрипт configure.командой
./configure
Вполне возможно что скрипт завершится ошибкой, где сказано, что какая-то программа или заголовочные файлы библиотек, необходимых для сборки, не найдены. Необходимо установить эти программы или файлы заголовков библиотек после чего перезапустить configure. Новичку нужно быть осторожным при компиляции программы, так как отсутствие некоторых библиотек может не вызвать ошибки, но при сборке у полученой программы могут отсутствовать некоторые возможности (например проверка орфографии, если не были установлены файлы заголовков для библиотеки проверки орфографии).
5. Следующим этапом необходимо собрать программу командой
make
6. После сборки необходимо установить программу в систему. Для этого необходимы права администратора
sudo make install
В последствии можно будет удалить программу командой
sudo make uninstall

Original article

четверг, 28 июля 2011 г.

Установка Redmine под Ubuntu 10.10

   
       И так после долгого мучения и попыток поднять redmine под postgesql, окончились неудачей. Попытка установить под БД mysql принесла мне нескончаемую радость и придания стимула все таки поднять под postgres. Но об этом будет в дальнейшем ...(надеюсь)
Поделюсь своим трех дневным долбанием головой об клавиатуру...
      Ставим это и много другое:
#sudo apt-get install redmine redmine-mysql subversion apache2 mysql-server libapache2-mod-passenger
При запросе выбора БД тыкаем на mysql
Создаем  каталог dispatch.cgi, по умолчанию в папке public есть только данный фаил с расирением fcgi, поэтому создаем его
#sudo touch /usr/share/redmine/public/dispatch.cgi
Далее впихнем скрипт
#sudo nano /usr/share/redmine/public/dispatch.cgi

#!/usr/bin/ruby
require File.dirname(_FILE_) + "/../config/environment" unless defined?(RAILS_ROOT)
require "dispatcher"
ADDITIONAL_LOAD_PATHS.reverse.each { |dir| $:.unshift(dir) if File.directory?(dir)} if defined?(Apache::RubyRun)
Dispatcher.dispatch

Далее создаем папки и даем права для юзверя в данном случае это йа "nosensus"
#sudo mkdir /usr/share/redmine/log
#sudo mkdir /usr/share/redmine/tmp
#sudo chown nosensus /usr/share/redmine/log
#sudo chown nosensus /usr/share/redmine/tmp
Далее создаем фаил production.log и даем права
#touch /usr/share/redmine/log/production.log
#sudo chmod 644 /etc/redmine/default/session.yml
Далее создадим фаил database.yml ибо его там нет и также дадим ему права
#sudo touch /etc/redmine/default/database.yml
#sudo chmod 644 /etc/redmine/default/database.yml
Открываем фаил и впихнем в самый конец следующее
#sudo nano /etc/apache2/sites-enabled/000-default

<VirtualHost *:80>
 ServerName localhost
 ProxyPass / http://localhost:3000/
 ProxyPassReverse / http://localhost:3000/
</VirtualHost>

т.е у нас отведен для этого 3000 порт можно поставить какой угодно
Далее это
#sudo a2enmod proxy proxy_http
И это куда вклинем тоже пару строк, что они значат хз...
#sudo nano /usr/share/redmine/public/.htaccess

RewriteEngine On
RewriteBase /
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

#sudo /etc/init.d/apache2 restart
и это
#ruby /usr/share/redmine/script/server webrick -e production
Ну все открываем браузер http://127.0.0.1:3000  ну или просто http://localhost
Пароль и логин по дефолту admin/admin

вторник, 26 июля 2011 г.

Как сделать загрузочную флешку с Linux/Ubuntu.

е так давно вышла версия Ubuntu 10.10, но оптического привода под рукой не оказалось.  Решил немного погуглить и наткнулся на статью.
И так в ней присутствует две версии программы, которая запускается и под Windows и под Linux.
Linux                                          Windows
Выглядит программка так.



Источник статьи тут

P.S. да кстати подчеркну то, что до Ubuntu 10.10 можно нарезать через программу WinSetupfromUSB. После Ubuntu 10.10 только через эту программу указанной выше. Также через нее можно записать любой образ Open Source'a.

Еще один способ установить PostgeSQL на Linux

PostgreSQL в Linux/Ubuntu PostgreSQL - это свободная СУБД. Быстрая, надежная, с богатыми возможностями.
И так для начала установим
#sudo apt-get install postgresql postgresql-contrib postgresql-client -y

И так после установки необходимо проделать несколько вещей чтобы нормально функционировала БД.
 И так установим пароль для рута Postgre
#sudo su postgres

Запускаем терминал к нашей СУБД:psql

Сменим пароль пользователя:

#alter user postgres with password 'НОВЫЙ ПАРОЛЬ';

Прикрутим скрипт, содержащий улучшенные функции логирования и мониторинга для pgAdmin:
#\i /usr/share/postgresql/8.3/contrib/adminpack.sql

Закрываем терминал и выходим из сеанса postgres:
\q
exit

Разрешаем доступ к нашей СУБД с других машин. 
Для этого нам небходимо отредактировать два файла (необходимы права root).
Файл /etc/postgresql/8.3/main/postgresql.conf
Ищем секцию CONNECTIONS AND AUTHENTICATION и меняем строку
#listen_addresses = 'localhost' на вот это #listen_addresses = '*' //ниже имеется скриншот

Файл /etc/postgresql/8.3/main/pg_hba.conf Идем в самый конец файла и ищем строки:
# IPv4 local connections:
host all all 127.0.0.1/32 md5

127.0.0.1/32 это маска разрешенной сети (32 - это
число значащих бит в маске, т.е. в данном случае - все), 
добавляем строку с маской вашей сети, например:
#host all all 192.168.1.0/24 md5

т.е. будут разрешены все соединения с адресов 192.168.1.1 и по 192.168.1.254.
Или, для большей безопасности, добавляете конкретную машину:
#host all all 192.168.1.3/32 md5

Перезапускаем службу:
#sudo /etc/init.d/postgresql-8.3 restart

понедельник, 25 июля 2011 г.

Качаем через консоль rtorrent в Linux

#apt-get install rtorrent
#rtorrent -o port_range=6881-6889,session=/home/nosensus/
Далее кнопка Backspace и с помощью клавиши Tab набрав первые буквы ссылки и когда программа готова к скачиванию, и торрент-файл выбран, нажимается Enter и начинается процесс. Все остальное можно посмотреть в
#man rtorrent

четверг, 21 июля 2011 г.

Установка и настройка Subversion (SVN) на Ubuntu

1. Ставим subversion :
sudo apt-get install libapache2-svn subversion python-subversion libapache2-mod-python
2. Включаем модуль питона : 
sudo a2enmod mod_python

Настройка Subversion
1. Создаем группу для работы с SVN :
sudo groupadd svn
2. Добавляем себя (ваше имя пользователя в Ubuntu) в группу svn :
sudo usermod -a -G svn имя_пользователя
3. Добавляем apache в группу svn :
sudo usermod -a -G svn www-data
4. Создаем папку для будущего репозитория :
sudo mkdir /var/svn
5. Создаем репозиторий :
sudo svnadmin create /var/svn
6. Меняем права к папке для доступа пользователям из группы svn :
sudo chown -R www-data:svn /var/svn
7. Разрешаем на запись группе и владельцу :
sudo chmod -R g+ws /var/svn
8. Создаем пароль для доступа к папке с репозиторием, который впоследствии будет использоваться apache'ем :
sudo htpasswd -c -m /etc/apache2/svn.htpasswd имя_пользователя
9. Теперь создадим правило для Apache для доступа к svn-репозиторию :
Alt+F2 gksu gedit /etc/apache2/conf.d/svn
<Location "/svn">
DAV svn
SVNPath /var/svn
AuthType Basic
AuthName "SVN Repo"
AuthUserFile /etc/apache2/svn.htpasswd
Require valid-user
</Location>

10. SVN установлен! Он доступен по адресу http://localhost/svn

Проверка доступа к Subversion

Первым шагом, необходимо создать типовую структуру проекта в subversion и импортировать её:
$mkdir -p ~/svn-start/branches ~/svn-start/tags/ ~/svn-start/trunk/ 
$svn import -m "init " ~/svn-start/ http://localhost/svn/debian.world.ru/
В конце проверяем, что хранилище доступно на чтение и структура проекта совпадает с той, что импортировалась ранее:
$ svnlook tree /var/svn-repos/debian.world.ru / trunk/ branches/ tags/

среда, 20 июля 2011 г.

Remote access to Postgresql

И так после установки Postgresql возникла надобность локально подрубиться к базе. Гугл спас в очередной раз.
правим конфиг 
#nano /etc/postgresql/8.2/main/pg_hba.conf
либо
#nano /var/lib/pgsql/data/pg_hba.conf
Спускаемся в самый низ конфига и вклинем строчку
host all all 192.168.5.0/24 trust

Далее необходимо разрешить TCP-IP socket
#nano /etc/postgresql/8.2/main/postgresql.conf
либо
#nano /var/lib/pgsql/data/postgresql.conf   
в конфиге находим строчку
listen_addresses='localhost' раскомментим ее и укажем разрешенные айпи адреса через пробел, либо всю подсеть используя символ "*"
  listen_addresses='192.168.5.75 192.168.5.76 192.168.5.77'
либо
  listen_addresses='*' 
ну и волшебный ребут
#/etc/init.d/postgresql restart 
либо
#/etc/init.d/postgresql-8.3 restart 
Original article

Комманды в Debian

В данной статье буду выкладывать команда распространненые в Debian
#dpkg -l | grep имя_пакета        - показывает установленную версию
#ps ax|grep имя_пакета            - проверяет запущен ли апплет
#tail -f /var/log/нужный нам лог - показывает то что происходит в он лаин с логами
#gnome-display-properties         - Управление разрешением экрана 
#dpkg -i путь_к_пакету              - Установка deb пакетов 
#netstat -tlnp                           -Какие процессы слушают порт
#df -h                                      -Показывает объем дисков
#mount -t vfat /dev/sda1 /mnt    -Монтирование флешки
#chmod +x /etc/...                     -Сделать файл исполняемым
#tar -jxf имяпрограммы.bz2 - распаковка архива bz2
#cat /etc/snmp/snmpd.conf |grep -v «#»|uniq - просмотреть содержимое без комментарий
#uname -a - узнать битность и версию установленного Linux

Squid NCSA аутентификация.

И так после установки Sams+Squid возникла проблема с NCSA аутентификацией. Благо, что рядом оказался знающий человек.
Итак после установки заходим в самс панель
http://ip/sams вводим логин и пароль admin/qwerty далее пункт SAMS administration выставляем чуть ниже NSCA авторизацию и включаем логирование в пункте Insert SQUID logs in database
Также в самсе не забываем создать пользователя и свой шаблон дефолтный шаблон нужно  затереть иначе будет криво работать(пункт Users templates ).
Далее открываем консоль и пропишем
#cd /etc/squid
После этого запустим mc
#mc
и отредактируем конфиг сквида.
Добавим в самый вверх конфига следующее

# created by SAMS _sams_ 2011-7-20 11:28:18
redirect_program /usr/bin/samsredir
#       WELCOME TO SQUID 2.7.STABLE3

Далее шагаем ниже по конфигу, находим строчку и меняем то что прописано ниже.
#       Then, set this line to something like
#
        auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/ncsa.sams
#
#       "children" numberofchildren

 Далее раскомментим строки
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off


После этого перезагрузим сквид
#/etc/init.d/squid restart
Должно работать, не забываем прописать в браузере ипе сервера и порт, порт также меняется в конфиге сквида пункт
http_port 3128, я его поменял на порт 192.168.5.75:6669
т.е http_port 192.168.5.75:6669
также можно добавить transparent (прозрачный), но я его не заюзал

p.s. также не забывем после того как проводим какие либо изменения в самсе необходимо внести изменения в сквид. Да и еще сначала создается шаблон, а только потом пользователь.
пункт SQUID и внизу реконфигуринг сквид(это для того чтобы внести изменения)

Установка Posgresql

Устанавливаем
#sudo apt-get install postgresql postgresql-client postgresql-contrib pgadmin3
Теперь нам надо получить доступ к нашему серверу.
#sudo su - postgres
#/usr/bin/psql -d template1
template1=# alter user postgres with password 'postgres';
Первой строчкой мы представляемся системе как пользователь postgres. Это необходимо для того, чтобы попасть в консоль postgre, т.к. по-умолчанию туда пускает только такого пользователя.
Второй строчкой мы входим в эту консоль. И затем уже в ней выполняем команду (alter user postgres with password ‘postgres’;), которая устанавливает пароль ‘postgres’ для пользователя ‘postgres’.
Теперь необходимо сделать так, чтобы нас пускало в postgres по паролю, а не так, как мы ранее сюда вошли. Для надо отредактировать файлик /etc/postgresql/8.3/main/pg_hba.conf
#nano /etc/postgresql/8.3/main/pg_hba.conf 
Там в конце пара изменений:
1. комментим строчку «local all postgres ident sameuser»
2. и строчку «local all all ident sameuser» заменяем на «local all all md5″. Т.е. мы указали сделали так, чтобы авторизация была по паролю (md5).
Получилось что-то типа такого:
# Database administrative login by UNIX sockets
#local   all         postgres                          ident sameuser
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# "local" is for Unix domain socket connections only
#local   all         all                               ident sameuser
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5
Теперь необходимо перезагрузить сервер:
#/etc/init.d/postgresql-8.3 restart
Всё, теперь можно пользоваться.
Для входа в консоль postgresql:
#psql -U postgres

Phppgadmin (веб-морда)

Для postgresql есть аналог phpmyadmin под названием phppgadmin.
Устанавливаем его:
#apt-get install phppgadmin
Доступен он будет по адресу http://localhost/phppgadmin/
Но сразу он вас туда под пользователем ‘postgres’ с паролем ‘postgres’ (что мы настроили ранее) не пустит. Исправим это.
Отредактируем конфиг phppgadmin’а:
#nano /etc/phppgadmin/config.inc.php 
Находим в нём переменную «$conf['extra_login_security']» и устанавливаем её значение в false.
$conf['extra_login_security'] = false;
Теперь должно пустить.
Original article

вторник, 19 июля 2011 г.

Запуск Virtualbox-OSE под Debian Lenny

И так после установки виртуальной машины
#apt-get install virtualbox-ose
Возникла проблема с запуском. Указал исошник, но не запускается выползает ошибка
Please install the virtualbox-ose-modules package for your kernel and execute 'modprobe vboxdrv' as root.
Долго не думаю спросил у гугла. 
Выполнил всего две операции
1.Дал право доступа  (vboxdrv) в папке /dev/
#chmod 777 -R /dev/vboxdrv/ (давать такие права не рекомендуется в целях безопасности).
2. Зашел в синаптик, если он не установлен ставим
#apt-get install synaptic
Запускаем и в поиске пропишем virtualbox и ставим следующие пакеты
virtualbox-ose-guest-modules
virtualbox-ose-guest-utils

Конечно точно не могу сказать, что повлияло на то, что завелось все. Но факт остается фактом.

Установка Nagios и Cacti

И так обратился к хабре. Я ее не изменил по той причине, что в первый заход я ее редактировал, но после глюка на сервере не стал редактировать повторно, а тупо копи паст
Развертывание «системы мониторинга» посредством nagios и cacti.
Далее ставим nagios. Ставить будем «кошерным» способом, посредством apt. Это избавит нас от проблемы зависимостей, многочасового лазания в дебрях конфигурационных файлов и сократит время разворачивания системы.
И так, набираем магическую команду
debian:~# apt-get install nagios3
и, вуаля у нас уже установлен нагиос в минимальной конфигурации. Что же произошло? Менеджер пакетов просмотрел зависимости для пакета nagios3. Кроме базового пакета были установлены плагины к нагиосу, апач и много-много нужных библиотек.
Так же были созданы минимальные конфиги для нагиоса и апача. В теории все должно «работать из коробки», но как обычно приходиться пользоваться напильником.

Как мы можем увидеть, в конфиге /etc/nagios3/nagios.conf указано, что для доступа к nagios используется обыкновенная http авторизация, но к сожалению файла авторизации нет.
Дабы исправить сей скорбный факт создадим его командой
debian:~# htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin

Прошу обратить внимание, что пользователь должен быть именно nagiosadmin, а не Вася, Люся или Петручио.
Это связано, с тем что по умолчанию в nagios.cfg пользователь c доступом ко всем функциям — nagiosadmin.

Включаем обработку внешних команд, вещь нужная, например для «Re-schedule the next check of this host».
debian:~# mcedit /etc/nagios3/nagios.cfg

check_external_commands=1

Изменяем пермишенсы и владельцев
chown -R nagios.www-data /var/lib/nagios3
chmod -R 770 /var/lib/nagios3/spool
chmod 644 /etc/nagios3/resource.cfg


Установка nagios3 завершена. Мы можем зайти в интерфейс nagios3 набрав в Вашем любимом браузере
http ://youre_server_ip/nagios3
Теперь с чистой совестью приступим к его конфигурации. Либо совершить акт настройки нагиоса посредством веб интерфейса. Например, применив NagiosQL.
Дабы соблюсти «кошерность» установки NagiosQL, добавим репозиторий с присобранным NagiosQL в список репозиториев.
Список репозиториев находиться в /etc/apt/sources.list:

deb http:// debian.swobspace.net lenny main
deb-src http:// debian.swobspace.net lenny main

Дальше, что бы из репозитория debian.swobspace.net получить только NagiosQL создадим файл /etc/apt/preferences
debian:~# touch /etc/apt/preferences

и в нем укажем, наши предпочтения по установке пакетов

Package: *
Pin: origin debian.swobspace.net
Pin-Priority: 200

Package: nagiosql
Pin: origin debian.swobspace.net
Pin-Priority: 600


Получаем и импортируем ключи для репозитория debian.swobspace.net
debian:~# wget http:// www.swobspace.net/wob@swobspace.net.pub.asc -O- | apt-key add -

Обновляем список пакетов
debian:~# apt-get update

Устанавливаем NagiosQL
debian:~# apt-get install nagiosql

Настройка
1.Активируем установщик NagiosQL
debian:~# touch /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER

2. Заходим http ://youre_server_ip/nagiosql и в интуитивно понятном веб интерфейсе выполняем установку, именно здесь и потребуется тот клочок пергамента на котором мы неясными каракулями записали root пароль от mysql.

3. После удачной установки деактивируем установщик NagiosQL
debian:~# rm -f /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER
для надежности можно удалить всю папку с установщиком
debian:~# rm -rf /usr/share/nagiosql/htdocs/install

4. Добавляем в /etc/nagios3/nagios.cfg строку.
cfg_dir=/etc/nagiosql/domains/localhost

5. Создаем папку /etc/nagios/import и копируем в нее все конфиги из /etc/nagios3/conf.d и /etc/nagios-plugins/. И импортируем их в NagiosQL.
Импорт данных осуществляется в меню Tools => Data import

6. Выкидываем в мусорку листок с записанным root паролем для mysql

Дальше с NagiosQL придется разбираться самим, google translate Вам в помощь.

Установка cacti собственно как и nagios весьма незатейлива

debian:~# apt-get install cacti

Перед вам опять предстанет довольно большой список зависимостей, не раздумывая набирайте Yes. В процессе установки Нам снова потребуется несчастный листик с паролем от mysql, зря мы наверное его выкинули в мусорку.

Осталось настроить cacti, здесь все просто, как и с NagiosQL. Интуитивно понятный интерфейс.
http ://youre_server_ip/cacti
Стандартный логин и пароль для доступа к cacti: admin/admin.

Теперь, предположим у нас есть есть сервер, с которого мы будем снимать данные и по ним рисовать графики.
Снимать данные мы будем посредством snmpd
Устанавливаем snmpd на сервере, с которого будем снимать данные(опять же, я подразумеваю, что на сервере стоит debian lenny).
shaper:~# apt-get install snmpd

в конфиге /etc/default/snmpd изменяем ип адрес на котором будет принимать запросы демон snmpd

shaper:~# mcedit /etc/default/snmpd

вместо
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
изменяем
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid you_server2_ip'

Добавляем строку в файл /etc/snmp/snmpd.conf

rocommunity my_snmp_community youre_server_ip

rocommunity — разрешается доступ только для чтения
my_snmp_community — снмп комунити для доступа к данным
youre_server_ip — ип с которого разрешен доступ к демону

Перезагружаем снмп
shaper:~# /etc/init.d/snmpd restart

Дальнейшие операции проделываем в интерфейсе Cacti
Console => Management => Devices => Add (Правый верхний угол)
Descpription — описание машины
Hostname — IP
Host Template — udc/net SNMPD Host
SNMP Version — Version 2
SNMP Community — снмп коммунити указанное на сервере
Нажимаем Create
Если после этого видим
Ping Results
Host is alive
Нажимаем Create Graphs for this Host
Проставляем «чекбоксы» на тех графиках, которые вы хотите отрисовывать и жмем Create (для гигабитных интерфейсов необходимо выбрать в селекторе Select a graph type — In/Out Bits (64-bit Counters))

Если и опять все прошло успешно, мы можем добавить «наш сервер» на дерево графиков
Console => Management => Graph Trees =>Default Tree => Add (Правый верхний угол)

Tree Item Type — выбираем Host
Host — наш сервер

Жмем Create.
И через 5-10 минут наслаждаемся графиками.

Звук в Debian lenny

И так после установки дебиана 5, возникла проблема с воспроизведением звука, долго колесил по просторам гугла пока не решил проблему. Описывать долго вступление не буду...лень... И так начнем!
открываем консоль от рута и для начала установим нашу звучку
#alsaconf
жмем "ок" ну и то, что он попросит при установке.
Далее
#alsamixer
Смотрим, что там по каналам. Если внизу уровня громкости канала стоят ММ значит он отключен. Для включения нажмите m.У включенного канала внизу 00.
Теперь проверим есть ли звук вводим
#aplay /usr/share/evolution/2.22/sounds/default_alarm.wav
и должен проскочить звук и выйти это.
Playing WAVE '/usr/share/evolution/2.22/sounds/default_alarm.wav' :
Unsigned 8 bit, Rate 8000 Hz, Mono
Далее главная загвоздка была в том, что по умолчанию проигрыватель totem в Debian, а он зараза такая не проигрывает мп3. Поэтому ставим синаптик.
#apt-get install synaptic
после чего запустим его system-administration-synaptic package manager
и в поске вводим totem и установим все пакеты которые там есть отмечая их галочкой.
А так откройте через другой проигрыватель и будет вам счастье.
P.S. Также увеличить громкость можно открыв 
#alsamixer
ну и поднимите все регуляторы на максимум при помощи стрелок на клавиатуре.

четверг, 14 июля 2011 г.

установка пакета iRedMail

Установка iRedMail.

В качестве почтового сервера я выбрал iRedMail. Это сборка Postfix+LDAP(MySQL)+SpamAssassin+ClamAV+AmaViS+Dovecot+RoundCube (SquirrelMail) и т.д. В данной статье мы будем рассматривать настройку этого замечательного сервера на базе OpenLDAP.


Внимание! Не забудьте сменить example.com на имя вашего домена.


Немного поправим наше имя хоста:

vi /etc/hosts

127.0.0.1 mail.example.com localhost localhost.localdomain


vi /etc/hostname

mail.example.com

Сохраняем изменения командой:

/etc/init.d/hostname.sh start

Проверим FQDN имя хоста:

hostname –f

Вся установка проводится под пользователем root!


Скачиваем в директорию /tmp данный файл:


cd /tmp && wget iredmail.googlecode.com/files/iRedMail-0.6.0.tar.bz2


Установим архиватор:

apt-get install bzip2

Нужно распаковать данный архив:

tar -xvjf iRedMail-0.6.0.tar.bz2

Переходим в директорию /tmp/iRedMail-0.6.0/pkgs/ и запускаем установочный скрипт:

bash get_all.sh

Пойдет загрузка необходимых пакетов.

Для работы dovecot нужно поставить Candidate версию пакета. C другой работать не будет!
apt-cache policy dovecot-common dovecot-pop3d dovecot-imapd | grep 'Candidate'
Команда отдаст пустой результат.

Переходим в директорию установочного скрипта:

cd /tmp/iRedMail-0.6.0/

Запускаем установочный скрипт:

bash iRedMail.sh
Появится окно инсталлятора:
image

Выбираем путь, где будет храниться вся наша почта:

image

Выбираем бэкэнд для нашего сервера. Поддерживаются MySQL и OpenLDAP. Мы выберем OpenLDAP:

image

LDAP суффикс для нашего сервера добавляется так: dc=example,dc=com

image

Введем пароль для администратора LDAP сервера. Учетная запись администратора по умолчанию находиться в /etc/ldap/slapd.conf. Обычно это: cn=Manager,dc=example,dc=com

image

Вводим имя нашего домена:

image

Вводим пароль администратора(postmaster):

image

Первый пользователь который будет создан, это пользователь: www@example.com. Нам требуется придумать для него пароль:

image

Включаем проверку SPF и функцию проверки DKIM:

image

Ставим доп. компоненты:

image

Сделаем алиас для юзера root:

image

Конфигурация завершена.

Появляется сообщение:
Configuration completed.

*************************************************************************
**************************** WARNNING ***********************************
*************************************************************************
* *
* Please do remember to *REMOVE* configuration file after installation *
* completed successfully. *
* *
* * /root/iRedMail-x.y.z/config
* *
*************************************************************************
<<>> Continue? [Y|n] # <- Type 'Y' or 'y' here, and press 'Enter' to continue


Жмем Y и дожидаемся окончания установки.
Создание пользователя проходит на странице: https://example.com/postfixadmin
Входим в postfixadmin пользователем postmaster@example.com и в меню выбираем “Создать ящик”
image

Пользователь создан!

Также PostfixAdmin позволяет:
1. Добавить нового администратора.
2. Добавить домен.
3. Создать почтовый ящик.
4. Создать алиас.
5. Изменить пароль администратора.
6. Просматривать журнал действий для домена.
7. Устанавливать и управлять квотами пользователей.

Список доступа к компонентам:
image

Сервер установлен и настроен!
 
UPD: Для корректной работы почтового сервера обязательно нужна MX запись на DNS сервере, к которому привязан ваш домен

Серверная почта на основе Postfix, Dovecot и MySQL для Debian

Postfix — очень мощный почтовый сервер, основанный на идеологии Open Source, его часто называют Postfix MTA — Postfix Mail Transfer Agent. В этом руководстве, собранном из разных истоников и дополненных личными переживаниями, я расскажу как установить Postfix в связке с Dovecot (IMAP/POP3) и MySQL на сервер Apache под управлением OC Debian. Руководство было опробовано на Debian 5 Lenny и Debian 6 Squeeze.
Текст статьи достаточно объёмный, но выполнив все шаги, мы получим в своё распоряжение надёжный почтовый сервер с возможностью добавления почтовых доменов и ящиков прямо через интерфейс MySQL, а это многого стоит.

Базовая настройка системы

Предполагается, что в файле /etc/hosts уже есть запись для нашего сервера, в этом примере и ниже по тексту будет использована следующая запись:
127.0.0.1 localhost.localdomain localhost
12.34.56.78 mysrv.example.com mysrv
В файле /etc/hostname должно содержаться сокращённое название сервера, в днном случае mysrv:
echo "mysrv" > /etc/hostname
hostname -F /etc/hostname
Перед установкой пакетов следует обновить сведения и систему:
aptitude update && aptitude safe-upgrade

Установка нужных пакетов

Выполним следующую команду для установки Postfix, Dovecot, OpenSSL и MySQL:
aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server dovecot-common dovecot-imapd dovecot-pop3d postfix-tls libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl telnet
В процессе установки появится несколько диалогов первоначальной настройки пакетов, вот основные шаги:
  • Во время установки сервера MySQL, если он не был установлен ранее, потребуется ввести пароль для пользователя root. Пароль следует выбрать надёжный;
  • Тип используемого Postfix сервера, — в одноимённом диалоге, — «Internet Site»;
  • В диалоге настройки Postfix следует определиться с почтовым именем. Имеется ввиду полное доменное имя сервера, в нашем примере это mysrv.example.com, его ещё называют FQDN (Fully Qualified Domain Name).
Так же нам понадобится отличный инструмент mailx, с его помощью мы будем отсылать тестовые письма непосредственно из консоли:
aptitude install mailx
или, если недоступен первый вариант прораммы:
aptitude install bsd-mailx
Итак мы установили все необходимые пакеты и готовы перейти к детальной настройке конфигурации.

Настройка MySQL базы данных доменных имён и пользователей

Для начала подключимся к MySQL серверу прямо из командной строки, нужно будет ввести пароль пользователя root, указанный при установке:
mysql -u root -p
После этого должно появиться приглашение к вводу команд MySQL, вроде этого:
mysql>
Создадим базу данных для Postfix и выберем её для дальнейшего использования:
CREATE DATABASE mail;
USE mail;
Подобные команда может быть выполнена и через интерфейс phpMyAdmin, но это менее безопасно во всех случаях.
Создадим пользователя с говорящим именем «mail_admin», он у нас будет главный по почте, поэтому наделим его всему привилегиями на всех локальных доменах. ВАЖНО! Сейчас и ниже «mail_admin_password» следует заменить на пароль для этого пользователя, в первой строке он задаётся впервые:
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 'mail_admin_password';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY 'mail_admin_password';
FLUSH PRIVILEGES;
Далее создаём таблицу в которой будут храниться все активные почтовые домены, доменов может быть сколько угодно и это радует:
CREATE TABLE domains ( domain varchar(50) NOT NULL, PRIMARY KEY (domain) );
Создадим таблицу пересылки почты с ящика на ящик:
CREATE TABLE forwardings ( source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) );
Создадим таблицу для хранения почтовых аккаунтов:
CREATE TABLE users ( email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) );
И наконец создадим таблицу транспортировки:
CREATE TABLE transport ( domain varchar(128) NOT NULL default '', transport varchar(128) NOT NULL default '', UNIQUE KEY domain (domain) );
Работа с MySQL на данном этапе завершена, выходим обратно в консоль:
quit
Проверим, что MySQL связана с localhost (127.0.0.1). Для этого откроем файл /etc/mysql/my.cnf и найдём следующую строку:
bind-address = 127.0.0.1
Если MySQL на сервере уже настроен на другой IP адрес, следует это учесть в поледующих шагах настройки Postfix. Не рекомендуется запускать MySQL сервер на публичном IP адресе — это небезопасно.
Чтобы внесённые нами изменения корректно вступили в силу — перезапустим MySQL сервер:
/etc/init.d/mysql restart
На следующем этапе мы настроим Postfix на работу с MySQL.

Настройка Postfix на работу с MySQL

Для каждой таблицы в MySQL нам следует создать файл соответствия для Postfix.
Создадим файл для работы с почтовыми доменами Postfix:
touch /etc/postfix/mysql-virtual_domains.cf
В созданный файл /etc/postfix/mysql-virtual_domains.cf нужно добавить следующие строки, замените пароль «mail_admin_password» на пароль пользователя «mail_admin»:
user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT domain AS virtual FROM domains WHERE domain = '%s'
hosts = 127.0.0.1
Создадим похожий файл для настройки пересылки почты с ящика на ящик:
touch /etc/postfix/mysql-virtual_forwardings.cf
В созданный файл /etc/postfix/mysql-virtual_forwardings.cf нужно добавить следующие строки, замените пароль «mail_admin_password» на пароль пользователя «mail_admin»:
user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT destination FROM forwardings WHERE source = '%s'
hosts = 127.0.0.1
Далее создадим файл для работы с почтовыми аккаунтами:
touch /etc/postfix/mysql-virtual_mailboxes.cf
В созданный файл /etc/postfix/mysql-virtual_mailboxes.cf нужно добавить следующие строки, замените пароль «mail_admin_password» на пароль пользователя «mail_admin»:
user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT CONCAT( SUBSTRING_INDEX(email, '@', -1), '/' , SUBSTRING_INDEX(email, '@', 1), '/' ) FROM users WHERE email = '%s'
hosts = 127.0.0.1
И наконец создаём вспомогательный файл для виртуального отображения почты:
touch /etc/postfix/mysql-virtual_email2email.cf
В созданный файл /etc/postfix/mysql-virtual_email2email.cf нужно добавить следующие строки, замените пароль «mail_admin_password» на пароль пользователя «mail_admin»:
user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT email FROM users WHERE email = '%s'
hosts = 127.0.0.1
Установим нужные права и владельца на только что созданные файлы:
chmod o= /etc/postfix/mysql-virtual_*.cf
chgrp postfix /etc/postfix/mysql-virtual_*.cf
Добавим почтовую группу и пользователя для передачи почты. Все сообщения виртуальных почтовых ящиков будут храниться в папке /home/vmail на сервере:
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m
На редактирование файл /etc/postfix/main.cf и убедимся в наличии следующих строк, адрес сервера следует заменить на выбранный ранее:
myhostname = mysrv.example.com
mydestination = mysrv.example.com, localhost, localhost.localdomain
mynetworks = 127.0.0.0/8
message_size_limit = 30720000
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
На этом мы закончим конфигурировать Postfix и перейдём к настройке SSL и генерации сертификата.

Создание SSL сертификата для Postfix

Нам нужно сгенерировать SSL сертификат для Postfix, чтобы работать с почтой по защищённому соединению. Это гораздо безопаснее нежели обычный доступ по незащищённому каналу. Перейдём в директорию Postfix и создадим там сертификат с приватным ключом:
cd /etc/postfix
openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509
Сертификат создаётся на год, о чём говорит цифра 365.
На экран будет выведен диалог ввода информации о ключе:
Country Name (2 letter code) [US]: RU
State or Province Name (full name) [Some-State]: Central District
Locality Name (eg, city) []: Moscow
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany, LLC
Organizational Unit Name (eg, section) []: Email Services
Common Name (eg, YOUR name) []: mysrv.example.com
Email Address []: admin@example.com
Установим права на файл ключа таким образом, чтобы любой доступ был только у владельца, иными словами — отменим права у остальных:
chmod o= /etc/postfix/smtpd.key
На этом создание SSL сертификата завершено, перейдём к настройке saslauthd для доступа к MySQL.

Настройка saslauthd для доступа к MySQL

Saslauthd — это демон аутентификации, который работает посредствам SASL. Нам он нужен, чтобы связать Postfix с MySQL и позволять им совместно работать.
Для начала создадим директорию для saslauthd:
mkdir -p /var/spool/postfix/var/run/saslauthd
Сохраним начальную версию файла:
cp -a /etc/default/saslauthd /etc/default/saslauthd.bak
Откроем на редактирование файл /etc/default/saslauthd и установим в нём следующие значения:
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
После этого нам нужно создать файл /etc/pam.d/smtp:
touch /etc/pam.d/smtp
И внести в него следующие строки. Укажите нужный пароль для пользователя «mail_admin», заменив «mail_admin_password» на верное значение:
auth required pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
Создадим файл /etc/postfix/sasl/smtpd.conf:
touch /etc/postfix/sasl/smtpd.conf
И внесём в него следующие строки, так же заменив пароль на верный:
pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail_admin
sql_passwd: mail_admin_password
sql_database: mail
sql_select: SELECT password FROM users WHERE email = '%u'
Установим права на вновь созданные файлы:
chmod o= /etc/pam.d/smtp
chmod o= /etc/postfix/sasl/smtpd.conf
Теперь добавим пользователя postfix в группу sasl и перезапустим сервисы:
adduser postfix sasl
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
На этом конфигурирование saslauthd завершено. Далее мы настроим Dovecot на использование базы данных MySQL для IMAP/POP3 идентификации.

Настройка Dovecot

Dovecot — это IMAP и POP3 сервер, который позволит нам забирать почту программами сборщиками. Это гибкий и безопасный инструмент в системе Linux.
Нам нужно открыть на редактирование файл /etc/postfix/master.cf и добавить в конце следующие ниже строки:
dovecot unix - n n - - pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
Сохраним для потомков изначальный конфигурационный файл Dovecot:
cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak
После чего откроем файл /etc/dovecot/dovecot.conf на редактирование и заменим всё его содержимое указанным ниже кодом. Ящик «postmaster@example.com» следует заменить на желаемый:
protocols = imap imaps pop3 pop3s
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir

ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem

namespace private {
  separator = .
  prefix = INBOX.
  inbox = yes
}

protocol lda {
  log_path = /home/vmail/dovecot-deliver.log
  auth_socket_path = /var/run/dovecot/auth-master
  postmaster_address = postmaster@example.com
  mail_plugins = cmusieve
  global_script_path = /home/vmail/globalsieverc
}

protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
}

auth default {
  user = root

  passdb sql {
    args = /etc/dovecot/dovecot-sql.conf
  }

  userdb static {
    args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
  }

  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = vmail
    }

    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}
MySQL будет сохранять в себе пароли доступа, поэтому мы сохраним копию первоначального /etc/dovecot/dovecot-sql.conf, а потом произведём настройку:
cp -a /etc/dovecot/dovecot-sql.conf /etc/dovecot/dovecot-sql.conf.bak
Содержимое исходного файла /etc/dovecot/dovecot-sql.conf полностью заменим на нижеуказанное, не забудем поменять пароль «mail_admin_password» на актуальный:
driver = mysql
connect = host=127.0.0.1 dbname=mail user=mail_admin password=mail_admin_password
default_pass_scheme = CRYPT
password_query = SELECT email AS user, password FROM users WHERE email = '%u';
На этом настройка Dovecot завершена, следует перезагрузить его:
/etc/init.d/dovecot restart
Проверим файл /var/log/mail.log на отсутсвие ошибок:
tail -50 /var/log/mail.log
И найдём примерно следующие строки:
Feb 13 14:00:17 somevar dovecot: Dovecot v1.0.15 starting up
Jan 21 20:00:18 somevar dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mail)
Перед началом тестирования следует установить права и владельца на файл конфигурации Dovecot /etc/dovecot/dovecot.conf:
chgrp vmail /etc/dovecot/dovecot.conf
chmod g+r /etc/dovecot/dovecot.conf
Проверим корректность работы POP3 сервера, для этого мы подключимся к POP3 серверу через терминал:
telnet localhost pop3
После ввода команды в консоли должно отобразиться примерно следующие:
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Dovecot ready
Выйдем из режима терминала, пока он нам больше не нужен:
quit
С Dovecot разобрались, теперь перейдём к настройке алиасов.

Настройка почтовых алиасов

Откроем на редактирование файл /etc/aliases и убедимся в корректности значений для директив «postmaster» и «root», адрес почты для root следует изменить на желаемый:
postmaster: root
root: postmaster@example.com
Активируем новые алиасы и перезагрузим Postfix:
newaliases
/etc/init.d/postfix restart
На этом настройка алиасов завершена, перейдём к тестированию Postfix.

Тестирование Postfix

Для проверки корректности функционирования SMTP-AUTH и TLS, в консоли введём следующую команду:
telnet localhost 25
После успешного соединения, в терминале должно появиться что-то вроде этого:
220 mysrv.example.com ESMTP Postfix (Debian/GNU)
Далее вводим команду в терминал:
ehlo localhost
После ввода команды, в терминале должно отобразиться нечто вроде этого:
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mysrv.example.com ESMTP Postfix (Debian/GNU)
ehlo localhost
250-mysrv.example.com
250-PIPELINING
250-SIZE 30720000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Для нас важно наличие строки «250-STARTTLS». Вводим в терминал команду «quit» и перейдём к наполнению базы данных MySQL почтовыми доменами и пльзователями.

Настройка почтовых доменов и аккаунтов

На этом этапе нужно иметь настроенные записи DNS для почтовых доменов. Для этого следует создать необходимую запись MX, если её ещё нет, в списках DNS, которая будет указывать на полный домен.
Подключимся к MySQL из консоли, добавить аккаунт в MySQL можно любым другим способом, в том числе и из PHP или Python скрипта, но сейчас мы остановимся на консоли:
mysql -u root -p
Добавим в список доменов наш основной домен и создадим первый почтовый аккаунт, «example.com», «info@example.com» и «password» следует заменить корректными значениями:
USE mail;
INSERT INTO domains (domain) VALUES ('example.com');
INSERT INTO users (email, password) VALUES ('info@example.com', ENCRYPT('password'));
quit
Обратите внимание на команду шифрования пароля, добавлять или менять пароль нужно именно так.
Теперь попробуем отправить почту вновь созданному аккаунту. Это необходимо для создания структуры директорий на диске, которые появяться после получения первого письма. Для отправки почты непосредственно из консоли мы будем использовать mailx или bsd-mailx, в зависимости от того, что установилось выше:
mailx info@example.com
После ввода команды будет предложено ввести тему сообщения. Вводим, нажимаем Enter, после чего нажимаем Ctrl + D. Поле «CC» можно оставить пустым.
Так как почтовых доменов может быть несколько, следует указывать полный почтовый адрес «info@example.com» для сборщика почты, иначе по имени пользователя «info» нельзя будет определить, к какому домену он принадлежит и почта не будет отправлена или получена.
На этом перейдём к следующему шагу — проверке лог файлов.

Проверка логов

После отправки тестового сообщения нам следует проверить логи на остутствие ошибок. Проверим содержимое файла /var/log/mail.log в последних 50 строках:
tail -50 /var/log/mail.log
Мы должны увидеть нечто подобное:
Feb 13 15:07:49 somevar postfix/cleanup[5877]: E1D145803: message-id=<2011022113150749.E1D148908@mysrv.example.com>
Feb 13 15:07:49 somevar postfix/qmgr[5867]: E1D145803: from=, size=377, nrcpt=1 (queue active)
Feb 13 15:07:49 somevar postfix/pipe[5883]: E1D145803: to=, relay=dovecot, delay=0.05, delays=0.04/0.01/0/0.01, dsn=2.0.0, status=sent (delivered via dovecot service)
Feb 13 15:07:49 somevar postfix/qmgr[5867]: E1D145803: removed
Далее мы проверим лог доставки Dovecot, котрый находится в файле /home/vmail/dovecot-deliver.log и должны увидеть нечто похожее на:
deliver(info@example.com): 2011-02-13 17:05:19 Info: msgid=<20110213170519.E1D145803@mysrv.example.com>: saved mail to INBOX
Если в логе есть ошибки в работе сервиса cmusieve, не обращайте на них внимания, в конце статьи я расскажу как от них избавиться.
Теперь можно проверить структуру почтового хранилища и директорий на диске.

Проверка структуры директорий на диске

Перейдём в директорию /home/vmail/example.com/sales/Maildir, где «example.com» адрес нашего почтового домена:
cd /home/vmail/example.com/sales/Maildir
Выполним команду поиска:
find
Внутри директории должно содержаться примерно следующее:
./dovecot-uidlist
./cur
./new
./new/1285673545.P4152W0M168494.somevar
./dovecot.index
./dovecot.index.log
./tmp
Просмотреть почту можно прямо из консоли при помощи утилиты mutt:
cd /home/vmail/example.com/sales/Maildir
mutt -f .
Если она не установлена, выполним:
aptitude install mutt

Настройка почтовых программ

Пользователь может забрать почту любой доступной почтовой программой. В качестве IMAP/POP3 и SMTP сервера следует указать домен, записанный в MX записи интерфейса DNS, например «mail.example.com». Логин — это почтовый адрес пользователя, как уже говорилось это необходимо при мультидоменной конфигурации, которую мы и реализовали. Шифрование входящей почты — SSL, исходящей — TLS.
Чтобы забирать почту пользователя root, в нашем примере его почтовый ящик «root@mysrv.example.com», следует настроить переадресацию в таблице forwardings:
mysql -u root -p

USE mail;
INSERT INTO forwardings (source, destination) VALUES ('root@mysrv.example.com', 'postmaster@example.com');
quit
После этого вся системная почта — уведомления CRON, сообщение от вспомогательных программ и сервисов — будет пренаправлена на новый адрес, с которого мы можем её забрать.

Возможные проблемы

Единственная проблема, замеченная в логах, это несоответствие пакета cmusieve в Debian 6 Squeeze. В файле /home/vmail/ наблюдалось примерно следующее:
2011-02-13 20:23:31 deliver(info@example.com): Fatal: Plugin cmusieve not found from directory /usr/lib/dovecot/modules/lda
Дабы исправить положение установим нужный пакет, который теперь называется sieve, в этом собственно и проблема:
aptitude install libsieve2-1
Потом, нужно открыть файл /etc/dovecot/dovecot.conf на редактирование и заменить строку:
mail_plugins = cmusieve
На нижеуказанную:
mail_plugins = sieve
Перезагружаем Dovecot:
/etc/init.d/dovecot restart
После этих несложных действий логи стали чисты.

Список базовых почтовых портов

  • POP3 — port 110
  • IMAP — port 143
  • SMTP — port 25
  • HTTP — port 80
  • Secure SMTP (SSMTP) — port 465
  • Secure IMAP (IMAP4-SSL) — port 585
  • IMAP4 over SSL (IMAPS) — port 993
  • Secure POP3 (SSL-POP) — port 995
Оригинал статьи я не стал ничего переделывать потому, что статья и так уникальна!

среда, 13 июля 2011 г.

10 полезных возможностей Nmap

Не стал ее переделывать. Взял скопипастил у автора.
Спасибо за статью очень понравилась 
Nmap (Network Mapper) - свободная утилита с открытым исходным кодом, предназначенная для сканирования сетей и аудита сетевой безопасности. Nmap использует множество различных методов сканирования (UDP, TCP, TCP SYN, FTP, ICMP и т.д.), а также поддерживает большой набор дополнительных возможностей.
Ниже описаны некоторые полезные возможности этой замечательной утилиты.
Для выполнения большинства операций nmap требуются полномочия пользователя root. При запуске nmap от имени обычного пользователя значительная часть функ­ций будет не доступна.

1. Получение информации об удаленном хосте и определение операционной системы

Nmap используются в следующем виде:
$ sudo nmap -sS -P0 -sV -O <target>
где:
  • < target > - IP, хост или подсеть
  • -sS - TCP SYN сканирование (полуоткрытое)
  • -P0 - отключение ICMP сканирования.
  • -sV - определение закрытых и фильтруемых портов
  • -O - определение версии операционной системы
Еще опции:
  • -A - включает определение "отпечатка" и версии операционной системы
  • -v|-vv - уровень вывода диагностических сообщений
Используя алтернативные опции, команда выглядит следующим образом:
$ sudo nmap -sS -P0 -A -v < target >

2. Определение списка серверов с открытым портом

Nmap используются в следующем виде:
$ sudo nmap -sT -p 22 -oG - 192.168.1.* | grep open
Номер порта указывается после опции "-p". В данном примере, выполняется поиск машин, для которых возможен вход по ssh (если, конечно, не изменен порт по умолчанию для ssh).

3. Поиск актиных IP адресов в сети

Nmap используются в следующем виде:
$ sudo nmap -sP 192.168.0.*
Чтобы опросить конкретную подсеть, можно использовать следующие параметры:
$ sudo nmap -sP 192.168.0.0/24

4. Опросить (пропинговать) диапазон адресов

Nmap используются в следующем виде:
$ sudo nmap -sP 192.168.1.100-254
Nmap понимает много натаций IP адресов.

5. Поиск неиспользуемых IP адресов в подсети

Nmap используются в следующем виде:
$ sudo nmap -T4 -sP 192.168.2.0/24 && egrep “00:00:00:00:00:00″ /proc/net/arp

6. Поиск вируса Conficker в подсети

Nmap используются в следующем виде:
$ sudo nmap -PN -T4 -p139,445 -n -v \
    -script=smb-check-vulns \
    -script-args \
    safe=1 192.168.0.1-254
Чтобы скорректировать список IP адресов, заменить "192.168.0.1-256" на свой вариант.

7. Поиск в сети мошеннических точек доступа (AP)

Nmap используются в следующем виде:
$ sudo nmap -A -p1-85,113,443,8080-8100 \
       -T4 -min-hostgroup 50 \
       -max-rtt-timeout 2000 \
       -initial-rtt-timeout 300 \
       -max-retries 3 \
       -host-timeout 20m \
       -max-scan-delay 1000 \
       -oA wapscan 10.0.0.0/8

8. Декорирорование истинного IP адреса при сканировании сети

Nmap используются в следующем виде:
$ sudo nmap -sS 192.168.0.10 -D 192.168.0.2
В данном примере выполняется поиск открытых портов на машине 192.168.0.10, в качестве адреса, откуда ведется сканирование указывается адрес 192.168.0.2. Таким образом, в логах машины 192.168.0.10 будет отображен не истинный IP адрес, с которой ведется сканирование, а указанный - 192.168.0.2.

9. Список обратных DNS записей для подсети

Nmap используются в следующем виде:
$ sudo nmap -R -sL 209.85.229.99/27 | \
    awk '{if($3=="not")print"(" $2 ") no PTR";else print $3 " is "$2}' | \
    grep ‘(‘
В этом примере, nmap выполняет поиск обратных DNS записей для подсети. Результатом поиска будет список IP адресов с соответствующими PTR записями для подсети. Чтобы выполнить запрос через конкретный DNS сервер, необходимо добавить "-dns-servers x.x.x.x" после опции "-sL".

10. Подсчет Linux/Windows машин в сети

Nmap используются в следующем виде:
$ sudo nmap -F -O 192.168.0.1-255 | \
    grep "Running: " > /tmp/os; \
    echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; \
    echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) devices"