Virtualbox anlegen

  1. Virtualbox starten
  2. Virtual Maschine anlegen
  3. Neu
    1. Name: Entwicklung
    2. Betriebssystem: Linux
    3. Version: Ubuntu / Ubuntu (64 bit)
    4. Größe Hauptspeicher: 512MB
    5. Boot Festplatte
    6. Festplatte erzeugen
      1. Datenspeichertyp: dynamisch wachsendes Medium
      2. Ort: Drive:\Path\Entwicklung.vdi
      3. Größe: 24,00 GB (ich nehme 24GB weil auch auf einem 32GB USB-Stick noch Platz für andere Dateien bleibt.)
  4. CD/DVD-Rom anklicken
    1. CD/DVD-Laufwerk einbinden anhaken
    2. ISO-Abbild auswählen
    3. auf das Ordnersymbol klicken
    4. Hinzufügen klicken
    5. ubuntu-9.04-server-amd64.iso oder ubuntu-9.04-server-i386.iso auswählen
    6. ISO auswählen

Anmerkung zum Netzwerk: Auch wenn es nachher eine Änderung der Einstellung gibt und deshalb die Netzwerkkonfiguration in Ubuntu angepasst werden muss, bleiben sie auf "NAT". Würden wir bereits jetzt auf "Netzwerkbrücke" umstellen, bekommen wir bei der automatischen Installation einige Probleme.
Ausserdem üben wir uns so ein wenig im Anpassen der Interface Einstellungen. ;)

Installation des Grundsystems

  1. VM starten und Ubuntu booten lassen
  2. F2 Deutsch auswählen
  3. F3 Germany auswählen
  4. Ubuntu Server installieren
  5. Deutschland
  6. Rechnername: Entwicklung
  7. Geführt - verwende vollständige Festplatte
  8. Änderungen auf die Festplatte schreiben? Ja
  9. Voller Name des neuen Benutzer: Vor- und Nachname
  10. Benutzer für Ihr Konto: naja muss ich das erklären?
  11. Wählen Sie ein Passwort für den neuen Benutzer: na was wohl? 2mal bitte
  12. Ihren persönlichen Ordner verschlüsseln? nein
  13. HTTP-Proxy-Daten: so fern nötig
  14. Keine automatische Aktualisierungen
  15. Softwareauswahl
    1. LAMP server
    2. Mail server
    3. OpenSSH server
    4. Samba file server
  16. Neues Passwort für den MySQL >>root<<-Benutzer: ja auch gerne
  17. Postfix Configurations. Auch wenn man nix sieht mit der den Pfeiltasten nach ganz unten scrollen
  18. System-E-Mail-Name: Entwicklung
  19. vor dem Durchstarten am Fenster der virtuellen Maschine unten rechts auf das CD Symbol rechtsklicken "CD/DVD-ROM trennen" auswählen
  20. Installation beenden und neustarten
  21. Nach dem Neustart runterfahren:
    sudo shutdown -h now

Anmerkungen:
sudo ist ein Befehl mit dem man als User administrative Aufgaben erledigen kann. Da man in der Ubuntu Installatin zu keiner Zeit mit dem root Benutzer arbeiten soll kann man mit sudo für einzelne Aufgabe die Rechte anheben.
Für den folgenden Schritt muss der Rechner runter gefahren werden. Dies hätte man auch direkt nach Ende der Installation machen können, da ich aber nicht weiss ob der Neustart nötig ist gewähren das wir Ubuntu vorher.

Netzwerk Einstellungen

  1. Netzwerk anklicken
    1. Intel PRO/1000 T Server
    2. Netzwerkbrücke auswählen
    3. Netzwerkkarte mit Verbindung zum Internet auswählen
  2. sudo nano /etc/network/interfaces
    # The primary network interface
    auto eth0
    #iface eth0 inet dhcp
    iface eth0 inet static
    address 192.168.0.20
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.253
    # The secondary network interface
    auto eth1
    #iface eth1 inet dhcp
    iface eth1 inet static
    address 192.168.0.20
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.253
  3. sudo nano /etc/hosts
    127.0.0.1 entwicklung.example.local entwicklung
  4. sudo /etc/init.d/networking restart
  5. sudo nano /etc/resolv.conf
    nameserver 192.168.0.20
    nameserver 192.168.0.1
    nameserver 192.168.0.253
  6. sudo rm /etc/udev/rules.d/70-persistent-net.rules
  7. sudo /etc/init.d/networking restart

Anmerkungen:
- der Eintrag für eth1 ist nur dann von Bedeutung, wenn man die virtuellen Maschine auf zwei Rechner (Workstation/Laptop) verwendet. Für alle die nur auf einem Rechner arbeiten ist dies überflüssig.
- die Anpassungen an /etc/hosts wird gebraucht, damit der Apache2 Webserver beim Start keine Fehlermeldung mehr ausgibt.
- die Änderung an resolv.conf wird gebraucht, damit die Entwicklungsumgebung den noch zu installierenden DNS findet.

Netzwerkfreigabe mit Samba

Ab hier können wir uns mit Putty mit der Entwicklungsumgebung über IP 192.168.0.20 verbinden.

  1. sudo nano /etc/samba/smb.conf
    [global]
    workgroup = Entwicklung
    [webroot]
    comment = Apache Webroot
    writable = yes
    path = /var/www
    public = no
  2. sudo smbpasswd -a IHR_NAME
  3. sudo chown -R garbast:root /var/www
  4. sudo /etc/init.d/samba restart

