Sample configuration for xampp virtual hosts 100 work tested 2022
Sample configuration for xampp virtual hosts 100% work tested 2022
XAMPP vhosts config full example and guide
- important for linux and mac users. Make sure permission of xampp, open
etc/httpd.conf
change nobody and nogroup with your username and your groupsudo gedit /opt/lampp/etc/httpd.conf
<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
#User daemon
#Group daemon
#User nobody
#Group nogroup
User dimaslanjaka
Group dimaslanjaka
</IfModule>
- script create SSL certificate for XAMPP in windows
@echo off
@REM save this script into xampp_folder/apache/bin
SETLOCAL EnableDelayedExpansion
@REM Get the directory of the script
set "script_dir=%~dp0"
set "OPENSSL_CONF=%script_dir%\..\conf\openssl.cnf"
set /p domain="Enter Domain: "
@REM set "domain=dev.webmanajemen.com"
set "state=East Java"
set "country=ID"
set "organization=Website Management Indonesia"
set "organizational_unit=Developer"
set "city=Surabaya"
set "cert_output_dir=%script_dir%\..\conf\crt\%domain%"
if not exist "%cert_output_dir%" mkdir "%cert_output_dir%" /p
bin\openssl req -new -out "%cert_output_dir%\server.csr" -subj "/C=%country%/ST=%state%/L=%city%/O=%organization%/OU=%organizational_unit%/CN=%domain%"
bin\openssl rsa -in "%cert_output_dir%\privkey.pem" -out "%cert_output_dir%\server.key" -subj "/C=%country%/ST=%state%/L=%city%/O=%organization%/OU=%organizational_unit%/CN=%domain%"
bin\openssl x509 -in "%cert_output_dir%\server.csr" -out "%cert_output_dir%\server.crt" -req -signkey %cert_output_dir%\server.key -days 365 -subj "/C=%country%/ST=%state%/L=%city%/O=%organization%/OU=%organizational_unit%/CN=%domain%"
bin\openssl req -new -sha256 -nodes -out "%cert_output_dir%\server.csr" -keyout "%cert_output_dir%\server.key" -subj "/C=%country%/ST=%state%/L=%city%/O=%organization%/OU=%organizational_unit%/CN=%domain%"
bin\openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout "%cert_output_dir%\server.key" -x509 -days 365 -out "%cert_output_dir%\server.crt" -subj "/C=%country%/ST=%state%/L=%city%/O=%organization%/OU=%organizational_unit%/CN=%domain%"
- enable xampp virtual hosts
The virtual hosts conf by defualt is disabled in httpd.conf, in order to allow virtual hosts in XAMPP under Ubuntu you have to uncomment line
480
inhttpd.conf
uncomment below codes:
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
- open and edit
etc/extra/httpd-vhosts.conf
specify your own local domains and paths
<VirtualHost *:80>
ServerAdmin dimaslanjaka@gmail.com
ServerName wp.webmanajemen.com
ServerAlias wp.webmanajemen.com
DocumentRoot "/opt/lampp/htdocs"
ErrorLog "logs/wp.webmanajemen.com-error_log"
CustomLog "logs/wp.webmanajemen.com-access_log" common
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
<Directory /opt/lampp/htdocs>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin dimaslanjaka@gmail.com
ServerName adsense.webmanajemen.com
ServerAlias adsense.webmanajemen.com
DocumentRoot /media/dimaslanjaka/DATA/Repositories/gh-pages
<Directory /media/dimaslanjaka/DATA/Repositories/gh-pages>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/adsense-error.log
CustomLog logs/adsenser-access.log combined
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
</VirtualHost>
Important for XAMPP v3.+
AllowOverride All deprecated
Order Allow,Deny deprecated
Allow from all deprecated
<Directory "/xampp/htdocs/">
Options Indexes FollowSymLinks Includes ExecCGI
# Options Indexes FollowSymLinks # you can using this
# AllowOverride All # Deprecated
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated
# --New way of doing it
Require all granted
</Directory>
- Edit
hosts
filespecify your own local domain
- Windows 10 –
C:\Windows\System32\drivers\etc\hosts
- Linux –
/etc/hosts
- Mac OS X –
/private/etc/hosts
- Windows 10 –
127.0.0.1 wp.webmanajemen.com
127.0.0.1 adsense.webmanajemen.com
- Restart XAMPP
- Access Browser URL http://wp.webmanajemen.com and http://adsense.webmanajemen.com now each domain has their own public directory to serve