Nouvelle procdure dinstall

This commit is contained in:
Rodolphe Quiedeville 2004-01-27 14:36:40 +00:00
parent 076f001017
commit 0520c005b3
11 changed files with 1125 additions and 0 deletions

103
htdocs/install/default.css Normal file
View File

@ -0,0 +1,103 @@
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* This program 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*
*/
body {
font-size:14px;
font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
background-color: #cac8c0;
margin-left: 5%;
margin-right: 5%;
margin-top: 5%;
margin-bottom: 5%;
}
div.main {
background-color: white;
text-align: left;
border: solid black 1px;
}
div.barrebottom {
background-color: white;
text-align: right;
border: solid black 1px;
margin-top: 10px;
padding-top: 10px;
padding-bottom: 10px;
padding-right: 10px;
}
div.main-inside {
background-color: white;
padding-left: 20px;
padding-right: 50px;
text-align: center;
margin-bottom: 50px;
margin-top: 10px;
}
div.footer {
background-color: #dcdff4;
font-size: 10px;
border-top: solid black 1px;
padding-left: 5px;
text-align: center;
}
div.header {
background-color: #dcdff4;
border-bottom: solid black 1px;
padding-left: 5px;
text-align: center;
}
div.footer p {
margin: 0px;
}
a:link,a:visited,a:active {
text-decoration:none;
color:blue;
}
a:hover {
text-decoration:underline;
color:blue;
}
div.comment {
text-decoration:none;
color:black;
font-size: 13px;
}
div.main-inside h2 {
font-size:18px;
font-weight: bold;
color: #990033;
}
tr.bg1 {
background-color: #E5E5E5;
}
tr.bg2 {
background-color: #CAC8C0;
}

View File

@ -0,0 +1,115 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE>Dolibarr Installation: Installation</TITLE>
<LINK HREF="dolibarr-install-2.html" REL=next>
<LINK HREF="dolibarr-install.html#toc1" REL=contents>
</HEAD>
<BODY>
<A HREF="dolibarr-install-2.html">Page suivante</A>
Page précédente
<A HREF="dolibarr-install.html#toc1">Table des matières</A>
<HR>
<H2><A NAME="s1">1.</A> <A HREF="dolibarr-install.html#toc1">Installation</A></H2>
<H2><A NAME="ss1.1">1.1</A> <A HREF="dolibarr-install.html#toc1.1">R&eacute;cup&eacute;rer les sources</A>
</H2>
<P>R&eacute;cup&eacute;rer les sources sur
<A HREF="http://www.dolibarr.com/">http://www.dolibarr.com/</A></P>
<P>Les sources se pr&eacute;sentent sous la forme d'un fichier tar compress&eacute; avec gzip.</P>
<H2><A NAME="ss1.2">1.2</A> <A HREF="dolibarr-install.html#toc1.2">Pr&eacute;-requis</A>
</H2>
<P>Liste des logiciels &agrave; installer pour faire fonctionner Dolibarr :</P>
<P>
<UL>
<LI>php4</LI>
<LI>php4-mysql</LI>
<LI>php4-curl (pour la partie gestion des adh&eacute;rents)</LI>
<LI>php4-gd (pour les graphiques)</LI>
<LI>Apache</LI>
</UL>
Pour la gestion de l'authentification, Dolibarr fonctionne soit avec mod-auth-mysql soit avec Pear. Cette derni&egrave;re est plus facile &agrave; installer.
<UL>
<LI>Pear (package Auth)</LI>
<LI>libapache-mod-auth-mysql</LI>
</UL>
</P>
<H3>Pear</H3>
<P>Pear est un ensemble de classes et d'outils pour les installer et les mettre &agrave; jour. Les classes requises pour Dolibarr sont (par ordre d'installation) :</P>
<P>
<UL>
<LI>Archive_Tar</LI>
<LI>Console_Getopt</LI>
<LI>PEAR</LI>
<LI>Auth</LI>
<LI>DB</LI>
</UL>
</P>
<P>Pour installer un paquet Pear, ex&eacute;cutez en root '$ pear install &lt;nom du paquet&gt;'.</P>
<P>Pour plus d'informations sur Pear et sa configuration, veuillez vous reporter &agrave; son site officiel
<A HREF="pear.php.net">pear.php.net</A>.</P>
<H2><A NAME="ss1.3">1.3</A> <A HREF="dolibarr-install.html#toc1.3">Base de donn&eacute;es</A>
</H2>
<P>1- cr&eacute;er une base de donn&eacute;es mysql appel&eacute;e 'dolibarr' (vous
pouvez changer le nom, dans ce cas remplacer dans la suite des
commandes 'dolibarr' par le nom de votre base de donn&eacute;es)</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
# mysqladmin create dolibarr
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>
2- charger la base en ex&eacute;cutant :</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
# mysql dolibarr &lt; mysql/mysql.sql
</PRE>
</CODE></BLOCKQUOTE>
</P>
<H2><A NAME="ss1.4">1.4</A> <A HREF="dolibarr-install.html#toc1.4">Apache</A>
</H2>
<P>Pour configurer Apache : des fichier httpd.conf.dist est fournit
avec les sources, vous pouvez vous en servir pour configurer
votre serveur, il est pr&eacute;vu pour que vous ayez juste &agrave; ajouter
une r&eacute;gle Include dans votre fichier principal httpd.conf.</P>
<P>Utilisez le fichier httpd.conf.dist pour l'authentification par Pear
(conseill&eacute;) et le fichier httpd.conf.dist.modauth pour utiliser
mod-auth-mysql.</P>
<H2><A NAME="ss1.5">1.5</A> <A HREF="dolibarr-install.html#toc1.5">Dolibarr</A>
</H2>
<P>Cr&eacute;er un r&eacute;pertoire appel&eacute; document dans le r&eacute;pertoire htdocs des sources et affectez les droits d'&eacute;criture dans ce r&eacute;pertoire &agrave; l'utilisateur ex&eacute;cutant le serveur web.</P>
<P>Cr&eacute;er un fichier conf/conf.php et donnez les droits d'&eacute;criture dans ce fichier &agrave; l'utilisateur ex&eacute;cutant le serveur web.</P>
<P>Pour configurer Dolibarr acc&eacute;dez &agrave; la page
<BLOCKQUOTE><CODE>
<PRE>
/install.php
</PRE>
</CODE></BLOCKQUOTE>
, pour vous logger utlisez
le login <B>admin</B> avec le mot de passe <B>admin</B>.</P>
<P>Si les contr&ocirc;les sont corrects
vous n'avez qu'&agrave; cliquer sur le lien, 'Configurer les modules'.</P>
<P>Une fois les modules configur&eacute;s il ne reste plus qu'&agrave; d&eacute;finir les
utilisateurs et leurs permissions respectives. Pour cela cliquer sur
Accueil -> Utilisateurs</P>
<P>Il est fortement conseill&eacute; de supprimer le fichier install.php une fois l'installation termin&eacute;e. De m&ecirc;me pensez &agrave; modifier le mot de passe de l'utilisateur admin.</P>
<HR>
<A HREF="dolibarr-install-2.html">Page suivante</A>
Page précédente
<A HREF="dolibarr-install.html#toc1">Table des matières</A>
</BODY>
</HTML>

View File

@ -0,0 +1,33 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE>Dolibarr Installation: Mise &agrave; jour</TITLE>
<LINK HREF="dolibarr-install-3.html" REL=next>
<LINK HREF="dolibarr-install-1.html" REL=previous>
<LINK HREF="dolibarr-install.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="dolibarr-install-3.html">Page suivante</A>
<A HREF="dolibarr-install-1.html">Page précédente</A>
<A HREF="dolibarr-install.html#toc2">Table des matières</A>
<HR>
<H2><A NAME="s2">2.</A> <A HREF="dolibarr-install.html#toc2">Mise &agrave; jour</A></H2>
<P>Certaines action sont n&eacute;cessaires lors de la mise &agrave; jour de Dolibarr vers une version plus r&eacute;cente des sources.</P>
<H2><A NAME="ss2.1">2.1</A> <A HREF="dolibarr-install.html#toc2.1">Mise &agrave; jour de la base de donn&eacute;es</A>
</H2>
<P>Il peut &ecirc;tre n&eacute;cessaire de faire des modifications sur la structure et/ou les donn&eacute;es contenues dans la base Mysql lors de la mise &agrave; jour de Dolibarr. Pour cela des scripts sont fournis dans le r&eacute;pertoire mysql/migration/. Il se pr&eacute;sente sous la forme a.b.c-e.d.f.sql, les trois premiers num&eacute;ros indique la version de d&eacute;part et les 3 suivants la version que vous souhaitez atteindre. Si vous passez par exemple de la version 0.1.3 &agrave; la version 0.1.6 il vous faudra appliquer les patchs 0.1.3-0.1.4.sql, 0.1.4-0.1.5.sql et 0.1.5-0.1.6.sql si un patch n'&eacute;xiste pas d'une version &agrave; une autre c'est qu'il n'y a pas eu de modification de base.</P>
<H2><A NAME="ss2.2">2.2</A> <A HREF="dolibarr-install.html#toc2.2">Autres actions</A>
</H2>
<P>Il peut-&ecirc;tre n&eacute;cessaire d'effectuer d'autres actions lors de la mise &agrave;
jour, comme la d&eacute;sactivation et la r&eacute;activation des modules. Cette
information est communiqu&eacute;e dans le fichier README &agrave; la racine des sources.</P>
<HR>
<A HREF="dolibarr-install-3.html">Page suivante</A>
<A HREF="dolibarr-install-1.html">Page précédente</A>
<A HREF="dolibarr-install.html#toc2">Table des matières</A>
</BODY>
</HTML>

View File

@ -0,0 +1,172 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE>Dolibarr Installation: Annexe A - Fichiers de conf Apache</TITLE>
<LINK HREF="dolibarr-install-2.html" REL=previous>
<LINK HREF="dolibarr-install.html#toc3" REL=contents>
</HEAD>
<BODY>
Page suivante
<A HREF="dolibarr-install-2.html">Page précédente</A>
<A HREF="dolibarr-install.html#toc3">Table des matières</A>
<HR>
<H2><A NAME="s3">3.</A> <A HREF="dolibarr-install.html#toc3">Annexe A - Fichiers de conf Apache</A></H2>
<H2><A NAME="ss3.1">3.1</A> <A HREF="dolibarr-install.html#toc3.1">Fichier de config pour Apache 1.3</A>
</H2>
<P>Exemple pour l'authentification avec Pear</P>
<P>
<HR>
<PRE>
#
# Sample httpd.conf for dolibarr
#
&lt;VirtualHost dolibarr.lafrere.lan&gt;
ServerAdmin webmaster.fr@lolix.org
DocumentRoot /home/www/dolibarr/dolibarr/htdocs
ServerName dolibarr.lafrere.lan
ErrorLog /home/www/dolibarr/logs/error.log
CustomLog /home/www/dolibarr/logs/access.log combined
ErrorDocument 401 /public/error-401.html
php_flag register_globals on
&lt;/VirtualHost&gt;
</PRE>
<HR>
</P>
<H2><A NAME="ss3.2">3.2</A> <A HREF="dolibarr-install.html#toc3.2">Fichier de config pour Apache 1.3 + mod_auth_mysql</A>
</H2>
<P>Cet exemple ne fonctionne pas sur la s&eacute;rie Apache 2, voir le fichier correspond dans la section suivante.</P>
<P>
<HR>
<PRE>
#
# Sample httpd.conf for dolibarr
#
&lt;VirtualHost dolibarr.lafrere.lan&gt;
ServerAdmin webmaster.fr@lolix.org
DocumentRoot /home/www/dolibarr/dolibarr/htdocs
ServerName dolibarr.lafrere.lan
ErrorLog /home/www/dolibarr/logs/error.log
CustomLog /home/www/dolibarr/logs/access.log combined
ErrorDocument 401 /public/error-401.html
php_flag register_globals on
&lt;Location /&gt;
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
AuthType Basic
# N'utilisez la ligne suivante que si vous utilisez aussi
# le module d'authentification bas&eacute; sur postgresql
#Auth_MySQL_Authoritative on
# Utilisez les lignes suivantes si le serveur Apache ne
# peut se logger en anonymous (ce qui est conseill&eacute; ;-)
# rq. erics: sur ma debian je n'ai pas le droit de mettre ces
# instructions dans un &lt;virtualhost&gt; ... (apache 1.3.27.0-2)
#AuthMySQL_DefaultHost &lt;host&gt;
#AuthMySQL_DefaultUser &lt;user&gt;
#AuthMySQL_DefaultPassword &lt;pass&gt;
Auth_MySQL_DB dolibarr
Auth_MySQL_Password_Table llx_user
Auth_MySQL_Username_Field login
Auth_MySQL_Password_Field pass
# Pour l'instant les pass sont enregistr&eacute;s en clair
# le stockage crypt&eacute; est dans la TODO
Auth_MySQL_Encrypted_Passwords off
AuthName "Dolibarr"
require valid-user
satisfy any
&lt;/Location&gt;
&lt;Location /public/&gt;
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
&lt;/Location&gt;
&lt;/VirtualHost&gt;
</PRE>
<HR>
</P>
<H2><A NAME="ss3.3">3.3</A> <A HREF="dolibarr-install.html#toc3.3">Fichier de config pour Apache 2 + mod_auth_mysql + webmin</A>
</H2>
<P>
<HR>
<PRE>
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
AuthType Basic
# N'utilisez la ligne suivante que si vous utilisez aussi
# le module d'authentification bas&eacute; sur postgresql
AuthMySQLAuthoritative on
# Utilisez les lignes suivantes si le serveur Apache ne
# peut se logger en anonymous (ce qui est conseill&eacute; ;-)
# rq. erics: sur ma debian je n'ai pas le droit de mettre ces
# instructions dans un &lt;virtualhost&gt; ... (apache 1.3.27.0-2)
#AuthMySQL_DefaultHost &lt;host&gt;
#AuthMySQL_DefaultUser &lt;user&gt;
#AuthMySQL_DefaultPassword &lt;pass&gt;
AuthMySQLHost localhost
AuthMySQLUser leDBuser
AuthMySQLPassword leDBpass
AuthMySQLDB dolibarr
AuthMySQLUserTable llx_user
AuthMySQLNameField login
AuthMySQLPasswordField pass
# Pour l'instant les pass sont enregistr&eacute;s en clair
# le stockage crypt&eacute; est dans la TODO
AuthMySQLCryptedPasswords off
AuthName "Dolibarr"
require valid-user
Satisfy any
</PRE>
<HR>
</P>
<P>Pour les gens qui installent Dolibarr dans un r&eacute;pertoire,
utilisez Webmin et ajoutez une "Per-Directory Options" &agrave; votre
serveur virtuel. Utilisez "Location" comme "Type" et "/dolibarr"
comme "Path". Une fois cr&eacute;&eacute;e, editez les directives et copiez la
config ci-dessus, sauvez, restartez Apache et testez en allant &agrave;
domainname.com/dolibarr. Le navigateur va vous demander de taper
le login/pass.</P>
<P>Il faut cr&eacute;er des options pour chaque &lt;Location&gt; du fichier httpd.conf donn&eacute; en exemple.</P>
<P>Merci &agrave; la personne qui m'a transmis ces infos, et aux pr&eacute;c&eacute;dentes qui avaient fait de m&ecirc;me au sujet d'Apache 2</P>
<HR>
Page suivante
<A HREF="dolibarr-install-2.html">Page précédente</A>
<A HREF="dolibarr-install.html#toc3">Table des matières</A>
</BODY>
</HTML>

View File

@ -0,0 +1,51 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE>Dolibarr Installation</TITLE>
<LINK HREF="dolibarr-install-1.html" REL=next>
</HEAD>
<BODY>
<A HREF="dolibarr-install-1.html">Page suivante</A>
Page précédente
Table des matières
<HR>
<H1>Dolibarr Installation</H1>
<H2>Rodolphe Qui&eacute;deville</H2>$Id$
<HR>
<EM>Installation et mise &agrave; jour de Dolibarr</EM>
<HR>
<P>
<H2><A NAME="toc1">1.</A> <A HREF="dolibarr-install-1.html">Installation</A></H2>
<UL>
<LI><A NAME="toc1.1">1.1</A> <A HREF="dolibarr-install-1.html#ss1.1">R&eacute;cup&eacute;rer les sources</A>
<LI><A NAME="toc1.2">1.2</A> <A HREF="dolibarr-install-1.html#ss1.2">Pr&eacute;-requis</A>
<LI><A NAME="toc1.3">1.3</A> <A HREF="dolibarr-install-1.html#ss1.3">Base de donn&eacute;es</A>
<LI><A NAME="toc1.4">1.4</A> <A HREF="dolibarr-install-1.html#ss1.4">Apache</A>
<LI><A NAME="toc1.5">1.5</A> <A HREF="dolibarr-install-1.html#ss1.5">Dolibarr</A>
</UL>
<P>
<H2><A NAME="toc2">2.</A> <A HREF="dolibarr-install-2.html">Mise &agrave; jour</A></H2>
<UL>
<LI><A NAME="toc2.1">2.1</A> <A HREF="dolibarr-install-2.html#ss2.1">Mise &agrave; jour de la base de donn&eacute;es</A>
<LI><A NAME="toc2.2">2.2</A> <A HREF="dolibarr-install-2.html#ss2.2">Autres actions</A>
</UL>
<P>
<H2><A NAME="toc3">3.</A> <A HREF="dolibarr-install-3.html">Annexe A - Fichiers de conf Apache</A></H2>
<UL>
<LI><A NAME="toc3.1">3.1</A> <A HREF="dolibarr-install-3.html#ss3.1">Fichier de config pour Apache 1.3</A>
<LI><A NAME="toc3.2">3.2</A> <A HREF="dolibarr-install-3.html#ss3.2">Fichier de config pour Apache 1.3 + mod_auth_mysql</A>
<LI><A NAME="toc3.3">3.3</A> <A HREF="dolibarr-install-3.html#ss3.3">Fichier de config pour Apache 2 + mod_auth_mysql + webmin</A>
</UL>
<HR>
<A HREF="dolibarr-install-1.html">Page suivante</A>
Page précédente
Table des matières
</BODY>
</HTML>

155
htdocs/install/etape1.php Normal file
View File

@ -0,0 +1,155 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<link rel="stylesheet" type="text/css" href="./default.css">
<title>Dolibarr Install</title>
</head>
<body>
<div class="main">
<div class="main-inside">
<h2>Installation de Dolibarr - Etape 1/5</h2>
<?PHP
$conf = "../conf/conf.php";
if ($HTTP_POST_VARS["action"] == "set")
{
umask(0);
print '<h2>Enregistrement des valeurs</h2>';
print '<table cellspacing="0" width="100%" cellpadding="4" border="0">';
$error=0;
$fp = fopen("$conf", "w");
if($fp)
{
if (substr($HTTP_POST_VARS["main_dir"], strlen($HTTP_POST_VARS["main_dir"]) -1) == "/")
{
$HTTP_POST_VARS["main_dir"] = substr($HTTP_POST_VARS["main_dir"], 0, strlen($HTTP_POST_VARS["main_dir"])-1);
}
if (substr($HTTP_POST_VARS["main_url"], strlen($HTTP_POST_VARS["main_url"]) -1) == "/")
{
$HTTP_POST_VARS["main_url"] = substr($HTTP_POST_VARS["main_url"], 0, strlen($HTTP_POST_VARS["main_url"])-1);
}
clearstatcache();
fwrite($fp, '<?PHP');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_document_root="'.$HTTP_POST_VARS["main_dir"].'";');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_url_root="'.$HTTP_POST_VARS["main_url"].'";');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_db_host="'.$HTTP_POST_VARS["db_host"].'";');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_db_name="'.$HTTP_POST_VARS["db_name"].'";');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_db_user="'.$HTTP_POST_VARS["db_user"].'";');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_db_pass="'.$HTTP_POST_VARS["db_pass"].'";');
fputs($fp,"\n");
fputs($fp, '?>');
fclose($fp);
if (file_exists("$conf"))
{
include ("$conf");
}
print "<tr><td>Configuration enregistrée</td><td>OK</td>";
print '<tr><td colspan="2">Test des répertoires</td></tr>';
if (! is_dir($HTTP_POST_VARS["main_dir"]))
{
print "<tr><td>Le dossier ".$HTTP_POST_VARS["main_dir"]." n'existe pas !</td><td>Erreur</td></tr>";
$error++;
}
else
{
print "<tr><td>Le dossier ".$HTTP_POST_VARS["main_dir"]." existe</td><td>OK</td></tr>";
/*
* Répertoire des documents
*/
if (! is_dir($HTTP_POST_VARS["main_dir"]."/document"))
{
@mkdir($HTTP_POST_VARS["main_dir"]."/document", 0755);
}
if (! is_dir($HTTP_POST_VARS["main_dir"]."/document"))
{
print "<tr><td>Le dossier ".$HTTP_POST_VARS["main_dir"]."/document n'existe pas !<p>";
print "- Vous devez créer le dossier : <b>".$HTTP_POST_VARS["main_dir"]."/document</b> et permettre au serveur web d'écrire dans celui-ci";
print '</td><td bgcolor="red">Erreur</td></tr>';
$error++;
}
else
{
$dir[0] = $HTTP_POST_VARS["main_dir"]."/document/facture";
$dir[1] = $HTTP_POST_VARS["main_dir"]."/document/propale";
$dir[2] = $HTTP_POST_VARS["main_dir"]."/document/societe";
$dir[3] = $HTTP_POST_VARS["main_dir"]."/document/ficheinter";
$dir[4] = $HTTP_POST_VARS["main_dir"]."/document/produit";
for ($i = 0 ; $i < sizeof($dir) ; $i++)
{
if (is_dir($dir[$i]))
{
print "<tr><td>Le dossier ".$dir[$i]." existe</td><td>OK</td></tr>";
}
else
{
if (! @mkdir($dir[$i], 0755))
{
print "<tr><td>Impossible de créer : ".$dir[$i]."</td><td bgcolor=\"red\">Erreur</td></tr>";
$error++;
}
else
{
print "<tr><td>Création de : ".$dir[$i]." réussie</td><td>OK</td></tr>";
}
}
}
}
}
}
else
{
print "Erreur le système à besoin d'écrire dans le fichier $conf veuillez mettre les droits correct pour cela.";
}
}
if (file_exists("$conf"))
{
include ("$conf");
}
else
{
print "$conf does not exists<br>";
}
?>
</table>
</div>
</div>
<div class="barrebottom">
<form action="etape2.php" method="POST">
<input type="hidden" name="action" value="set">
<input type="submit" value="Etape suivante ->">
</form>
</div>
</body>
</html>

119
htdocs/install/etape2.php Normal file
View File

@ -0,0 +1,119 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<link rel="stylesheet" type="text/css" href="./default.css">
<title>Dolibarr Install</title>
</head>
<body>
<div class="main">
<div class="main-inside">
<h2>Installation de Dolibarr - Etape 2/5</h2>
<?PHP
$conf = "../conf/conf.php";
if (file_exists($conf))
{
include($conf);
}
require ($dolibarr_main_document_root . "/lib/mysql.lib.php");
require ($dolibarr_main_document_root . "/conf/conf.class.php");
if ($HTTP_POST_VARS["action"] == "set")
{
umask(0);
print '<h2>Base de donnée</h2>';
print '<table cellspacing="0" cellpadding="4" border="0" width="100%">';
$error=0;
print '<tr><td colspan="2">Test de connexion à la base de données</td></tr>';
$conf = new Conf();
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = $dolibarr_main_db_name;
$conf->db->user = $dolibarr_main_db_user;
$conf->db->pass = $dolibarr_main_db_pass;
$db = new DoliDb();
$ok = 0;
if ($db->connected == 1)
{
print "<tr><td>Connexion réussie au serveur : $dolibarr_main_db_host</td><td>OK</td></tr>";
if($db->database_selected == 1)
{
print "<tr><td>Connexion réussie à la base : $dolibarr_main_db_name</td><td>OK</td></tr>";
$ok = 1 ;
}
else
{
print "<tr><td>Echec de connexion à la base : $dolibarr_main_db_name</td><td>ERREUR</td></tr>";
$ok = 0;
print "<tr><td>Création de la base : $dolibarr_main_db_name</td><td>-</td></tr>";
if ($db->create_db ($dolibarr_main_db_name))
{
print "<tr><td>Création de la base réussie : $dolibarr_main_db_name</td><td>OK</td></tr>";
$db->select_db ($dolibarr_main_db_name);
// Création des tables
$dir = "../../mysql/tables/";
$handle=opendir($dir);
while (($file = readdir($handle))!==false)
{
if (substr($file, strlen($file) - 4) == '.sql' && substr($file,0,4) == 'llx_')
{
$name = substr($file, 0, strlen($file) - 4);
$classname = substr($file, 0, strlen($file) -12);
print "<tr><td>Création de la table $name</td>";
$buffer = '';
$fp = fopen($dir.$file,"r");
if ($fp)
{
while (!feof ($fp))
{
$buffer .= fgets($fp, 4096);
}
fclose($fp);
}
if ($db->query($buffer))
{
print "<td>OK</td></tr>";
}
else
{
print "<td>ERREUR</td></tr>";
$error++;
}
}
}
closedir($handle);
}
else
{
print "<tr><td>Erreur lors de la création de : $dolibarr_main_db_name</td><td>ERREUR</td></tr>";
}
}
}
print '</table>';
$db->close();
}
?>
</div>
</div>
<div class="barrebottom">
<form action="etape3.php" method="POST">
<input type="hidden" name="action" value="set">
<input type="submit" value="Etape suivante ->">
</form>
</div>
</body>
</html>

103
htdocs/install/etape3.php Normal file
View File

@ -0,0 +1,103 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<link rel="stylesheet" type="text/css" href="./default.css">
<title>Dolibarr Install</title>
</head>
<body>
<div class="main">
<div class="main-inside">
<h2>Installation de Dolibarr - Etape 3/5</h2>
<?PHP
$conf = "../conf/conf.php";
if (file_exists($conf))
{
include($conf);
}
require ($dolibarr_main_document_root . "/lib/mysql.lib.php");
require ($dolibarr_main_document_root . "/conf/conf.class.php");
if ($HTTP_POST_VARS["action"] == "set")
{
umask(0);
print '<h2>Paramétrage des constantes</h2>';
print '<table cellspacing="0" cellpadding="4" border="0" width="100%">';
$error=0;
$conf = new Conf();
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = $dolibarr_main_db_name;
$conf->db->user = $dolibarr_main_db_user;
$conf->db->pass = $dolibarr_main_db_pass;
$db = new DoliDb();
$ok = 0;
if ($db->connected == 1)
{
$sql[0] = "REPLACE INTO llx_const SET name = 'FAC_OUTPUTDIR', value='".$dolibarr_main_document_root."/document/facture', visible=0, type='chaine'";
$sql[1] = "REPLACE INTO llx_const SET name = 'FAC_OUTPUT_URL', value='".$dolibarr_main_url_root."/document/facture', visible=0, type='chaine'";
$sql[2] = "REPLACE INTO llx_const SET name = 'PROPALE_OUTPUTDIR', value='".$dolibarr_main_document_root."/document/propale', visible=0, type='chaine'";
$sql[3] = "REPLACE INTO llx_const SET name = 'PROPALE_OUTPUT_URL', value='".$dolibarr_main_url_root."/document/propale', visible=0, type='chaine'";
$sql[4] = "REPLACE INTO llx_const SET name = 'FICHEINTER_OUTPUTDIR', value='".$dolibarr_main_document_root."/document/ficheinter', visible=0, type='chaine'";
$sql[5] = "REPLACE INTO llx_const SET name = 'FICHEINTER_OUTPUT_URL', value='".$dolibarr_main_url_root."/document/ficheinter', visible=0, type='chaine'";
$sql[6] = "REPLACE INTO llx_const SET name = 'SOCIETE_OUTPUTDIR', value='".$dolibarr_main_document_root."/document/societe', visible=0, type='chaine'";
$sql[7] = "REPLACE INTO llx_const SET name = 'SOCIETE_OUTPUT_URL', value='".$dolibarr_main_url_root."/document/societe', visible=0, type='chaine'";
$result = 0;
}
for ($i=0; $i < sizeof($sql);$i++)
{
print "<tr><td>Définitions des constantes ".($i+1)."/8</td>";
if ($db->query($sql[$i]))
{
print "<td>OK</td></tr>";
$result++;
}
else
{
print "<td>Erreur</td></tr>";
}
}
if ($result == sizeof($sql))
{
print '</table>';
if ($error == 0)
{
$db->query("DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED'");
}
}
else
{
print '</table>';
print $db->error();
}
$db->close();
}
?>
</div>
</div>
<div class="barrebottom">
<form action="etape4.php" method="POST">
<input type="hidden" name="action" value="set">
<input type="submit" value="Etape suivante ->">
</form>
</div>
</body>
</html>

60
htdocs/install/etape4.php Normal file
View File

@ -0,0 +1,60 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<link rel="stylesheet" type="text/css" href="./default.css">
<title>Dolibarr Install</title>
</head>
<body>
<div class="main">
<div class="main-inside">
<h2>Installation de Dolibarr - Etape 4/5</h2>
<?PHP
$conf = "../conf/conf.php";
if (file_exists($conf))
{
include($conf);
}
require ($dolibarr_main_document_root . "/lib/mysql.lib.php");
require ($dolibarr_main_document_root . "/conf/conf.class.php");
if ($HTTP_POST_VARS["action"] == "set")
{
umask(0);
print '<h2>Création du compte admin</h2>';
print '<form action="etape5.php" method="POST">';
print '<table cellspacing="0" cellpadding="4" border="1" width="100%">';
$error=0;
$conf = new Conf();
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = $dolibarr_main_db_name;
$conf->db->user = $dolibarr_main_db_user;
$conf->db->pass = $dolibarr_main_db_pass;
$db = new DoliDb();
$ok = 0;
if ($db->ok == 1)
{
print '<tr><td>Compte administrateur :</td><td>';
print '<input name="login"></td></tr>';
print '<tr><td>Mot de passe :</td><td>';
print '<input type="password" name="login"></td></tr>';
print '<tr><td>Vérification du mot de passe :</td><td>';
print '<input type="password" name="login"></td></tr>';
print '</table>';
$db->close();
}
}
?>
</div>
</div>
<div class="barrebottom">
<input type="hidden" name="action" value="set">
<input type="submit" value="Etape suivante ->">
</form>
</div>
</body>
</html>

69
htdocs/install/etape5.php Normal file
View File

@ -0,0 +1,69 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<link rel="stylesheet" type="text/css" href="./default.css">
<title>Dolibarr Install</title>
</head>
<body>
<div class="main">
<div class="main-inside">
<h2>Installation de Dolibarr - Etape 5/5</h2>
<?PHP
$conf = "../conf/conf.php";
if (file_exists($conf))
{
include($conf);
}
require ($dolibarr_main_document_root . "/lib/mysql.lib.php");
require ($dolibarr_main_document_root . "/conf/conf.class.php");
if ($HTTP_POST_VARS["action"] == "set")
{
umask(0);
print '<h2>Base de donnée</h2>';
print '<table cellspacing="0" cellpadding="4" border="1" width="100%">';
$error=0;
$conf = new Conf();
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = $dolibarr_main_db_name;
$conf->db->user = $dolibarr_main_db_user;
$conf->db->pass = $dolibarr_main_db_pass;
$db = new DoliDb();
$ok = 0;
if ($db->connected == 1)
{
$sql = "INSERT INTO llx_user(datec,login,pass,admin) VALUES (now()";
$sql .= ",'".$HTTP_POST_VARS["login"]."'";
$sql .= ",'".$HTTP_POST_VARS["pass"]."'";
$sql .= ",1)";
}
if ($db->query($sql))
{
$db->query("DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED'");
print "Création du compte administrateur réussie";
$success = 1;
}
else
{
print "Echec de la création du compte administrateur";
}
print '</table>';
$db->close();
}
?>
</div>
</div>
<?PHP
if ($success == 1)
{
}
?>
</body>
</html>

