Не знаю, как для вас, а для меня стало открытием, что в Movable Type работает автоподстановка тегов на кириллице — для этого достаточно ввести первые символы тега и нажать кливишу-стрелку «Вниз». Для латиницы аналогичное происходит автоматически.

Movable Type 5.2.3

Сегодня состоялся релиз новой версии Movable Type 5.2.3. Изменение всего одно — если в параметрах MySQL было разрешено 20 или менее соединений (max_user_connections), то Movable Type нельзя было ни обновить, ни установить заново.

Обновление необязательное, тем не менее, для быстрого обновления подготовлены изменённые файлы (структура папок сохранена):

Скачать новую версию:

В Movable Type 5.2 появилась встроенная поддержка PSGI. В связке с nginx это даёт значительный прирост производительности — страницы открываются не просто быстро, а невероятно быстро.

Единственный минус PSGI — для настройки Movable Type необходимы права root, поэтому пользователям виртуального хостинга, к сожалению, радоваться не приходится. А для тех, у кого свой сервер или VPS, я подготовил подробную инструкцию.

Вся процедура установки и настройки разделена на 3 этапа: Debian, nginx и Movable Type. Для других операционных систем процесс будет аналогичен, но, возможно, процесс запуска системного сервиса будет немного отличаться.

Debian

Для начала необходимо установить дополнительные Perl-модули. Можно использовать стандартный установщик CPAN, а можно воспользоваться более удобным cpanminus.

Для установки cpanminus выполните команду (другие варианты установки):

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

Теперь можно устанавливать модули. При помощи cpanminus установка происходит командой «cpanm ИМЯ-МОДУЛЯ». Выполним установку 3 модулей за раз:

cpanm Task::Plack XMLRPC::Transport::HTTP::Plack Starman

После установки модулей необходимо создать системный сервис (daemon), который будет автоматически загружаться с системой. Разместите в папке /etc/init.d файл mt-starman со следующим содержанием (отредактируйте необходимое):

#!/bin/sh

### BEGIN INIT INFO
# Provides:          starman-mt
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starman daemon
# Description:       Start and stop Starman daemon.
### END INIT INFO

DIR=/absolute/path/to/mt-directory
SCRIPT=/absolute/path/to/mt.psgi
USER=www-data
GROUP=www-data

WORKERS=3
LISTEN=127.0.0.1:50000
ERROR_LOG=/var/log/mt-starman.log

# If you have a permission problem,
# move PID-file to USER home directory
PIDFILE=/var/run/mt.pid

case "$1" in
  start)
    start-stop-daemon --start --chuid $USER --chdir $DIR \
        --pidfile=$PIDFILE \
        --exec /usr/local/bin/starman -- -D --pid $PIDFILE \
        --listen $LISTEN --error-log $ERROR_LOG \
        --user $USER --group $GROUP \
        --workers $WORKERS $SCRIPT
    ;;
  stop)
    start-stop-daemon --stop --pidfile $PIDFILE
    ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop}" >&2
    exit 3
    ;;
esac

Количество процессов (WORKERS) может быть любым — от одного до бесконечности, в зависимости от того, сколько на сервере памяти.

На файл mt-starman необходимо установить права доступа 755, из терминала достаточно выполнить команду:

chmod 755 /etc/init.d/mt-starman

Чтобы сервис автоматически загружался со стартом системы, выполните команду:

update-rc.d mt-starman defaults

Если у вас Debian Squeeze или более новая, то команда будет такая:

insserv mt-starman

nginx

Сперва необходимо добавить в основной конфигурационный файл nginx (nginx.conf) в раздел http следующий блок:

upstream starman {
        server 127.0.0.1:50000;
}

После этого нужно настроить сайты. Для этого в раздел server каждого сайта, где используется Movable Type, добавьте следующее:

location /cgi-bin/mt/ {
    proxy_set_header        Host $http_host;
    proxy_set_header        X-Forwarded-Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass      http://starman;
}

Movable Type

Теперь добавляем в mt-config.cgi информацию, где расположен PID-файл:

PIDFilePath /var/run/mt.pid

Для удобства можно также сменить названия скриптов Movable Type, для этого в том же mt-config.cgi нужно добавить:

AdminScript app
CommentScript comments
TrackbackScript trackbacks
SearchScript ftsearch
XMLRPCScript xmlrpc
AtomScript atom
UpgradeScript upgrade

