Fortsetzung folgt
Das OpenSSL Projekt hat ein gemeinschaftliches Ziel, eine robuste, einem kommerziellen Produkt in nichts nachstehende vollständige Secure Sockets Layer (SSL v2/v3) und Transport Layer Security (TLS v1) Implementierung auf OpenSource Basis zu entwickeln. Dazu gehört ebenfalls eine universelle Kryptografische Bibliothek. Das Projekt wird durch eine weltweite Gemeinschaft von Volutären unterhalten welches das Internet für Kommunikation, Planung und Entwicklung benutzt. OpenSSL basiert auf der exzellenten SSLeay Bibliothek von Eric A. Young und Tim J. Hudson. OpenSSL hat eine Apache-ähnliche Lizenz, welche grundlegend besagt: Freie Benutzung für kommerzielle und nicht-kommerzielle Anwendungen. | ||
| --www.openssl.org | ||
Aus meiner Sicht ist es die Basis um einem sicheren Webserver einzurichten. OpenSSL ist die OpenSource Basis für sehr viele Applikationen welche sichere Verschlüsselung gebrauchen (Wie zum Beispiel OpenSSH etc)
Haupt-Seiten http://www.openssl.org
cd /usr/local tar -xvzf openssl-0.9.6d.tar.gz cd openssl-0.9.6d ./config make make test make install |
GNU dbm ist ein Datenbank System das erweiterbare »hashing«. Es arbeites ähnlich dem standart UNIX dbp Programm. | ||
| --www.gnu.org/software/gdbm | ||
Das GNU Datenbank Sytem ist eine sehr wichtige Applikation, und wird von fast allen Distributoren eingesetzt. Es ist standartmässig bei allen Distributionen eingesetzt, welche ich getestet habe.
Ziemlich sicher ist jedoch, dass die die header Dateien nicht standartmässig installiert werden. Diese werden allerdings zwingend benötigt, um Apache mit mod_rewrite zu kompilieren, und werden auch von PHP gebraucht. Bitte installieren Sie die benötigen Dateien von der CD/DVD Ihres Distributors nach (Version kann abweichen).
rpm -i gdbm-devel-1.8.0-546 |
Diese Instruktion funktioniert auf SuSE und Redhat Systemen. Andere RPM-basierende Systeme wie Mandrake: bitte bestätigen.
Benutzer von Debian basierenden System können das Paket folgendermassen installieren:
apt-get install libgdbmg1-dev |
Im kaum anzunehmenden Fall, dass Ihre Distribution gdbm nicht enthält, hier die Intruktionen wie Sie das Programm selber kompilieren.
./confgure make make install ldconfig |
MySQL ist eine sehr schnelle, performante und einfach zu handhabende Datenbank.
Speziell für Webapplikationen die häufige Lesezugriffe tätigen, und relativ seltene Schreibzugriffe benötigen ist MySQL die beste Wahl. Wenn Transaktionen benötigt werden ist PostgreSQL allerdings die bessere Wahl, da Transaktionen bei MySQL noch in den Kinderschuhen stecken.
Im Bezug zu Apache, hier wird das C-API von MySQL gebraucht, um PHP und mod_authmysql zu kompilieren, Siehe Section 4.3
Hauptserver: http://www.mysql.com/downloads/
cd /usr/local tar -xvzf mysql-3.23.51.tar.gz cd mysql-3.23.51 ./configure --prefix=/usr/local/mysql \ --enable-assembler \ --with-innodb make make install /usr/local/mysql/bin/mysql_install_db echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf ldconfig |
Um die Sicherheit zu erhöhen, fügen Sie Ihrem System einen MySQL-Benutzer hinzu. Dannach muss der Besitzer des Datenverzeichnisses angepasst werden:
chown -R mysql /usr/local/mysql/var |
Wahrscheinlich ist ein automatischer Start von MySQL beim Systemstart gewünscht, dazu kopieren Sie die Datei /usr/local/mysql/share/mysql/mysql.server nach /etc/init.d/ (oder wo immer die rc-scripts auf dem entsprechenden System zu finden sind). Auch müssen die entsprechenden symbolischen Links in den entsprechenden Runleveldirectories erstellt werden.
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/ ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/S20mysql ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/K20mysql |
Dieses Beispiel funktioniert bei SuSE ab Version 7.0
Dieser Teil ist nicht unbedingt nötig aber dringend empfohlen.
Wenn nicht anders benötigt sollte MySQL nur auf das loopback-interface 127.0.0.1 gebunden werden. Dies stellt sicher, das niemand über das Netzwerk auf Ihren MySQL Server zugreifen kann. Dies macht natürlich nur Sinn, wenn MySQL auf dem gleichen Rechner wie der Webserver läuft.
Editieren Sie /etc/init.d/mysql.server etwa auf Linie 107 wie folgt:
Original Linie:
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file& |
Neu:
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \ --bind-address=127.0.0.1& |
oder alternativ kann die ganze Netzwerkfunktionalität abgeschaltet werden:
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \ --skip-networking & |
Die mm Bibliothek ist eine 2-Schichten Abstraktions-Bibliothek, welche die Verwendung von Shared Memory zwischen Prozessen auf Un*x Plattformen erleichtert. Die erste Schicht versteckt die Plattformabhängigkeit der verschiedenen Implementierungen (Handling und Locking) Die zweite Schicht bietet ein high-level malloc(3)-style API für eine bequeme und gut dokumentierte Arbeit innerhalb der Shared Memory Segmenten. | ||
| --www.engelschall.com | ||
MM ist es eine allgemeine Bibliothek für shm (Shared Memmory) handling welche hier in diesem Zusammenhang für mod_ssl und PHP gebraucht wird.
cd /usr/local tar -xvzf mm-1.1.3.tar.gz cd mm-1.1.3 ./configure make make test make install |
| [1] | Dieses RPM enthält die header Dateien welche für PHP gebraucht werden |
| [2] | Wird nur benötigt, wenn PHP von den Quellen aus dem CVS tree kompiliert werden soll |