I just installed Uniform Server and I am delighted. First impression is that it is easy to set, efficient and clean. Great Work!
I am in web stuff for decades and none of the tools I used for local development environment seems so nice. Kudos to developers.
In my workflow I use separate local domains for each project. There is number of reasons I never embraced local www site with each project in subdirectory as it is widely proposed by all WAMP platforms. I usually just use public domain for the project and add .loc at the end.
My other requirement is that each project is easily configurable and all configuration is easily shareable among several computers or several developers if they are involved on the same project (by using git, svn or similar service).
So, here I will explain how i did it with Uniform Server, as I guess others can benefit from this approach.
- directory where projects are stored is c:\www_projects
- each project is within this directory as separate directory (usually) named by project domain
- all configuration including Apache config is within this directory for easy sharing, placed in c:\www_projects\_vhosts
- example project domain is example.org
First thing is to set Uniform Server as proposed in setup instructions and make sure it works fine.
Then create directory c:\www_projects\example.org and place project web site files there.
Then we need project local domain in .hosts file. You can edit .hosts file directly or use Uniform Server option Extra / Edit Win hosts file. Make sure you set both base domain and www domain for the project. As we use example.org as project domain .hosts file should get two additional lines like:
Then we have to edit httpd.conf. You may use Apache / Edit Configuration files menu in Uniform Server. Go to the bottom file and add these lines:
Define projects_www_path c:\www_projects
This will allow Apache to load additional virtual hosts settings from separate configuration files that you control outside of Uniform Server. This edit is the only one that must be done within Uniform Server configuration. Everything else is within your projects. This means if you set new computer, all you have to do is copy projects directory and add these two lines in httpd.conf. This will work even if you use different WAMP platform.
Now create file D:\www_projects\httpd_projects_www_hosts.conf using text editor and make sure it's contents is like this
# Virtual Hosts for Custom Projects
# Please see the documentation at
# for further details before you try to setup virtual hosts.
#Options FollowSymLinks Indexes
Allow from all
Require all granted
CustomLog "logs/default-access.log" common
This will instruct Apache to look for virtual host config files in c:\www_projects\_vhosts\. There you would put virtual host config file for each project.
For our example virtual host file should be named c:\www_projects\_vhosts\test.org.conf and its content might be something like this:
CustomLog "logs/example.org.log" common
This is the most basic settings and good enough for development. Apache will know where to find project files and will store access and error logs separately for this project.
Now you have to restart Apache for this configuration to be loaded and check if site is visible at domain example.org.loc or www.example.org.loc
Further, if you want to add additional projects you just have to create project directory in c:\www_projects, store project files there and create virtual host configuration file in c:\www_projects\_vhosts. And restart Apache, of course.