Site internet vers linux

Fermé
demzu - 12 déc. 2011 à 15:53
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 13 déc. 2011 à 10:52
Bonjour,

Je souhaite transferer mon site joomla (créé avec wamp et windows 7) vers une debian pour que tous les postes sur le meme réseaux puissent y avoir accès.

une démarche claire m'aiderai vraiment vu qu'il s'agit d'un projet.
niveaux moyen sous linux :( php apache2 installé sous debian
Cordialement

A voir également:

5 réponses

mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
Modifié par mamiemando le 12/12/2011 à 19:34
Dans l'idée ton joomla est sensé être intégralement dans une arborescence donnée. Il suffit de la copier coller par exemple dans /var/www/joomla. Ensuite il faut créer et activer un vhost pour que par défaut, apache affiche ton joomla.

Si tu n'as qu'un site hébergé, tu peux charcuter la configuration du vhost fourni par debian. Sinon tu peux le copier, corriger la copie, activer la copie et désactiver l'original.

Si ces manipulations sur les vhosts ne te sont pas familière, je t'invite à lire ceci :
http://www.mistra.fr/tutoriel-linux-serveur-web-apache2.html

Tu verras qu'en gros ça consiste à faire (en root) :

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/joomla


... à corriger le chemin derrière DocumentRoot dans /etc/apache2/sites-available/joomla :
http://www.mistra.fr/tutoriel-linux-nano.html

nano /etc/apache2/sites-available/joomla


(ctrl x pour sauver quitter), et enfin à lancer :

a2dissite default 
a2ensite joomla 
service apache2 restart


Histoire d'être sûr que les droits sont corrects je t'invite aussi à les corriger comme suit :

chown -R root:www-data /var/www/joomla 
find /var/www/joomla -type f -exec chmod 644 {} 
find /var/www/joomla -type d -exec chmod 755 {}


Note importe : je ne sais pas si joomla utilise ou non des htaccess, mais si c'est le cas, attention aux droits ici aussi ! Dans le doute reporte moi le résultat de :

cd /var/www/joomla 
for x in $(find . | grep "^.ht"); do ls -l $x; done"


Bonne chance
1
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 260
12 déc. 2011 à 22:35
@mamiemando :
c'est pas très beau ton dernier bout de code, si je peut me permettre :
find /var/www/joomla -iname 'hta*' -exec ls -l {} +
0
Salut,
il ne faut pas oublier de transférer aussi la base de donnée.
Le plus simple est d'installer phpmyadmin sur les 2 postes est d'utiliser ses fonctions d'import/export.
1
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
12 déc. 2011 à 21:53
Bonne observation de FlachyJoe.
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 260
12 déc. 2011 à 22:05
Ouh, trop bien, j'ai les félicitations du jury !!! ;-D
0
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
12 déc. 2011 à 22:10
:-)))))

C'est moi qui suit une grand mère surtout, je me demande comment j'ai pu oublier la base en chemin :-)
0
Merci les mecs, vous etes au top pour vos réponses.
Effectivement j'ai fait exactement ça dans l'après mais j'ai un soucis avec la base de données, j'ai des erreurs quand je l'importe dans mon phpmyadmin debian, mais je vais trouver.
Merci encore a vous !!
0
dans l'apres midi
0
Voilà l'erreur

Erreur

requête SQL:

--
-- Base de données: 'intranet'
--
-- --------------------------------------------------------
--
-- Structure de la table 'it_assets'
--
 CREATETABLEIFNOTEXISTS'it_assets' (

 'id' int( 10)unsigned NOTNULLAUTO_INCREMENTCOMMENT'Primary Key',
 'parent_id' int( 11)NOTNULL DEFAULT'0' COMMENT'Nested set parent.',
 'lft' int( 11)NOTNULL DEFAULT'0' COMMENT'Nested set lft.',
 'rgt' int( 11)NOTNULL DEFAULT'0' COMMENT'Nested set rgt.',
 'level' int( 10)unsigned NOTNULLCOMMENT'The cached level in the nested tree.',
 'name' varchar( 50)NOTNULLCOMMENT'The unique name for the asset.\n',
 'title' varchar( 100)NOTNULLCOMMENT'The descriptive title for the asset.',
 'rules' varchar( 5120)NOTNULLCOMMENT'JSON encoded access control.',
 PRIMARYKEY ('id') ,
 UNIQUEKEY'idx_asset_name' ('name') ,
 KEY'idx_lft_rgt' ('lft' ,'rgt') ,
 KEY'idx_parent_id' ('parent_id') 
) ENGINE= InnoDBDEFAULT CHARSET= utf8 AUTO_INCREMENT=171;


 
MySQL a répondu: 
#1046 - No database selected 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
13 déc. 2011 à 10:52
J'espère que tu n'as pas tout réécrit à la main (en tout cas là, il manque plein d'espaces dans la requête). On te dit qu'il faut sélectionner une base, ce qui est tout à fait normal vu la requête. En effet, celle(s) ci porte(nt) sur une table sans qu'on indique à quelle base appartient cette table. Ainsi la requête est ambigüe, d'où le message d'erreur.

Tu l'auras compris, il faut donc indiquer à phpmyadmin (ou plus généralement à ton client mysql) quelle base il doit utiliser, où générer un dump (sous windows) "non ambigu". Je ne sais pas comment on fait dans phpmyadmin, mais de mon point de vue ça n'a aucune importance car on peut s'en sortir avec le dump (le fichier qui contient des requêtes sql) que tu utilises.

Pour cela, je te propose d'utiliser le client mysql en mode texte qui s'appelle tout simplement mysql. Tu peux l'utiliser de manière interactive. Lance sur le PC qui héberge le nouveau serveur mysql la commande :

mysql -u root -p


... et dedans te positionner dans une base, et faire des requêtes sur cette base.

Exemple : tout serveur mysql a une base qui s'appelle "mysql" et qui contient notamment les profils utilisateur. Ainsi dans le client mysql on peut lancer :

use mysql;
select user from users;


Ici tu l'as compris on pourrait utiliser "use ..." (le nom de la base qui t'intéresse) et copier coller la requêtes sql que tu tentes de charger.

Mais il y a mieux. On peut passer en paramètre de la commande mysql le nom de la base (que je vais appeler "mabase dans ce qui suit". Et sous linux, on peut injecter le contenu d'un fichier comme s'il s'agissait d'une saisie clavier. C'est exactement ce qu'on va faire pour charger ton dump. Il faut simplement créer cette base au préalable (donne-lui le même nom que sur ta première machine pour ne pas avoir à corriger le fichier de configuration joomla) :

mysql -u root -p
create database mabase;


On quitte (ctrl d) et maintenant on est prêt à charger le fichier .sql (que je vais supposer être /home/toto/dump.sql corrige le chemin en conséquence) :

mysql -u root -p D mabase < /home/toto/dump.sql


Note : à ce stade les données devraient être chargées, mais les droits ne seront pas forcément correct. Il faudrait que tu regardes dans la configuration de joomla quel utilisateur il utilise et t'assurer qu'il est présent dans la table mysql.user (voir exemple en début de message). Ensuite il faudra peut être corriger les droits qu'il a sur la base "mabase".
http://dev.mysql.com/doc/refman/5.0/fr/grant.html

Bonne chance
0