Skip to content
AtlanticBT Monogram Atlanticbt.com
Menu
January 25, 2012

The “Complete” How-to Set Up XAMPP on Windows

capabilities covered
Amazon Web Services

If you run PHP locally on a Windows machine, you’re probably using XAMPP.  By default, you put all your files in the xampp directory (htdocs) to make things work.  However, if want a different directory structure (i.e. under “My Documents”) you can set up domain or subdirectory aliases.

The following steps are the mostly-complete guide to setting up XAMPP: set alternate folders/domains/subdirectories, enable “missing” extensions, and let it play nicely with VisualStudio’s local IIS.

  1. Download zip version
  2. run setup_xampp.bat to fix directories
  3. to access your local dev like `http://ALIAS.localhost:81/whatever.php`, in apacheconfextrahttpd-vhosts.conf add your custom directories like: (note port 81 from step 7)
    [php htmlscript=”true”]

    <VirtualHost *:81>
    ServerAdmin YOUR@EMAIL.COM
    DocumentRoot "/Relative/Path/To/LocalFiles"
    ServerName ALIAS.localhost
    ServerAlias www.ALIAS.localhost
    ErrorLog "logs/ALIAS.localhost-error.log"
    CustomLog "logs/ALIAS.localhost-access.log" combined

    <Directory "/Relative/Path/To/LocalFiles">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    [/php]

     

  4. Update your hosts file (C:WindowsSystem32driversetchosts) accordingly: 127.0.0.1 ALIAS.localhost
    (added bonus: wildcards in hosts file (untested))
  5. OR, instead of #3 and #4, configure subdirectory aliases in xamppapacheconfextrahttpd-userdir.conf, which will let you access your local dev like `http://localhost/ALIAS/whatever.php`
    [php htmlscript=”true”]
    <IfModule alias_module>
    # ===== Description of the following
    Alias /ALIAS "/Relative/Path/To/LocalFiles"
    # Access control, etc
    <Directory "/Relative/Path/To/LocalFiles">
    AllowOverride All
    Options Indexes FollowSymLinks
    Order allow,deny
    Allow from all
    </Directory>
    </IfModule>
    [/php]
  6. Allow “missing” extensions by uncommenting dll line in xamppphpphp.ini
  7. If also have IIS (VisualStudio) on same computer, you’ll need to change the ports (you can use other numbers)
    1. in xamppapacheconfhttpd.conf — change `Listen *:80` to `Listen: *.81`, `ServerName localhost:80` to `ServerName localhost:81`
    2. in xamppapacheconfextrahttpd-ssl.conf — change `Listen 443` to `Listen 442`
    3. ignore the message in xampp-control that says it started on port 80 (that’s hardcoded)
capabilities covered
Amazon Web Services

The Atlantic BT Manifesto

The Ultimate Guide To Planning A Complex Web Project

Partner With Us

Ready for modern web technology and a sharp, user-friendly design? We want to give you exactly that. Contact us to get started.

Contact
  • This field is for validation purposes and should be left unchanged.