2009-07-10

Cacti + cisco

Итак, сменили провайдера... Старый провайдер предоставлял нам статистику по каналу в mrtg, а вот новый нифига не предоставляет... А надо. Статистику нужно снимать с cisco, скорее всего по snmp протоколу. Чем снимать 2 варианта - mrtg и cacti.
Напоминаю, что используется SUSE linux (openSUSE, SLES).

Для начала проставляем все пакеты, необходимые для работы cacti. В доке это написано.
Запускаем apache2 и mysql.
Затем:

root# mysql
mysql> create database cacti;
mysql> \q
root# mysql cacti < /usr/share/cacti/cacti.sql
root# mysql cacti
mysql> show tables;
+---------------------------+
| Tables_in_cacti |
+---------------------------+
| cdef |
| cdef_items |
| colors |
| data_input |
| data_input_data |
| data_input_fields |
| data_local |
| data_template |
| data_template_data |
| data_template_data_rra |
| data_template_rrd |
| graph_local |
| graph_template_input |
| graph_template_input_defs |
| graph_templates |
| graph_templates_gprint |
| graph_templates_graph |
| graph_templates_item |
| graph_tree |
| graph_tree_items |
| host |
| host_graph |
| host_snmp_cache |
| host_snmp_query |
| host_template |
| host_template_graph |
| host_template_snmp_query |
| poller |
| poller_command |
| poller_item |
| poller_output |
| poller_reindex |
| poller_time |
| rra |
| rra_cf |
| settings |
| settings_graphs |
| settings_tree |
| snmp_query |
| snmp_query_graph |
| snmp_query_graph_rrd |
| snmp_query_graph_rrd_sv |
| snmp_query_graph_sv |
| user_auth |
| user_auth_perms |
| user_auth_realm |
| user_log |
| version |
+---------------------------+
48 rows in set (0.00 sec)

mysql>\q
root# useradd -c "User for CACTI" -d /home/cacti -p cactus -s /bin/kaznasho cacti
root# mysql cacti
mysql> grant all on cacti.* to cacti@localhost identified by 'cactus';
mysql> flush privileges;
mysql> \q

Теперь настраиваем cacti.

Редактируем /usr/share/cacti/include/config.php. Вот что получаем:

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cactus";
$database_port = "3306";
?>


Подключаемся http://127.0.0.1/cacti и нас автоматом перебрасывает на http://127.0.0.1/cacti/install/. Нажимаем next. На следующем окошке выбираем тип инсталляции "New install". В следующем окне у меня везде стояло found кроме /var/log/cacti/cacti.log. Создаем его(touch /var/log/cacti/cacti.log) и обновляем окошко. Теперь у нас везде все зеленое. Нажимаем Finish. На следующем окошке вводим логин admin и парол admin. Сразу попросят поменять. Меняем. Задание в cron было автоматически добавлено непонятнокем, но приятно, что руками делать не надо...

Потом настраиваем как написано в статье http://system-administrators.info/?p=2619


Читать далее

2009-07-02

Roundcube. WEB морда для почты

Наверное все конторы к этому приходят рано или поздно.
Некоторым работникам нужно получать доступ к корпоративной почте из любой точки земного шара. Для этого нужно что??? Правильно, вебовская морда для почты, выставленная наружу. Вот этим и займемся.

Вариантов я нашел несколько:

RoundCube
SquirrelMail
Horde
OpenWebMail
AlphaMail

Из всего указанного подошел только roundcube. Ну просто выглядит по человечески, остальное как-то прям стыдно в пользование директорату давать.

Естественно будет все крутится на любимом SLES неважнокакой версии. В моем случае SLES10.
У нас должен быть установлен postgresql неважнокакой версии, apache2 и такой набор модулей php:

