Virtual Host And Certbot in WSL2
Config
config locations: mkdir -p /mnt/d/usr/share/apache2/icons mkdir -p /mnt/d/etc/apache2/conf.sites.all.d
virtual site config: touch /mnt/d/etc/apache2/conf.sites.all.d/00-dev.chorke.org{.conf,-le-ssl.conf} touch /mnt/d/etc/apache2/conf.sites.all.d/01-api.chorke.org{.conf,-le-ssl.conf} touch /mnt/d/etc/apache2/conf.sites.all.d/02-dev.chorke.com{.conf,-le-ssl.conf} touch /mnt/d/etc/apache2/conf.sites.all.d/03-dev.shahed.biz{.conf,-le-ssl.conf}
virtual site locations: mkdir -p /mnt/d/var/www/{api,dev}.chorke.org/{docs,html,soft} mkdir -p /mnt/d/var/www/dev.chorke.com/{docs,html,soft} mkdir -p /mnt/d/var/www/dev.shahed.biz/{docs,html,soft} mkdir -p /mnt/d/var/www/{api,dev}.chorke.org/html/.well-known/acme-challenge mkdir -p /mnt/d/var/www/dev.chorke.com/html/.well-known/acme-challenge mkdir -p /mnt/d/var/www/dev.shahed.biz/html/.well-known/acme-challenge
Enable
ln -s /mnt/d/etc/apache2/conf.sites.all.d/00-dev.chorke.org.conf\ /etc/apache2/sites-enabled/00-dev.chorke.org.conf ln -s /mnt/d/etc/apache2/conf.sites.all.d/01-api.chorke.org.conf\ /etc/apache2/sites-enabled/01-api.chorke.org.conf ln -s /mnt/d/etc/apache2/conf.sites.all.d/02-dev.chorke.com.conf\ /etc/apache2/sites-enabled/02-dev.chorke.com.conf ln -s /mnt/d/etc/apache2/conf.sites.all.d/03-dev.shahed.biz.conf\ /etc/apache2/sites-enabled/03-dev.shahed.biz.conf
ln -s /mnt/d/etc/apache2/conf.sites.all.d/00-dev.chorke.org-le-ssl.conf\ /etc/apache2/sites-enabled/00-dev.chorke.org-le-ssl.conf ln -s /mnt/d/etc/apache2/conf.sites.all.d/01-api.chorke.org-le-ssl.conf\ /etc/apache2/sites-enabled/01-api.chorke.org-le-ssl.conf ln -s /mnt/d/etc/apache2/conf.sites.all.d/02-dev.chorke.com-le-ssl.conf\ /etc/apache2/sites-enabled/02-dev.chorke.com-le-ssl.conf ln -s /mnt/d/etc/apache2/conf.sites.all.d/03-dev.shahed.biz-le-ssl.conf\ /etc/apache2/sites-enabled/03-dev.shahed.biz-le-ssl.conf
Virtual Host configuration skipped to avoid redundancy. Please find the config details in Virtual Host And Certbot in Raspbian 10.
Virtual Host
cat <<EOF >> /mnt/d/etc/apache2/conf.sites.all.d/03-dev.shahed.biz.conf
<IfModule mod_proxy.c>
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
AllowEncodedSlashes Off
ServerAdmin info@shahed.biz
DocumentRoot /mnt/d/var/www/dev.shahed.biz/html
ErrorLog /mnt/d/var/www/dev.shahed.biz/logs/error.log
CustomLog /mnt/d/var/www/dev.shahed.biz/logs/requests.log combined
<Directory "/mnt/d/var/www/dev.shahed.biz/">
AllowOverride None
Require all granted
</Directory>
<Directory "/mnt/d/var/www/dev.shahed.biz/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
Alias /docs "/mnt/d/var/www/dev.shahed.biz/docs/"
<Directory "/mnt/d/var/www/dev.shahed.biz/docs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Allow,Deny
Allow from all
</Directory>
Alias /logs "/mnt/d/var/www/dev.shahed.biz/logs/"
<Directory "/mnt/d/var/www/dev.shahed.biz/logs">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Allow,Deny
Allow from all
</Directory>
Alias /soft "/mnt/d/var/www/dev.shahed.biz/soft/"
<Directory "/mnt/d/var/www/dev.shahed.biz/soft">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
Order Allow,Deny
Allow from all
</Directory>
<Proxy *>
Order Allow,Deny
Allow from all
Deny from 10.9.8
</Proxy>
# RewriteEngine on
# RewriteCond %{SERVER_NAME} =dev.shahed.biz [OR]
# RewriteCond %{SERVER_NAME} =www.dev.shahed.biz
# RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
</IfModule>
EOF
Knowledge
sudo service apache2 restart sudo service redis-server restart