Optimalisatie van je website. Verstandig?

Al in april 2010 kondigde Google (de grootste speler in de zoekmachine markt) aan de snelheid van een website als score mee te nemen in relevantie van zoekresultaten. Het antwoord op de vraag of het verstandig is om je website qua snelheid te optimaliseren is dus: “Ja”.

Maar hoe doe je dat? Hoe kun je zien welke score je volgens Google haalt? In deze blogposting vind je wat tips en kun je zien hoe Tuxis haar klanten gaat helpen de score te verbeteren.

  1. Inzicht verkrijgen
  2. Sprites
  3. Browser caching
  4. Minify CSS, Javascript en HTML
  5. Hoe Tuxis haar klanten helpt
  6. Maar helpt het ook echt?

Inzicht verkrijgen

Het optimaliseren van je website begint met inzicht over hoe Google (maar ook Yahoo!) tegen je website aan kijkt. Hier zijn een aantal tools voor:

  • Firebug is een onmisbare add-on voor Firefox als je bezig gaat met het ontwikkelen en optimaliseren van een website. Het stelt je in staat om makkelijk naar het stukje broncode te springen dat verantwoordelijk is voor een bepaald onderdeel op de pagina waar je naar kijkt. Klik met de rechter muisknop op het stuk dat je wilt bekijken en selecteer ‘Inspect Element’.
  • Een plugin voor Firebug die je informatie geeft over de snelheid van je pagina en wat je eraan kunt doen is Google’s Page Speed extension. Door deze plugin te installeren verschijnt er een extra tabje in de Firebug interface. Je kunt klikken op ‘Ananlyze performance’, waarna Page Speed gaat kijken waar je website verbeteringen kan gebruiken.
  • Yslow van Yahoo! is een vergelijkbare plugin voor Firebug. Deze plugin laat zien hoe Yahoo! naar uw website kijkt en welke verbeteringen Yahoo! voorstelt.

Sprites

Bij het optimaliseren van de website van Tuxis kwam een punt naar voren waarvan het niet direct duidelijk was wat er bedoeld werd: “Combine images into CSS sprites”. Ik kwam er niet goed achter wat die ‘CSS sprites’ precies waren. Verder onderzoek wees uit dat de plaatjes die op de site van Tuxis gebruikt worden om de blauwe lijnen te maken gecombineerd moesten worden. Dat scheelt in het laden van de website, omdat ieder onderdeel van de website dat apart geladen moet worden (zoals elk plaatje) tijd kost. Iedere keer moet immers aan de webserver gevraagd worden: “Mag ik dat bestand aub?”.

Leuk, maar hoe maak je dan zo’n sprite? Hoe combineer je die plaatjes in een enkel plaatje, en hoe pas je de CSS daarop aan? De website spriteme.org biedt uitkomst! Door de ‘SpriteMe’-link op die site aan je bookmarks toe te voegen kun je iedere site testen of sprites mogelijk zijn. Dat niet alleen, het kan ook nog het benodigde plaatje produceren en aangeven hoe je dat in CSS moet verwerken.

Zo kwam onderstaand plaatje uit de voorstellen van spriteme.org:

Spriteme.org uitkomst

Dat is dus één verzoek aan de webserver, in plaats van vier. En zo kunnen alle kleine beetjes helpen.

Browser caching

Een andere veel voorkomende tip is het verbeteren van caching door de browser. Hierdoor weet de browser beter hoe lang hij bepaalde dingen mag onthouden. Doordat hij dingen onthoudt gaat hij niet aan de webserver vragen of iets nog geüpdatet is en dat scheelt weer tijd.

Het opgeven van deze waarden moet door de webserver gedaan worden. Hoe je dat het makkelijkst kunt doen? Voor Apache bestaat daarvoor mod_expires. Mits mod_expires geladen wordt door de webserver, kun je de instellingen hiervan doen via de .htaccess bestanden.

Nginx heeft geen ondersteuning voor .htaccess bestanden. Daar moet het in de

server {}

definitie van de webserver met het add_header commando. Bijvoorbeeld:

add_header  Cache-Control "max-age=86400, public, public";

Dit zorgt ervoor dat de bestanden die door deze webserver geserveerd worden maximaal 1 dag onthouden mogen worden door de browser.

Minify CSS, Javascript en HTML

‘Minify’ staat voor het verwijderen van alle onnodige spaties en regeleinden in een stuk code. Bijvoorbeeld:

// how many times shall we loop? 
var foo = 10;
 
// what message should we use? 
var bar = 'Encosia';
 
// annoy our user with O(foo) alerts! 
for (var i = 0; i < foo; i++) { 
  alert(bar); 
}

wordt:

var foo=10;var bar='Encosia';for(var i=0;i<foo;i++){alert(bar);}

Lijkt niet zo zinnig, maar het is toch 194 bytes in de eerste situatie tegen 65 bytes in de tweede. Trek dit verschil eens naar een stuk Javascript- of CSS-bestand van 2KB, dat scheelt wel degelijk!

Minimaliseren van CSS, Javascript en HTML is dan wel handig voor browsers, maar het is niet zo lekker om geminimaliseerde code te bewerken. Maar daar zijn dan weer handige tooltjes voor.

Zo maakt Tuxis bijvoorbeeld gebruik van Minify. Dit project bestaat uit een stukje PHP dat je kunt gebruiken in plaats van allerlei linkjes naar CSS- en Javascript-bestanden. In de bron van de website van Tuxis zie je het volgende staan:

<script defer type="text/javascript" src="http://5740e3.cdn.tuxis.nl/min/b=custom&f=equalcolumns.js,jquery.js,mbScrollable.js,jquery.cursorMessage.js,template-tuxis.js"></script>

Tuxis heeft Minify geinstalleerd in de directory /min en geeft een aantal bestanden op waarmee het moet werken. Minify leest de opgegeven bestanden, minimaliseert ze en combineert ze tot een enkel bestand. Ook wordt een gecomprimeerde versie van het bestand (gzip) gemaakt. Driedubbele winst dus:

  1. Eén verzoek aan de webserver in plaats van vijf
  2. 100KB Javascript in plaats van 112KB
  3. De originele bestanden kun je gewoon bewerken zoals je gewend bent

Hoe Tuxis haar klanten helpt

Tuxis wil graag diensten leveren waardoor klanten zo min mogelijk hoeven te doen voor een zo goed mogelijk resultaat. Daarom is Tuxis bezig met het opzetten van een 'static content proxy'. Deze service stelt afnemers van Tuxis Webhosting in staat om in hun CMS of Webshop op te geven dat plaatjes, CSS- en Javascript-bestanden vanaf een andere plaats moeten worden geserveerd. Voor www.tuxis.nl is dat bijvoorbeeld http://5740e3.cdn.tuxis.nl/.

De 'static content proxy' haalt vervolgens het bestand op vanaf uw eigen website en slaat die gedurende 1 uur op op een geheugendisk. Deze disk is vele honderden keren sneller dan een gewone harde schijf.

Daarnaast wordt er gebruik gemaakt van een andere webserver die vele malen sneller is dan de Apache webserver waarop de website normaal gesproken draait. Door de verschillen in features tussen de twee webservers kan Apache helaas niet vervangen worden.

Ook worden de waarden voor browser caching automatisch goedgezet. U hoeft daar dus niet meer naar om te kijken.

De browser kan, doordat gebruik wordt gemaakt van twee verschillende 'sites' waarvandaan uw website komt, de pagina sneller binnenhalen omdat er twee aparte verbindingen opgezet worden. Dit wordt parallel gedaan, in plaats van serieel zoals bij een enkele website.

Maar helpt het ook echt?

Jazeker! Voordat Tuxis begon met het optimaliseren van de website haalde het in de score van Google PageSpeed een score van ongeveer 70. Op dit moment is de score 92 van de 100. Het kan dus bijna niet beter.

Vragen over deze nieuwe service of de Webhostingdienst van Tuxis? Neem contact met ons op!

Makkelijk back-ups maken voor Ubuntu met Déjà Dup

Hoewel Tuxis niet 100% overtuigt is van de nieuwe interface van Ubuntu (Unity), heeft Ubuntu 11.10 wel wat anders dat een flinke verbetering is: Déjà Dup

Déjà Dup kan naadloos aansluiten op de online back-updienst van Tuxis. Door deze twee producten te combineren ontstaat een extreem eenvoudige manier om je Ubuntu desktop veilig te back-uppen.

Déjà Dup is eigenlijk een grafische schil om het programma Duplicity. Duplicity maakt (als dat gewenst is) versleutelde back-ups. Het is mogelijk om volledige back-ups te maken, maar ook incrementele. En dat scheelt in de hoeveelheid dataverkeer die nodig is.

Met Déjà Dup hoef je hier niet over na te denken, die maakt af en toe een volledige back-up en regelmatig incrementele. Hiermee voorkomt het dat je grote problemen hebt als je (enige) volledige back-up corrupt is.

Configuratie

Het configureren van Déjà Dup is een makkie. Als je een standaard desktop van Ubuntu 11.10 voor je hebt, klik je in de balk aan de linkerkant van het scherm op ‘System Settings’.

In het scherm dat dan verschijnt staat links onderin een icoontje met het onderschrift ‘Backup’. Ook hier klikken we op.
We krijgen nu het overzichtsscherm van Déjà Dup. We kunnen kiezen uit het herstellen van bestanden die al in de back-up staan, of het instellen van de back-up. Omdat we nog geen instellingen hebben gedaan, klikken we natuurlijk op ‘Just show my backup settings’.

We krijgen een overzichtsscherm waar we de huidige instellingen zien. Standaard wil Ubuntu natuurlijk naar Ubuntu One back-uppen, dus dat gaan we aanpassen. We klikken op ‘Storage’.

Bij ‘Backup location’ klikken we op het pijltje aan de rechterkant, en kiezen we ‘FTP’. (Om de een of andere reden lijk je dit twee keer te moeten doen). We kunnen nu de instellingen van Tuxis Online Back-up invoeren:

  • Server: backup.tuxis.nl
  • Port: 21
  • Folder: /
  • Username: je Tuxis Back-up gebruikersnaam

Als je wilt kun je in het scherm ‘Folders’ nog wat specifieker instellen welke mappen je wilt back-uppen, of welke juist niet. Standaard wordt de je hele gebruikersmap exclusief ‘Trash’ en ‘Downloads’ geback-upt.

Terug naar het schermpje ‘Overview’ zie je nu dat de instellingen aangepast zijn. Door op het schuifje bij ‘Automatic backups’ te klikken kun je zorgen dat Déjà Dup wekelijks back-ups maakt zonder dat je ernaar om hoeft te kijken. Wil je vaker back-uppen? Pas dan de instellingen in het scherm ‘Schedule’ aan.

Als je erop klikt, zal er links in de taakbalk een icoontje gaan schommelen, vragend om aandacht. Als je daarop klikt word je om een wachtwoord gevraagd. Het gaat hier om het wachtwoord voor FTP-toegang bij Tuxis.

De volgende vraag is een verzoek om een wachtwoord voor de versleuteling. ONTHOUDT DIT WACHTWOORD GOED, ZONDER DIT WACHTWOORD KUN JE GEEN BESTANDEN HERSTELLEN! Déjà Dup maakt nu z’n eerste back-up!

Bestanden herstellen

Makkelijk bestanden kunnen back-uppen is natuurlijk leuk, maar vaak niet echt het probleem. Het herstellen van verloren/beschadigde bestanden moet zo makkelijk mogelijk zijn. Déjà Dup slaagt er goed in dit erg makkelijk te maken.

Zoals je ziet wordt het bestand ‘hallowereld.odt’ verwijderd. En dat terwijl het een enorm belangrijk bestand is! ;).

Het herstellen van dit bestand is kinderlijk eenvoudig. In het scherm waar het bestand stond, klikken we met de rechter muisknop en kiezen we de optie ‘Restore missing files’. Déjà Dup gaat scannen in de back-up en vergelijkt de huidige directory met de directory in de back-up. Hij ziet vrij snel dat ‘hallowereld.odt’ niet meer in de huidige directory staat en dit bestand kunnen we dan ook selecteren om te herstellen. Na een klik op ‘Forward’ gaat Déjà Dup aan de slag en laat weten dat de restore gelukt is.

Terug naar een vorige versie

Het is ook mogelijk om terug te gaan naar een vorige versie van een bestand. Het bestand ‘hallowereld.odt’ is even aangepast zodat hij anders is dan de vorige keer en er is een nieuwe back-up gemaakt. Als we met de rechter muisknop klikken op het bestand, zien we de optie ‘Revert to Previous Version…’. Déjà Dup vraagt je waarvandaan het herstellen gedaan moet worden, in de meeste gevallen zal een klik op ‘Forward’ voldoende zijn. Vervolgens gaat Déjà Dup op zoek naar back-ups waar dit bestand in zit en daar kun je dan uit kiezen. Klik op ‘Forward’, bekijk in de samenvatting of alles klopt en klik op ‘Restore’. Déjà Dup doet z’n ding, en je bestand zoals je hem wilde hebben is weer terug.

Conclusie

Ubuntu heeft er goed aan gedaan om Déjà Dup als standaard back-upprogramma in Ubuntu 11.10 te stoppen. Het werkt goed, je bestanden zijn veilig en het is kinderlijk eenvoudig om bestanden terug te zetten. Helaas is het nog niet zo makkelijk om ditzelfde truukje in Ubuntu 10.04 (de LTS-versie) te doen. Het maken van een back-up is daar in principe net zo makkelijk, maar Déjà Dup zit daar nog niet zo in de filemanager verwerkt. Het restoren van individuele bestanden moet dan nog via een terminal. Nog steeds niet erg ingewikkeld voor sommige gebruikers, maar voor de massa sub-optimaal. Laten we hopen dat dit wel in een update gestopt wordt.

Nieuwe actie: Webshop hosting all-in

De zomer is helaas voorbij. Het mooie weer (voor zover aanwezig) kunnen we waarschijnlijk wel even vergeten. Tijd voor een goeie actie van Tuxis dus!

Een nieuw seizoen, een nieuwe actie. De “Webshop hosting all-in”-actie. Een ideale actie voor Tuxis om zich te verbergen op kantoor, lekker warm en beschut van het herfstweer. Tuxis geeft de migratie of installatie van uw webshop namelijk gratis weg bij deze actie. Evenals het SSL-certificaat dat bij een webshop toch echt wel een must is.

Al met al wordt u dus voorzien van een complete webshop-omgeving, zonder hoge eenmalige kosten en zonder moeite. Tuxis regelt het helemaal voor u. Lees verder op de actiepagina:

Leuker kunnen we het niet maken, wel makkelijker!

Afgelopen week is Tuxis overgestapt op een nieuw facturatiepakket, WeFact.

Het is een webbased facturatiepakket, met een API waardoor we vanuit ons eigen administratiepakket facturen kunnen maken, aanpassen en tonen.

Zo kunnen klanten in de komende weken via de Tuxis Beheer pagina’s hun nieuwe facturen inzien. Ook welke diensten afgenomen worden is dan direct inzichtelijk.

Betaling: automatische incasso en iDeal

Naast nieuwe facturen is er meer nieuws. Tuxis kan nu ook via automatische incasso afschrijven (Download het formulier) en kan men via iDeal gaan betalen. In de e-mail waaraan de factuur hangt zal een link verschijnen waarmee direct via iDeal betaald kan worden. Ook in de beheerpagina’s zal een dergelijke link zichtbaar worden bij onbetaalde facturen.

Niet leuker, wel makkelijker

Hoewel het betalen van facturen nooit leuk is, probeert Tuxis het op deze manier toch zo makkelijk mogelijk te maken. Om de Belastingdienst maar even na te praten:

Leuker kunnen we het niet maken, wel makkelijker

Nieuw – Chat met Tuxis via de website

Afgelopen weekend heeft Tuxis een IRC-kanaal opgezet op het OFTC-netwerk. IRC wordt door miljoenen mensen gebruikt om te chatten.

Via de IRC-pagina kun je direct in contact komen met Tuxis en vragen wat je wilt. Er zal niet 24×7 iemand aanwezig zijn, maar je kunt altijd nog even terugkomen om te kijken of we er wel zijn.

Kom een keer buurten! Wil je niet via deze pagina op IRC, maar liever via je eigen IRC-client?:

Netwerk: irc.oftc.net
Kanaal: #tuxis

Bandbreedtepakketten, hoe werken die eigenlijk?

Colocatieklanten van Tuxis hebben een handige manier voor handen om bandbreedte in te kopen. In plaats van een X hoeveelheid per machine af te (moeten) nemen, neem je Y hoeveelheid af, per wat je wilt. Maar hoe werkt dat nou precies? En waarom is dat zo’n goed idee?

