Skip to content

Instantly share code, notes, and snippets.

@kevinn
Last active July 31, 2019 01:39
Show Gist options
  • Save kevinn/66c566196870e44c49a97ac0a1d61881 to your computer and use it in GitHub Desktop.
Save kevinn/66c566196870e44c49a97ac0a1d61881 to your computer and use it in GitHub Desktop.
Setting up PHP MySQL on Windows WSL

Setting up Apache, PHP, and MySQL on Windows WSL

Update package managers

$ sudo apt update
$ sudo apt upgrade

Install Apache2

$ sudo apt install apache2
$ mkdir /mnt/c/dev/wwwroot
$ sudo ln -s /mnt/c/dev/wwwroot /var/www/public

Edit Apache configurations

$ sudo nano /etc/apache2/apache2.conf
Find <Directory /var/www/> and replace "AllowOverride None" to "AllowOverride all"

$ sudo nano /etc/apache2/sites-enabled/000-default.conf
Change DocumentRoot to "/var/www/public" and ServerName to "localhost".

Enable mod rewrite

$ sudo a2enmod rewrite

Run Apache

$ sudo service apache2 start

Install PHP

$ sudo apt-get install libapache2-mod-php7.2 php7.2-mysql php7.2-mbstring php7.2-gettext php7.2-xml php7.2-json php7.2-curl php7.2-zip php7.2-gd

Add index.html to your document root and test.

Install MariaDB

$ sudo apt-get install mariadb-server
$ sudo mysql_secure_installation
$ sudo service mysql start

Add a local user

$ sudo mysql -u root
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'localhost';

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment