Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Application perl sous apache
Envoyé par: Thibaud

Bonjour !
Je vous écris car je m'embrouille complètement pour exécuter un logiciel web (koha) écrit en perl et destiné à fonctionner sous apache. J'utilise un modèle client (kt600) / serveur (hp-9010), le logiciel étant installé dans le dossier /var/www/koha du serveur.
D'une part, lorsque j'ouvre un fichier .pl distant, firefox me propose de simplement le télécharger.
Pourtant, j'ai bien des modules perl d'installés dans les dossiers /etc/apache2/mod-enabled

D'autre part, j'ai des erreurs liées aux noms de serveurs lorsque je relance apache :
* Restarting web server apache2                                                                        [Fri Jan 04 11:37:27 2008] [warn] VirtualHost 168.192.1.12:0 overlaps with VirtualHost 168.192.1.12:0, the first has precedence, perhaps you need a NameVirtualHost directive
httpd (no pid file) not running
[Fri Jan 04 11:37:37 2008] [warn] VirtualHost 168.192.1.12:0 overlaps with VirtualHost 168.192.1.12:0, the first has precedence, perhaps you need a NameVirtualHost directive
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                                                                 [fail]
C'est sans doute simple pour quelqu'un d'expérimenté, mais ça fait un moment que je ne comprend plus...
Merci de l'aide,
Thibaud.

Poste le Friday 4 January 2008 11:42:53
Répondre     Citer    
Re: Application perl sous apache
Envoyé par: AlSim

Télécharge le fichier .pl qu'il te propose et regarde son contenu.

Si c'est un script Perl, c'est que mod_cgi ne doit pas bien être configuré, mais il y a plutôt des chances pour qu'il ressemble à la page que tu veux obtenir mais qu'il manque les headers, ce qui fait que ton navigateur ne le reconnait pas comme fichier HTML / XHTML et te propose de le télécharger.

Dans ce cas, il faut regarder pourquoi le script ne fonctionne pas bien (probablement parce que des modules ne sont pas installés sur ta machine).

[catwell.info]

Poste le Friday 4 January 2008 12:05:03
Répondre     Citer    
Re: Application perl sous apache
Envoyé par: Thibaud

Merci de ton écoute.
le fichier que j'ai lu commence par :
!/usr/bin/perl -w # please develop with -w
, donc c'est bien un script Perl.
Par contre je ne sais pas ce que sont les headers pour un script Perl, voici donc le fichier en question :
#!/usr/bin/perl -w # please develop with -w

#use diagnostics;

use Install;
use Getopt::Long;

use strict; # please develop with the strict pragma

use vars qw( $input );

Install::setlanguage 'en';

my $domainname = `hostname`; # Note: must not have any arguments (portability)
if ($domainname =~ /^[^\s\.]+\.([-a-z0-9\.]+)$/) {
   $domainname = $1;
} else {
   undef $domainname;
   if (open(INPUT, "</etc/resolv.conf")) {
      while (<INPUT>) {
	 $domainname = $1 if /^domain\s+([-a-z0-9\.]+)\s*$/i;
      last if defined $domainname;
      }
      close INPUT;
   }
   elsif (open(INPUT, "</etc/hostname")) {
      $domainname = <INPUT>;
   }
}
Install::setdomainname $domainname;

###############################################
# SET  THE  etcdir  ENVIRONMENT  VAR  INSTEAD #
###############################################
my $etcdir = $ENV{etcdir}||'/etc';
system("mkdir -p $etcdir");

my ($auto_install_file,$auto_install);
GetOptions(
    'i:s'    => \$auto_install_file,
);
$auto_install = read_autoinstall_file($auto_install_file) if $auto_install_file;

Install::setetcdir $etcdir;

unless (-d 'intranet-html') {
   print <<EOP;
You seem to be installing from CVS. Please run the "buildrelease" script
and install from the resulting release tarball.
EOP
   exit 1;
}

my $kohaversion=`cat koha.version`;
chomp $kohaversion;
Install::setkohaversion $kohaversion;


if ($kohaversion =~ /RC/) {
    releasecandidatewarning();
}

checkabortedinstall();

if (-e "$etcdir/koha.conf") {
    my $installedversion=`grep kohaversion= "$etcdir/koha.conf"`;
    chomp $installedversion;
    $installedversion=~m/kohaversion=(.*)/;
    $installedversion=$1;
    my $installedversionmsg;
    if ($installedversion) {
		$installedversionmsg=getmessage('KohaVersionInstalled', [$installedversion]);
    } else {
		$installedversionmsg=getmessage('KohaUnknownVersionInstalled');
    }

    my $message=getmessage('KohaAlreadyInstalled', [$etcdir, $kohaversion, $installedversionmsg]);
    showmessage($message, 'none');
    exit;
}

my $continuingmsg=getmessage('continuing');

my $message=getmessage('WelcomeToKohaInstaller');
my $answer=showmessage($message, 'yn');

if ($answer eq "Y" || $answer eq "y") {
	print $continuingmsg;
    } else {
    print qq|
This installer currently does not support a completely automated
setup.

Please be sure to read the documentation, or visit the Koha website
at [www.koha.org] for more information.
|;
    exit;
};

# Check for missing Perl Modules
checkperlmodules($auto_install);

# Ask for installation directories
getapacheinfo($auto_install);

getinstallationdirectories($auto_install);

getdatabaseinfo($auto_install);

getapachevhostinfo($auto_install);

updateapacheconf($auto_install);

# basicauthentication();

installfiles(1,$auto_install);

backupmycnf();

databasesetup($auto_install);

updatedatabase($auto_install);

populatedatabase($auto_install);

restoremycnf();

finalizeconfigfile();

restartapache($auto_install);

showmessage(getmessage('AuthenticationWarning', [$etcdir]), 'PressEnter') unless ($auto_install->{NoPressEnter});

showmessage(getmessage('Completed', [ Install::getservername(), Install::getintranetport(), Install::getservername(), Install::getopacport()]), 'PressEnter');

if (-f "kohareporter") {
    my $reply=showmessage('Would you like to complete a survey about your library?', 'yn', 'y');
    if ($reply=~/y/i) {
	system("perl kohareporter");
    }
}

Poste le Friday 4 January 2008 13:51:30
Répondre     Citer    
Re: Application perl sous apache
Envoyé par: AlSim

Hmm non, là tu télécharges effectivement le script, donc c'est bien un problème de configuration du serveur Apache qui n'utilise pas la cgi Perl. Je ne peux pas t'aider beaucoup plus, n'utilisant pas Apache personnellement...

[catwell.info]

Poste le Sunday 6 January 2008 17:44:48
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Application perl sous apache
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons