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’:
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
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
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
# 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.
# This should be changed to whatever you set DocumentRoot to.
# 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
# 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
# Controls who can get stuff from this server.
Allow from all
To let the webbrowser find the webpage it needs to know how to resolv the DNS. Therefore one needs to add to /etc/hosts
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
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.
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.