Talviturkki heitetty :)

Eilen sain käytyä uimassa ekaa kertaa tänä kesänä! Huimaa!

Uintia edelsi pienimuotoinen auringonpalvonta.
image

Vesi oli vieläkin viileää (20ºC), joten ei siellä ihan hirveitä kyllä uitu.

Pohja oli ruoppauksen jäljiltä kyllä melko ”höhhöinen”, eli kaivaessa vapautunut oikein hienojakoinen muta on laskeutunut pohjaan. Nyt pitäisi vaan ahkerasti käyttää, jotta tuo ”höhhö” liikkuisi ja toivottavasti poistuisi rannasta.

Zimbra + MFE (osa 2)

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