php

warning: Creating default object from empty value in /usr/data/www/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

nginx как прокси для почты

Захотелось немного поиграть в отказоустойчивость почтового сервера.

Одним из необходимых моментов оказалось перенаправление запросов на нужный бэкенд. Заниматься этим умеет Nginx. Статьи по этому поводу в нете присутствуют, но при реализации, как всегда, появляются подводные камни. :-(

Нужно учесть:

  • nginx с бекэндом соединяется исключительно без SSL (или я не понял как настроить подругому)
  • на smtp сервере nginx не авторизуется, соответственно, всякие ограничения на кол-во писем и прочее нужно реализовывать или средствами nginx или с привязкой не к сессии отправителя ($authenticated_id), а к его адресу $sender_address
  • если используется сетевая/кластерная файловая система для хранения почты у Dovecot, то нужно поправить настройки conf.d/10-mail.conf
    mmap_disable = yes
    mail_fsync = always
    mail_nfs_storage = no
    mail_nfs_index = no

     

Долго бился с подключеним модуля mail:

unknown directive "mail"

Оказалось, что нужно его подключать следующим образом:

load_module /usr/local/libexec/nginx/ngx_mail_module.so;

Следующий шаг был скрипт авторизации. Во всех инструкциях он был на перле и мне казался слишком сложным.

В итоге нашел на php и попроще.

0
Your rating: Нет

Создание материала в друпале из пхп

В продолжение темы Перенос мероприятий из Контакта на сайт под Drupal решил, что правильнее сразу публиковать материал на сайт, минуя посредника в виде файла CSV и модуля друпала Node import.

Нашлась статья "Импорт сайтов из разных CMS на Drupal". Оказалось, что это это достаточно просто, создаем файлик new_node.php в каталоге сайта друпала:

<?php

require_once 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$node = new stdClass();

$node->title = "Title";
$node->body = 'Основной текст';
$node->teaser = "Текст анонса";
$node->type = "blog";
$date=DateTime::createFromFormat('d/m/Y - H:i', "31/12/2012 - 15:00");
$node->created = strtotime($date->format('Y-m-d H:i'));; // дата создания
$node->changed = $node->created; // дата обновления

$node->promote = 0; // публикация на главной странице
$node->sticky = 0; // Прикрепить вверху на главной странице
$node->status = 1; // нода опубликована
$node->format = 1; // используется фильтр Filtered HTML
$node->comment = 2; // комментарии разрешены
$node->uid = 0; // ноду добавил "Гость", можно поставить uid=1, тогда ноду добавит админ сайта
 

0
Your rating: Нет
Ленты новостей