Mediawiki with Postgres on Debian
A short guide to install Mediawiki on Debian with PostgreSQL 9.1.With a fix for this error:
"Attempting to connect to database "postgres" as superuser "postgres"... error: No database connection"
Installing packages
The server is still using Debian Squeeze, but I expect it would quite the same for the new Debian Wheezy. Here I used squeeze-backports.
Add the backports repository if needed:
echo "deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free" >> /etc/apt/sources.list
Install everything:
apt-get update apt-get -t squeeze-backports install apache2 postgresql-9.1 postgresql-contrib php5-pgsql apt-get -t squeeze-backports install imagemagick libdbd-pg-perl apt-get -t squeeze-backports install mediawiki
I use a separate IP for the wiki, so need to add it to the interface:
mcedit /etc/network/interfaces
# wiki on it's own IP auto eth0:3 iface eth0:3 inet static address 192.168.10.4 netmask 255.255.255.0
/etc/init.d/networking restart
Apache configuration
# I use the mod_rewrite module in Apache a2enmod rewrite # I prefer the config file in sites-enabled # (but it's really just a symlink to /etc/mediawiki/apache.conf): mv /etc/apache2/conf.d/mediawiki.conf /etc/apache2/sites-enabled
My virtual host config:
<VirtualHost *:80> ServerName wiki.example.lan ServerAlias wiki.example.lan ServerAdmin webmaster@example.com DocumentRoot /docs/www-wiki ErrorLog /var/log/apache2/wiki-error.log CustomLog /var/log/apache2/wiki-access.log combined ServerSignature On Alias /icons/ "/usr/share/apache2/icons/" RewriteEngine On RewriteRule ^/w(iki)?/(.*)$ http://%{HTTP_HOST}/index.php/$2 [L,NC] <Directory /docs/www-wiki/> Options +FollowSymLinks AllowOverride All # Default is Deny. Exceptions listed below with "Allow ...": Order Deny,Allow Deny from All Satisfy any # LAN Allow from 192.168.10.0/24 # VPN Allow from 10.0.10.0/24 # If using LDAP # AuthType Basic # AuthName "Example Wiki. Requires user name and password" # AuthBasicProvider ldap # AuthzLDAPAuthoritative on # AuthLDAPURL ldap://localhost:389/ou=People,dc=example,dc=lan?uid # AuthLDAPGroupAttribute memberUid # AuthLDAPGroupAttributeIsDN off # Require ldap-group cn=users,ou=Groups,dc=example,dc=lan </Directory> # some directories must be protected <Directory /docs/www-wiki/config> Options -FollowSymLinks AllowOverride None </Directory> <Directory /docs/www-wiki/upload> Options -FollowSymLinks AllowOverride None </Directory> <Directory "/usr/share/apache2/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
Moving files
I used a directory other than the default /var/lib/mediawiki. So I had to move things over:
cp -rp /var/lib/mediawiki /docs/www-wiki
The only tricky part, with the fix:
Before starting the web configurator in http://wiki.example.lan/config/ you need to define a password for the "postgres" database user. Mediawiki will start the psql
client as the www-data system user, but with the -U argument to set the user to "postgres". Even if you defined a password for the system user "postgres", this is not the password of the database user "postgres".
So you need to start psql as the postgres system user, which you can do as root using sudo -c
, and then set the password inside the psql client:
sudo -u postgres psql psql (9.1.9) Type "help" for help. postgres=# \password Enter new password: Enter it again: postgres=# \q
If you don't do this, the Mediawiki config will end with this error:
Attempting to connect to database "postgres" as superuser "postgres"... error: No database connection
And a big pink and unhelpful error box below.
The Postgresql log (tail /var/log/postgresql/postgresql-9.1-main.log
) will show:
FATAL: password authentication failed for user "postgres"
Finally
Now you just have to move LocalSettings.php to /etc/mediawiki/.
And if you used a different install root, you have to edit it to change the MW_INSTALL_PATH:
define('MW_INSTALL_PATH','/docs/www-wiki');
Labels: code, computers, databases, debian, en, ldap, linux, postgres, sysadmin
0 Comments:
Post a Comment
<< Home