Bij veel colocatiebedrijven wordt het afnemen van bandbreedte ‘makkelijk’ gemaakt. Je hangt een machine op en daarbij ‘krijg’ je 500GB verkeer. Je betaalt het natuurlijk wel, maar dat zie je niet. En als je nu geen 500GB nodig hebt? Mja, dan heb je het toch (betaald).
Wil je nog een machine ophangen? Natuurlijk kan dat; hoppa, hier heb je weer 500GB.

Bij Tuxis neem je een bandbreedte-pakket af. Je kunt kiezen of je in gigabytes of megabits wilt afnemen, en hoeveel je daar dan van wilt. Dat pakket is voor jou als klant beschikbaar. Je hangt vervolgens je eerste machine op en die draait lekker.
Vervolgens blijkt dat je nog een machine nodig hebt en je neemt contact met ons op om een nieuw colocatiecontract te regelen, en hier treedt het verschil met de rest op. Je hoeft nu geen nieuw bandbreedte-pakket af te nemen. Die heb je immers al. Tuxis zorgt dat de netwerkpoort van je nieuwe machine (de poort hoort bij de colocatiedienst, niet bij de netwerkdienst) in je bestaande bandbreedte-pakket wordt opgenomen en gaat daar automatisch in meetellen.

Heb je meer bandbreedte nodig? Dan verhoog je gewoon je commitment op je bandbreedte-pakket. En heb je meer machines nodig? Die kunnen allemaal gewoon in het pakket erbij gezet worden.

In de Tuxis beheerpagina’s kun je probleemloos zien welke machine/poort hoeveel verkeer heeft veroorzaakt. Dat is bijvoorbeeld ideaal voor partijen die wel dedicated machines willen verkopen, maar opzien tegen de kosten van een eigen netwerk en eigen colocatieruimte.

Ja, door deze constructie lijkt het een ingewikkelde dienst. Maar tegelijk kun je goed besparen als je meerdere machines hebt, of als je colocatie wilt resellen. Ik hoop dat deze blogposting het een en ander verduidelijkt. Zo niet, info@tuxis.nl staat altijd open voor aanvullende vragen!

IPv-wattus? (Of, wat is IPv6?)

“IPv6? Wat is dat!?” is een veelgehoorde reactie als Tuxis over IPv6 begint. Vandaag zag ik een linkje naar een grappige poster voorbij komen die het wel grappig uitbeeld.

De poster komt bij Rackspace.com vandaan, een grote amerikaanse hosting- en colocatieprovider. De poster legt met een paar leuke comics en opmerking uit dat IPv6 helemaal niet zo spannend is, gewoon wat nieuws is en dat je je er niet druk over hoeft te maken.

En zo is het maar net. Ook bij Tuxis hoef je je niet druk te maken over IPv6. Het is er, het staat aan, je kunt het gebruiken. Zoals de poster zegt: “Don’t worry folks… There are internet professionals that will take care of IPv6 for you.”

Tuxis kan ook IPv6 voor uw web- en serverhosting realiseren. Interesse? Neem contact met ons op!

Tuxis slaat aan het bloggen

Een blog, echt?! Weer een?

Ja! Weer een blog op het internet, van Tuxis Internet Engineering. Omdat het kan, en omdat het handig en verstandig is!

Een blog geeft je als bedrijf namelijk een mooie manier om te laten zien waar je mee bezig bent, wat je van plan bent en hoe je tegen zaken aankijkt.

In de komende maanden staat er een hoop op de planning voor Tuxis en zijn toekomstige klanten. Aan het einde van het jaar gaat Tuxis naast Fiber to the Office ook Fiber to the Home leveren. Aan particulieren dus. Eindelijk weer eens een provider voor consumenten die z’n klanten wel serieus neemt, die techniek voorop stelt en dus ook zorgt dat die (nieuwste) techniek zo feilloos mogelijk werkt.

Zo zal Tuxis altijd IPv6 leveren op de verbindingen en alle bijgeleverde diensten. Niet alleen omdat het kan, maar ook omdat het hoognodig is dat de mensen thuis ervan horen en zich bewust zijn van waar het internet mee bezig is.

Naast Fiber to the Home/Office moeten er natuurlijk ook nieuwe diensten ontwikkeld worden die naadloos aansluiten op de nieuwe mogelijkheden die fiber biedt. Wat dacht je van een harddisk in het datacenter in plaats van in je eigen PC? Je data staat (volgens taalpuristen is het trouwens ‘je data staan’, wat vinden jullie?) altijd in een veilige ruimte, met back-ups en als klap op de vuurpijl kun je altijd bij je bestanden! (Kleine voorwaarde, je moet de beschikking over een internetverbinding hebben.)

Hoe dan ook, een hoop nieuwe dingen waar ook een hoop voor moet worden uitgezocht. Tuxis zal op deze blog laten weten welke keuzes er gemaakt worden, waarom en wat de gevolgen zijn.

Met dit artikel heeft het nut van dit zoveelste blog zich alweer bewezen. Dit verhaal had ik nergens anders op de site kunnen laten. 🙂

OTRS in Nginx met FCGI

OTRS is een Trouble Ticketing Systeem wat erg uitgebreid is. Het is geschreven in Perl, wat een heel aantal voordelen heeft, maar vooral op het gebied van performance is dat een nadeel.
Een oplossing daarvoor is om OTRS in mod_perl te draaien. Daar gaat de performance van OTRS behoorlijk van vooruit, maar ook mod_perl brengt weer een nadeel met zich mee. Het is namelijk niet te combineren met mod_itk, een module om verschillende sites als verschillende gebruikers te laten draaien. Als je dus mod_perl zou kiezen ben je genoodzaakt om alles als www-data (of het equivalent in jouw distributie) te laten draaien.

Ik ben op zoek gegaan naar een oplossing om OTRS snel te laten draaien, maar wel met de mogelijkheid om OTRS als aparte user te draaien.
OTRS heeft zelf al rekening gehouden met de mogelijkheid om fcgi te gebruiken, maar de documentatie daarvan is erg beperkt en leverde mij niet het gewenste resultaat. Vooral het draaien als aparte user lijkt een uitdaging te zijn.
Ik ben uiteindelijk uitgekomen bij Nginx (een andere webserver zal waarschijnlijk ook prima voldoen) in combinatie met spawn-fcgi. Deze how-to gaat uit van Ubuntu en gaat alleen in op het installeren van OTRS voor wat betreft de webserver configuratie.

Installatie

  • Software:

    We maken naast wat programma’s die wel in Ubuntu zitten ook gebruik van multiwatch. Daar is wel een apt-repository voor beschikbaar. Voeg die als volgt toe aan je systeem:

    root@otrs:~# wget -O /etc/apt/sources.list.d/multiwatch.list http://www.tuxis.nl/uploads/howtos/otrs-fcgi/multiwatch.list
    root@otrs:~# apt-key adv --keyserver keys.gnupg.net --recv-keys 80121CD2479689D8
    root@otrs:~# apt-get update

    Installeer nu alle software:

    root@otrs:~# apt-get install mysql-server nginx spawn-fcgi libnet-dns-perl libio-socket-ssl-perl libnet-ldap-perl libgd-text-perl libgd-graph-perl libpdf-api2-perl libsoap-lite-perl libuser libcgi-fast-perl multiwatch
  • OTRS:
    • Maak een nieuwe gebruiker voor OTRS aan:
      root@otrs:~# adduser otrs --disabled-login
      Adding user `otrs' ...
      Adding new group `otrs' (1001) ...
      Adding new user `otrs' (1001) with group `otrs' ...
      Creating home directory `/home/otrs' ...
      Copying files from `/etc/skel' ...
      Changing the user information for otrs
      Enter the new value, or press ENTER for the default
              Full Name []: OTRS Webuser
              Room Number []: 
              Work Phone []: 
              Home Phone []: 
              Other []: 
      Is the information correct? [Y/n] y
      
    • Zorg nu dat je de nieuwe gebruiker wordt en download OTRS en pak het uit. Maak een symlink met de naam ‘otrs’, zodat je bij upgrades niet allemaal zaken hoeft te wijzigen. Zorg ook dat Kernel/Config.pm bestaat, en zorg dat het path naar OTRS daar juist staat.
      root@otrs:~# su - otrs
      otrs@otrs:~$ wget http://ftp.otrs.org/pub/otrs/otrs-2.4.7.tar.bz2
      otrs@otrs:~$ tar xjvf otrs-2.4.7.tar.bz2
      otrs@otrs:~$ ln -s otrs-2.4.7 otrs
      otrs@otrs:~$ mv otrs/Kernel/Config.pm.dist otrs/Kernel/Config.pm
      
    • Edit otrs/Kernel/Config.pm en zet het path juist, in dit geval “/home/otrs/otrs/”

