Webserver mit FreeBSD® 9.1-RELEASE über Ports aufsetzen

Aus www.electronic-man.randschtoischlotzer.de
Wechseln zu: Navigation, Suche

FreeBSD®-Dämon

Inhaltsverzeichnis

FreeBSD®/i386 9.1-RELEASE beschaffen

  • ein bootfähiges USB-Stick-Image kann zum Beispiel hier per FTP heruntergeladen werden.

Installationsmedium erstellen

Datei schreiben
  • die gespeicherte Image-Datei mit .img-Dateiendung sollte anschliessend mit einem Programm auf einen ausreichend großen (>640MB)) USB-Stick oder Festplatte geschrieben werden.

Unter Linux/Unix/Darwin/MacOS® X etc. :

# dd if=FreeBSD-9.1-RELEASE-i386-memstick.img of=/dev/da0 bs=64k

Mit Microsoft Windows® sollte der "Image Writer for Windows®" verwendet werden. Er kann hier heruntergeladen werden.
Win32DiskImager.PNG
Achtung! bitte genau darauf achten welchen Laufwerksbuchstaben man als Ziel angibt.

Installationsstart

  • Durch Einlegen der DVD/CD ins Laufwerk kann der zu installierende Server jetzt gestartet werden.

Eventuell ist das Drücken einer bestimmten Taste (zum Beispiel F12 bei DELL® OptiPlex GX270) beim Serverstart notwendig um das Starten von USB auszuwählen oder im BIOS muss die Bootreihenfolge entsprechend verändert werden.

  • Meist kann dann in einer Auswahliste:
"USB Flash Device"

oder ähnlich ausgewählt werden.

Willkommensbildschirm

  • Es erscheint eine Auswahliste
1. Boot FreeBSD [Enter]</nowiki>

mit der Taste 1 auswählen.

Nach einigen Boot Hardwaremeldungen erscheint ein farbiges Auswahlfenster:

+------------Welcome--------------+
| Welcome to FreeBSD! Would you   |
| like to begin an installation   |
| or use the live CD?             |
+---------------------------------+
| <Install> < Shell > <Live CD>   |
+---------------------------------+

Install, falls nicht ausgewählt über die TAB-Taste auswählen, RETURN drücken.

Auswahl der Nationalität, Sprach- und Landeseinstellungen

Es escheinr ein farbis Auswahlfenster:

+----Keymap Selection-------+
| Would you like to set a   |
| non-default key mapping   |
| for your keyboard?        |
+---------------------------+
|     < Yes >   < No >      |
+---------------------------+

Yes, falls nicht ausgewählt über die TAB-Taste auswählen, RETURN drücken.

  • Es erscheint eine Auswahliste "Keyboard Menu"'
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts) die
German ISO-8859-1

für Deutschland auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahliste "System Console Keymap"'
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
German ISO    German ISO keymap

für deutsche Tastaturbelegung auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.

Auswahl der Installationsumfangs

  • Es erscheint eine Auswahliste "sysinstall Main Menu"'
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
Standard

auswählen.

  • über die Schaltfläche Select die Auswahl bestätigen.

Grobeinteilung des/der einzurichtenden Datenmediums/-en (meist Festplatten/-en)

  • Es erscheint eine Meldung "Message"' die darüber informiert, das eine Grobeinteilung des Datenmediums gemacht werden muss. Wenn mehr als 1GB Platz zur Verfügung steht kann man einfach die vorgeschlagene Selbsteinteilung von FreeBSD wählen.
  • über die Schaltfläche OK die Meldung bestätigen.
  • Es erscheint ein Programm "FDISK Partition Editor"
  • Das/die Datenmedium/-en entsprechend den eigenen Wünschen einteilen (auch mehrere Festplatten können verwendet werden) - Vorschlag:
A = Use Entire Disk
  • mit der Taste A auswählen. Das Installationsprogramm erstellt dann von selbst eine Einteilung.
  • Danach
Q = Finish

mit der Taste Q auswählen.

