Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNInstallationInstallationPassage du dev au serveurPassage du dev au serveur
Précédente
 
Suivante
Nouveau message
26/01/2007 16:56
 
Bonjour à tous,

Je suis new sur ce forum et c'est ma première avec DotNetNuke.
Je suis dans un grand groupe et j'ai choisi de faire une veille sur DotNetNuke pour savoir s'il correspondait à nos besoins pour un intranet.

Mais avant j'ai quelques pré-requis en raison des autorisations administratifs de ma boîte, car il me sera impossible de lancer une install DotNetNuke sur mon serveur.

j'ai donc fait une install sur un poste en dev avec SQL2005.

mon serveur est un Windows 2003 avec Sql2000 est ce que cela poserait un problème ?

Par ailleurs, j'ai bien compris que la manipulation que je devrais faire est une install source sur mon poste en dev, compilation puis déploiement sur mon serveur.

Mais comment je fais pour la base de données ?

Bon c'est vrai mes questions ressemblent à des questions de Newbie, mais s'il vous plaît aidez-moi.

++
 
Nouveau message
26/01/2007 18:29
 

Bonjour,

Alors plusieurs questions, donc plusieurs réponses  :

  1. J'utilise DNN322 (pour le moment, migration en cours) sur un serveur WS2003 avec un SQL Server 2000 sans aucun problème (www.linformaticien.fr)
  2. Normalement tu peux utiliser indifférement SQL 2000 ou 2005, c'est juste une ou deux lignes différentes dans le fichier web.config (que ceux qui ont une config similaire apporte plus de précision SVP)
  3. Pour l'installation, ce n'est pas un boulot de dingue pour ton administrateur. Soit une quizaine de minutes, à condition d'avoir lu la documentation d'installation de DNN. Une fois l'installation effectuée, tu n'as plus besoin de lui !

Concernant, la compilation :

  1. Sauf en cas de modification du coeur de DNN (ce que je déconseille vivement), tu n'as pas besoin de recompiler DNN.
  2. Pour apporter des améliorations spécifiques pour un projet, DNN utilise le concept de module. En gros sur ton poste de dev, tu créé un module ad-hoc. Ensuite tu prépare un fichier zip avec un manifest,  puis tu installe ton module sur DNN via le menu host. Donc plus besoin d'accéder au serveur physique.
  3. Toutes les informations nécessaires à la création d'un module sont dans les documentations fournies avec DNN
  4. Pour ma part, je cherche sur www.snowcovered.com s'il existe un module vendu AVEC les sources qui correspond le plus possible à mes besoins. Puis j'ajoute à celui-ci mes besoins spécifiques. C'est plus rapide et moins cher en termes de coût horaire pour le client final. Je choisis TOUJOURS des modules avec source, car tous les vendeurs n'ont pas forcément un service hot-line compétant et rapide

Concernant ta base de données :

  1. Le plus simple est d'avoir accès à ton serveur physique via SQL Server Enterprise Manager
  2. Tu peux alors monter ou restaurer une base de données très simplement
  3. Idéalement, ton administrateur devrait te réserver un répertoire accessible en ftp. Ainsi tout est groupé et contrôlé à partir d'un compte avec les droits suffisants pour accéder à ton espace de travail.

Voici pour un début, n'hésite pas à demander d'autre renseignements si besoin. Il y a des gens très compétents sur différents domaines sur ce forum !

Gilles

 
Nouveau message
06/02/2007 14:59
 
Bonjour Gilles,

En fait je n'aurais pas le droit d'installer directement sur le serveur. C'est pourquoi je passe par une étape intermédiaire en espérant pouvoir déposer les fichiers sur mon Serveur.
Les seuls droits que j'ai sur ce serveur est le dépôt de fichier.

Penses-tu que je peux m'en sortir et mettre quelques choses en prod ?
Par ailleurs tu me dis qu'entre 2000 et 2005 je n'aurais aucun problème.

Ce que je vais faire en fait c'est d'installer dotnetnuke sur un poste en local avec SQL 2005.

Mon serveur possède SQL 2000.

Quels sont les étapes pour moi afin de passer de mon dev vers mon serveur.

Enfin le terme environnement de Dev est mal utilisé car ce n'est pas vraiment un environnement de DEV car il devrait être à l'identique de ma prod.
Il s'agit plutôt d'une environnement de veille techno.

Je n'ai pas la main complète sur mon environnement de Dev et mon environnement de veille est différente au niveau de SQL Server.

Je sais que c'est confus, mais j'espère vraiment que tu me comprendras.

++
 
Nouveau message
07/02/2007 01:50
 

Bonjour babybutt,

Alors si tu n'as aucun droit d'accès sur le serveur, ton administrateur devra effectuer quelques opérations à ta place. Je vais essayer de faire simple !  Disons que ton répertoire sur le serveur soit réellement c:\fp\users\babybutt. Lorsque tu te connecte en ftp, tu ne vois pas ce chemin d'accès car c'est ta racine. Tu ne vois que \ ou 'root' suivant ton client ftp. En revanche l'admin sait à quel répertoire physique correspond ta racine. Il devra donner le droit 'contrôle total' au compte ACCES RESEAU (NETWORK ACCESS) à ton répertoire, ses sous répertoires et fichiers. Ensuite, il devra configurer un site web ou un répertoire virtuel dans IIS pointant sur ta racine, sans droits particulier cette fois ci. Si tu utilise dnn 4.x, il doit aussi indiquer que le site utilise ASP .NET 2.x.x dans l'onglet correspondant. Enfin dernière chose, il doit te créer une base de données vide et créer un compte utilisateur ayant le droit 'owner' (propriétaire) sur cette base et te donner ces informations : nom du serveur, nom de la base, nom du compte et mot de passe. Pour lui c'est terminé, quinze minutes de travail et encore !

Maintenant avec ces informations, tu n'auras plus qu'à paramétrer le fichier web.config. Tu auras préalablement décompressé le fichier zip original de dnn (DotNetNuke_4.4.1_Install.zip) dans un répertoire temporaire. Tu insère tes informations dans le fichier de config et tu dépose le tout sur ta racine via ftp. Lors du premier appel à l'url de ton site web avec ton navigateur préféré, l'installation de dnn va débuter et créer tous les éléments de la base nécessaires à son bon fonctionnement. A la fin de la procédure dnn t'affiche la page d'accueil par défaut. Tu te connecte avec le compte host de dnn (infos sur la page) et tu modifie tout de suite les mots de passe des comptes host et admin du site.

Après tout dépend de ce que tu veux faire avec ton site. Avec la dernière version de dnn (4.4.1), les modules ne sont plus installés par défaut. Tu installeras les modules dont tu auras besoin via le menu host puis modules. Si tu as des besoins spécifiques non couvert par les modules fournis. Tu peux acheter des modules si tu trouve ton bonheur, ou développer toi même un module (voire passer par un prestataire connaissant le développement dnn). Avec cette configuration, tu n'as pas besoins des sources de dnn, ni de compiler quoi que ce soit pour disposer d'un puissant outil de gestion de contenu !

Pour le reste il faut voir tes besoins dans le détail. Mais beaucoup de gens utilisent dnn sans avoir jamais écrit la moindre ligne de code ni compilé quoi que ce soit !  Si l'on veut faire une comparaison avec Linux. Il y a ceux qui préfère une debian et qui modifient certains sources puis compilent le tout pour avoir une formule un. Mais il y a aussi ceux qui prennent une distribution toute prête avec cd d'installation et manuels. DotNetNuke te laisse le choix, tu prends l'installation avec ou sans les sources. DNN c'est le beurre ET l'argent du beurre en somme !

Si ta veille consiste à déterminer si dnn peut servir de framework pour un projet d'application web. Alors regarde les documentations pour les développeurs. Elles contiennent tout ce qu'il faut pour utiliser les ressources du framework de dnn. A partir de là, tu peux développer tes propres modules. Mais toujours sans toucher au coeur de dnn, donc pas de compilation de dnn lui-même. Je déconseille toujours de modifier le 'core' car tu perdrais toutes possibilités de bénéficier des évolutions futures de dnn. C'est justement pour éviter ce genre de problème que les concepteurs ont intégré la notion de modules. Tu as une puissante api à ta disposition pour répondre à tous les besoins d'une application.

Pour des informations plus détaillées donne plus d'informations précises sur ton projet. Quel est le but, ce que te veux faire avec, de quelles fonctions l'application doit disposer, etc.

Gilles

 
Nouveau message
07/02/2007 20:24
 
Bonsoir Gilles,

Merci pour tes réponses très précieuse.
Je pense que je vais commencer par le début avec une explication de mon projet.
C'est vrai que je ne voulais pas faire de prose au début de ce thread mais il est logique d'en parler.

Dans la direction où je travaille, j'ai pour projet de monter un intranet. Cet Intranet doit servir de portail au différent module que l'on rajoutera par la suite :
- Reporting (gestion des feuilles de temps)
- GED
- administration du parc informatique (télécollecte)
-...

il y a dans ce projet plus de 10 modules.

Ce projet est plutôt ambitieux et je me dois d'etre sur que le core soit solide et modulaire.
C'est pourquoi je me suis intéressé à DotNetNuke.

les pré-requis pour ce projet sont :
- pas d'authentification par login et mot de pase : dans notre ancien système, l'authentification se fait en récupérant le login windows du User (Est-ce possible avec DNN sans changer le Core)

- le faire fonctionner avec SQL 2000 en attendant une homologation de la version 2005 chez nous.

- pouvoir créer mes propres groupes d'utilisateurs, calquer sur l'organisation de ma direction, ex :
Directeur
{
    responsable de pole A
       {
             collaborateur 1
             collaborateur 2
             collaborateur 3
        }
    responsable de pole B
    {
             collaborateur 1
             collaborateur 2
             collaborateur 3
    }

    responsable de pole C
    {
        responsable de service C
        {
             collaborateur 1
             collaborateur 2
        }
             collaborateur 1
             collaborateur 2
             collaborateur 3
    }
}


Bon j'essai d'être clair mais c'est assez difficile avec juste du texte =).
 En gros j'aimerais hiérarchiser mes utilisateurs. Chaque utilisateur doit avoir un père et peut être un fils (ex : responsable de service).

- pouvoir à partir de mes utilisateurs restreindre l'accès à certain module, et dans un module à certain service.

- pouvoir faire du ajax aussi avec mes modules et pourquoi pas avec le core.


voilà c'est mes plus gros pré-requis.
je vais essayer tout ce que tu m'as écris demain si j'ai le temps.

Merci beaucoup en tout cas.

baby
 
Nouveau message
08/02/2007 01:32
 

Bonsoir baby,

C'est déjà plus clair. Tout d'abord soyons précis sur les termes. Lorsque tu parle de modules, je présume qu'il s'agit de "modules applicatifs". Attention, dans dnn un module est en quelque sorte une unité de développement (au sens strict). Mais cela peut être aussi toute une application composée de plusieurs modules. Ainsi le module Text/HTML est composé d'un seul module (au sens du développeur). Alors que le module Store est une application de commerce électronique composée de plusieurs modules (administration, boutique, catégories, etc.). C'est donc à la fois un concept de programmation et une notion d'applicatif. En revanche, si je comprends bien ton projet, il s'agit disons de "grandes fonctionnalités".

Ceci dit, comme je l'expliquais tu peux déjà chercher sur le site SnowCovered. En cinq minutes, j'ai trouvé un module de reporting "universel" disponible pour dnn 4 AVEC les sources pour 39,95$. Regarde sur le site Dnaxp.Net pour te faire une idée. Compte tenu que la notion de gestion du temps est très répandue aux us, cela m'étonnerais vraiment que tu ne trouve pas un module qui conviendrait à tes besoins.

Pour la GED, c'est un terme trop vague pour te donner une réponse. S'il s'agit de mettre des documents à disposition des utilisateurs, tu as plusieurs possibilités. Le simple module Download et le nouveau module Repository (gratuits), ou encore des modules commerciaux plus évolués (voir encore SnowCovered).

Dans tous les cas, mes recommandations sont toujours les mêmes. Commencer par chercher sur SnowCovered si un module existe. Toujours acheter des modules avec les sources et vérifier qu'il est fait pour fonctionner avec ta version de dnn. Cela permet éventuellement d'adapter un module répondant à la majorité des besoins, et de pouvoir intervenir si un bogue est découvert.

Concernant l'authentification, tu as plusieurs possibilités déjà présentes dans le 'core' de dnn. En particulier, une grande entreprise comme la tienne doit certainement utiliser ADSI. Sache que dnn peut l'utiliser aussi ! Je ne l'ai jamais mis en oeuvre, mais Seb (un membre régulier des forums) l'ayant utilisé pourra peut-être te donner de plus amples informations sur le sujet. Cela devrait rassurer tes administrateurs !  Si tu utilise ADSI la gestion des groupes est différente de celle de base. Sinon, tu as la possibilité de créer des groupes et d'y associer des comptes utilisateurs. A partir de là, tu peux contrôler l'accès aux différentes pages du site (notion de Tab dans dnn) et même d'un module sur une page. C'est très facilement paramétrable et suffisamment souple pour répondre aux besoins d'une application.

Côté base de données, que tu utilise SQL Server 2000 ou 2005 cela ne change rien pour dnn, c'est juste une modification des paramètres dans le fichier web.config. Tu auras exactement les mêmes fonctions dans dnn quelque soit le serveur utilisé. En revanche, tu auras plus de possibilités d'analyses (hors dnn) avec la version 2005 grâce aux nombreuses améliorations sur les fonctions de BI et de Reporting Services.

Enfin, Ajax peut être pris en compte dans certain modules. C'est le cas du module de reporting que je cite. Mais c'est un choix du développeur du module pas de dnn !

Voilà, j'espère que tout ceci te permettra de démarrer ton projet dans de bonnes conditions !

Gilles

 
Nouveau message
08/02/2007 13:47
 
Bonjour Gilles,

J'ai fait mon premier essai avec tes conseils sur mon serveur.
et j'ai ce problème :

DotNetNuke Upgrade Error

The Assembly Version ( [ASSEMBLYVERSION] ) does not match the Database Version ( [DATABASEVERSION] )

ERROR: Could not connect to database.

Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.


voici mon web.config
<add name="SiteSqlServer" connectionString="Data Source=Srv022\cc;Initial Catalog=DotNetNuke;Integrated Security=True;" providerName="System.Data.SqlClient" />

Est ce que j'aurais oublié quelques choses ?
je viens de voir que je suis DBO sur mon SQL 2000.

Merci de ta réponse

++ baby

 
Nouveau message
08/02/2007 14:07
 
Bonjour,

normalement dans le web.config tu dois avoir 2 ligne qui concernent sitesqlserver dans lesquelles tu parametres ta connectionstring. Verifie donc si les 2 ont bien été modifiées.


JB
 
Nouveau message
08/02/2007 14:52
 
Oui je les ai bien modifié.
j'accède comme il faut.
Je viens de trouver il faut en fait créer l'utilisateur NT AUTHORITY\NETWORK SERVICE et le mettre en owner dans ma BD.

Ensuite il m'a fallu de la même façon l'autoriser en lecture/écriture sur mon répertoire root.

C'est bizarre... je trouve cela dangereux et très peu corporate...
Est ce que vous avez une idée plus précise que moi sur l'utilité de ce compte et les droits que je viens de lui attribuer ?
 
Nouveau message
08/02/2007 17:29
 

Bonjour baby,

Alors, je vois que tu as décidé d'utiliser l'authentification windows pour la connexion à la base de données (Integrated Security=True). Ce qui ce passe dans ton cas résulte des modifications de sécurités inclusent dans IIS 6 et WS 2003. Le pool d'application utilise obligatoirement le compte NT AUTHORITY\NETWORK SERVICE ! C'est donc la règle de sécurité dictée par Microsoft. Je m'apperçois mettre planté dans mes indications en citant NETWORK ACCESS au lieu de NETWORK SERVICE (SERVICE RESEAU in French) . CE N'EST PAS ton compte utilisateur qui se connecte à la base mais l'application. Donc le compte NETWORK SERVICE. Il aurait été plus simple de suivre mes recommendations. A savoir créer un utilisateur dans SQL Serveur et lui attribuer le rôle owner sur la base vide. Puis utiliser les informations de ce compte pour te connecter à la base en modifiant le fichier web.config. Ton instance SQL Server doit autoriser les deux modes d'authentification (Windows ET SQL Server), ce qui à mon avis est plus sécurisé car cet utilisateur ne peut rien faire d'autre sur ton domaine. C'est un compte interne à SQL Server sans aucun droit dans le domaine. Si le compte est disons dnnadmin avec le mot de passe C4#y!8E, ta chaine de connexion deviendrait :

<add name="SiteSqlServer" connectionString="Data Source=Srv022\cc;Initial Catalog=DotNetNuke;uid=dnnadmin;pwd=C4#y!8E;" providerName="System.Data.SqlClient" />

Attention tu cite une seule chaine de connexion, or il faut aussi modifier celle qui est juste au-dessous de celle-ci dans la section <appSettings>. En fait c'est la même, seul le début change : <add key= au lieu de <add name=.

Pour que l'application utilise tes informations de compte pour te donner accès à dnn (au lieu du classique formulaire Utilisateur / Mote de passe) c'est dans la section "<authentication mode=" qu'il faut remplacer le mode Form (par défaut) par le mode Windows ! Dans ce cas, ton serveur doit aussi avoir accès à l'annuaire ADSI et être membre de ton domaine.

Concernant les droits sur ton répertoire, c'est ce que j'avais indiqué ! Pour les mêmes raisons car c'est l'application qui lit/écrit sur le disque. Il faut lire public !

Pour résumer, soit tu laisse tel quel car c'est tout à fait normal et correct côté sécurité. Soit tu utilise le compte SQL Server comme je l'indique.CQFD ! Ouf

Gilles

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNInstallationInstallationPassage du dev au serveurPassage du dev au serveur