#8 how to test the installation


I'm more a webjack-of-all-trades than a webmaster, and
I added mod_perl to my apache installation specifically
to get LXR running. I think I followed the INSTALL
instructions to a T, but when I point my browser at
http://www.SchemaMania.org/lxr/source, I get no joy (as
you can see).

I don't know how to test my installation. I can't tell
if mod_perl is OK and LXR needs tweaking, or if swish-e
is the problem, or what. I do see a bunch of data in
the MySQL tables, and genxref had no complaints (but I
wish its chatty output would go to stdout instead of
stderr. That would make errors easier to see. )

The apache log just shows:

File does not exist:

Which is quite true; there's no file/directory by that
name. Should there be?

If you'd followed the directions carefully and saw no
"source" document on a new setup, what would you look
at next?

Thank you,


  • Malcolm Box

    Malcolm Box - 2002-09-06

    Logged In: YES

    My guess would be that you need to configure the lxr
    directory in httpd.conf. You should have a directive in
    there that looks something like:

    Alias /lxr/ "/home/lxr/lxr/"
    Alias /lxr "/home/lxr/lxr/source"

    <Directory "/home/lxr/lxr">
    AllowOverride All
    Order allow,deny
    Allow from all

    This aliases the /lxr URL to the directory in which the lxr
    files live, and then sets up permissions for that directory.
    You can skip the Alias section if there is some other path
    to the files.


  • James K. Lowden

    James K. Lowden - 2002-09-14

    Logged In: YES

    Malcom, thanks for the reply. I tried to follow your

    No joy, however. In the interest of clarity, I've appended
    most of the configuration information below.

    An offer: I will write better documentation. I know how,
    see http://www.freetds.org/userguide/

    I found the INSTALL file a bit terse, hard to know how
    everything ties together. This despite the fact that I've
    been using perl for years.

    If someone could help me get off the ground, I'm sure I
    could add an installation guide to your documentation.

    Many thanks for your help. Configuration information


    That section of my httpd.conf looks like this:

    DocumentRoot "/usr/local/website/DocumentRoot"
    Alias /lxr/ "/usr/local/website/DocumentRoot/lxr/"
    Alias /lxr "/usr/local/website/DocumentRoot/lxr/source"

    <Directory />
    Options FollowSymLinks
    AllowOverride None

    <Directory /usr/local/website/DocumentRoot/lxr>
    AllowOverride All
    Order allow,deny
    Allow from all
    [ end httpd.conf ]

    and the top of my lxr.conf, stripped of comments, like this

    'swishindex' => '/usr/local/bin/swish-e',
    'swishsearch' => '/usr/local/bin/swish-e',
    'ectagsbin' => '/usr/bin/ctags',
    'tmpdir' => '/tmp',
    'genericconf' =>
    'baseurl' => 'http://www.schemamania.org/lxr',
    # Put your URL here
    'virtroot' => '/lxr', # The
    bit after the / above
    'variables' => {
    'v' => {'name' => 'Version',
    'range' => [qw(freetds)],
    'default' => 'freetds'},
    'a' => {'name' => 'Architecture',
    'range' => [qw(i386 alpha arm
    m68k mips ppc sparc sparc64)]},
    'maps' => {
    '/include/asm[^\/]*/' => '/include/asm-$a/',
    '/arch/[^\/]+/' => '/arch/$a/',
    'htmlhead' => 'html-head.html',
    'htmltail' => 'html-tail.html',
    'htmldir' => 'html-dir.html',
    'htmlident' => 'html-ident.html',
    'sourcehead' => 'html-head.html',
    'sourcedirhead' => 'html-head.html',
    'stylesheet' => 'lxr.css',
    'sourceroot' =>
    'sourcerootname' => 'freetds',
    'dbname' => 'dbi:mysql:lxr;host=sandbox',
    'swishdir' => '/usr/local/swish-e/',
    'incprefix' => ['/usr/include',

    [end lxr.conf]

  • Malcolm Box

    Malcolm Box - 2002-09-20

    Logged In: YES


    The offer of better documentation is very welcome - you're
    not the only person to comment that the current INSTALL
    guide leaves something to be desired.

    The error I get when I visit the URL you gave is "404 Not
    Found", which means to me that apache isn't able to see that
    directory/file successfully. Check your error_log to see
    what file it is that Apache is trying to serve. If it's the
    right one, then check that the permissions are right on the
    directory - ie that the user that apache runs at has r-x
    permissions on the directory, and r-x on the scripts.

    I don't think this is your mod_perl setup - you'd be getting
    a different error message if Apache had found the files and
    was having problems with mod_perl.

    Random thought 3: I've never tried using Alias to map a
    directory to where it would be anyway. In your config, the
    lxr directory is available directly under the DocRoot, so
    there may be no need to have the Alias directives. Chopping
    them might help.

    So I suggest the following diagnostic procedure:

    1. Rename /usr/local/website/DocumentRoot/lxr/ to something
    2. Remove the Alias lines from httpd.conf
    3. mkdir /usr/local/website/DocumentRoot/lxr/
    4. See if you can see it via http://..../lxr
    5. If the error is still 404 Not Found, then restart Apache
    - your config is hosed
    6. If the error is Denied, then setup permissions correctly
    7. Keep going till Apache will show you the directory
    (optionally put a HTML file in there and make sure you can
    see that too).
    8. Move the lxr files back into
    9. See if Apache will serve them

    At the moment the problem you're running into is Apache and
    its config, not mod_perl or lxr specifically, at least as
    far as I can tell.

    Let me know how you get on.



  • Malcolm Box

    Malcolm Box - 2002-11-20
    • status: open --> closed

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks