On Fri, 2003-06-13 at 01:53, Luiz Carlos (Paulista) wrote:
Hi,
Iīm trying to install Apache in a Linux Machine, with mod_perl and AuthenNTLM. I want to authenticate users from a Windows 2000 domain. I donīt want them to be prompted for their username and password. These are the softwares I have installed: Red Hat Linux 8.0, Samba -2.2.8(use winbind for authentication), Apache 2.0.45, mod_perl-1.99_09, Apache-AuthenNTLM-023. My test directory is configured like this: Alias /ntlm/ "/home/httpd/ntlm/"
<Directory "/home/httpd/ntlm/">
PerlAuthenHandler Apache::AuthenNTLM
AuthType ntlm,basic
AuthName NTLM-AREA
Require valid-user
PerlAddVar ntdomain "sede BATUTAS"
PerlSetVar defaultdomain sede
PerlSetVar ntlmdebug 1
</Directory>
Also I have included in httpd.conf the following statements for mod_perl
LoadModule perl_module modules/mod_perl.so
PerlRequire /home/httpd/perl/startup.pl
PerlSwitches -wT
I am not expert neither in Linux nor in Perl and I would apreciate any sugestions.
I have this successfully working with Mod_Perl 1.27
When you get this working can you please test something for me, change your Windows password to include a : (colon). I believe that there is a bug in the AuthenNTLM module and would like somebody else to verify this.
Thanks, Luiz Carlos
-------------8<---------- Start Bug Report ------------8<---------- 1. Problem Description: When I try to access the URL the following error is received by IE 6.0 browser: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [EMAIL PROTECTED] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/2.0.45 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.45 OpenSSL/0.9.6b Server at catapulta Port 80
The error loged in error_log is: Use of uninitialized value. [Fri May 30 07:24:37 2003] [error] [client 192.168.1.73] Can't call method "connection" on an undefined value at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Apache/AuthenNTLM.pm line 480.
Line 480 in AuthenNTLM.p is the following: sub handler ($$) { my ($class, $r) = @_ ; my $type ; my $nonce = '' ; my $self ; my $conn = $r -> connection ; my $connhdr = $r -> header_in ('Connection') ; (LINE 480 REPORTED IN THE BROWSWER) my $fh = select (STDERR) ; $| = 1 ; select ($fh) ;
I have also noticed that the handle module AuthenNTLM.pm (line 32) was trying to use Apache::Constants. This module does not exist. So, I changed it to Apache::Const. After that I have been faced to the error in line 480.
2. Used Components and their Configuration:
*** using lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_AP_PREFIX => /usr/local/apache2 MP_COMPAT_1X => 1 MP_GENERATE_XS => 1 MP_LIBNAME => mod_perl MP_USE_DSO => 1 MP_USE_STATIC => 1
*** /usr/local/apache2/bin/httpd -V Server version: Apache/2.0.46 Server built: Jun 2 2003 11:21:42 Server's Module Magic Number: 20020903:3 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/usr/local/apache2" -D SUEXEC_BIN="/usr/local/apache2/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
*** /usr/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
Platform:
osname=linux, osvers=2.4.18-11smp, archname=i386-linux-thread-multi> uname='linux daffy.perf.redhat.com 2.4.18-11smp #1 smp thu aug 15 06:41:59 edt 2002 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dmyhostname=localhost [EMAIL PROTECTED] -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -march=i386 -mcpu=i686',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -I/usr/include/gdbm'
ccversion='', gccversion='3.2 20020822 (Red Hat Linux Rawhide 3.2-5)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
libc=/lib/libc-2.2.92.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.2.92'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Hi!
Feel free to contact me, as well. I have contacted the author about porting the module, and if I can use you as a test environment, I can this ported rather quickly (I don't have a windows environment for me to test on, but I can make the changes, and you can test the install for me, and then we can get this mod to work for both versions of modperl...)
Anyone have an installation of apache 1 that is using NTLM for authentication? (Possibly you, Brett? I will need to be able to test the ported mod for compatibility with modperl 1, as well.)
thanks, speeves cws