Username Password
Bookmark and Share

Installing WebGUI in Debian

Debian already has WebGUI support

If you want to install WebGUI on a Debian GNU/Linux you can use the readily available packages from Debian's repository. Bear in mind that Debian carries the latest stable WebGUI releases, usually available a day or two after Plainblack's release.

Installation is done using either aptitude from the command line or synaptic from your preferred desktop environment.

Debian Sid or Wheezy (Unstable/Testing)

If you are running an up to date Debian Sid (unstable) or Wheezy (testing) system, you only need to


   # aptitude install --without-recommends webgui


in order to get the latest available package installed, including all its dependencies. If you want to have MySQL in the same server, you will need to


    # aptitude install mysql-server


in order to get it installed (or drop the --without-recommends option in the first command). This behaviour is intended for those who want to have separate machines for WebGUI and MySQL; it would be very rude to force installation of MySQL in order to have WebGUI on a machine.

At times Wheezy will carry the next-to-last stable WebGUI released package until the last stable package is promoted from Sid (it takes at least 10 days).

Debian Squeeze (current stable)

If you are running an up to date Debian Squeeze (stable) sytem, you need to do a few extra things in order to use the WebGUI and needed packages from Sid, while keeping the rest of your system in Squeeze.

Start by adding a proper line to your /etc/apt/sources.list pointing to Sid packages. Keep the lines pointing to Squeeze, Debian Security and possibly Debian Updates unchanged. You should have at least


    deb squeeze main contrib non-free
    deb squeeze/updates main contrib non-free
    deb sid main contrib non-free


Note the use of squeeze and sid instead of stable and unstable; this prevents unwanted upgrades when newer Debian releases appear.

Then, you will need to configure APT Pinning so your Debian Squeeze installation prefers Squeeze packages instead of Sid packages, except for the extra packages needed for WebGUI. This is done by creating or editing /etc/apt/preferences and adding the following stanza


    Package: *
    Pin: release n=squeeze
    Pin-Priority: 1000

Package: *
    Pin: release n=sid
    Pin-Priority: 100


Next, update the package lists with the usual


    # aptitude update


and make sure both Squeeze and Sid lists are downloaded.

Finally, install the WebGUI packages doing


    # aptitude install webgui


This will pull webgui and several dependencies from Sid, but the rest of the packages will be pulled from Squeeze. At the time of this writing, the following packages will be taken from Sid:




There are newer versions for several Perl modules available in Sid, so you might want to change your pinning configuration if you're interested in using them, but YMMV.

For instance, at the time of this writing there was a newer version of libwww-perl (LWP) in Sid. However, the pinning configuration prevented it from being installed, as shown by running


# apt-cache policy libwww-perl
  Installed: 5.836-1
  Candidate: 5.836-1
  Version table:
     5.837-1 0
        100 sid/main amd64 Packages
 *** 5.836-1 0
       1000 squeeze/main amd64 Packages


that's interpreted as 5.836-1 being installed, 5.837-1 being available in Sid, but leaving things as they are since the pinning rules say so. Read the fabulous manual on APT Pinning if you want to make things different.

This instructions have been tested up to Debian's 7.8.21 version of WebGUI's

Database and Apache setup

Check /usr/share/doc/webgui/README.Debian.gz for instructions on database and Apache setup.

Assisted database creation is a work in progress for the Debian package, so in the mean time you'll have to do it manually. The appropiate commands are spelled out for you in README.Debian.

The Debian package cannot assume WebGUI to be the only Apache application, so it provides a couple of sample config files for you to use, and also a couple of Apache modules need to be enabled. Again, the appropiate commands a configuration suggestions are spelled out for you.

The default configuration will have WebGUI running under http://localhost/webgui. If you want to change the root location or have WebGUI take control of the webserver, you'll need to use the alternate configuration file.

WebGUI and the FHS

Debian's WebGUI package strictly follows the FHS, so instead of a /data with everything inside, things are spread out. This means:


  • WebGUI libraries are in /usr/share/webgui
  • WebGUI log files are in /var/log/webgui, and get rotated automatically thanks to Debian's logrotate configuration.
  • WebGUI configuration is in /etc/webgui.
  • WebGUI web content is in /var/lib/webgui
  • WebGUI cache is in /var/cache/webgui
  • WebGUI utility scripts are in /usr/bin with a wg- prefix, i.e. wg-upgrade instead of plain upgrade.
  • Spectre, being a daemon lives in /usr/sbin, and can be handled using /etc/init.d/webgui or through the usual way.
  • Every utility script has a proper man page.
  • WebGUI will use TinyMCE's as packaged by Debian and not as provided by WebGUI.
  • WebGUI will use YUI as packaged by Debian and not as provided by WebGUI.


It also means you cannot start with a Debian package install and then upgrade to a non-Debian package install (WRE or source) unless you know exactly what you are doing.

Indexing and spelling

The Debian package sample WebGUI configuration already has support for PostScript and PDF indexing, so you do not need to do anything special. Just upload PostScript and PDF files and WebGUI will be able to index them out of the box.

If you want to enable the spell checker, just install as many aspell dictionaries as you want (aspell-en, aspell-es, aspell-de, etc.) and follow the instructions in /usr/share/doc/webgui/README.Debian.gz to enable them.

Bugs? What bugs?

Debian packaging is not done by Plainblack, so if the Debian package is not working for you, something is missing, or you have suggestions in order to improve the packaging, please file a Bug in the Debian BTS or contact the package maintainer (look at /usr/share/doc/webgui/changelog or for SquOnk on IRC).

Keywords: debian install

0xootom: "As of September 2011, the install doesn't seem to work so easily if you want to stay on Stable except for WebGUI. I had to delete the pinning preferences file and upgrade to unstable (sid), as the dependencies could not be met.

Also to get Apache2::SizeLimit working, you may need to apt-get install build-essential, mkdir /usr/include/apache2, followed by cpan Apache::SizeLimit::Core.

Then create a script in /etc/webgui and include from apache.conf.

Also need to apt-get install libjson-pp-perl"
Search | Most Popular | Recent Changes | Wiki Home
© 2022 Plain Black Corporation | All Rights Reserved