Pages : 1
#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 :
( 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\"> </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: </strong><?php print getOpenfilerVersion("distro");?><br/>
<strong>GUI Version: </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"...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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à
mais le css ne s'applique pas ...
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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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
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 ...
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
Pages : 1