(Сами файлы переименовывать не нужно, только добавить информацию в mt-config.cgi.)

Теперь осталось перезагрузить nginx и запустить Starman:

/etc/init.d/mt-starman start && /etc/init.d/nginx restart

После этого Movable Type будет доступен по адресу example.com/cgi-bin/app.

Обратите внимание, при использовании PSGI, если вы изменили что-нибудь в mt-config.cgi, установили плагин или обновили Movable Type, нужно будет перезапускать процесс mt-starman.

Все примеры из этого поста можно скачать на Github: github.com/saahov/mt-starman-daemon.

Кроме того, вместо nginx можно использовать Lighttpd.

В Movable Type версий 4.2 и 4.3 обнаружена уязвимость в скрипте обновления. Вчера разработчики выложили обновлённый скрипт, устраняющий эту проблему.

Для устранения уязвимости достаточно загрузить на сервер обновлённый файл (структура папок сохранена): MT4.38-Upgrade-Patch.zip

Также можно временно удалить скрипт обновления mt-upgrade.cgi или выставить меньшие права доступа, чтобы скрипт перестал запускаться (например, 644).

Описание проблемы

При попытке оставить комментарий появлялась ошибка:

Ваш комментарий не добавлен по следующим причинам: Ваша сессия истекла. Пожалуйста, авторизуйтесь ещё раз.

Или, если английская версия:

Your comment submission failed for the following reasons: Your session has expired. Please sign in again to comment

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

Решение

1. Указать в mt-config.cgi относительные пути для CGIPath.
Если раньше было http://example.com/cgi-bin/mt/, то нужно указать /cgi-bin/mt/.

2. Добавить для каждого домена алиас для CGI-скриптов.
Если используется Apache, то для каждого домена в виртуальный хост необходимо добавить строчку:
ScriptAlias /cgi-bin/ /home/user/example.com/docs/cgi-bin/
Где «/home/user/example.com/docs/cgi-bin/» — это абсолютный путь на сервере до файлов Movable Type.

3. Опубликовать все сайты и блоги.

После этого комментирование будет работать на всех сайтах, даже если они находятся на разных доменах.

Статистика

Яндекс.Метрика

Friendfeed MT в Френдфиде

  • Если на вашем сервере всё в порядке, но время по-прежнему на час отстаёт, нужно в параметрах блога установить часовой пояс «UTC+4 (Самарское время)». #
  • и снова обновления безопасности http://www.movabletype.org/2011... #
  • 8.06.2011 Выпущены обновления закрывающие несколько уязвимостей, найденных в Movable Type 5.x и 4.x. версий, рекомендуется незамедлительно обновиться http://www.movabletype.org/2011... #
  • Релиз Movable Type 5.1 состоялся, также выпущен security update для Movable Type 4.36 - http://www.movabletype.org/2011... #
  • Movable Type RC3 http://www.movabletype.org/2011... #
  • прошла неделя и готов Movable Type 5.1 RC2 http://movabletype.org/downloa... #
  • Movable Type 5.1 RC1 доступен для скачивания - http://movabletype.org/downloa... Появление стабильной версии Movable Type 5.1 намечается к концу мая. #
  • Movable Type снова продали: http://pishchour.ru/cms... #
  • Обновлена страница скачивания Movable Type: добавлены ссылки на версии 4.x и 5.x, которые легко запомнить — http://movable-type.ru/downloa... #
  • Вышла новая версия Movable Type под номером 5.031, только 1 багфикс, новых возможностей и уязвимостей нет. http://www.movabletype.org/2010... #

Последние комментарии

  • Может быть потому, что этой так предусмотрено, создавать статические файлы? ...

    Андрей Серебряков
    Movable Type на PSGI и nginx
  • Запустил. Но вот зачем он начитает по всему сайту мусорить файлами? И зачем он делает файлы *.php?...

  • Что-то с путями. Возможно, поможет добавление в mt-config.cgi названия скриптов, в статье есть инфор...

    Андрей Серебряков
    Movable Type на PSGI и nginx
  • Запускается, но на любой запрос из /cgi-bin/mtn/ (тут путь именно такой) возвращает страницу с текст...

  • Отличный вариант :)...

    Андрей Серебряков
    Movable Type на PSGI и nginx
Закрыть