Ort für Urlader/Startverwaltung festlegen

  • Es erscheint eine Abfrage "Install Boot Manager for drive ad0?"

(drive ad0 kann -je nach den vorher gemachten Auswahlen abweichen !)

  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
Standard  Install a standard MBR (no boot manager)

auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.

Feineinteilung des/der einzurichtenden Datenmediums/-en (meist Festplatten/-en)

  • Es erscheint eine Meldung "Message"' die darüber informiert, das eine Feineinteilung des Datenmediums gemacht werden muss. Wenn mehr als 1GB Platz zur Verfügung steht kann man einfach die vorgeschlagene Selbsteinteilung von FreeBSD wählen.
  • über die Schaltfläche OK die Meldung bestätigen.
  • Es erscheint ein Programm "FDISK Partition Editor"
  • Das Datenmedium entsprechend den eigenen Wünschen einteilen (auch mehrere Festplatten können verwendet werden) - Vorschlag:
A = Auto Defaults

mit der Taste A auswählen. Das Installationsprogramm erstellt dann von selbst eine Einteilung.

  • Danach:
Q = Finish

mit der Taste Q auswählen.

Installationsumfang festlegen

  • Es erscheint eine Auswahliste "Choose Distributions"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
[ ] A Minimal     The smallest configuration possible

auswählen.

mit der Leertaste ein X in die vorhandenen [  ] setzen:

[X] A Minimal     The smallest configuration possible


  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • über die Schaltfläche OK die Auswahl bestätigen.

Installationsquelle festlegen

  • Es erscheint eine Abfrage "Choose Installation Media"
  • mit den Richtungstasten (Pfeile aufwärts/abwärts)
 1 CD/DVD     Install from a FreeBSD CD/DVD

auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.

Warnhinweis wegen Überschreibens eventuell bereits auf dem einzurichtenden Datenmedium vorhandener Altdaten

  • Es erscheint eine Abfrage "User Confirm Requested"
  • mit der TAB-Taste die Schaltfläche Yes auswählen um die Installation zu beginnen.

Fertigmeldung der erfolgten Installation

  • Es erscheint eine Meldung "Message"' die darüber informiert, das FreeBSD® jetzt installiert ist und weitere Einstellungen gemacht werden können.
  • über die Schaltfläche OK die Meldung bestätigen.

Einstellung zum Netzwerk

  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung von Ethernet oder SLIP/PPP
  • über die Schaltfläche Yes die Meldung bestätigen.
  • Es erscheint eine Abfrage "Network interface information required"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
xl0   3COM 3c90x / 3c90xB PCI Ethernet card

auswählen. (Je nach Hersteller der Netzwerkkarte kann diese Angabe abweichen)

  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung von IPv6
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung von DHCP
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein eine Maske "Network Configuration"' zur Einstellung von Netzwerknamen, Adressen, Netzwegen, Namensservern
Host:                                     Domain:
eman.thruhere.net                         thruhere.net
IPv4 Gateway:                             Name Server:
xxx.xxx.xxx.xxx                           xxx.xxx.xxx.xxx   
            Configuration for Interface xl0
        IPv4 Address:                     Netmask:
        xxx.xxx.xxx.xxx                   xxx.xxx.xxx.xxx
        Extra options to ifconfig (usually empty)
        <leer lassen>  
      
  • Einstellungen eintragen (über die TAB-Taste kann ein Eingabefeld weiter gesprungen werden).
  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung des Servers als Netzwerkweg
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)

Einstellung der Netzwerkdienste

  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung des inetd, der Netzwerkdienste anbietet
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein Abfrage "User Confirmation Requested" über das Einschalten von inetd
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein Abfrage "User Confirmation Requested" über die Einstellung von inetd
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein ein ee-Editor, der die Einstellungsdatei /etc/inetd.conf geöffnet hat.
  • mit der Einfügemarke (Cursor) und der Taste Entf vor folgenden Diensten das Zeichen # entfernen:
ftp    stream  tcp    nowait    root   /usr/libexec/ftpd       ftpd-l
  • mit der Taste ESC das "main menu" auswählen.
a) leave editor
  • dann
a) save changes

wählen.

  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung von SSH
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)

Hinweis: meldet sich ein Benutzer später über SSH z.B. mit dem Programm Putty am Server an, so kann er über su root-Rechte erlangen, sofern er der Gruppe wheel zugehörig ist.

  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung von anonymen FTP-Zugriff
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung des Computers als NFS Server
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein Abfrage "User Confirmation Requested" über die Verwendung des Computers als NFS Client
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)

Ein/ausgabeeinstellungen für Tastatur und Bild

  • Es erscheint ein Abfrage "User Confirmation Requested" ob Einstellungen vorgenommen werden sollen.
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)

Einstellungen für Zeit

  • Es erscheint ein Abfrage "User Confirmation Requested" um die Zeitzone einzustellen
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein Abfrage "User Confirmation Requested" um die Uhr einzustellen
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint eine Auswahlliste "Time Zone Selector"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts) die
8  Europe

auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahlliste "Countries in Europe"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts) die
15 Germany

für Deutschland auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint ein Abfrage "Confirmation" um die Abkürzung für zentrale europäische Zeit zu bestätigen.
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)

Binärkompatibilität zu Linux

  • Es erscheint ein Abfrage "User Confirmation Requested" um die Binärkompatibiltät zu Linux auszuwählen
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)

Maus einrichten

  • Es erscheint ein Abfrage "User Confirmation Requested" um die Verfügbarkeit einer Maus abzufragen.
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint eine Auswahlliste "Please configure your mouse"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts) die
2 Enable

auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint ein Abfrage "User Confirmation Requested" um die korrekte Funktion der Maus abzufragen.
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • jetzt ist wieder die Auswahlliste "Please configure your mouse" aktiv
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
x Exit

auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.

Softwarepakete aus Sammlung installieren

  • Es erscheint ein Abfrage "User Confirmation Requested" um die Softwarepake auszuwählen
  • mit der TAB-Taste die Schaltfläche No auswählen. (Einfügemarke steht auf Schaltfläche)

Benutzerkonten und Kennwörter anlegen

  • Es erscheint ein Abfrage "User Confirmation Requested" um Benutzer anzulegen
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint eine Auswahlliste "User and group management"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
User

auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint ein eine Maske "User and Group Management"' zur Einstellung von Namen, Gruppenzugehörigkeit, Verzeichnis ...
Login ID:         UID:        Group:        Password:
xxx               1001        
Full name:                                  Member groups:
xxx                                         wheel
Home directory                              Login shell:
/home/xxx                                   /bin/sh 
  
  • Einstellungen eintragen (über die TAB-Taste kann ein Eingabefeld weiter gesprungen werden).
  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahlliste "User and group management"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
x Exit

auswählen.

  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Meldung "Message"' die darüber informiert, das ein Kennwort für den Haupverwalter (root) vergeben werden muss.
  • über die Schaltfläche OK die Meldung bestätigen.
  • Es erscheint eine Shell:
New Password:
  • das Kennwort für den Hauptverwalter eingeben und mit der Eingabetaste bestätigen (das Kennwort wird nicht angezeigt).
  • in der Shell steht jetzt:
New Password:
Retype New Password:
  • das Kennwort für den Hauptverwalter nochmals eingeben und mit der Eingabetaste bestätigen (das Kennwort wird nicht angezeigt).

Einrichtung abschliessen

  • Es erscheint ein Abfrage "User Confirmation Requested" um zurück in die Auswahlisten zu gelangen.
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)

Wird an dieser Stelle "No" gewählt wird dies irgnoriert - es dürfte sich um einen kleinen Programmierfehler (bug) handeln

  • Es erscheint eine Auswahliste "sysinstall Main Menu"'
  • mit der TAB-Taste die Schaltfläche X Exit Install auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint ein Abfrage "User Confirmation Requested" um den Server neu zu starten. Es sollten alle Installationsdatenträger aus den Laufwerken entfernt werden.
  • mit der TAB-Taste die Schaltfläche Yes auswählen. (Einfügemarke steht auf Schaltfläche)
  • der Server startet jetzt neu.
  • Es erscheint eine Auswahliste
