|
楼主 |
发表于 2003-4-18 00:02:01
|
显示全部楼层
费了半天劲,终于将apache2.045/php4.5dev/mysql4.1编译安装成功!
参考:http://lamps.efactory.de/lamps-2-0.shtml
LAMPS Tutorial 2.0 (v2.0.3)
Dies ist ein deutschsprachiges Tutorial zum Kompilieren, Installieren und Konfigurieren eines LAMPS Servers. Es wird unter anderem die Installation von Apache 2.0, Mod_Perl, PHP, Mod_SSL, MySQL, PostgreSQL und PDFLib in wenigen Schritten und anhand von Beispielen erläutert, sowie die Funktion der Komponenten getestet. Als Betriebssystem dient Linux. Das LAMPS Tutorial richtet sich an Webmaster und/oder Web-Entwickler, die ein Testsystem aufsetzen möchten.
Zur Installation eines LAMPS-Servers mit Apache 2.0 gab und gibt es im Netz fast kaum Tutorials und erst recht keine deutschsprachigen. Deshalb habe ich aus meinen Apache 1.x Tutorials und einigen Newsgroup-Beiträgen die entsprechende Installations-Anleitung erstellt.
Hierbei werden vermutlich längst noch nicht alle möglichen Probleme behandelt, aber es sollte zumindest dem einen oder anderen eine Hilfestellung geben können.
Falls das Tutorial Fehler enthält, bin ich für eine Mail an stengel@eFactory.de dankbar.
Neuerungen:
Neue Versionen von Apache, Mysql, PostgreSQL, mod_perl
1. Inhalt LAMPS Tutorial
1. Inhalt LAMPS Tutorial
2. Die Zutaten und wo man sie bekommt
Linux
Apache
MySQL
PostgreSQL
PHP
mod_perl
OpenSSL
PDFLib
3. Das Auspacken
4. Das Backen - kompilieren und installieren
MySQL
PostgreSQL
OpenSSL
Apache und SSL
PDFLib
PHP
mod_perl
Sonstiges und Konfiguration
2. Die Zutaten und wo man sie bekommt
Linux
Es ist grundsätzlich gleichgültig, welche Linux-Distribution verwendet wird. Ich habe das HowTo mit Mandrake 7.2 geschrieben und mit RedHat 7.0, 7.2, 7.3 und Debian 3.0 verifiziert. Eigentlich sollten alle großen Distributionen ab Version 6 problemlos funktionieren. (Alle mit glibc 6.0)
Die Installation erkläre ich hier nicht, da dies den Rahmen sprengen würde. In den meisten Fällen reicht jedoch einfaches "durchklicken", um zu einem lauffähigen Linux Serversystem zu gelangen. Sollte man etwas vergessen haben, kann man das Paket immer noch nachinstallieren.
Linux Distributionen auf Tucows
www.mandrake.com
www.redhat.de
www.suse.de
Nach oben
Apache 2.0.43
In jedem Fall benötigt wird der Apache Webserver. Zu dem Zeitpunkt, als ich dieses Tutorial geschrieben habe, war für den Apache 2 die Version 2.0.43 aktuell. Alternativ gibt es immernoch den 1.3.26 Apache der inzwischen fast komplett bugfrei sein sollte. Ältere Versionen sollten auf keinen fall verwendet werden, da diese bis 1.3.26 und 2.0.39 eine Sicherheitslücke beinhalten.
Apache Website
Download Apache Httpd 2.0.43 (4.2MB)
Nach oben
MySQL 3.23.53
Die MySQL Version, die ich momentan verwende, ist 3.23.53. Sollte eine aktuellere Version verwendet werden, könnte es beim Konfigurieren zu Problemen kommen. Ein Blick in die README oder INSTALL Datei könnte dann weiterhelfen.
Hinweis: MySQL muß auch nicht zwingend kompiliert werden, sondern kann auch als RPM oder Binary installiert sein. Dann ist allerdings beim kompilieren von PHP der MySQL-Pfad zu ändern.
MySQL Website
Download MySQL 3.23.53 (Mirror)
Nach oben
PostgreSQL 7.2.3
Anstatt MySQL kann auch z.B. PostgreSQL eingesetzt werden - je nach belieben auch beide. PostgreSQL unterstüzt im Gegensatz zu MySQL Transaktionen, was bei einigen Projekten sehr vorteilhaft sein kann. Es ist allerdings zu beachten, beim Konfigurieren von PHP den entsprechenden Eintrag nicht zu vergessen.
PostgreSQL Website
Download PostgreSQL 7.2.3
Nach oben
PHP 4.2.3
Mit das Wichtigste ist die aktuelle Version von PHP. Seit neustem verfügbar ist die 4.2.3, und die verwenden wir auch.
PHP Website
Download PHP 4.2.3
Nach oben
mod_perl 1.99_07
Da ich auch auf Perl basierende Seiten im Netz habe, installiere ich das Apache Perl-Modul gleich mit. Voraussetzung hierfür ist, dass Perl installiert ist. Dies wird jedoch meist mit der Distribution automatisch mitinstalliert. Für Apache 2.x wird übrigens eine andere mod_perl Version benötigt als für Apache 1.x
Mod-Perl Website
Download mod_perl 1.99_07
Nach oben
OpenSSL 0.9.6g
Um Apache mit SSL laufen zu lassen, wird OpenSSL benötigt, damit das mod_ssl Modul kompiliert werden kann. Ich verwende die OpenSSL Version 0.9.6g.
OpenSSL Website
Download OpenSSL 0.9.6g
Nach oben
PDFLib 4.0.3
PDFLib ermöglicht es, von PHP aus PDF-Dateien dynamisch zu erstellen. Dies ist sehr praktisch um z.B. formatierte Vorlagen oder Belege zum Ausdrucken für einen Kunden zu erzeugen.
PDFLib Homepage
Download pdflib-4.0.3.tar.gz
Nach oben
3. Das Auspacken
Bevor es richtig los geht, müssen alle tar.gz Dateien zunächst einmal entpackt werden. Es ist erforderlich, sich als Root auf dem Rechner einzuloggen und alle Dateien nach /usr/local/src/lamps zu kopieren. Es ist natürlich auch möglich, die Dateien in einen anderen Ordner zu kopieren, aber das Tutorial wird im folgenden nur diesen Pfad verwenden.
cd /usr/local/src/lamps
for i in `ls *.gz`; do tar zxf $i; done;
Die Archiv-Dateien werden nun nicht mehr gebraucht. Ich würde dennoch empfehlen, sie zu speichern oder auf CD zu brennen, eventuell zusammen mit diesem Tutorial als Backup.
Nach oben
4. Das Backen - kompilieren und installieren
MySQL
Die folgenden Zeilen installieren MySQL. --prefix gibt dabei den Installationsordner an, --localstatedir den Ordner der Datenbanken (wichtig z.B. für spätere Backups). Der Link von current auf 3.23.53 dient dazu, bei einem späteren Update durch einfaches Ändern des Links auf die neue Version umzustellen. Wurde MySQL als RPM installiert, kann dieser Teil natürlich übersprungen werden.
Hinweis: Nach der Eingabe von make ist reichlich Zeit für den einen oder anderen Kaffee. Also nicht verzweifeln.
cd /usr/local/src/lamps/mysql-3.23.53/
./configure --prefix=/usr/local/mysql/3.23.53 \
--localstatedir=/home/mysql/data
make
make install
ln -s /usr/local/mysql/3.23.53 /usr/local/mysql/current
Als nächstes wird - falls noch nicht vorhanden - der data-Ordner angelegt, die Standard-Datenbank installiert und zum Schluss noch das Root-Passwort geändert. Für 'geheim' sollte natürlich ein eigenes gewählt werden.
mkdir /home/mysql /home/mysql/data
scripts/mysql_install_db
/usr/local/mysql/current/bin/safe_mysqld &
/usr/local/mysql/current/bin/mysqladmin -u root password 'geheim'
Zum Teil brach bei mir safe_mysqld mit einer Fehlermeldung ab (teste ob mysql läuft mit ps -ax | grep safe_mysql). Ich vermute es lag daran, dass der User mysql nicht existierte. Sollte dies der Fall sein, ist Folgendes einen Versuch wert:
/usr/sbin/useradd mysql
chown -R mysql:mysql /home/mysql
/usr/local/mysql/current/bin/safe_mysqld &
/usr/local/mysql/current/bin/mysqladmin -u root password 'geheim'
Inzwischen bereitete mir auch einmal eine alte my.cnf in /etc/ Probleme, die dann dazu führte, dass mysql_install_db die Datenbank nach /var/lib/mysql/data statt nach /home/myqsl/data installiert hat und MySQL dann auch nicht lief. Sollte dies der Fall sein, ist die my.cnf Datei zu löschen oder umzubenennen.
Worauf ich zusätzlich immer wieder hereinfalle, ist zu versäumen, die MySQL-Libraries nicht in den Lib-Pfad einzutragen. Das erkennt man daran, wenn beim Start von Apache später eine Fehlermeldung ausgegeben wird, dass die Datei libmysqlclient.so.10 nicht gefunden wurde. Sollte dieses Problem auftreten, ist die Datei /etc/ld.so.conf zu öffnen und am Ende /usr/local/mysql/current/lib/mysql einzufügen. Danach ist folgendes auszuführen:
/sbin/ldconfig
Jetzt müsste es geklappt haben. Damit MySQL beim Starten des Systems mit hochläuft, fehlen noch die folgenden Zeilen:
cp support-files/mysql.server /etc/rc.d/init.d
chmod 744 /etc/rc.d/init.d/mysql.server
cd /etc/rc.d/rc2.d
ln -s ../init.d/mysql.server S20mysql.server
ln -s ../init.d/mysql.server K20mysql.server
cd /etc/rc.d/rc3.d
ln -s ../init.d/mysql.server S20mysql.server
ln -s ../init.d/mysql.server K20mysql.server
Hinweis: Eventuell benutzt die verwendete Distribution einen anderen Runlevel als rc2 oder rc3. Den aktuellen Runlevel bekommt man heraus, indem man /sbin/runlevel in der Konsole eingibt.
Tipp: Um nicht immer umständich über den langen Pfad auf mysql, mysqldump etc. zuzugreifen, lohnt es sich einige Links zu den Programmen anzulegen.
ln -s /usr/local/mysql/current/bin/mysql \
/usr/local/bin/mysql
ln -s /usr/local/mysql/current/bin/mysqladmin \
/usr/local/bin/mysqladmin
ln -s /usr/local/mysql/current/bin/mysqldump \
/usr/local/bin/mysqldump
ln -s /usr/local/mysql/current/bin/mysqlshow \
/usr/local/bin/mysqlshow
Tipp: Sollte Webmin verwendet werden, muss in der Modulkonfiguration noch einiges geändert werden, zum Beispiel der Pfad zu den Datenbanken.
Nach oben
PostgreSQL
Falls PostgreSQL nicht installiert werden soll, kann dieser Teil übersprungen werden. Es ist in diesem Falle daran zu denken, beim Kompilieren von PHP --with-pgsql wegzulassen.
Wir kompilieren und installieren nun PostgreSQL. Die Installation ist etwas verzwickter als die von MySQL, aber wenigstens geht's etwas schneller.
cd /usr/local/src/lamps/postgresql-7.2.3
./configure --prefix=/usr/local/pgsql/7.2.3/
make
make install
ln -s /usr/local/pgsql/7.2.3 /usr/local/pgsql/current
Nun legen wir einen User pgsql an, erstellen den Datenbankordner /home/pgsql und geben ihm die Rechte für den pgsql User.
/usr/sbin/useradd pgsql
chown -R pgsql:pgsql /home/pgsql
Wichtig (wie auch bei MySQL): Der Lib-Pfad muss auf die PostgreSQL Dateien verweisen. Dazu hängen wir (falls noch nicht vorhanden) mit einem Editor unten an die Datei /etc/ld.so.conf eine Zeile mit /usr/local/pgsql/current/lib an und führen danach noch folgenden Befehl aus:
/sbin/ldconfig
Nun können wir uns daran machen, die Datenbank zu erzeugen. Dazu loggen wir uns als user pgsql ein und führen das Skript initdb aus.
su - pgsql
/usr/local/pgsql/current/bin/initdb \
-D /home/pgsql/data
Als nächstes wechseln wir wieder zum user root und kopieren das Startskript.
exit
cp contrib/start-scripts/linux /etc/rc.d/init.d/pgsql
chmod /etc/rc.d/init.d/pgsql 744
Nun wird die Datei noch mit einem Texteditor geöffnet und folgende Zeilen werden angepasst:
# prefix=/usr/local/pgsql ändern in
prefix=/usr/local/pgsql/current
# PGDATA="/usr/local/pgsql/data" ändern in
PGDATA="/home/pgsql/data"
# PGUSER=postgres ändern in
PGUSER=pgsql
Danach können wir PostgreSQL starten, eine test Datenbank erzeugen und uns probeweise einloggen.
Hinweis: Aus der Psql-Konsole kommt man mit \q wieder heraus.
/etc/rc.d/init.d/pgsql start
/usr/local/pgsql/current/bin/createdb test -U pgsql
/usr/local/pgsql/current/bin/psql -U pgsql test
Hat dies alles geklappt, ist das Gröbste überstanden. Um psql nicht immer über den Pfad aufrufen zu müssen, erzeugen noch einen symbolischen Link.
ln -s /usr/local/pgsql/current/bin/psql /usr/local/bin/psql
Damit PostgreSQL auch beim Serverstart geladen wird, fügen wir noch einige Startlinks hinzu.
cd /etc/rc.d/rc2.d
ln -s ../init.d/pgsql S20psql
ln -s ../init.d/pgsql K20psql
cd /etc/rc.d/rc3.d
ln -s ../init.d/pgsql S20psql
ln -s ../init.d/pgsql K20psql
Hinweis: Sollte Webmin verwendet werden, muss in der Modulkonfiguration noch einiges geändert werden, zum Beispiel der Pfad zu den Datenbanken.
Nach oben
OpenSSL
Die Installation von OpenSSL gestaltet sich relativ einfach. Auch hier wird mit --prefix der Zielordner angegeben und wiederum ein symbolischer Link erzeugt.
cd /usr/local/src/lamps/openssl-0.9.6g
./config --prefix=/usr/local/openssl/0.9.6g
make
make test
make install
ln -s /usr/local/openssl/0.9.6g /usr/local/openssl/current
ln -s /usr/local/openssl/current/bin/openssl /usr/local/bin/openssl
Hat alles geklappt? Ein kleiner Hinweis am Rande: Zuviel Kaffee ist ungesund. Aber wir haben ja schon ein Drittel geschafft.
Nach oben
Apache 2
Nun bauen wir Apache mit SSL. Dabei wird nun Apache als DSO-Version kompiliert. Das heißt, Module wie PHP etc. können dynamisch geladen werden. Das Patchen wie bei Apache 1.3.x entällt bei Apache 2.0.x.
cd /usr/local/src/lamps/httpd-2.0.43/
./configure --prefix=/usr/local/apache2/2.0.43 \
--enable-modules=all \
--enable-ssl \
--with-ssl=/usr/local/openssl/current \
--enable-so
make
make install
ln -s /usr/local/apache2/2.0.43 /usr/local/apache2/current/
Als nächstes werden die Zertifikate erzeugt. Dies geht nicht mehr so einfach wie bei Apache 1.3.x - falls doch wäre ich um einen Hinweis sehr dankbar.
Zum Testen generieren wir uns erst einmal eine CA. Im Livebetrieb wäre dann Thawte oder Verisign die Certification Authority, die unser Serverzertifikat unterzeichnet.
Hinweis: Zur Software-Entwicklung wird SSL oft nicht benötigt und man kann diesen Bereich überspringen und mit PHP weitermachen.
cd /usr/local/apache2/current/conf/
openssl genrsa -des3 -out ca.key 1024
Es muss zweimal ein Passwort eingegeben werden. Beim nächsten Befehl muss das eben gewählte Passwort wieder eingegeben werden. Danach werden Daten der CA abgefragt um das CA-Zertifikat zu erstellen.
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
Country Name: DE
State or Province: NRW
Localty Name: Duesseldorf
Organization Name: Meinefirma
Organizational Unit Name: CA
Common Name: www.meinefirma.de
Email Address: ca@meinefirma.de
Nun wird der Serverkey erzeugt. Hier ist wiederum ein Passwort erforderlich. Wir machen noch vom Key ein Backup und entschlüsseln den Key damit Apache nicht bei jedem Start nach dem Passwort verlangt.
openssl genrsa -des3 -out server.key 1024
mv server.key server.key.secure
openssl rsa -in server.key.secure -out server.key
Nun müssen wir das Server-Zertifikat erzeugen. Das läuft ähnlich wie beim CA-Zertifikat ab, nur wird hier wird kein Passwort verlangt, da wir den Key bereits entschlüsselt haben.
Hinweis: Für den Livebetrieb muss der "Common Name" mit der Host-Adresse des Servers übereinstimmen.
openssl req -new -days 365 -key server.key -out server.csr
Country Name: DE
State or Province: NRW
Localty Name: Duesseldorf
Organization Name: Meinefirma
Organizational Unit Name: webteam
Common Name: www.meinefirma.de
Email Address: webmaster@meinefirma.de
A challenge password:
An optional company name:
Nun wird das Zertifikat noch von unserer Selfmade-CA unterschrieben und die Keys werden in eigene Ordner kopiert. Dazu verwenden wir ein Bash-Skript von Ralf S. Engelschall das hier heruntergeladen werden kann. Das Skript ist am besten in /usr/local/bin zu speichern und mit chmod 744 ausführbar zu machen.
Es wird das CA-Passwort verlangt und es muss zweimal mit y bestätigt werden.
sign.sh server.csr
mkdir ssl.crt ssl.key
cp server.crt ssl.crt
cp server.key ssl.key
Damit Apache auch beim Booten startet, kopieren wir noch das Startskript und erstellen die Links für die Runlevel zwei und drei.
cp /usr/local/apache2/current/bin/apachectl \
/etc/rc.d/init.d/httpd2
cd /etc/rc.d/rc2.d
ln -s ../init.d/httpd2 S20httpd2
ln -s ../init.d/httpd2 K20httpd2
cd /etc/rc.d/rc3.d
ln -s ../init.d/httpd2 S20httpd2
ln -s ../init.d/httpd2 K20httpd2
Um Apache immer mit SSL zu starten, muss die /etc/rc.d/init.d/httpd2 editiert und an einer Stelle abgeändert werden.
# the path to your httpd binary, including options if necessary
# Original HTTPD='/usr/local/apache2/2.0.43/bin/httpd'
HTTPD='/usr/local/apache2/2.0.43/bin/httpd -DSSL'
Als nächstes machen wir uns daran, die Module zu kompilieren.
Nach oben
PDFLib
Die Installation von PDFLib gestaltet sich auch relativ einfach. Sie besteht nur aus drei Zeilen. Wie oben bereits angemerkt, kann dieser Teil weggelassen werden, falls PDFLib nicht benötigt wird.
cd /usr/local/src/lamps/pdflib-4.0.3/ ./configure --with-shared-pdflib --enable-cxx
make
make test
Die vierte Zeile erzeugt im Ordner test eine Datei namens pdftest.pdf. Existiert diese, funktioniert alles und wir können PDFLib installieren.
make install
PDFLib ist nun installiert. Damit PDFLib auch gefunden wird, fehlt wiederum ein Eintrag in der ld.so.conf-Datei. Deshalb ist diese zu öffnen und - falls noch nicht vorhanden - eine Zeile mit /usr/local/lib hinzuzufügen. Anschließend wird /sbin/ldconfig ausgeführt.
Nach oben
PHP
Machen wir uns nun daran, PHP zu kompilieren und zu installieren. Ganz am Schluss wird der Config-Pfad auf /etc/ gelegt. Darin wird nachher auch die php.ini gespeichert.
Wenn PostgreSQL, MySQL oder PDFLib nicht installiert wurden, sind die entsprechenden Zeilen in der configure-Anweisung einfach wegzulassen.
Die letzte Zeile für GD-Support kann ebenfalls weggelassen werden. Allerdings ist das GD-Modul sehr nützlich zur dynamischen Erstellung von Grafiken mit PHP. Dabei ist zu beachten, dass noch einige zusätzliche Pakete installiert sein müssen. (Bei Redhat 7.3 z.B.: gd*.rpm, libjpeg*.rpm, libtiff*.rpm, freetype*.rpm und libpng*.rpm) In den meisten Fällen sollten die Pakete allerdings schon installiert sein. Prüfbar ist dies z.B. mit rpm -qa | grep libjpeg. Nach diesem Befehl sollten zwei Zeilen erscheinen, von denen in einer "devel" steht.
Hinweis: Um die Kommandozeilen Version von PHP zu erstellen, muss man PHP zweimal konfigurieren und installieren. Allerdings ist beim zweiten Durchgang --with-apxs2=/usr... durch --enable-cli zu ersetzen. Dies kann sinnvoll sein um z.B. zeitgesteuerte PHP-Skripte verwenden zu können.
Nun gehts ans kompilieren:
cd /usr/local/src/lamps/php-4.2.3
./configure \
--with-apxs2=/usr/local/apache2/current/bin/apxs \
--with-mysql=/usr/local/mysql/current \
--with-pgsql=/usr/local/pgsql/current \
--with-pdflib=/usr/local/ \
--with-zlib-dir=/usr/lib/ \
--enable-versioning \
--enable-track-vars=yes \
--enable-url-includes \
--enable-sysvshm=yes \
--enable-sysvsem=yes \
--enable-ftp \
--with-config-file-path=/etc \
--with-gd
make
make install
Jetzt nur noch die php.ini kopieren, und das war's dann schon.
cp /usr/local/src/lamp/php-4.2.2/php.ini-dist /etc/php.ini
Nach oben
mod_perl
Mod_Perl zu konfigurieren ist simpel. Voraussetzung ist dabei, dass Perl in Version 5.6.0 oder später installiert ist. Dazu genügt die RPM der jeweiligen Distribution. Getestet werden kann dies, indem
perl -v
eingegeben wird. Dabei müsste ein kurzer Text ausgegeben werden. Der Rest ist dann ganz einfach:
cd /usr/local/src/lamps/mod_perl-1.99_07
perl Makefile.PL \
MP_AP_PREFIX=/usr/local/apache2/current/ \
MP_INST_APACHE2=1
make
make install
Falls eine Meldung erscheint mit "/usr/bin/ld: cannot find -lperl" fehlt noch das libperl-dev Paket.
Mod_perl ist nun installiert. Wir dürfen nachher nur nicht vergessen, dies dem Apache auch mitzuteilen.
Nach oben
Sonstiges und Konfiguration
Apache
Ich setze jetzt noch alle Dateien im htdocs-Ordner auf Benutzer nobody und Gruppe nobody, weil es sonst Probleme geben kann, dass z.B. PHP keine Dateien schreiben kann.
chown -R nobody:nobody /usr/local/apache2/current/htdocs/
Damit PHP funktioniert, muss noch in der /usr/local/apache2/current/conf/httpd.conf dafür gesorgt werden, dass die PHP-Endungen mit dem Modul verknüpft sind. Dazu müssen folgende Zeilen eingefügt werden.
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
</Files>
Diese sollten am besten dort stehen, wo auch der andere "Files"-Block steht, damit man später nicht ewig suchen muss.
Damit Perl und PHP geladen werden, müssen ebenfalls folgende Zeilen eingefügt werden, am besten auch dort wo die anderen "LoadModule"-Zeilen stehen.
LoadModule perl_module modules/mod_perl.so
LoadModule php4_module modules/libphp4.so
Damit als Indexfile nicht nur HTML-Dateien möglich sind, ist nach folgender Zeile zu suchen:
DirectoryIndex index.html
Dieser sind weitere Indexseiten durch Leerzeichen getrennt hinzuzufügen, wie z.B. index.php, index.php4 oder default.htm, je nach Belieben.
Nun kann Apache gestartet werden. Und zwar mit:
/etc/rc.d/init.d/httpd2 start
Ob alles funktioniert, kann man zum Beispiel mit Lynx testen, falls man diesen installiert hat.
lynx http://localhost
PHP
PHP lässt sich gut testen, wenn man in /usr/local/apache2/current/htdocs/ z.B. eine info.php mit folgendem Inhalt erzeugt:
<?php
phpinfo();
?>
Ruft man diese über Lynx oder einen anderen Browser auf, sollte man eine Statusseite mit allen Modulen und sonstigen Parametern von PHP angezeigt bekommen. Hier sieht man auch gleich, ob das eine oder andere Modul gegebenenfalls nicht kompiliert wurde.
PDFLib
PDFLib kann man auch relativ einfach mit einem kleinen PHP-Skript testen. Wichtig ist, dass der User Nobody in dem Ordner, in dem das Skript läuft, Schreibrechte hat.
<?PHP
$file = fopen("php.pdf", "w");
$dokument = pdf_open($file);
pdf_begin_page($dokument,200,100);
pdf_set_font($dokument,"Times-Roman",14, "winansi");
pdf_set_text_pos($dokument,20,50);
pdf_show($dokument,"Gratuliere PDFLib funktioniert");
pdf_end_page($dokument);
$dokument = pdf_close($dokument);
fclose($file);
header("location:php.pdf\n\n");
?>
Sonstiges
Zum Abschluss kann noch getestet werden ob SSL läuft, indem man https://localhost über Lynx oder seinen Browser aufruft.
Um mit anderen Distributionen konformer zu sein erzeuge ich noch einen Ordner /etc/httpd und einen Link zum conf sowie zum logs Ordner von Apache.
mkdir /etc/httpd2
ln -s /usr/local/apache2/current/conf /etc/httpd2/conf
ln -s /usr/local/apache2/current/logs /etc/httpd2/logs
So, das LAMPS-System ist soweit fertig. Ich möchte noch empfehlen, die Kiste einmal neu zu starten, um zu schauen, ob Apache und MySQL automatisch anlaufen.
Tipp: Sollte zum Beispiel SSL nicht funktionieren obwohl Apache läuft, kann man versuchen die Firewall herunterzufahren um festzustellen ob eventuell der SSL-Port gesperrt ist.
/etc/rc.d/init.d/ipchains stop
Für iptables gilt das gleiche. Es sollte nicht vergessen werden, die Firewall mit dem Parameter start wieder hochzufahren, sobald der TCP-Port 443 freigeschaltet ist.
Nach oben
Disclaimer
|
|