apache2-mod_php5-5.2.5-9.5
php5-5.2.5-9.5
php5-curl-5.2.5-9.5
php5-dom-5.2.5-9.5
php5-gd-5.2.5-9.5
php5-gettext-5.2.5-9.5
php5-iconv-5.2.5-9.5
php5-imap-5.2.5-9.5
php5-ldap-5.2.5-9.5
php5-mbstring-5.2.5-9.5
php5-mcrypt-5.2.5-9.5
php5-mhash-5.2.5-9.5
php5-openssl-5.2.5-9.5
php5-pdo-5.2.5-9.5
php5-pgsql-5.2.5-9.5
php5-timezonedb-2008.2-0.3
php5-xmlreader-5.2.5-9.5
php5-xmlrpc-5.2.5-9.5
php5-zlib-5.2.5-9.5

С сайта roundcube.net тянем последнюю стабильную версию. На тот момент это roundcubemail-0.2.2.tar.gz. Архив распаковываем в /srv/www/htdocs и переименовываем в mail. то есть получаем директорию /srv/www/htdocs/mail. Меняем права на каталоги:

chown wwwrun /srv/www/htdocs/mail/logs -R
chown wwwrun /srv/www/htdocs/mail/temp -R

Создаем БД в postgres так как написано в инструкции, идущей в дистрибутиве.

Потом рихтуем конфиги

/srv/www/htdocs/mail/config/db.inc.php :

Здесь настраиваем связь с недавно созданной БД. То есть я поменял строку

$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';

на строку

$rcmail_config['db_dsnw'] = 'pgsql://roundcube:пароль@ip-адрес/roundcubemail';

Потом настраиваем конфиг

/srv/www/htdocs/mail/config/main.inc.php :

Я приведу его листинг

*********************************************


$rcmail_config = array();


$rcmail_config['debug_level'] = 1;

$rcmail_config['log_driver'] = 'file';

$rcmail_config['syslog_id'] = 'roundcube';

$rcmail_config['syslog_facility'] = LOG_USER;

$rcmail_config['log_dir'] = 'logs/';

$rcmail_config['temp_dir'] = 'temp/';

$rcmail_config['enable_caching'] = TRUE;

$rcmail_config['message_cache_lifetime'] = '10d';

$rcmail_config['auto_create_user'] = TRUE;

$rcmail_config['default_host'] = 'адрес почтового сервера';

$rcmail_config['default_port'] = 143;

$rcmail_config['imap_auth_type'] = null;

$rcmail_config['imap_root'] = null;
$rcmail_config['imap_delimiter'] = null;

$rcmail_config['username_domain'] = 'имя домена';

$rcmail_config['mail_domain'] = 'имя домена';

$rcmail_config['virtuser_file'] = '';

$rcmail_config['virtuser_query'] = '';

$rcmail_config['smtp_server'] = 'адрес почтового сервера';

$rcmail_config['smtp_port'] = 25;

$rcmail_config['smtp_user'] = '';

$rcmail_config['smtp_pass'] = '';

$rcmail_config['smtp_auth_type'] = '';

$rcmail_config['smtp_helo_host'] = '';

$rcmail_config['smtp_log'] = TRUE;

$rcmail_config['sendmail_delay'] = 0;

$rcmail_config['list_cols'] = array('subject', 'from', 'date', 'size', 'flag', 'attachment');

$rcmail_config['skin_include_php'] = FALSE;

$rcmail_config['session_lifetime'] = 10;

$rcmail_config['ip_check'] = false;

$rcmail_config['double_auth'] = false;

$rcmail_config['des_key'] = 'rcmail-!24ByteDESkey*Str';

$rcmail_config['language'] = null;

$rcmail_config['date_short'] = 'D H:i';

$rcmail_config['date_long'] = 'd.m.Y H:i';

$rcmail_config['date_today'] = 'H:i';

$rcmail_config['useragent'] = 'RoundCube Webmail/0.2.2';

$rcmail_config['product_name'] = 'RoundCube Webmail';

$rcmail_config['drafts_mbox'] = 'Drafts';

$rcmail_config['junk_mbox'] = 'Junk';

$rcmail_config['sent_mbox'] = 'Sent';

$rcmail_config['trash_mbox'] = 'Trash';

$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');

$rcmail_config['create_default_folders'] = FALSE;

$rcmail_config['protect_default_folders'] = TRUE;

$rcmail_config['quota_zero_as_unlimited'] = FALSE;

$rcmail_config['mdn_requests'] = 0;

$rcmail_config['default_charset'] = 'ISO-8859-1';

$rcmail_config['enable_spellcheck'] = TRUE;

$rcmail_config['spellcheck_engine'] = 'googie';

$rcmail_config['spellcheck_uri'] = '';

$rcmail_config['spellcheck_languages'] = NULL;

$rcmail_config['generic_message_footer'] = '';

$rcmail_config['http_received_header'] = false;

$rcmail_config['mail_header_delimiter'] = NULL;

$rcmail_config['session_domain'] = '';

$rcmail_config['address_book_type'] = 'ldap';

$rcmail_config['ldap_public'] = array();

$rcmail_config['ldap_public']['имя книги'] = array(
'name' => 'имя книги',
'hosts' => array('адрес сервера ldap с адресной книгой'),
'port' => 389,
'use_tls' => false,
'user_specific' => false,
'base_dn' => 'базовый DN',
'bind_dn' => '',
'bind_pass' => '',
'writable' => false,
'LDAP_Object_Classes' => array("top", "inetOrgPerson"),
'required_fields' => array("cn", "sn", "mail"),
'LDAP_rdn' => 'mail',
'ldap_version' => 3,
'search_fields' => array('mail', 'cn'),
'name_field' => 'cn',
'email_field' => 'mail',
'surname_field' => 'sn',
'firstname_field' => 'gn',
'sort' => 'cn',
'scope' => 'sub',
'filter' => '',
'fuzzy_search' => true);


$rcmail_config['autocomplete_addressbooks'] = array('sql');

$rcmail_config['dont_override'] = array();

$rcmail_config['identities_level'] = 0;

$rcmail_config['include_host_config'] = false;

$rcmail_config['max_pagesize'] = 200;

$rcmail_config['mime_magic'] = '/usr/share/misc/magic';

$rcmail_config['message_sort_col'] = 'date';

$rcmail_config['message_sort_order'] = 'DESC';

$rcmail_config['enable_installer'] = true;

$rcmail_config['log_logins'] = false;

$rcmail_config['delete_always'] = false;

$rcmail_config['min_keep_alive'] = 60;

$rcmail_config['skin'] = 'default';

$rcmail_config['pagesize'] = 40;

$rcmail_config['timezone'] = 'auto';

$rcmail_config['dst_active'] = (bool)date('I');

$rcmail_config['prefer_html'] = TRUE;

$rcmail_config['show_images'] = 0;

$rcmail_config['htmleditor'] = FALSE;

$rcmail_config['prettydate'] = TRUE;

$rcmail_config['draft_autosave'] = 300;

$rcmail_config['preview_pane'] = FALSE;

$rcmail_config['focus_on_new_message'] = true;

$rcmail_config['logout_purge'] = FALSE;

$rcmail_config['logout_expunge'] = FALSE;

$rcmail_config['inline_images'] = TRUE;

$rcmail_config['mime_param_folding'] = 0;

$rcmail_config['skip_deleted'] = FALSE;

$rcmail_config['read_when_deleted'] = TRUE;

$rcmail_config['flag_for_deletion'] = FALSE;

$rcmail_config['keep_alive'] = 60;

$rcmail_config['check_all_folders'] = FALSE;

?>

*********************************************

Вот... Чтобы убедиться, что все нормально, запускаем http://адрескуба/mail/installer и смотрим, что нет критичных ошибок. Потом папку /srv/www/htdocs/mail/installer переименовываем.


Читать далее