DNS Server Bind9

  1. sudo apt-get install bind9
  2. sudo nano /etc/bind/db.example.local
    ;
    ; BIND data file for local loopback interface
    ;
    $TTL 604800
    @ IN SOA ns1.example.local. root.example.local. (
    2009062102 ; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ;
    @ IN NS ns1
    @ IN A 192.168.0.20
    @ IN AAAA ::1
    * IN A 192.168.0.20
    * IN AAAA ::1
  3. sudo nano /etc/bind/db.192.168.0
    ;
    ; BIND reverse data file for 192.168.0
    ;
    $TTL 604800
    @ IN SOA ns1.example.local. root.example.local. (
    2009062202 ; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ;
    @ IN NS ns1
    20 IN PTR development.example.local.
  4. sudo nano /etc/bind/named.conf.local
    //
    // Do any local configuration here
    //
    // Consider adding the 1918 zones here, if they are not used in your
    // organization
    // include "/etc/bind/zones.rfc1918";
    zone "example.local" {
    type master;
    file "/etc/bind/db.example.local";
    };
    zone "0.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/db.192.168.0";
    };
  5. sudo /etc/init.d/bind9 restart

Anmerkung:
- bitte bei allen "privaten" Entwicklungsumgebungen .local verwenden. Dies signalisiert "in-addr.arpa", dass es um eine nicht öffentliche Installation handelt und weitere Namesauflösungen werden nicht vorgenommen.

Apache2 anpassen

  1. sudo apt-get install php5-gd
  2. sudo apt-get install graphicsmagick
  3. mkdir /var/www/entwicklung
  4. mkdir /var/www/entwicklung/htdocs
  5. mkdir /var/www/entwicklung/logs
  6. cd /etc/apache2/sites-available
  7. sudo cp default entwicklung
  8. sudo nano /etc/apache2/sites-available/entwicklung
    [...]
    ServerName entwicklung.example.local
    DocumentRoot /var/www/entwicklung/htdocs
    [...]
    <Directory /var/www/entwicklung>
    [...]
    ErrorLog /var/www/entwicklung/logs/error.log
    CustomLog /var/www/entwicklung/logs/access.log combined
    [...]
  9. sudo a2ensite entwicklung
  10. sudo /etc/init.d/apache2 restart
  11. sudo /etc/init.d/apache2 reload

Anmerkung:
- restart wird benötigt um die gd-Lib und Imagemagick Anpassungen zu aktiveren
- reload wird jedesmal gebraucht sobald eine neue Site eingerichtet wird

MySQL einrichten

  1. sudo mysql -u root -p
  2. interaktiv Passwort eingeben
    CREATE USER 'entwicklung'@'%' IDENTIFIED BY '***';
    GRANT USAGE ON * . * TO 'entwicklung'@'%' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
    CREATE DATABASE IF NOT EXISTS 'entwicklung';
    GRANT ALL PRIVILEGES ON 'entwicklung'.* TO 'entwicklung'@'%';
    FLUSH privileges;

TYPO3 Paket bereitstellen

  1. wget http://ovh.dl.sourceforge.net/sourceforge/typo3/dummy-4.2.6.tar.gz
  2. tar xzf dummy-###.tar.gz
  3. wget http://ovh.dl.sourceforge.net/sourceforge/typo3/typo3_src-4.2.6.tar.gz
  4. tar xzf typo3_src-###.tar.gz
  5. ln -s typo3_src/t3lib t3lib
  6. ln -s typo3_src/typo3 typo3
  7. ln -s ../../typo3_src/typo3_src-4.2.0/ typo3_src

Debugging

Alle die Debugging brauchen können noch xdebug zusätzlich installieren:

  1. sudo apt-get install php5-xdebug
  2. sudo nano /etc/php5/apache2/conf.d/xdebug.ini
    [...]
    zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so

    [debug]
    ; Remote settings
    xdebug.remote_enable=1
    xdebug.remote_handler="dbgp"
    xdebug.remote_host="192.168.0.50"
    xdebug.remote_port=9000
    xdebug.remote_mode=req
    xdebug.idekey=ECLIPSE_DBGP
    xdebug.remote_log=/var/log/apache2/xdebug.log

Anmerkungen:
wichtig ist es den remote_host auf die Workstation von der aus gearbeitet wird zu setzen.
Sollte Eclipse als Debugger eingesetzt werden, muss in Preferences > PHP > Debug > Installed Debuggers die Einstellungen von XDebug mit Doppelklick geöffnet werden und Accept remote session (JIT) auf any gestellt werden.
Sollte Eclipse Breakpoints ignorieren hilft es manchmal wenn man xdebug_break(); an die gewünschte Stelle schreibt.

Allgemeine Tips

sudo mysql -u root -p Datenbankname < /filename

tar cfvz archive.tar.gz ./verzeichnis/

Meine Mission

Ziel meiner Veröffentlichungen ist es, meine Begeisterung für die Programmierung und das über die Jahre gewonnene Wissen mit anderen Entwicklern zu teilen. Dabei ist es mir wichtig, Lösungen zu thematisieren für die ich in Suchmaschinen keine Antworten finden konnte. Außerdem versuche ich die von mir veröffentlichten Extensions an Beispielen zu erläutern.

evoWeb © 2019