Aktionen

APC Cache mit Plesk und die APC-Admin-Seite

Aus znilwiki

Warning.png
Warnung: Vergesst diesen Artikel! Nachfolgende beschriebene Anleitung richtet zwar den APC ein ... es fnktioniert aber NICHT da Plesk am System vorbei arbeitet


Da XCache mit Plesk scheinbar nicht funktioniert nehmen wir eben APC! mag mein Mediawiki genauso gern.

Installation unter Ubuntu Linix 12.04.x LTS mit Plesk 12:

pecl install apc

Er fragt dann einiges - jedesmal einfach Enter bzw. Return bestätigen!

Dann ein

nano /etc/php5/conf.d/apc.ini

Die Datei ist leer - denn diese gibt es noch nicht. Fügt einfach folgende Zeilen ein:

extension=apc.so
apc.enabled=1
apc.shm_size=256M

Das aktiviert APC und setzt einen 256MByte großen Cache - den Wert könnt ihr ggf. noch anpassen.
Ein Liste mit allen möglichen Werten findet Ihr unter http://us3.php.net/manual/en/apc.configuration.php

Jetzt noch ein

service apache2 restart

Und der Cache läuft (und funktioniert!)

Nun könnt Ihr danach euch auch noch die APC-Webseite - auf der man den Erfolg begutachten kann - einrichten - das war etwas knifflig denn ich habe es wieder ums verderben nicht geschafft mich an der Seite dann anzumelden ...
Ihr braucht entweder eine Subdomain oder eine normale Domain in die es mit rein soll.
In den Ordner dieser Domain kopiert Ihr die eine(!) einzelne apc.php:

cp /usr/share/php/apc.php /var/www/vhosts/eure.domaene/euerVerzeichnis

zum Beispiel

cp /usr/share/php/apc.php /var/www/vhosts/h2321041.stratoserver.net/apc.znil.net

Die Datei muss dem Plesk-Benutzer des Webspace gehören, also noch den Besitzer anpassen:

chown -R manfred:psaserv /var/www/vhosts/h2321041.stratoserver.net/apc.znil.net/apc.php

nun bearbeitet Ihr die apc.php:

nano /var/www/vhosts/h2321041.stratoserver.net/apc.znil.net/apc.php

Und sucht folgende Zeilen:

//defaults('DATE_FORMAT', "d.m.Y H:i:s"); // German
defaults('DATE_FORMAT', 'Y/m/d H:i:s');       // US

ändert Ihr zu

defaults('DATE_FORMAT', "d.m.Y H:i:s"); // German
//defaults('DATE_FORMAT', 'Y/m/d H:i:s');       // US


Und dann noch:

// authentication needed?
//
if (!USE_AUTHENTICATION) {
        $AUTHENTICATED=1;
} else {
        $AUTHENTICATED=0;
        if (ADMIN_PASSWORD!='password' && ($MYREQUEST['LO'] == 1 || isset($_SERVER['PHP_AUTH_USER']))) {

                if (!isset($_SERVER['PHP_AUTH_USER']) ||
                        !isset($_SERVER['PHP_AUTH_PW']) ||
                        $_SERVER['PHP_AUTH_USER'] != ADMIN_USERNAME ||
                        $_SERVER['PHP_AUTH_PW'] != ADMIN_PASSWORD) {
                        Header("WWW-Authenticate: Basic realm=\"APC Login\"");
                        Header("HTTP/1.0 401 Unauthorized");

                        echo <<<EOB
                                <html><body>
                                <h1>Rejected!</h1>
                                <big>Wrong Username or Password!</big><br/>&nbsp;<br/>&nbsp;
                                <big><a href='$PHP_SELF?OB={$MYREQUEST['OB']}'>Continue...</a></big>
                                </body></html>
EOB;
                        exit;

                } else {
                        $AUTHENTICATED=1;
                }
        }
}

Ändern in

// authentication needed?
//
/*if (!USE_AUTHENTICATION) {
        $AUTHENTICATED=1;
} else {
        $AUTHENTICATED=0;
        if (ADMIN_PASSWORD!='password' && ($MYREQUEST['LO'] == 1 || isset($_SERVER['PHP_AUTH_USER']))) {

                if (!isset($_SERVER['PHP_AUTH_USER']) ||
                        !isset($_SERVER['PHP_AUTH_PW']) ||
                        $_SERVER['PHP_AUTH_USER'] != ADMIN_USERNAME ||
                        $_SERVER['PHP_AUTH_PW'] != ADMIN_PASSWORD) {
                        Header("WWW-Authenticate: Basic realm=\"APC Login\"");
                        Header("HTTP/1.0 401 Unauthorized");

                        echo <<<EOB
                                <html><body>
                                <h1>Rejected!</h1>
                                <big>Wrong Username or Password!</big><br/>&nbsp;<br/>&nbsp;
                                <big><a href='$PHP_SELF?OB={$MYREQUEST['OB']}'>Continue...</a></big>
                                </body></html>
EOB;
                        exit;

                } else {
                        $AUTHENTICATED=1;
                }
        }
}
*/
$AUTHENTICATED=1;


Damit seit Ihr dann IMMER angemeldet. Wir haben die Authentifizierung umgangen (weil irgendetwas es uns unmöglich macht das Passwort richtig einzutippen)

Nun könnt Ihr im Webbrowser euch die Status-Webseite zu APC Cache ansehen:

http://h2321041.stratoserver.net/apc.php
http://apc.znil.net/apc.php
APCCache-001.png



Tja ... aber das da nun jeder ran kann ist doch blöd?
ja ist es - aber wir sichern das einfach über die Plesk-Oberfläche ab!
Geht in Plesk in die Übersicht der Domänen Websites & Domains und klickt die Domäne an zu welcher der Ordner mit der apc.php gehört.
Dann geht dort auf Passwortgeschütze Verzeichnisse
Dort fügt Ihr erst das Verzeichnis hinzu

/apc

wenn es in einem Unterorder liegt (Aufruf mit .../apc) oder nur

/

wenn diese direkt im Hauptordner der Domäne liegen.
Wenn das Verzeichnis hinzugefügt ist, klickt es in der Liste unten an.
Im neuen Dialog könnt Ihr nun einen Benutzer hinzufügen. Und schon erscheint beim Aufruf der APC-Webseite ein Abfrage nach Benutzername und Passwort - und die funktioniert auch!


--Bernhard Linz 00:43, 18. Jul. 2014 (CEST)


Loading comments...