WordPress Multisite med LightTPD

WordPress (WP) är utan tvekan det bästa bloggverktyget idag. Men WP är mycket mer än så, rätt konfigurerat fungerar WP alldeles utmärkt som hemsida till företaget. I den här artikeln kommer jag att berätta om hur man installerar och konfigurerar en litet speciell  WP som stöder flera versioner av bloggar (Multisite) som också har stöd för flera språk och egna domäner, cachning i Memcache och APC, och hur man kör alltihopa  på webbservern LightTPD. Om man inte vill använda någon av funktionerna lämnar man helt enkelt bort denna.

I standardinstallationen av WP används Apache som webserver. Apache är självfallet en mycket bra produkt, men är också väldigt resurskrävande. Genom att i stället använda LightTPD kan vi spara en hel del på hårdvaran och samtidigt få betydligt snabbare svarstider mm. Nackdelen är att LightTPD inte har stöd för Apaches .htpasswd, vilket innebär att reglerna för permalänkar måste översättas till LightTPD:s rewrite funktion.

Ett effektivt sätt att få upp farten i WP är att cacha. Jag använder APC för PHP scripten och Memcache för innehållet. I båda fallen gäller det att konfigurera minnesanvändningen efter det faktiska behovet. Båda tjänsterna har vardera en utmärkt webbaserad kontrollpanel som kan installeras i din webbplats och ger dig bra statistikunderlag samt även möjliggör manuell fluch av cache om det behövs.

Vad gäller databasvalet fungerar alla typer av MySQL, inklusive MariaDB och Percona. Det man dock behöver fundera litet närmare på är vilken databasmotor man vill använda. Eftersom WP inte har något behov av transaktioner fungerar det alldeles utmärkt med MyISAM. Men i installationer med ett stort antal inlägg kan InnoDB (XtraDB) absolut rekommenderas. Det viktiga dock är att alltid konfigurera MySQL ordentligt i enlighet med den hårdvara man tänker köra på då de konfigurationsförslag som följer med är minst sagt konservativa.

Jag hara bara installerat det här i Linux, men eftersom anvisningarna är generella bör det fungera även i Windows eller Mac.

Gör så här (läs både det här om mina länkar innan du börjar fixa):

  1. Konfigurera en wildcard-domän i ditt DNS, ex ”*.mindomain.com”. WP:s standardblogg kommer då att nås via ”mindomain.com” enligt exemplet, alla övriga bloggar kommer att nås med ”bloggnamn.mindomain.com”. Alla bloggar kommer självfallet att ha stöd för helt egna domäner om man vill ha det, mer om detta längre fram.
  2. Installera och konfigurera den MySQL-version du föredrar om du inte redan har gjort detta. Skapa en databas för ”WP”, tex ”wordpress”.
  3. Installera och konfigurera LightTPD om du inte redan har gjort detta. Rekommendationen är att låta WP vara den  enda webbplatsen (default), annars skapa en ny virtuell webbplats för WP som svarar på alla de domäner du tänker anvånda för din WP installation. Lägg till följande i lighttpd.conf (kräver ”mod_rewrite”) för din WP webbplats:

    url.rewrite-once = (
    ”^/(wp-.*)$” => ”$1”,
    ”^/favicon.ico$” => ”$1”,
    ”^/([_0-9a-zA-Z-]+/)?(.*\.php)$” => ”$2”,
    ”(\?.*)$” => ”index.php$1”,
    ”.” => ”index.php”
    )

  4. Installera och konfigurera Memcache om du inte redan har gjort detta.
  5. Installera och konfigurera PHP 5.3 om du inte redan har gjort detta. Du behöver stöd för MySQL, APC och Memcache och de tillägg du tänker köra, en bra lista hittar du här.
  6. Ladda ned, packa upp och installera den senaste stabila versionen av WP. Allt du behöver hittar du här.
  7. Lägg till följande i din ”wp-config.php” (OBS ange din domän i stället för ”mindomain.com”):

    define(‘WP_ALLOW_MULTISITE’, true);
    define(‘MULTISITE’, true);
    define(‘SUBDOMAIN_INSTALL’, true);
    define(‘DOMAIN_CURRENT_SITE’, ‘mindomain.com’);
    define(‘PATH_CURRENT_SITE’, ‘/’);
    define(‘SITE_ID_CURRENT_SITE’, 1);
    define(‘BLOG_ID_CURRENT_SITE’, 1);
    define(‘SUNRISE’, ‘on’);
    define(‘WP_CACHE’,true);

  8. Installera WP plugins ”WordPress Language”, ”WordPress MU Domain Mapping” och ”WP-FFPC” genom att packa upp dem i ”./wp-content/plugins” mappen. Logga in som superuser i WP och aktivera alla för network. OBS! Läs installations och konfigurationsanvisningarna för varje plugin innan du installerar dem och följ konfigurationsanvisningarna.
  9. I Permalinks Settings bör nu typen ”/%year%/%monthnum%/%day%/%postname%/” vara aktiverad. Om inte så byt till denna, ändra inte till något annat (LightTPD regeln stöder endast den här typen).

Om allt har gått bra har du nu en WordPress installation som:

  • har bloggnätverk, dvs du kan lägga upp ett obegränsat antal bloggar som alla kan konfigureras centralt och/eller individuellt efter behov
  • stöder samtliga språk det finns översättningar för till WP
  • medger egna domäner till alla bloggar
  • har Permalinks, snyggt och SEO vänligt
  • är en resurssnål och snabb webbplats
Annonser
Tagged with: , , , ,
Publicerat i Bloggverktyg
Erik Schütten

Hej! Jag heter och är bosatt på Åland, bekvämt mittemellan Sverige och Finland.

Jag har jobbat med IT i drygt 30 år och är bla delägare i ett internationellt mjukvaruföretag där jag ansvarar för den tekniska driften och -utvecklingen (Vice President of Technology).

Behöver du kvalificerad hjälp med din IT verksamhet? Fråga Erik! Du når mig via erik@scab.ax. Mer info om mina tjäntser hittar du på www.scab.ax.

Linkedin Twitter Facebook Google+ RSS

Ange din e-postadress för att följa denna blogg och få meddelanden om nya inlägg via e-post.

QR-code
About Erik Schütten
Senior IT expert with 30 years of experience in designing, implementing and managing IT systems and staff. Follow Erik Schütten on Google+, Twitter and Facebook