Here are the basic steps to install another wordpress weblog on a multiple web sites infrastructure over a single apache2 on debian.
1. Create the new database
In order to pick a consistent database name, check the existing databases and create a new one. Then create a new username and give it full access.
mysql> SHOW DATABASES;
mysql> CREATE DATABASE <databasename>;
mysql> SELECT User, Password, Host from user;
mysql> GRANT ALL PRIVILEGES ON <databasename>.* TO <username>@<hostname> INDENTIFIED BY <password>;
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
2. Setup the wp-config file
2.1 Copy wp-config.php to config-<website>.php
2.2 Update config-website.php constants with the info from above
define('DB\_NAME', '<databasename>'); // The name of the database
define('DB\_USER', '<username>'); // Your MySQL username
define('DB\_PASSWORD', '<password>'); // ...and password
define('DB\_HOST', '<hostname>'); // 99% chance you won't need to change this value
3. Setup Apache2 web site
3.1 Create a website path
ln -s /usr/share/wordpress /var/www/<website>
3.2 Create logs folder
mkdir /var/log/apache2/<website>
3.3 Create a new apache configuration file for the website
/etc/apache2/sites-available/<website>
<VirtualHost *:80>
ServerName <website>
ServerAdmin webmaster@<domain>
DocumentRoot /var/www/<website>/
<Directory /var/www/<website>>
Options ...
# hack for nice URIs
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
</Directory>
...
LogLevel warn
ErrorLog /var/log/apache2/<website>/error.log
CustomLog /var/log/apache2/<website>/access.log combined
...
</VirtualHost>
3.4 Enable the new website
a2ensite website
3.5 Reload Apache2 configuration
/etc/init.d/apache2 reload
3.6 Run the install script: https://<website>/wp-admin/install.php
And Voila, you have a new weblog.
