Päivitin Z-Pushin versioon 2.2.1-1939
Oma asennukseni on /opt/z-push -hakemistossa Zimbra -palvelimella, mutta asennuksen voi tehdä periaatteessa mille vaan palvelimelle, jolta on pääsy Zimbraan.
config.php -tiedostoon muuttamani kohdat:
define(’TIMEZONE’, ’Europe/Helsinki’);
define(’USE_FULLEMAIL_FOR_LOGIN’, true);
define(’BACKEND_PROVIDER’, ’BackendZimbra’);
Tämän jälkeen haetaan tuo zimbra backend vaikka täältä.
Jälkimmäinen paketti puretaan z-pushin backend -hakemistoon ja siirretään syntyneestä hakemistosta z-push-2 -hakemisto nimelle zimbra (minun tapauksessa siis /opt/z-push/backend/zimbra/).
Muokkaamani kohta config.php -tiedostossa:
define(’ZIMBRA_URL’, ’http[s]://<zimbra url>’);
Muuten mennään oletuksilla.
Tämän jälkeen z-push onkin kunnossa. 🙂
Seuraava osa riippuukin sitten siitä mihin z-push on asennettu.
Jos Z-Push on asennettu Zimbran kanssa samalle palvelimelle ja sitä on tarkoitus käyttää Zimbran Jetty:n kanssa, niin seuraavilla ohjeilla se onnistunee 🙂
* Luo linkki jettyn hakemistoon:
ln -s /opt/z-push /opt/zimbra/jetty/webapps/z-push
* Luo shell -ohjelma php-cgi-fix.sh hakemistoon /usr/bin:
#/usr/bin/sh
export SCRIPT_FILENAME=$1
/usr/bin/php-cgi
* Luo WEB-INF hakemisto /opt/z-push -hakemistoon
* Luo /opt/z-push/WEB-INF -hakemistoon tiedosto web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" > <display-name>php</display-name> <servlet> <servlet-name>PHP</servlet-name> <servlet-class>org.eclipse.jetty.servlets.CGI</servlet-class> <load-on-startup>1</load-on-startup> <init-param> <param-name>commandPrefix</param-name> <param-value>/usr/bin/php-cgi-fix.sh</param-value> </init-param> <init-param> <param-name>Path</param-name> <param-value>/bin:/usr/bin:/usr/local/bin</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>PHP</servlet-name> <url-pattern>*.php</url-pattern> </servlet-mapping> <!-- <welcome-file-list> <welcome-file>index.php</welcome-file> </welcome-file-list> --> <Call name="addAliasCheck"> <Arg> <New class="org.eclipse.jetty.server.handler.ContextHandler$ApprovePathPrefixAliases"/> </Arg> </Call> <security-constraint> <web-resource-collection> <web-resource-name>deny</web-resource-name> <url-pattern>/backend/*</url-pattern> <url-pattern>/include/*</url-pattern> <url-pattern>/lib/*</url-pattern> <url-pattern>/WEB-INF/*</url-pattern> <url-pattern>/config.php</url-pattern> <url-pattern>/z-push-top.php</url-pattern> <url-pattern>/z-push-admin.php</url-pattern> <url-pattern>/INSTALL</url-pattern> <url-pattern>/LICENSE</url-pattern> </web-resource-collection> <auth-constraint> <role-name>deny</role-name> </auth-constraint> </security-constraint> </web-app>
* Muokkaa /opt/zimbra/jetty/etc/jetty.xml.in muuttaen rivi:
<Set name="replacement">/service/extension/zimbrasync</Set>
muotoon:
<Set name="replacement">/z-push/index.php</Set>
Lisää samaan tiedostoon:
<Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> <Set name="pattern">/z-push/*</Set> <Set name="replacement">/z-push</Set> <Set name="terminating">true</Set> </New> </Arg> </Call>
Lisää myös:
<New id="z-push" class="org.eclipse.jetty.webapp.WebAppContext"> <Arg><Ref id="Contexts"/></Arg> <Arg><SystemProperty name="jetty.home" default="."/>/webapps/z-push</Arg> <Arg>/z-push</Arg> <Set name="configurationClasses"><Ref id="plusConfig"/></Set> <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set> <Set name="tempDirectory"><SystemProperty name="jetty.home" default="."/>/work/z-push</Set> <Set name="compactPath">true</Set> <Get name="errorHandler"> <Call name="setShowStacks"> <Arg type="boolean">false</Arg> </Call> </Get> <Call name="setAttribute"> <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg> <Arg>.*/.*jsp-api-[^/]*\.jar$|.*/.*jsp-[^/]*\.jar$|.*/.*taglibs[^/]*\.jar$</Arg> </Call> </New>
* Muuta php.ini:ä (minulla /etc/php5/cli/php.ini, koska käytän Ubuntu -jakelua, jossa web php:lle ja cli php:lle on omat php.ini:t):
magic_quotes_gpc off register_globals off magic_quotes_runtime off short_open_tag on cgi.force_redirect = 0 max_execution_time = 120 memory_limit = 128M
* Uudelleenkäynnistä jetty:
su – zimbra
zmmailboxdctl restart