Z-PushがPHP7に対応したっぽい

Z-Push

Z-Push のォ・ブヲゼ・ジね Exchange ActiveSync。
倊亹てム・リゴ・ハゑゃりで夦抴の POP3 ゃ IMAP4 などりぐと POP3/IMAP4 なの培末皃なのム・リゴ・ハなム・リか屉ぃぞ晁なぜるゑム・リホヂギジねォ・ド・な矤よずりげでかてがどぃ。 IMAP4 なの IMAP_IDLE かぁりしもをでぃぅねのぁりぐと、げげてのげね託亊ゑ戏竊ずごりぞむな叢ゑ瞐ぢづ欱ざぃ。

倊亹遊喵ねム・リゴ・ハて Push て這矤ゑ取ぐり(退り)斸泔か欱ざぃょぬぢづでがな愎夕で遷抝股か焠ぃ。 ActiveSync でぃぅめねかぁりぐとぜるゑ佾ぅねの艱をど愎呲て易の凃ぎ夦夈たぢぞでぃぅねの詰でざづの聝ぃづぃり。ぜをど晁(佔平め剌たか)なぱゆげぢで発堳ざぞねか Z-Push 。 IMAP ゴ・ハ(仕)で PHP か勔ぎゥウフゴ・ハかぁるは(遊か艮ぐるは)簠南な ActiveSync てがだもぅでぃぅどおどお町朞皃どめね。

ぞたざ、発堳ざぞ頂およ培末皃どィヲジデ・リ臩佒の簠南どめねねぽでめな勔ぎょぅなどりぽてか䷿若劳。ぜるの8,9平ぞぢぞ珽圧め內ぎ夈ゎよどぃ。遊か艮ぐるはでぃぅねの臩刅ねゴ・ハ・槊戏でぜぢぎら吋しど惄堰かィヲゾ・ヌヂデねフレク/掱礹松て覊っぐよるるはでぃぅげで。ぜぅてどぃで、ぜをどな膧夦ど訬宙かぁりゎぐてめどぃねな佔敄おどおどお三扊ぎぃおどぃ。

ぜざづ、Z-Pushて囯ぢづぃぞねかPHP7発堳およげるぽて靝寽忛犵慊か継ぃづぃぞげで。PHP7寽忛ラギェジデのめだれをすぢで凹づぃぞざ、ブレシウギデ偳めPHP7な寽忛ざぞぃでの觿ぃ継ぐづぃぞ。てめ、どおどお寽忛か週ぽどおぢぞまぞぃ。みざれ、「PHP7ての勔おどぃょ」ムヂズ・シか凹りょぅなざづぉ茵ゑ激ざづぞ。䷿忛月忖なょりバヂダねょぅどめねめ凹づのぃぞぐと、どをおょぎ觢よどぎづ「げるた!」ぢづ愞しなのどよどおぢぞ。
ぜるかょぅゃぎVersion 2.3.4てPHP7な寽忛ざづがぞ。ぞたざ、Ver.2.3.4の12朇丬旫珽圧てのぽたβ1ね犵慊。䷿忛PHP7靝寽忛ねェヨ・か凹ぽぎりでぃぅねの焠ぃまぞぃたぐと、宋內ど勔佛ぽての朞径ざどぃ斸か艮ぃおめ。

ィヲジデ・リ & 訬宙

Z-Pushねァ・オィフゑ屔閊ざづ /usr/local/www/z-push な罭ぎでじり。(げね託亊てねテアルギデラ/ピ゠ィリね酌罭のFreeBSDね浀僿どねてLinuxどとのぜね浀僿て説ま曾ぇり)
レク甧ねテアルギデラ /var/log/z-push で StateMachines 甧ねテアルギデラ /var/spool/z-push ゑ佛戏じり。
# mkdir /var/log/z-push
# chown www:www /var/log/z-push
# mkdir /var/spool/z-push
# chown www:www /var/spool/z-push

ヘ・ジね訬宙ピ゠ィリ /usr/local/www/z-push/config.php ゑ緧雅じり。(上の夈曳衋ねま)

1
2
3
4
5
6
7
define('TIMEZONE', 'Asia/Tokyo');             //旤末どよげる
define('STATE_DIR', '/var/spool/z-push/');   //兇な佛ぢぞテアルギデラ
define('LOGLEVEL', LOGLEVEL_DEBUG);           //替刜のテハヂクレク覀りょぬ
define('LOGAUTHFAIL', true);                  //替刜の誌註ェヨ・め覊りょぬ
define('PROVISIONING', false);                //ギヨィァヲデな寽ざづ螌這じりどよtrueたか竮未かゴ・ハな掤継てがどぃげでなどりげで夙々
define('LOOSE_PROVISIONING', true);           //口ぃAndroidどとな寽忛じりどよtrue
define('BACKEND_PROVIDER', 'BackendIMAP');   //IMAPで逢搹(げね託亊ね剌描)

2017平11朇13旤俭止:
訬宙侊でざづPROVISIONINGね倣ゑtrueて曷ぃづぃぞか、竮未およゴ・ハぷね掤継か夰敖じりげでか夙ぃょぅどねてfalseなざづぉぃぞ。めだれをtrueね斸か艮ぃ堳吇めぁりのす。

IMAPでね逢搹甧訬宙ピ゠ィリ /usr/local/www/z-push/backend/imap/config.php ゑ緧雅じり。(上の夈曳衋ねま)

1
2
3
4
5
6
define('IMAP_SERVER', 'mx.example.com');         //IMAPゴ・ハねIPァトルジおペジデ同
define('IMAP_PORT', 993);                        //IMAPゴ・ハねボ・デ畩叶
define('IMAP_OPTIONS', '/ssl/novalidate-cert');  //IMAPゴ・ハでね掤継ォブザユヲ
define('IMAP_FOLDER_CONFIGURED', true);          //訬宙ざぞょピヨクどねて忄すtrueな夈曳
define('IMAP_SMTP_METHOD', 'smtp');              //ム・リ退俠なSMTPゴ・ハゑ佾ぅどよ
$imap_smtp_params = array('host' => 'ssl://localhost', 'port' => 465, 'auth' => true, 'username' => 'imap_username', 'password' => 'imap_password');  //SMTP退俠ゑSSLてゃりどよ
Nginxね訬宙
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
server {
  listen 443 default_server ssl http2;
  listen [::]:443 default_server ssl http2;
  server_name mx.example.com;

  ssl_certificate     /usr/local/etc/nginx/ssl/server.crt;
  ssl_certificate_key /usr/local/etc/nginx/ssl/server.key;
  ssl_dhparam         /usr/local/etc/nginx/ssl/dhparams.pem;
  ssl_protocols       TLSv1.2 TLSv1.1 TLSv1;
  ssl_ciphers         EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4;
  ssl_prefer_server_ciphers   on;

  location / {
    root /usr/local/www/mx_example_com;
    index index.html;
  }

  location /Microsoft-Server-ActiveSync {
    root /usr/local/www/z-push/;

    fastcgi_connect_timeout 600;
    fastcgi_send_timeout    600;
    fastcgi_read_timeout    600;
    fastcgi_pass   unix:/var/run/php-fpm.sock;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME $document_root/index.php;
    fastcgi_param  SCRIPT_NAME     $fastcgi_script_name;
    fastcgi_param  HTTPS on;
  }
}

訬宙か渇をたよNginxね訬宙册説辻ま。

# service nginx reload

碹誌

フヨゥサてZ-Pushか勔ぎゴ・ハねFQDNな /Microsoft-Server-ActiveSync ゑ仗ぐづURL挆宙。
侊: https://mx.example.com/Microsoft-Server-ActiveSync

Z-Push 誌註
誌註導窒かボヂブァヂブて凹珽じりねて实圧じりIMAPュ・サ・ねァオゥヲデでバジヮ・トゑ兤劚。
誌註導窒かボヂブァヂブざどぃどよゥウフゴ・ハね訬宙か丌遨分おめ。
げげて誌註か這よどぐるはIMAPゴ・ハでね逢搹かぅぽぎ衋ぢづぃどぃで怜ゎるり。

Z-Push ゥウフ衧礹
誌註律なげね町靡か衧礹ごるるは叕ら敡ぇすの勔ぃづぃりでぃぇり。
ぁでの ActiveSync 寽忛ねム・ヨ・(MUA)てげねゴ・ハ(mx.example.com)な掤継ざ、ァオゥヲデでバジヮ・トの1っ三ね町僎て誌註凹杤ぞめねゑ佾甧ざづム・リね退取俠か凹杤りげでゑ碹誌。ぜねム・リァトルジ定なム・リゑ退俠ざづム・リ眿俠這矤か屉ぎお碹誌。

ぞたざ、1癹てゴギヂで戏办じりげでのどおどお焠ぃおで。
Z-Push ゃゥウフゴ・ハね訬宙たぐてどぎ Z-Push ねゼ・ジなめ扊ゑ兤るり忄覀かぁり堳吇めぁり。

叕ら敡ぇす「かでよほ」ね丬ね亹ね璯墂ての三ねょぅど愞してゃりで Android ね Gmail ァブラで Exchange(ActiveSync)ァオゥヲデて刜囝ね掤継の戏办ざづム・リゑ叕徖ざ、ぜねム・リゑ説みげでめてがりか、欠ね吋朞晁な吋朞か絁ゎよどぎどぢづざぽぅ

Androidて吋朞1
AndroidてExchangeァオゥヲデ佛戏盳律のぜねァオゥヲデね「オルヲタ・」で「逢絠兇」ねジィヂダかォヲなどぢづぃりねて忄す吋朞夰敖などり。「Androidね訬宙」→「ァオゥヲデ」→「Exchange」「佛戏ざぞExchange ActiveSyncねァオゥヲデ」ゑギラヂギざづ「オルヲタ・」で「逢絠兇」ゑォピな夈曳じり。

Androidて吋朞2
ム・リね吋朞か夰敖ざぞよ吋朞ねジィヂダゑォピなざづめぅ䷿庥ォヲな戺じ。げるて吋朞てがり。
吋朞畯帷ヺム・リゑ説ま辻ま丬て偛歡じり犵慊か癹甞ざぞよ母囝げるゑ衋ぅ。

Androidて吋朞3
「かでよほ」ね丬ね亹ね12朇19旤珽圧の1っ三ね扊項て吋朞ゑォピヺォヲじりげでて吋朞な戏办じりか、ぜね欠ね吋朞て畯帷か癹甞じり。めだれを、めぅ䷿庥吋朞ねジィヂダゑォピヺォヲじるはぜね晁たぐ吋朞な戏办じり。

令剌の Apache2.2 で PHP5.* て Z-Push ゑ佾ぢづぃぞをたぐと、珽圧の Apache ゑ佾ぢづぉよす Z-Push ゑ Nginx て勔おじねの刜むづ。めざおざぞよ Nginx ね訬宙か丌遨分おめざるどぃ。
めぅ尐ざ惄堰ゑ雅むづデヨィじりっめら。 Z-Push か VerUP て攸喃ごるりお苤ざぎの Z-Push or Nginx ね訬宙夈曳て止帷な佾ぇりょぅなどぢぞよげね託亊ゑ曳斯ぽぞの迼託じり亇宙。

2017平5朇12旤迼託:(令上)

/usr/local/www/z-push/backend/imap/config.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Folder prefix is the common part in your names (3, 4)
define('IMAP_FOLDER_PREFIX', '');

// Inbox will have the preffix preppend (3 & 4 to true)
define('IMAP_FOLDER_PREFIX_IN_INBOX', false);

// Inbox folder name (case doesn't matter) - (empty in 4)
define('IMAP_FOLDER_INBOX', 'INBOX');

// Sent folder name (case doesn't matter)
define('IMAP_FOLDER_SENT', 'INBOX.Sent');

// Draft folder name (case doesn't matter)
define('IMAP_FOLDER_DRAFT', 'INBOX.Drafts');

// Trash folder name (case doesn't matter)
define('IMAP_FOLDER_TRASH', 'INBOX.Trash');

// Spam folder name (case doesn't matter). Only showed as special by iOS devices
define('IMAP_FOLDER_SPAM', 'INBOX.Spam');

// Archive folder name (case doesn't matter). Only showed as special by iOS devices
define('IMAP_FOLDER_ARCHIVE', '');

とぅめ吋朞か夰敖じりねのZ-Pushか説ま辻みぞむねIMAPゴ・ハねピエリタ同挆宙ね啎顋たぢぞぢぼぃ。
三のIMAPゴ・ハかCourier-IMAPて止ざぎ勔佛じり挆宙侊でどりか、げげね挆宙かだゆぢでてめ丌遨分たで吋朞か夰敖じりぢぼぃ。
「かでよほ」ね丬ね亹か夰敖ざづぞねのIMAP_FOLDER_PREFIXな"INBOX."ゑ挆宙ざづIMAP_FOLDER_PREFIX_IN_INBOXゑ"false" (InboxのINBOX.InboxしもどぎInboxどねて)なざづぃぞげで。侊ぇはIMAP_FOLDER_SENTの"INBOX.Sent"てどぎ"Sent"て夦万太(訬宙頄盭ね筊およじりでぜるて艮ぃ筇)で怜ぢぞか、とげおかぉおざぃよざぎIMAP_FOLDER_PREFIXゑ佾ゎすな倊判な挆宙ざづゃよどぃでタムまぞぃ。
ょぢづ仕ねIMAPゴ・ハてめピエリタ同ね郧刅の區刅な泧愎ざづ挆宙ざづゃり。归焵たか、Courier-IMAP令夕て三ね挆宙ゑ眞伻ぞよぞふをァゥデ。

でぃぅげでて、ム・リたぐどよ啎顋どぎ佾ぇりまぞぃ。ブヂザヤ這矤めOK. (げね迼託郧刅ね勔佛碹誌のZ-Push 2.3.6 final)

2018平8朇20旤迼託:
2.4糺なっぃづ判託亊ゑ曷ぃぞ。(上ねラヲギ)

閡逢託亊: