Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/11/2014, à 21:58

vlotho

adaptation openfiler

Bonjour,

J'essaye d'adapter l'interface web d'openfiler sur un serveur apache sous ubuntu et j'obtient cet affichage :

mini_910745Capturedcrande20141109214102.png
( il faut cliquer dessus pour la voir en grand )

je ne sais pas d'ou ca peut venir ... le php fonctionne, j'ai chargé les bonnes extensions apache et php le .htaccess avec le path des includes est correctement paramétrer, les paramétrés dans le apache.conf et le php.ini sont apparemment bon ... je vois pas. si quelqu'un a une idée !

Hors ligne

#2 Le 10/11/2014, à 21:55

vlotho

Re : adaptation openfiler

le fichier index.html :

<?php

/*
 *
 *
 * --------------------------------------------------------------------
 * Copyright (c) 2001 - 2008 Openfiler Project.
 * --------------------------------------------------------------------
 *
 * Openfiler is an Open Source SAN/NAS Appliance Software Distribution
 *
 * This file is part of Openfiler.
 *
 * Openfiler is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * Openfiler is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Openfiler.  If not, see <http://www.gnu.org/licenses/>.
 *
 * --------------------------------------------------------------------
 *
 *
 */
	require("pre.inc");
        require("version.inc");
	generic_header(array("title" => _("Openfiler Storage Control Center")));

	dual_begin(array());
        
        

?>

<div style="margin: 0; padding: 0;">


            
            <div id="loginHeader"><img class="loginHeader" src="/images/open_source_sm.png" alt="open source storage management"/></div>
            <div id="loginDiv">
            
<?php
            



            exec('pidof shutdown', $shutdownoutput);
            if($shutdownoutput[0] != ""){
                print("<p align=\"center\">&nbsp;</p>\n");
                print("<h2 align=\"center\">" . _("Shutting down the system...") . "</h2>\n");
                print("<p align=\"center\">Please stand by.</p>\n");
            }

           // dual_middle(array());
		    
            show_account_details(array());
            
            
			

?>
            <div><p style="font-size: 90%; color: #aaa; line-height: 14px;"><strong>Distro Release:&nbsp;</strong><?php print getOpenfilerVersion("distro");?><br/>
                    <strong>GUI Version:&nbsp;</strong><?php print $of_info_version;?></p></div>

</div>

<?php
       

	dual_end(array());
	generic_footer(array());
?>

Hors ligne

#3 Le 10/11/2014, à 22:03

tiramiseb

Re : adaptation openfiler

Salut,

Ton code PHP est dans un fichier en ".html" ?
Normalement ça doit être dans des fichiers en ".php"...

Hors ligne

#4 Le 10/11/2014, à 22:52

vlotho

Re : adaptation openfiler

Bein oui c'est bizarre,  il doit y avoir une extension apache qui permet ca ou du javascript car quand je regarde les sources de la page sur le serveur original j'ai des lignes de  odes javascript ...
Mais dans dans la page index.html je ne vois pas d'appel a du javascript

Dernière modification par vlotho (Le 10/11/2014, à 22:55)

Hors ligne

#5 Le 10/11/2014, à 22:56

tiramiseb

Re : adaptation openfiler

Ce n'est pas le javascript qui va permettre ça, vu que le javascript est interprété côté client.

Par contre on peut configurer Apache pour qu'il interprète le PHP dans les fichiers ".html", oui.
Ça peut se faire par exemple dans le fichier /etc/apache2/mods-enabled/php5.conf, en ajoutant une section "FilesMatch" qui matche les fichiers ".html".

Mais bon, c'est crado...

Hors ligne

#6 Le 11/11/2014, à 09:54

vlotho

Re : adaptation openfiler

Leur serveur tourne sur apache 2.2.6, pas de .conf séparé.
Pas de directive particulière non plus dans le httpd.conf.
Par contre j'ai un addhandler php5-script .php .html .css
ca pourrait pas venir de là ?

edit : bon bein ca venait en partit de là smile
mais le css ne s'applique pas ...

mini_818731Capturedcrande20141111100447.png

Dernière modification par vlotho (Le 11/11/2014, à 10:07)

Hors ligne

#7 Le 11/11/2014, à 11:28

tiramiseb

Re : adaptation openfiler

Par contre j'ai un addhandler php5-script .php .html .css
ca pourrait pas venir de là ?

Ouaip, c'est l'équivalent de ce qu'il y a dans php5.conf. Je parlais bien du php5.conf de ton système et non de celui d'openfiler.

mais le css ne s'applique pas ...

Regarde les logs d'Apache, probablement une erreur 404, peut-être un alias qui manque dans la config d'Apache.

Hors ligne

#8 Le 11/11/2014, à 13:36

vlotho

Re : adaptation openfiler

il n'y a pas de 404 mais je me suis aperçu que j'étais un peu teubé. j'ai copié les extensions php en brut d'un système a un autre alors  que ce ne sont pas du tout les mêmes :s php-pam-auth, ncurses, openfiler, xsl et soap.
Alors déjà je suis sur vivid ... et il n'y a pas de paquet php5-auth-pam sur ubuntu depuis precise ... j'ai essayé de compiler mais je tombe sur "configure: error: could not find pam_start in pam"

Hors ligne

#9 Le 11/11/2014, à 14:54

vlotho

Re : adaptation openfiler

je comprend pas trop ...
j'essaye de compiler l'extension pam_auth en faisant comme indiqué dans la méthode 2.
J'ai téléchargé les sources de php5, les mêmes que la mienne 5-5-12, j'ai décompressé les sources de l'extension dans ext/ puis ./configure --with-pam_auth=shared et j'ai toujours un "WARNING: unrecognized options: --with-pam_auth"
j'ai tenté de faire un phpize dans le répertoire de l'extension aussi mais ca change rien.

En tout cas même en vivid proposed il n'y a ni pam_auth, ni ncurces, ni soap.

Dernière modification par vlotho (Le 11/11/2014, à 15:10)

Hors ligne

#10 Le 11/11/2014, à 15:59

vlotho

Re : adaptation openfiler

c'est tout bon en passant par pecl smile

Hors ligne

#11 Le 11/11/2014, à 18:38

vlotho

Re : adaptation openfiler

en changeant le documentroot du site tout c'est affiché comme cela devait être smile

mini_769942Capturedcrande20141111183228.png

maintenant, il faut que je comprenne l'authentification.

Dernière modification par vlotho (Le 11/11/2014, à 18:53)

Hors ligne

#12 Le 11/11/2014, à 19:07

vlotho

Re : adaptation openfiler

Bon voila je met le fichier authentification :

<?php

/*
 *
 *
 * --------------------------------------------------------------------
 * Copyright (c) 2001 - 2008 Openfiler Project.
 * --------------------------------------------------------------------
 *
 * Openfiler is an Open Source SAN/NAS Appliance Software Distribution
 *
 * This file is part of Openfiler.
 *
 * Openfiler is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * Openfiler is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with Openfiler.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * --------------------------------------------------------------------
 *
 *  
 */

if (isset($GLOBALS["authenticated"]))
	unset($GLOBALS["authenticated"]);

if (isset($GLOBALS["authuser"]))
	unset($GLOBALS["authuser"]);

function is_valid_foldername($foldername)
{
	if ((strlen($foldername) > 0) && (!strstr($foldername, '/')) && ($foldername != ".") && ($foldername != ".."))
		return true;
	else
		return false;
}

function is_valid_user($username)
{
	return true;
}

function is_valid_group($groupname)
{
	if (strspn($groupname, "abcdefghijklmnopqrstuvwxyz0123456789") == strlen($groupname))
		return true;
	else
		return false;
}

function check_authenticated($username, $password)
{
	if (pam_auth($username, $password))
	{
		if ($username == "openfiler")
		{
			$GLOBALS["authenticated"] = 1;
			$GLOBALS["authuser"] = $username;
		}
		else
		{
			$GLOBALS["authenticated"] = 0;
			$GLOBALS["userauthenticated"] = 1;
			$GLOBALS["authuser"] = $username;
		}
		
		setcookie("usercookie", $username, 0, "/", "", 1);
		setcookie("passcookie", $password, 0, "/", "", 1);
		
		return true;
	}
	else
	{
		$GLOBALS["authenticated"] = 0;
		$GLOBALS["authuser"] = "";

		setcookie("usercookie", $username, 0, "/", "", 1);
		setcookie("passcookie", "", 0, "/", "", 1);
		
		return false;
	}
}

function makehash($password)
{
	return md5($password);
}

function show_account_details($params)
{
	if (((!isset($GLOBALS["authenticated"])) || ($GLOBALS["authenticated"] == 0))
		&& ((!isset($GLOBALS["userauthenticated"])) || ($GLOBALS["userauthenticated"] == 0)))
	{
		if (isset($_GET['redirect'])) {
			if ($_GET['redirect'] != "/index.html")
				printMessageBlock("error", "Please authenticate with your credentials");
			else if ($_GET['redirect'] == "/index.html")
				printMessageBlock("error", "Invalid username or password");
		}
		
		print("<form action=\"/account/login.html\" method=\"post\">\n");
		print("<table border=\"0\" align=\"center\" cellspacing=\"2\" cellpadding=\"8\">\n"); 
		print("<tr><td bgcolor=\"" . $GLOBALS["color_table_heading"] . "\" align=\"right\"><strong>" . _("Username:") . "</strong></td>\n");
		print("<td bgcolor=\"" . $GLOBALS["color_table_row1"] . "\" align=\"left\"><input type=\"text\" name=\"username\" size=\"15\" /></td></tr>\n");
		print("<tr><td bgcolor=\"" . $GLOBALS["color_table_heading"] . "\" align=\"right\"><strong>" . _("Password:") . "</strong></td>\n");
		print("<td bgcolor=\"" . $GLOBALS["color_table_row2"] . "\" align=\"left\"><input type=\"password\" name=\"password\" size=\"15\" /></td></tr>\n");
		print("<tr><td align=\"center\" colspan=\"2\"><input type=\"submit\" value=\"Log In\" size=\"15\" /></td></tr>\n");
		print("</table>");
		if (isset($_GET['redirect']))
			print("<input type=\"hidden\" name=\"redirect\" value=\"" . $_GET['redirect']. "\""); 
		print("</form>\n");
	}
	else if (strcmp($GLOBALS["authuser"], "openfiler") == 0)
	{
		
		print("<div style=\"text-align: center;\" ><p>Welcome Administrator! <br/>You can <a href=\"/admin/status.html\">administer the storage device from here.</a></p>\n");
		print("<p><a href=\"/account/logout.html\">Log out</a>.</p></div>\n");
	}
	else
	{
		print("<p>Welcome " . $GLOBALS["authuser"] ."! You can <a href=\"/account/\">access your account information and preferences.</a> Your account expires in 15 days.</p>\n");
		print("<p><a href=\"/account/logout.html\">Click here to logout</a>.</p>\n");
	}
}

là, dans son état, je pense que seul l'utilisateur "openfiler" peut ce connecter. Maintenant je ne sais pas trop ou il pèche son mot de passe.
J'ai créé un utilisateur local avec ce nom et un mot de passe mais cela ne semble pas fonctionner directement.

Je pense que le soucis est avec pam mais il faut que je me renseigne ...

Dernière modification par vlotho (Le 11/11/2014, à 22:06)

Hors ligne

#13 Le 15/11/2014, à 14:07

vlotho

Re : adaptation openfiler

Bon j'ai mis en place le ssl sur le site, jusque là tous va bien mais je pense que le principal problème est le système de connections PAM.
Personne ne maîtriserais le sujet ?

j'ai essayé tous mes identifiant locaux mais rien ne passe ...
dans un  premier temps il faudrait peut être savoir si l'extension pam fonctionne bien ... j'ai installer pam via pecl install pam. l'ini figure bien dans mon phpinfo mais comment savoir s'il fonctionne bien ?

non je pense qu'il est bien actif ...

mini_586445Capturedcrande20141115142753.png

le script appelle bien auth_pam ()

mais pas de connexion ... je vais trouver le fichier qui s'occupe des authentification et ajouter l'option debug ... des fois que ca m’éclaire.

j'ai essayé de modifier le nsswitch.conf en mettant compat files au lieu de compat mais ca ne fonctionne pas mieux je repars vers mon mode debug

Dernière modification par vlotho (Le 15/11/2014, à 15:57)

Hors ligne