Nachdem wir uns im ersten Teil um die Grundinstallation unserer virtuellen Maschine gekümmert haben, müssen wir nun erstmal testen, ob diese Maschine vom Windows-Gastsystem über das Netzwerk überhaupt zu erreichen ist. Alles andere wäre zu mühselig, denn wir wollen nicht direkt auf der Maschine unseren PHP/Symfony-Code schreiben, sondern lediglich dort ablegen und zum Laufen bringen.
Um unsere Maschine im Netzwerk kenntlich zu machen, müssen wir einige Einstellungen im Oracle VM Manager vollziehen, und zwar in den Netzwerkeinstellungen. Wichtig: Die Maschine darf noch nicht gestartet sein. Sollte sie schon gestartet sein, dann bitte vorher herunterfahren.
Bitte einfach den Angaben aus dem Screenshot übernehmen. Sollte der angezeigte Name nicht in der Auflistung auftauchen, dann einfach irgendeinen wählen. Bisher habe ich keinen Unterschied dabei entdecken können. Wichtig ist der Punkt: “Promiscous-Modus: erlauben für alle VMs”

Wenn wir jetzt dann die Maschine wieder starten, können wir mit dem Linux-Befehl hostname unsere IP im Netz ermitteln.
hostname -I

Nun prüfen wir noch, ob a) der Webserver auf unserer Maschine korrekt läuft und b) ob der Name (hier: masch3) korrekt aufgelöst wird. Dazu geben wir einfach http://masch3 im Browser unserer Wahl ein. Und siehe da: Es klappt.

Ein Samba share
Wir werden jetzt schauen, wie wir mithilfe eines Samba-Servers uns über Windows direkt mit der Maschine verbinden können. Wir legen dazu einen Samba share an. Somit können wir zukünftig schreibend und lesend auf Verzeichnisse im Entwicklungsserver, und zwar über einen frei zu wählenden Laufwerksbuchstaben, zugreifen. Das ist sehr viel komfortabler, als die Dateien per FTP zu befördern.
Wir loggen uns in gestartete Maschine ein und geben folgende Befehle ein. (nicht wundern, man wird öfters aus Sicherheitsgründen bei Nutzung des sudo-Befehls dazu gezwungen, das Passwort einzugeben.
sudo apt-get install samba # der Server, alles per Default akzeptieren
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup # Kopie schadet nie
systemctl status smbd # Status prüfen
Der Befehl systemctl status smbd zeigt uns, ob der Samba Server korrekt läuft. Dann sollte die Ausgabe wie folgt aussehen (oder zumindest sehr ähnlich, wobei grüner Text immer gut ist).

Der erste Schritt wäre getan. Nun geht es an die Konfiguration.
MERKE: Für Samba müssen wir extra (mindestens) einen Benutzer anlegen. Dieser Benutzer sollte einen korrespondierenden Nutzer auf der Linux-Ebene haben. Leider übernimmt Samba nicht direkt die Nutzerdatenbank von Linux. Es hat so seine Zeit gedauert, bis ich das verstanden habe.
Wir öffnen die Konfigurationsdatei
sudo nano /etc/samba/smb.conf
und fügen ganz am Ende folgenden Code hinzu:
[www]
comment = Web Root Dir
path = /var/www
valid users = <username>
browseable = yes
public = no
writable = yes
printable = no
create mode = 0644
directory mode = 0775
force group = <username>
force user = <username>
Und natürlich muss statt <username> euer Benutzername stehen. Diese Angaben ermöglichen den Zugriff eines Nutzers <username> auf den Samba Share /var/www, wobei neue Dateien mit den Zugriffsrechten 0664 angelegt werden und neue Ordner mit 0775. Jede neue Datei und jeder Ordner wird dem Nutzer <username> und der Gruppe <username> zugewiesen.
Nun müssen wir einen Samba Benutzer anlegen:
sudo smbpasswd -a <username> # bitte das Passwort merken
Der Samba share (und alle darin befindlichen Dateien) muss auch dem Benutzer und der Benutzergruppe zugewiesen werden.
sudo chown -R <username>:<username> /var/www

Wir starten den Samba Server neu:
sudo service smbd restart
Netzwerk verbinden
Nun geht es daran, das Samba share übers Netz mit einem Laufwerksbuchstaben von Windows zu verbinden.
- Den Windows Explorer öffnen und auf „Dieser PC“ klicken
- Jetzt im Menü auf „Netzlaufwerk verbinden“ klicken.
- Einen passenden Laufwerksbuchstaben auswählen und folgende Ordner-Angabe eintragen: \\masch3\www
- Das Häkchen bei „Verbindung bei Anmeldung wiederherstellen“ kann gesetzt werden.
- Nach Klick auf OK müssen die Samba-Verbindungsdaten eingegeben werden, die vorher mit smbpasswd festgelegt wurden.




Wir können nun als (in meinem Fall) über den Laufwerksbuchstaben S: auf den Ordner /var/www unserer virtuellen Maschine zugreifen.
Ein kleiner Test noch, um auch die Schreibrechte zu prüfen. Wir öffnen mit einem normalen Editor – der Microsoft Editor (=Notepad) tut es auch – die Datei S:\html\index.html und setzen hinter den Text „It works!“ eine Ergänzung. Speichern nicht vergessen!

Wir öffnen wieder den Browser mit der Adresse http://masch3 und schauen, ob sich der Text geändert hat. Und siehe da: Es hat geklappt. Wir haben nun von Windows aus einen vollen Zugriff auf den Ordner unserer Maschine /var/www.

In Teil 3 werden wir dann endlich Symfony installieren.
Pingback: Entwicklungsumgebung für Symfony auf Oracle VM mit Debian und Windows als Host, Teil 1 - 1manfactory.com - Blog of Jürgen Schulze