Как установить Z-Push на сервер ISPConfig 3 (Debian Lenny)
Введение
Z-Push — реализация протокола ActiveSync, используемого «по воздуху» для синхронизации почты, контактов и календаря на мобильных устройствах (Windows Mobile, iPhone, Nokia и т.д.). Эта инструкция описывает установку Z-Push на сервере «The Perfect Server — Debian Lenny (Debian 5.0)» с ISPConfig 3.
Примечание: в примерах пути используются /var/clients/client1/web1/web/ — замените их на реальные пути вашего сайта.
Требования и предпосылки
- Доступ root (su) на сервере.
- Рабочий почтовый сервер с доступом по IMAP; у пользователя должен быть включён IMAP.
- Установленный ISPConfig 3.
- Веб-сайт в ISPConfig, PHP в режиме Mod-PHP для данного сайта.
- Актуальная версия Z-Push (в момент написания — z-push-1.3RC2). Проверьте релизы: http://z-push.sourceforge.net/soswp/index.php?pages_id=39&t=Download
Важно: сохраняйте оригинальные пути и права доступа при копировании команд — в примерах используются каталоги клиент1/web1.
Краткая методология
- Загрузить пакет Z-Push, распаковать и переместить в веб-каталог сайта.
- Настроить config.php (BackendIMAP, часовой пояс, опциональная правка IMAP_DEFAULTFROM).
- Установить права на state и создать debug.txt при отладке.
- Добавить Alias для ActiveSync в конфигурацию Apache и перезапустить сервер.
- В ISPConfig переключить сайт на Mod-PHP и тестировать подключение с мобильного устройства.
Шаги установки
- Скачайте, распакуйте и переместите каталог Z-Push:
cd /tmp
wget http://download.berlios.de/z-push/z-push-1.3RC2.tar.gz
tar zxf z-push-1.3RC2.tar.gz
mv z-push /var/clients/client1/web1/web/- Отредактируйте файл конфигурации z-push/config.php:
cd /var/clients/client1/web1/web/z-push
nano config.php- Убедитесь, что date_default_timezone_set (примерно строка 14) установлена в ваш часовой пояс — например “Europe/Moscow”.
- Установите $BACKEND_PROVIDER в BackendIMAP (примерно строка 49).
Важно: замените пути и значение часового пояса на ваши реальные значения.
- Кастомная правка (опционально)
Если при отправке почты с телефона отправитель отображается некорректно, можно применить небольшой фикс. В файле config.php замените:
define('IMAP_DEFAULTFROM', '')на
define('IMAP_DEFAULTFROM', ' ')(обратите внимание на пробел между одинарными кавычками). Это решение помогло в ряде конфигураций; причина может быть связана с настройками почтового сервера либо клиентом.
- Удалите backend/ics.php (в оригинальном howto это требование):
rm /var/clients/client1/web1/web/z-push/backend/ics.php- Установите права на каталог state, чтобы веб‑сервер мог туда записывать:
chmod 777 /var/clients/client1/web1/web/z-push/stateВажно: 777 даёт полный доступ; по соображениям безопасности позже рекомендуется сузить права до пользователя веб‑сервера (например www-data) и установить 750/770.
- Создайте .htaccess в корне z-push (если используете .htaccess):
nano .htaccessДобавьте следующие строки:
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag onВы можете также добавить эти директивы в поле Apache Directives в ISPConfig3 для сайта.
- Добавьте Alias для ActiveSync в httpd.conf Apache:
cd /etc/apache2/
nano httpd.confВ конце файла добавьте:
Alias /Microsoft-Server-ActiveSync /var/clients/client1/web1/web/z-push/index.php- Перезапустите Apache:
/etc/init.d/apache2 restart- Установите режим PHP для сайта: Mod-PHP
Войдите в ISPConfig3 → Sites → Domain, выберите сайт и установите PHP в Mod-PHP. Нажмите «Save».
- Тестирование через браузер
Откройте в браузере:
http://www.your-website.com/Microsoft-Server-ActiveSyncДолжен появиться диалог авторизации — используйте e‑mail и пароль IMAP‑пользователя. После входа вы увидите ошибку в браузере (это нормальное поведение):
GET not supported
This is the z-push location and can only be accessed by Microsoft ActiveSync-capable devices.Это ожидаемо — веб‑браузер не поддерживает ActiveSync. Настройте мобильное устройство: в поле «Сервер» укажите просто www.your-website.com (не указывайте /z-push или /Microsoft-Server-ActiveSync).
- Включение отладки (при проблемах)
Создайте debug.txt в корне z-push и дайте права для записи, чтобы логировать активность:
touch /var/clients/client1/web1/web/z-push/debug.txt
chmod 777 /var/clients/client1/web1/web/z-push/debug.txtФайл будет содержать подробные сообщения и поможет локализовать проблему.
Диагностика — распространённые проблемы и решения
- Нет запроса логина в браузере: проверьте Alias в httpd.conf и режим PHP (Mod-PHP).
- Ошибка авторизации с мобильного: убедитесь, что логин/пароль работают через IMAP (например, подключитесь почтовым клиентом).
- Проблемы с отправкой писем: попробуйте применить фикс IMAP_DEFAULTFROM (см. выше). Также проверьте SMTP‑настройки и заголовки From на сервере.
- Логи пусты: проверьте права на state и debug.txt; проверьте владельца файлов (chown www-data:www-data …).
Критерии приёмки
- Веб‑браузер при обращении к /Microsoft-Server-ActiveSync требует логин (и выдаёт сообщение GET not supported).
- Мобильное устройство успешно добавляет учётную запись и синхронизирует почту (push приходит в разумное время).
- debug.txt не содержит критических ошибок подключения к IMAP/SMTP.
План отката (простые шаги)
- Удалите Alias из /etc/apache2/httpd.conf и перезапустите Apache.
- Удалите каталог z-push из веб‑папки сайта.
- Верните режим PHP веб‑сайта в прежнее состояние через ISPConfig.
Чек‑лист ролей
- Системный администратор:
- Проверил работу IMAP/SMTP.
- Установил и настроил Z-Push, проверил права и права владельца.
- Настроил Alias и перезапустил Apache.
- Пользователь:
- Имеет действующий почтовый логин и пароль.
- Настроил учётную запись на мобильном устройстве, указав сервер без пути.
Примечания по безопасности и приватности
- Минимизируйте права на каталоги и файлы (не используйте 777 в продакшне; примените владельца веб‑сервера).
- ActiveSync пересылает учётные данные; используйте HTTPS для защиты паролей в сети.
- Учитывайте требования локального законодательства по защите персональных данных (например, GDPR‑похожая политика) при хранении почты и логов.
Однострочный глоссарий
- ActiveSync — протокол синхронизации мобильных устройств от Microsoft.
- IMAP — протокол доступа к почтовым ящикам.
- ISPConfig — панель управления хостингом для администрирования сайтов, почты и DNS.
Итог
Установка Z-Push на ISPConfig 3 и Debian Lenny включает развертывание кода в веб‑каталог, настройку backend на IMAP, обеспечение прав доступа, добавление Alias в Apache и переключение PHP в режим Mod-PHP. Тестируйте подключение с мобильного устройства и используйте debug.txt для детальной отладки.
Важно: это не единственный возможный способ настройки — адаптируйте шаги под архитектуру вашего сервера и требования безопасности.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента