Developing locally - playing with URLs
Fri, 2008/04/25 - 15:14 — balu
I have seen too many times that when people install drupal locally, they have no clue about how to set up local URL aliases, so here is my solution, resulting in urls like http://d/5/profile (drupal 5 installation for some profile related project).
The first step is to set up a clean, structured environment for our installations, preferably in our home directory.
File system setup
My structure looks as the following: I created a separate “projects” directory, under which i put the “drupal” directory. Thus ~/projects/drupal contains all the drupal related stuff that im working on. So far so good, but one needs further classifications to separate major versions. Sadly we can’t tag files on the filesystem level (yet), so lets stick to hierarchical taxonomy. Drupal 5 installations go to ~/projects/drupal/5, 6 respectively.
The resulting project structure looks like the following:
balu@codespace:~$ tree -a -d -L 1 -P projects/drupal/*
projects/drupal/5
|-- profile
|-- distro
|-- network
`-- s
projects/drupal/6
|-- s
`-- planetsoc
projects/drupal/contributions
|-- CVS
|-- modules
|-- profiles
`-- sandbox
projects/drupal/Distributions
|-- 5
`-- 6
All the subdirectories in 5 and 6 are drupal installations, separated for the sake of having a clean starting environment for each project (no interference from previous hacks).
Virtual Host setup
Now the next step is to provide short URLs to access these installations. The solution is to symlink our drupal installation to the www root: ln -sf ~/projects/drupal /var/www/d. Using virtual hosts in Apache its very easy to alias urls to custom webroot paths, for example the following configuration in apache will shortcut the “network” drupal 5 installation to http://d/5/network. It also enables Clean URLs (dont forget mod_rewrite).
In ubuntu/debian you can just put it to /etc/apache2/sites-enabled/000-default (lazy solution, will be overwritten probably on system upgrade), or create your own sites file (safer).
<VirtualHost d>
DocumentRoot /var/www/d
<Directory /var/www/d/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>
Comments
Mon, 2008/10/13 - 17:49 — edinburgh accommodation (not verified)
Hmm, a system that treats its
Hmm, a system that treats its own OpenIDs just like any other OpenID and considers them foreign credentials for which it creates a new account seems… weird. It seems it should recognize its own OpenIDs and map them back to the corresponding username.
Mon, 2009/05/11 - 18:54 — Hypnosis Training (not verified)
Okay this is the best way to
Okay this is the best way to create a system within a system.I used tis applicatio and i liked it.It is user frienly and anyone can have a go at it.