Blog
Thursday, 21. January 2021

Windows-Subsystem für Linux

Denise
IT-Consultant

In diesem Beitrag wollen wir Sie durch die Einrichtung einer lokalen PHP-Entwicklungsumgebung mit MySQL auf einem Windows-PC führen. Wir werden Windows für die Verwendung von WSL 2 einrichten und die Ubuntu 20.04 LTS-Distribution installieren. Anschließend installieren und konfigurieren wir Git, PHP, Node und MySQL sowie Visual Studio Code.

Voraussetzungen

Um WSL 2 verwenden zu können, muss Windows 10 ausgeführt werden:

  • Für x64-Systeme: Version 1903 oder höher mit Build 18362 oder höher.
  • Für ARM64-Systeme: Version 2004 oder höher mit Build 19041 oder höher.
  • Builds unter 18362 unterstützen WSL 2 nicht. Verwenden Sie den Windows Update-Assistenten, um Ihre Windows-Version zu aktualisieren.

Hinweis: Falls Sie nicht über eine entsprechende Version verfügen, können Sie alternativ die vorherige Version verwenden.

Installieren Sie WSL2

Das Windows-Subsystem für Linux (WSL) ist eine Windows 10-Funktion, mit der Sie native Linux-Befehlszeilentools direkt unter Windows ausführen können.

Öffnen Sie PowerShell als Administrator und führen Sie die folgenden Befehle aus:

WSL aktivieren:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Aktivieren Sie die Virtual Machine Platform:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Mainzer Datenfabrik - Windows-Subsystem für Linux

Sobald Sie dies getan haben, müssen Sie Ihren PC neu starten.
Laden und installieren Sie anschließend das Updatepaket für den WSL2-Linux-Kernel für x64-Computer (bzw. das ARM64-Paket für ARM64-Computer).

Updatepaket

WSL2-Linux-Kernel für x64-Computer (ZIP)

Updatepaket

ARM64-Paket für ARM64-Computer (ZIP)

Mainzer Datenfabrik - Windows-Subsystem für Linux

Führen Sie abschließend Powershell als Administrator aus und legen Sie WSL 2 als die Standard-WSL-Version fest:

wsl --set-default-version 2

Hinweis:
WSL2 ist für Windows Server aktuell leider nur für Insider Preview Builds verfügbar. Sollten Sie WSL auf einem Windows Server installieren wollen, überspringen Sie diesen Schritt, sodass Sie mit der WSL-Installation fortfahren können.

Installieren Sie Ubuntu 20.04 LTS

Ubuntu ist eine Linux-Distribution, die auf Debian basiert und hauptsächlich aus freier und Open-Source-Software besteht.

Öffnen Sie den Microsoft Store und suchen Sie nach Ubuntu. Wählen und installieren Sie Ubuntu 20.04 LTS

Mainzer Datenfabrik - Windows-Subsystem für Linux

Öffnen Sie nach der Installation die Distribution aus Ihren Programmen und richten Sie einen neuen Benutzer ein.

Aktualisieren Sie als nächstes das Ubuntu 20.04 LTS-Betriebssystem:

Mit folgendem Befehl laden Sie die verfügbaren Paketinformationen herunter:

sudo apt update

Installieren Sie mit folgendem Befehl verfügbare Updates aller Pakete:

sudo apt upgrade

Ubuntu 20.04 LTS für Windows Server

Hinweis:
Falls Sie die Installation auf einen Windows Server durchführen, laden Sie die Ubuntu 20.04 Linux-Distribution herunter.
Extrahieren und Installieren Sie die Distribution nun wie folgt:

  1. Extrahieren Sie den Inhalt des Ubuntu_2004.2020.424.0_x64.appx-Pakets mithilfe von PowerShell:
    Rename-Item .\Ubuntu_2004.2020.424.0_x64.appx .\Ubuntu.zip Expand-Archive .\Ubuntu.zip .\Ubuntu
  2. Führen Sie die Distribution im Zielordner aus, indem Sie den Namen der Anwendung aufrufen. Sie heißt in unserem Fall ubuntu2004.exe
Mainzer Datenfabrik - Windows-Subsystem für Linux
  1. ubuntu2004
  2. Fügen Sie der Windows-Umgebungsvariablen PATH den Pfad der Distribution (z.B. C:\Users\Administrator\Ubuntu) hinzu, indem Sie unter Systemsteuerung die Umgebungsvariablen bearbeiten.

Sie können Ihre Distribution nun über einen beliebigen Pfad starten, indem Sie den Namen der Distribution eingeben. Da dies die erste Verwendung von Ubuntu 20.04.LTS ist, werden Sie aufgefordert, einen neuen Benutzer einzurichten.
Fahren sie als nächstes mit den oben angegebenen Schritten zur Aktualisierung des Ubuntu-Betriebssystems fort.

Installieren Sie Git

Git ist ein Versionskontrollsystem und dient dazu, Änderungen im Quellcode während der Softwareentwicklung erfassen und nachvollziehen zu können.

Mit folgenden Befehlen können Sie Git installieren und anschließend die Installation und Version überprüfen:

sudo apt-get install git-all
git --version

Installieren Sie PHP

PHP ist eine universelle Skriptsprache, die sich besonders für die Webentwicklung eignet.

Installieren Sie das PHP-Paket und überprüfen Sie die Installation und Version:

sudo apt install php
php -v

Installieren Sie Composer

Composer ist ein Paketmanager auf Anwendungsebene für die Programmiersprache PHP, der ein Standardformat für die Verwaltung von Abhängigkeiten von PHP-Software und erforderlichen Bibliotheken bereitstellt.

Fügen Sie dieses Skript in Ihr Ubuntu 20.04. LTS-Terminal ein, um Composer herunterzuladen.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Machen Sie mit folgendem Befehl Composer global verfügbar und überprüfen anschließend die Installation und Version:

sudo mv composer.phar /usr/local/bin/composer
composer -v

Installieren Sie Node & NPM

Node.js ist eine plattformübergreifende Open-Source-Back-End-JavaScript-Laufzeitumgebung, die JavaScript-Code außerhalb eines Webbrowsers ausführt, und NPM ist ein Paketmanager für die Programmiersprache JavaScript.

Laden Sie mit folgendem Befehl Node Version Manager (NVM), zum Verwalten von Node und NPM, herunter und überprüfen anschließend die Installation und Version:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
nvm -v

Mit NVM können Sie nun die neueste Node-Version installieren und überprüfen auch hier die Installation und Version:

nvm install node
node -v
npm -v

Installieren Sie Visual Studio Code

Visual Studio Code ist ein kostenloser Quellcode-Editor von Microsoft für Windows, Linux und macOS.

Mit der Remote-WSL-Erweiterung können Sie VS-Code unter Windows verwenden, um Linux-Anwendungen zu erstellen, die auf dem Windows-Subsystem für Linux (WSL) ausgeführt werden.

Laden und installieren Sie hier die neueste Version von Visual Studio Code.

Fügen Sie nach der Installation die Remote-WSL-Erweiterung hinzu:

Mainzer Datenfabrik - Windows-Subsystem für Linux

Sobald die Remote-WSL-Erweiterung installiert wurde, können Sie Ordner in Ihrem Ubuntu-System in Visual Studio Code öffnen.

Installieren und konfigurieren Sie MySQL

Installieren Sie das MySql Server-Paket:

sudo apt install mysql-server

Führen Sie das Sicherheitsskript aus:

sudo mysql_secure_installation

Dieses Skript führt Sie durch eine Reihe von Aufforderungen, in denen Sie verschiedene Änderungen an den Sicherheitseinstellungen Ihrer MySQL-Einrichtung vornehmen können. In der ersten Eingabeaufforderung werden Sie gefragt, ob Sie das Plugin Validate Password einrichten möchten, mit dem Sie die Stärke Ihres MySQL-Passworts testen können.

Wenn Sie sich für die Einrichtung des Validate Password-Plugins entscheiden, werden Sie von dem Skript gefragt, ob Sie eine Passwort-Validierungsstufe auswählen möchten.

Als nächstes werden Sie dazu aufgefordert, ein Passwort für den root-User für MySQL festzulegen.
Von dort aus können Sie Y und dann ENTER drücken, um die Standardeinstellungen für alle nachfolgenden Fragen zu akzeptieren.

Starten Sie den MySQL Server-Dienst:

sudo service mysql start

Öffnen Sie die MySQL-Kommandozeile:

sudo mysql

Sie können jetzt Befehle an MySQL senden, müssen allerdings zuerst wie folgt einen neuen Benutzer erstellen und Berechtigungen zuweisen.

Erstellen Sie einen neuen Datenbankbenutzer:

CREATE USER 'denise'@'localhost' IDENTIFIED WITH mysql_native_password BY 'myPassword';

Erstellen Sie eine neue Anwendungsdatenbank:

CREATE DATABASE MY_APP_DB;

Geben Sie dem Benutzer die Berechtigung für die neue Anwendungsdatenbank:

GRANT ALL PRIVILEGES ON MY_APP_DB.* TO 'denise'@'localhost';

Beenden Sie die MySQL-Kommandozeile:

exit;

Sie können sich jetzt als den erstellten Benutzer wieder anmelden, die neu erstellte Datenbank verwenden und eine Tabelle hinzufügen.
Öffnen Sie die MySQL-Kommandozeile:

mysql -u denise -p

Wählen Sie die Datenbank aus, die Sie gerade erstellt haben:

USE MY_APP_DB;

Erstellen Sie eine neue Tabelle:

CREATE TABLE users(
   id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
   name VARCHAR(30) NOT NULL,
   email VARCHAR(50)
);

Fügen Sie der soeben erstellten Tabelle Datensätze hinzu:

INSERT INTO `users` (`name`, `email`) VALUES 
('Janis', 'janis@email.com'),
('Anja', 'anja@email.com'),
('Felix', 'felix@email.com');

Beenden Sie die MySQL-Kommandozeile:

exit;

Installieren Sie die PHP MySQL-Erweiterung:

sudo apt-get install php-mysql

Erstellen Sie eine Testanwendung

Schließen Sie zunächst alle geöffneten Ubuntu 20.04 LTS-Terminals, damit Änderungen vorgenommen werden können und geben Sie nach dem erneuten Öffnen die folgenden Befehle ein:

Erstellen Sie einen neuen Ordner:

mkdir my-test-application

Wechseln Sie in den neuen Ordner:

cd my-test-application

Erstellen Sie eine neue Datei:

touch index.php

Öffnen Sie das Verzeichnis in Visual Studio Code:

code .

Visual Studio Code wird nun mit dem Inhalt des Verzeichnisses geöffnet, das sich im Arbeitsbereich links auf dem Bildschirm befindet:

Mainzer Datenfabrik - Windows-Subsystem für Linux

Fügen Sie der Datei index.php folgendes Skript hinzu:

<?php
$servername = "127.0.0.1";
$username = "denise";
$password = "myPassword";
$dbname = "MY_APP_DB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close();
?>

Speichern Sie die Datei in Visual Studio Code, kehren Sie dann zu Ihrem Ubuntu 20.04 LTS-Terminal zurück und geben Sie den folgenden Befehl ein:

php -S localhost:8000

Dadurch wird ein lokaler Entwicklungsserver gestartet. Sie können jetzt einen Webbrowser öffnen und zu localhost navigieren:

Mainzer Datenfabrik - Windows-Subsystem für Linux

Fazit

Sie sollten jetzt alles eingerichtet haben, was Sie brauchen, um mit der Entwicklung auf PHP zu beginnen.

Interesse geweckt?

Unsere Expert:innen stehen Ihnen bei allen Fragen rund um Ihre IT Infrastruktur zur Seite.

Kontaktieren Sie uns gerne über das Kontaktformular und vereinbaren ein unverbindliches Beratungsgespräch mit unseren Berater:innen zur Bedarfsevaluierung. Gemeinsam optimieren wir Ihre Umgebung und steigern Ihre Performance!
Wir freuen uns auf Ihre Kontaktaufnahme!

Taunusstraße 72
55118 Mainz
info@madafa.de
+49 6131 3331612
Bürozeiten
Montag bis Donnerstag:
9:00 - 17:00 Uhr MEZ

Freitags:
9:30 - 14:00 Uhr MEZ