Ich setze für diesen Schritt voraus, dass du eine frische Jail hast, in der wir unseren Webserver aufsetzen. Zudem sollte das Verzeichnis '/usr/ports' aus dem Hostsystem in die Jail gemountet sein. Alternativ kannst du auch ein eigenes Ports-Verzeichnis erstellen und den Portstree dort extrahieren.
- Zunächst mounten wir den Portstree. Anschließend wechseln wir in das Verzeichnis '/usr/ports/www/apache13-modssl' und installieren den Apacheserver:
# make install clean
Nicht vergessen die nötigen Einträge in der "/etc/rc.conf" zu machen:apache_enable="YES"
apache_flags="-DSSL" - Dann installieren wir das Modul 'mod_security' nach. Das findet ihr in '/usr/ports/www/mod_security':
# make install clean - Noch vor dem Konfigurieren installieren wir PHP5. Das findest du im Verzeichnis '/usr/ports/lang/php5':
# make config
In dem erscheinenden Menü- aktivieren wir "Build Apache Module",
- aktivieren "zend Multibyte Support" und
- deaktivieren IPv6-Unterstützung.
Mit dem Befehl
# make install clean
installieren wir nun PHP5. Bei der gettext-Konfiguration aktivieren wir nichts. - Wir nehmen noch ein paar Einstellungen in der '/usr/local/etc/php.ini' vor. Erklärungen findest du im Netz oder auf der Webseite von PHP. Folgende Einstellungen bieten sehr hohe Sicherheit, können aber bei manchen Skripten zu Problemen führen:
- safe_mode = On
- safe_mode_gid = Off
- open_basedir = /www/vhosts/www.domain1.de, /www/vhosts/www.domain2.de
- safe_mode_exec_dir = /www/vhosts/www.domain1.de, /www/vhosts/www.domain2.de
- expose_php = Off
- register_globals = Off
- display_errors = Off
- log_errors = On
- error_log = /var/log/php_errors
- allow_url_fopen = Off
- Jetzt müssen wir noch ein Zertifikat für unseren Server erstellen. Dafür öffnen wir die SSL-Shell durch folgenden Befehl:
# openssl
Anschließend geben wir nacheinander folgende Befehle ein:openssl> genrsa -des3 -out server.key 1024
openssl> req -new -key server.key -out server.csr
openssl> x509 -req -days 365 -in ~/server.csr -signkey ~/server.key -out ~/server.crt - Mit dem Befehl 'exit' können wir die SSL-Shell wieder beenden. Jetzt müssen wir die neu erstellten Zertifikate bereitstellen, dass der Apache-Server diese auch findet:
# cp ~/server.key /usr/local/etc/apache/ssl.key/
# cp ~/server.crt /usr/local/etc/apache/ssl.crt/ - Optional: Falls du während dem Erstellungsprozess ein Passwort für die Verschlüsselung angegeben hast, kannst du den Apache nicht automatisch beim Systemstart starten lassen. Klar, er braucht ein Passwort. Du kannst dieses aber im Nachhinein auch entfernen:
# cd /usr/local/etc/apache/ssl.key
# cp server.key server.key.orig
# openssl rsa -in server.key.orig -out server.key - Optional: Da du das Zertifikat selber erstellt hast, wird jeder Besucher deiner Website gefragt, ob er diesem vertrauen möchte. Du kannst, allerdings ist das nicht empfohlen wenn du wichtige Daten über diese Webseite geschickt bekommst, das Zertifikat auch selber signieren:
# openssl x509 -in server.csr -out server.cert -req -signkey server.key -days 365
Einen Kommentar hinzufügen
Hallo Peter,
Dieser Befehl wird nicht funktionieren. make wird mit dem Hinweis "Software already installed - use make deinstall and make reinstall instead" oder so ähnlich.
PHP updatest du wie jede andere Software auch: http://serverzeit.de/FreeBSD/Software-updaten/
Tipp: Wenn du eAccelerator installiert hast, sollest du dieses ebenfalls re-kompilieren. Ich hatte manchmal Probleme nach einem PHP-Update.
Grüsse,
Benedikt
Wie kann ich eigentlich PHP updaten?
Einfach ins Verzeichnis /usr/ports/lang/php5 gehen und make install clean aufrufen?
@Martin: Ich arbeite gerade an einem lighttpd-Tutorial, dann ist das vielleicht eine gute Alternative zum Apache2. Aber vielleicht kommt noch was zum Apache2, dann könnte ich das mit dem Tomact-Tutorial für Peter kombinieren ;-) Tomcat und lighttpd funktioniert wohl nicht, hab aber nicht tiefgehender recherchiert...
@Peter: Ich arbeite dran...
Wäre auch nett zu erklären, wie Tomcat hinter Apache installiert wird. Ich suche noch immer eine Anleitung ;)
Vorzugsweise solltest du auch eine Apache2 howto erstellen. Afiak ist apache1 dying.