A step-by-step process for enabling clean URLs
I am running vmware workstation with Ubuntu 8.10 with LAMP and Drupal 6.6.
How I was able to enable clean URLs.
1. Open Terminal and type:
apache2ctl -M
to see if rewrite_module
is there. If it is not there, first go to the file browser and navigate to
/etc/apache2/mods-available
folder and confirm that rewrite.load exists. If it does not exist, then the rest of this won't help until it does.
If it does exist, we need to create a symlink from mods-enabled to mods-available. So in Terminal type or copy/paste:
cd /etc/apache2/mods-enabled
ln -s ../mods-available/rewrite.load (that first letter is a lowercase L ) ***If permission is denied, put sudo before ln
sudo ln -s ../mods-available/rewrite.load
2. Confirm that rewrite.load is now in the mod-enabled folder by opening the folder and finding it, or typing into Terminal
apache2ctl -M
So far so good? Great!
3. Next we need to open sites-enabled in the apache2 folder:
/etc/apache2/sties-enabled
and right-click the 000-default file and click the permissions tab. If the access is read-only, open Terminal and type:
sudo nautilus /etc
Doing that pops up the file browser as root. Navigate to 000-default again:
/etc/apache2/sites-enabled/000-default
right-click again, go to permissions and change all the read only's to read and write (mine change back automatically after I close the file directory but you might want to double-check.)
In this file it will say AllowOverride None in several places, each time inside of a different Directory tag. Find the one for where you've installed Drupal, and change it to AllowOverride All. For instance, if Drupal is installed at /home/username/www/drupal6, then it may be under the Directory "/home/username/www" grouping.
After this, open Terminal and and restart apache by typing:
sudo /etc/init.d/apache2 restart
You must restart Apache after every change you make to the apache files (if you expect to see changes in Drupal, for example).
Last but not least, I COULD VERY WELL BE WRONG AND DOING SOMETHING QUITE AWFUL, but it did work for me.
I figured this out after finding these two sites: http://www.jonathansblog.net/node/22 and http://linux.derkeiler.com/Mailing-Lists/Debian/2005-03/2483.html
~Admerin

AllowOverride only once
Hi, for me single replacement was enough: at (on ubuntu with apache2).
Error Found
Hi.
In the line wher said:
ln -s ../mods-available/rewrite.load (that first letter is a lowercase L ) ***If permission is denied, put sudo before ln
sudo ln -s ../mods-available/rewrite.load
Must Said:
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load (that first letter is a lowercase L ) ***If permission is denied, put sudo before ln.....
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
I make in Debian Lenny..... Very Fine Howto... It was necesary
Suggestion
As said there there is no need of giving command : sudo nautilus /etc
Just you need to do is that:
- edit the file 000-default in "/etc/apache2/sites-enabled/000-default" and edit it as administrator(with sudo command).
- Thus find the AllowOverride just under the Directory "/home/username/www" grouping.
- Change it to AllowOverride All and restart the Apache server.
Thanks!
This fix works!!!
THANK YOU SO MUCH!!! I can stop pulling my hair out now :)
Thanks, nice directions
Thanks..first time one of these Durpal sites had easy to follow command line instructions...good. They do not stress enough how apache is the master.
On my way to getting Drupal-6 working under Ubuntu, not there yet though....