145
htdocs/install/index.php Normal file
View File

@ -0,0 +1,145 @@
<?PHP
//
// Essaye de créer le fichier de conf
//
$conf = "../conf/conf.php";
if (file_exists($conf))
{
include ($conf);
}
else
{
$fp = @fopen("$conf", "w");
if($fp)
{
@fwrite($fp, '<?PHP');
@fputs($fp,"\n");
@fputs($fp,"?>");
fclose($fp);
}
}
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
<link rel="stylesheet" type="text/css" href="./default.css">
<title>Dolibarr Install</title>
</head>
<body>
<?PHP
$docurl = '<a href="doc/dolibarr-install.html">documentation</a>';
if (!file_exists("../conf/conf.php"))
{
print '<div class="error">';
print "Le fichier <b>conf.php</b> n'existe pas reportez-vous à la ".$docurl." pour créer ce fichier<br>";
print '</div>';
}
else
{
if (!is_writable("../conf/conf.php"))
{
print '<div class="error">';
print "Le fichier <b>conf.php</b> n'est pas accessible en écriture, vérififiez les droits sur celui-ci, reportez-vous à la ".$docurl."<br>";
print '</div>';
}
}
?>
<div class="main">
<div class="main-inside">
<h2>Installation de Dolibarr</h2>
<form action="etape1.php" method="POST">
<input type="hidden" name="action" value="set">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td valign="top">
<?php print "Répertoire d'installation"; ?>
</td><td valign="top"><input type="text" size="60" value="
<?PHP
if(strlen($dolibarr_main_url_root) == 0)
{
$dolibarr_main_document_root = substr($_SERVER["SCRIPT_FILENAME"],0,strlen($_SERVER["SCRIPT_FILENAME"])-18);
}
print $dolibarr_main_document_root
?>
" name="main_dir">
</td><td>
Sans le slash "/" à la fin<br>
exemple : /var/www/dolibarr/htdocs
</td>
</tr>
<tr class="bg1">
<td valign="top">
URL Racine</td><td valign="top"><input type="text" size="60" name="main_url" value="
<?PHP
if(strlen($dolibarr_main_url_root) == 0)
{
$dolibarr_main_url_root = substr($_SERVER["SCRIPT_URI"],0,strlen($_SERVER["SCRIPT_URI"])-9);
}
print $dolibarr_main_url_root ;
?>">
</td><td>
exemples :
<br>
<ul>
<li>http://dolibarr.lafrere.net</li>
<li>http://www.lafrere.net/dolibarr</li>
</ul>
</tr>
<tr>
<td colspan="3" align="center">Base de données</td>
</tr>
<tr class="bg1">
<td valign="top">Serveur</td><td valign="top"><input type="text" name="db_host" value="<?PHP print $dolibarr_main_db_host ?>"></td>
<td>Nom du serveur de base de données, généralement 'localhost' quand le serveur est installé sur la même machine que le serveur web</td>
</tr>
<tr class="bg2">
<td>Nom de la base de données</td><td valign="top"><input type="text" name="db_name" value="<?PHP print $dolibarr_main_db_name ?>"></td>
<td><div class="comment">Nom de votre base de données</div></td>
</tr>
<tr class="bg1">
<td valign="top">Login</td>
<td>
<input type="text" name="db_user" value="<?PHP print $dolibarr_main_db_user ?>">
</td><td><div class="comment">Laisser vide si vous vous connectez en anonymous</div>
</td>
</tr>
<tr class="bg2">
<td valign="top">Mot de passe</td>
<td>
<input type="text" name="db_pass" value="<?PHP print $dolibarr_main_db_pass ?>">
</td><td><a class="comment">Laisser vide si vous vous connectez en anonymous</a>
</td>
</tr>
</table>
</div>
</div>
<div class="barrebottom">
<input type="submit" value="Etape suivante ->">
</form>
</div>
</body>
</html>