[TOC]

Installation of packages

By default on Suse 10.1 there is no PHP even if apache2 and mysql are installed. Therefore it is necessary to check the installed packages first.

Setup of Apache

Setting of DirectoryIndex

If the DirectoryIndex is not set to index.php, this file wont be loaded by default so it is necessary for 99% of all PHP based systems. If the php module is loaded the according settings are loaded in ‘conf.d/php5.conf’:
<ifmodule mod_php5.c>
        AddType application/x-httpd-php .php3
        AddType application/x-httpd-php .php4
        AddType application/x-httpd-php .php5
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .php3s
        AddType application/x-httpd-php-source .php4s
        AddType application/x-httpd-php-source .php5s
        AddType application/x-httpd-php-source .phps
        DirectoryIndex index.php3
        DirectoryIndex index.php4
        DirectoryIndex index.php5
        DirectoryIndex index.php
</ifmodule>
if this does not work it can be added in ‘httpd.conf’:
# List of resources to look for when the client requests a directory
DirectoryIndex index.html index.html.var index.php

Additional Modules

The modules to load are not set up in /etc/apache2/* but in /etc/sysconfig/apache2 The important part is
APACHE_MODULES="... php5 rewrite"
so add at least php5 an rewrite if you need mod_rewrite, which is usually the case.

Setup of vhosts

For a local webserver you want a virtual host. These are set up in /etc/apache2/vhosts.d/ There is a dummy file that can be changed. One example could be
<virtualhost *:80>
    #ServerAdmin webmaster@dummy-host.example.com
 ServerName www.local-wordpress.de
 
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
 DocumentRoot /home/matthias/www/wordpress
 
    #
    # This should be changed to whatever you set DocumentRoot to.
    #
 <directory "/home/matthias/www/wordpress">
 
        #
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        #
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        #
        # The Options directive is both complicated and important.  Please see
        # http://httpd.apache.org/docs-2.0/mod/core.html#options
        # for more information.
        #
Options Indexes FollowSymLinks
 
        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
AllowOverride All
 
        #
        # Controls who can get stuff from this server.
        #
Order allow,deny
  Allow from all
 </directory>
</virtualhost>
To let the webbrowser find the webpage it needs to know how to resolv the DNS. Therefore one needs to add to /etc/hosts
127.0.0.1       www.local-wordpress.de

Start apache2

/etc/init.d/apache2 start Now this should be enough to let the webbrowser show a page www.local-wordpress.de located on the disk at /home/matthias/www/wordpress/

Setup of mysql/wordpress

Check if mysql is running

/etc/init.d/mysql start

Password for mysql

The password for root is set up by
mysqladmin -u root password xxxxxxxx

Setup of phpmyadmin

This tool is the right thing if one does not want to mess with SQL Commands one does not know. It is setup by calling http://www.local-wordpress.de/phpMyAdmin/scripts/setup.php with password according to the previous one set up.

wordpress

First create a database with phpmyadmin. Then setup the config file of wordpress with that databasename and the password for mysql. Now finish with calling the /wp-admin/install.php script. DONE.