I have downloaded Drupal from http://www.drupal.org. I have installed php5, mysql, apache2 and the enabling modules (that is, modules that allow mysql and php to talk to each other and so forth - evident when selecting packages using Synaptic).
The "fun" part is the server configuration. I want to create the Drupal installation in my public_html folder (which I have created in my home directory). Then I enable userdir by copying from /etc/apache2/mods-available to mods-enabled.
The userdir.conf file I changed to look like this:
UserDir public_html UserDir disabled root # AllowOverride FileInfo AuthConfig Limit Indexes AllowOverride All Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all
Note that the only special thing here is that I have commented out the default AllowOverride line and added a new one. I do this to make Apache2 accept that I override settings in .htaccess files.
Back in my public_html folder I have placed Drupal in the subfolder drupal6/dev. In there I edit my .htaccess file. At the bottom I changed it to the following:
# If your site is running in a VirtualDocumentRoot at http://example.com/, # uncomment the following line: RewriteBase /~ksp/drupal6/dev # Rewrite URLs of the form 'x' to the form 'index.php?q=x'. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Note that the only thing I have changed is the RewriteBase line that originally said "RewriteBase /". Now I can use clean URL's.
Now I can install Drupal (after creating a database schema and a user) by following the on screen directions.