Configuratie

Spawn-fcgi wordt niet per request gestart. Het doel is namelijk performance, en het iedere keer opnieuw starten van ‘index.pl’ is niet efficient. Dus moeten we van tevoren spawn-fcgi alle benodigde processen laten starten.
Je kunt daarvoor een eigen script maken maar je kunt ook dit script gebruiken. Het zorgt dat voor de gebruiker(s) die je opgeeft netjes de Nginx- en de Fcgi-setup gedaan wordt. Het gaat uit van Upstart van Ubuntu dus als je op een ander operatingsystem zit kan het niet zo goed werken..

Draai nu het script voor de gebruiker die je hebt aangemaakt. Het kan zijn dat het vraag om de hostname als wie je wilt dat de vhost draait:

root@otrs:~# ./ngfcgiotrs otrs
Created upstart config for customer.pl
Created upstart config for index.pl
Created upstart config for installer.pl
Created upstart config for public.pl
Starting service: customer.pl ... index.pl ... installer.pl ... public.pl ... Create vhost-config for otrs.tuxis.net

Er zijn nu voor iedere file in fcgi-bin upstart jobs aangemaakt. Dat houdt in dat deze altijd blijven draaien, ongeacht of de webserver draait. Als een proces crasht, zal een nieuw proces in de plaats gestart worden. Je kunt de files terugvinden in:

  • /etc/init/otrs/otrs/index.pl.conf
  • /etc/init/otrs/otrs/installer.pl.conf
  • /etc/init/otrs/otrs/customer.pl.conf
  • /etc/init/otrs/otrs/public.conf
  • /etc/nginx/sites-available/<vhost-naam>

Nu is het alleen nog een kwestie van de vhost in nginx aanzetten, en OTRS kan geinstalleerd worden.

root@otrs:~# cd /etc/nginx/sites-enabled/
root@otrs:/etc/nginx/sites-enabled# ln -s ../sites-available/otrs.tuxis.net 
root@otrs:/etc/nginx/sites-enabled# /etc/init.d/nginx restart
Restarting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
nginx.

Na de installatie draait OTRS volledig. Als het nodig is om de fcgi-services te stoppen of te starten, kun je dat doen met:

root@otrs:~# stop otrs/$username/index.pl
root@otrs:~# start otrs/$username/index.pl

Waar $username uiteraard de gebruiker is van wie je de service wilt herstarten.

installer.pl heeft een aangepaste versie van het init-script, waardoor het niet automatisch zal starten na de installatie. Als je de installatie nog eens nodig hebt of je wilt een upgrade doen, dan kun je de installer weer beschikbaar maken door het volgende te typen:

root@otrs:~# start otrs/$username/installer.pl

Automatisch PGP keys importeren vanuit maildrop

Het kan soms handig zijn om automatisch PGP-keys te importeren op het moment dat je ze binnenkrijgt. Als je bijvoorbeeld GPG in OTRS aangezet hebt, is het lastig om iedere keer op een shell op de betreffende server in te loggen om de key te downloaden.

Door middel van maildrop (of procmail, maar de laatste versie daarvan is uit 2001) kun je op het moment van afleveren proberen die keys automatisch te downloaden. Je kunt dat met onderstaand script doen. Je moet hier uiteraard wel een mailserver hebben die maildrop ondersteunt.

if (/.*BEGIN PGP SIGNATURE.*/:b)
{
    foreach /^From: (.*)$/
    {  
        foreach (getaddr $MATCH) =~ /.+/
        {  
            flock "gnupg.lock" {
                `grep -iqx "$MATCH" senders.txt 2>/dev/null || { 
                echo "$MATCH" >> senders.txt ; 
                SENDERKEY=$(gpg --batch --no-tty --search-key "$MATCH"  | tr 'n' ' ' 
                    | sed -e 's/.*key ([0-9A-F]+).*/1/'); 
                gpg --recv-keys --batch --no-tty "$SENDERKEY"; 
                exit 1; 
                }`
            }
        }
    }
}