1. Boot FreeBSD [default]

mit der Taste 1 auswählen.

Anmelden

  • Nach dem Neustart als root anmelden:
FreeBSD/i386 (eman.thruhere.net) (ttyv0)
login: root
Password: xxx
#

Verzögerung des Bootmenüs einstellen

# ee /boot/loader.conf

eingeben um eine neue Einstellungsdatei für den bootloaders zu erstellen. In die noch leere Datei:

 autoboot_delay="1"              #reduce time to choose from bootmenu to 1 second

eingeben.

  • mit der Taste ESC das "main menu" auswählen.
a) leave editor
  • dann
a) save changes

wählen.

Ports einrichten

# portsnap fetch extract

eingeben.

  • Die Portdateien werden übertragen, dies kann eine Zeit dauern. (ca. 59 MB / 15 Min. - 14.11.2009)

Webserver Apache einrichten

# cd /usr/ports/www/apache22
# make config install distclean
  • Es erscheint eine Auswahliste "Options for apache 2.2.13"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)

Diese Auswahl erscheint zweimal - scheint ein kleiner Programmierfehler (bug) zu sein.

  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahliste "Options for perl 5.8.9_3"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahliste "Options for m4 1.4.13,1"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahliste "Options for libiconv 1.13.1"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • über die Schaltfläche OK die Auswahl bestätigen.
# reboot 

eingeben.

  • wieder als root anmelden.

Start von Apache einrichten

# echo 'apache22_enable="YES"' >> /etc/rc.conf

eingeben um die entsprechende Start-Scripte beim Serverstart aufzurufen.

SSL einrichten

# cd /usr/local/etc/apache22/
# openssl genrsa -out server.key 1024

eingeben

# openssl req -new -key server.key -out server.csr

eingeben.

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
  • DE für Deutschland eingeben
State or Province Name (full name) [Some-State]:xxxx
  • Bundesland eingeben
Locality Name (eg, city) []: xxxx
  • Stadt eingeben
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
  • Organisation, Firma eingeben
Organizational Unit Name (eg, section) []:
  • ...
Common Name (eg, YOUR name) []:
  • ...
Email Address []:
  • ...
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
  • ...
An optional company name []:
  • ...
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# chmod 0400 server.key server.crt

eingeben um SSL-Schlüssel und Zertifikate zu erzeugen und Zugriffsrechte zu setzen.

Apache einstellen

# ee /usr/local/etc/apache22/httpd.conf

eingeben um die Haupteinstellungen des Apache zu öffnen

#ServerName www.example.com:80

...
ServerAdmin you@example.com
...
www.Server.tld:80

anpassen.

DocumentRoot "/usr/local/www/apache22/data"
<Directory "/usr/local/www/apache22/data">
  • je anpassen zu:
DocumentRoot "/usr/local/www/apache22/data/01"
<Directory "/usr/local/www/apache22/data/01">

dieses Verzeichnis muss später noch erstellt werden

#Include etc/apache22/extra/httpd-info.conf
... 
#Include etc/apache22/extra/httpd-vhosts.conf
...
#Include etc/apache22/extra/httpd-default.conf
...
#Include etc/apache22/extra/httpd-ssl.conf
  • jeweils das vorangestellte # entfernen oder einfügen um diese in die Haupteinstellungen miteinzubinden oder herauszunehmen:
Include etc/apache22/extra/httpd-info.conf
...
Include etc/apache22/extra/httpd-vhosts.conf
...
Include etc/apache22/extra/httpd-default.conf
... 
Include etc/apache22/extra/httpd-ssl.conf
  • mit der Taste ESC das "main menu" auswählen.
a) leave editor
  • dann
a) save changes

wählen.

# mkdir /usr/local/www/apache22/data/01
  • dann
# mkdir /usr/local/www/apache22/data/02

eingeben um zwei Verzeichnisse für die Webseiten zu erstellen.

# ee /usr/local/etc/apache22/extra/httpd-default.conf

eingeben um diese Einstellungen des Apache zu öffnen

ServerTokens Full

anpassen zu:

ServerTokens Prod
ServerSignature On

anpassen zu:

ServerSignature Off
  • mit der Taste ESC das "main menu" auswählen.
a) leave editor
  • dann
a) save changes

wählen.

# ee /usr/local/etc/apache22/extra/httpd-info.conf

eingeben um diese Einstellungen des Apache zu öffnen

<Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from .example.com
</Location>

anpassen zu:

# <Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
# </Location>
<Location /server-info>
   SetHandler server-info
   Order deny,allow
   Deny from all
   Allow from .example.com
</Location>

anpassen zu:

# <Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
# </Location>
  • mit der Taste ESC das "main menu" auswählen.
a) leave editor
  • dann
a) save changes

wählen.

# ee /usr/local/etc/apache22/extra/httpd-vhosts.conf

eingeben um diese Einstellungen des Apache zu öffnen

NameVirtualHost *:80
<VirtualHost *:80>
   ServerAdmin webmaster@dummy-host.example.com
   DocumentRoot "/usr/local/docs/dummy-host.example.com"
   ServerName dummy-host.example.com
   ServerAlias www.dummy-host.example.com
   ErrorLog "/var/log/dummy-host.example.com-error_log"
   CustomLog "/var/log/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
   ServerAdmin webmaster@dummy-host2.example.com
   DocumentRoot "/usr/local/docs/dummy-host2.example.com"
   ServerName dummy-host2.example.com
   ErrorLog "/var/log/dummy-host2.example.com-error_log"
   CustomLog "/var/log/dummy-host2.example.com-access_log" common
</VirtualHost>

anpassen zu:

NameVirtualHost *:443 
<VirtualHost *:443>
   ServerAdmin name@domain.tld
   DocumentRoot "/usr/local/www/apache22/data/02"
   ServerName eman.thruhere
   ServerAlias eman.thruhere.net
#  ErrorLog "/var/log/dummy-host.example.com-error_log"
#  CustomLog "/var/log/dummy-host.example.com-access_log" common
    <Directory /usr/local/www/apache22/data/02/>
    Order allow,deny
    allow from all
    </Directory>
   SSLEngine On
   SSLCertificateFile /usr/local/etc/apache22/server.crt
   SSLCertificateKeyFile /usr/local/etc/apache22/server.key
 </VirtualHost>
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host2.example.com
#    DocumentRoot "/usr/local/docs/dummy-host2.example.com"
#    ServerName dummy-host2.example.com
#    ErrorLog "/var/log/dummy-host2.example.com-error_log"
#    CustomLog "/var/log/dummy-host2.example.com-access_log" common
#</VirtualHost>
  • mit der Taste ESC das "main menu" auswählen.
a) leave editor

dann

a) save changes

wählen.

Kernelmodul für Apache einschalten

werden die folgenden Anweisungen nicht durchgeführt, so kommt es beim Start von Apache evtl. zu zwei Fehlermeldungen: ...Failed to enable the 'dataready' Accept Filter ...Failed to enable the 'httpready' Accept Filter

# ee /boot/loader.conf

eingeben um diese Einstellungen des Loaders zu öffnen

autoboot_delay="1"              # reduce time to choose from bootmenu to 1 second

ändern zu:

autoboot_delay="1"              # reduce time to choose from bootmenu to 1 second
accf_data_load="YES"            # wait for data accept filter
accf_http_load="YES"            # wait for full HTTP request accept filter
loader_logo="beastie"           # show beastie in colour beneath bootmenu
  • mit der Taste ESC das "main menu" auswählen.
a) leave editor

dann

a) save changes

wählen.

PHP5 einrichten

# cd /usr/ports/lang/php5
# make config install distclean

nacheinander eingeben.

  • Es erscheint eine Auswahlliste "Options for php5 5.2.11_1"
  • mit den den Richtungstasten (Pfeile aufwärts/abwärts)
[ ] APACHE     Build Apache module

auswählen.

mit der Leertaste ein X in die vorhandenen [  ] setzen:

[X] APACHE     Build Apache module
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • über die Schaltfläche OK die Auswahl bestätigen.
# cd /usr/ports/lang/php5-extensions
# make config install distclean

nacheinander eingeben.

  • Es erscheint eine Auswahlliste "Options for php5-extensions 1.3"
  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahlliste "Options for php5-pcre 5.2.11_1"
  • über die Schaltfläche OK die Auswahl bestätigen.
  • Es erscheint eine Auswahlliste "Options for php5-sqlite 5.2.11_1"
  • über die Schaltfläche OK die Auswahl bestätigen.
# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini

eingeben um die empfohlene Einstellungsdatei für PHP zu verwenden.

danach:

# ee /usr/local/etc/php.ini

um folgende Zeilen:

;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

in:

;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = Off

abändern.

Apache für PHP einrichten

# ee /usr/local/etc/apache22/httpd.conf

eingeben um die Haupteinstellungen des Apache zu öffnen

  • innerhalb der
LoadModule... -Anweisungen

folgende Zeilen auf kontrollieren - und falls fehlend einfügen:

LoadModule php5_module        libexec/apache22/libphp5.so
  • unterhalb der
LoadModule... -Anweisungen

folgende Zeilen einfügen:

<IfModule mod_php5.c>
       DirectoryIndex index.php index.html index.htm
</IfModule>
<IfModule mod_php5.c>
       AddType application/x-httpd-php .php .phtml
       AddType application/x-httpd-php-source .phps
</IfModule>
  • mit der Taste ESC das "main menu" auswählen.
a) leave editor

dann

a) save changes

wählen.

MySQL einrichten

# cd /usr/ports/databases/mysql51-server
# make install WITH_OPENSSL=yes
# make distclean

nacheinander eingeben.

# echo 'mysql_enable="YES"' >> /etc/rc.conf

eingeben um die entsprechende Start-Scripte beim Serverstart aufzurufen.

# reboot 

eingeben.

  • wieder als root anmelden.

MySQL Datenbank Kennwort setzen

# mysqladmin -u root password yyy

eingeben.

(yyy steht für ein Kennwort, das man sich für später merken sollte.)

# mysql -u root -p

eingeben.

Enter password:
  • Kennwort yyy eingeben.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.40 FreeBSD port: mysql-server-5.1.40
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
  • use mysql eingeben um die Hauptdatenbank von MySQL für den Zugriff zu öffnen.
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>

MySQL Datenbank anonyme Nutzer löschen

  • DELETE FROM user WHERE user=""; eingeben um anonyme Nutzer der Datenbank zu löschen.
mysql> DELETE FROM user WHERE user="";
Query OK, 2 rows affected (0.00 sec)
mysql>
  • FLUSH PRIVILEGES; eingeben um die Tabellen der Benutzerrrechte neu zu laden.
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
  • SELECT * FROM user WHERE Password=""; um zu kontrollieren, das keine weiteren anonymen Nutzer mehr in der der Datenbank sind.
mysql> SELECT * FROM user WHERE Password="";

+-------------------+------+----------+-------------+-------------+ ...
| Host              | User | Password | Select_priv | Insert_priv | ...
+-------------------+------+----------+-------------+-------------+ ...
| eman.thruhere.net | root |          | Y           | Y           | ...
| 127.0.0.1         | root |          | Y           | Y           | ...
+-------------------+------+----------+-------------+-------------+ ...
2 rows in set (0.00 sec)

MySQL Datenbank Hauptbenutzer umbenennen

  • UPDATE user SET user='zzz' WHERE user='root'; eingeben um den Benutzer root in Benutzer zzz zu ändern.
mysql> UPDATE user SET user='zzz' WHERE user='root';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0
mysql>
  • SELECT * FROM user WHERE Password=""; eingeben um zu kontrollieren ob der Benutzer root in zzz abgeändert wurde.
mysql> SELECT * FROM user WHERE Password="";

+-------------------+------+----------+-------------+-------------+ ...
| Host              | User | Password | Select_priv | Insert_priv | ...
+-------------------+------+----------+-------------+-------------+ ...
| eman.thruhere.net | zzz  |          | Y           | Y           | ...
| 127.0.0.1         | zzz  |          | Y           | Y           | ...
+-------------------+------+----------+-------------+-------------+ ...
2 rows in set (0.00 sec)

MySQL Datenbank Hauptbenutzer Kennwort setzen

  • UPDATE user SET Password = PASSWORD( 'aaa' ) WHERE Host = 'localhost' AND User = 'zzz'; eingeben um den Benutzer zzz das Kennwort aaa zuzuweisen.
mysql> UPDATE user SET Password = PASSWORD( 'aaa' ) WHERE Host = 'localhost' OR '127.0.0.1' AND User = 'zzz';
Query OK, 2 rows affected, 1 warning (0.00 sec)
Rows matched: 4  Changed: 3  Warnings: 0
mysql> 
  • SELECT * FROM user WHERE Password=""; eingeben um zu kontrollieren, das keine weiteren Nutzer mit leerem Kennwort in der der Datenbank sind.
mysql> SELECT * FROM user WHERE Password="";
Empty set (0.00 sec)
mysql>

MySQL Datenbank verlassen

  • quit eingeben.
mysql> quit
Bye
#

Historie der Eingabeshell und MySQL löschen

# rm /root/.mysql_history
# history -c

nacheinander eingeben um eventuell in der in der Historie der Eingabeshell und MySQL-Historie gespeicherte Kennworte zu löschen.

MySQL Netzwerkeinstellungen setzen

# ee /etc/my.cnf

eingeben um eine neue Datei mit ee zu erstellen.

[client]
port=29912
[mysqld]
port=29912
bind-address=127.0.0.1
skip-name-resolve
safe-show-database

einfügen.

  • mit der Taste ESC das "main menu" auswählen.
a) leave editor
  • dann
a) save changes

wählen.

phpMyAdmin einrichten

cd /usr/ports/databases/phpmyadmin
make config install distclean

nacheinander eingeben.

  • Es erscheint eine Auswahliste "Options for phpMyAdmin 3.2.3"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint eine Auswahliste "Options for php5-gd 5.2.11_2"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint eine Auswahliste "Options for libxslt 1.1.26"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint eine Auswahliste "Options for python26 2.6.2_3"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
  • Es erscheint eine Auswahliste "php5-mbstring 5.2.11_1"
  • mit der TAB-Taste die Schaltfläche OK auswählen. (Einfügemarke steht auf Schaltfläche)
# ln -s /usr/local/www/phpMyAdmin /usr/local/www/apache22/data/01

eingeben um einen Link zu im Dokumentenverzeichnis des Apache Webservers zu erstellen, der Zugriff per Webbrowser (https://) auf MyPHPAdmin ermöglicht.

# cd /usr/local/www/phpMyAdmin
# cp config.sample.inc.php config.inc.php

nacheinander eingeben um die vorgeschlagenen Einstellungen für MyPHPAdmin zu kopieren.

phpMyAdmin einstellen

# ee config.inc.php

eingeben um folgende Einträge der Datei zu ändern:

$cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
...
/* User for advanced features */
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

in:

$cfg['blowfish_secret'] = 'bbb'; 
...
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'zzz';
$cfg['Servers'][$i]['controlpass'] = 'aaa';

bbb ist ein neues Kennwort um den MySQL-Benutzernamen zzz und das zugehörige Kennwort aaa zu verschlüsseln.

  • mit der Taste ESC das "main menu" auswählen.
a) leave editor

dann

a) save changes

wählen.