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 14/10/2020, à 16:52

jacques.thomas

{RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

Salut à tous, j’aurai besoin d’installer le CMS de Prestashop en locale afin de le peaufiner tranquillement et le télécharger ensuite sur un serveur en ligne.

Cela fait 48H que je fais le tour des tutos sur des forums et sites divers et je rame totalement.

À force de désinstaller et d’installer des applications via le terminal en passant d’un tuto à l’autre je ne sais complètement plus ou j’en suis. J’ai le sentiment d’avoir une surcouche d’installation mal ficelées….

J’ai décompressé le dossier du CMS de prestashop dans var/www/html/prestashop

Si j’ouvre un lien avec mon navigateur internet sur http://localhost/ je tombe sur l’index du dossier HTML avec le dossier prestashop et si je clique sur le dossier ou entre l’adresse http:/localhsot/prestashop/ je tombe sur la page suivante

Capture d'ecran

Voilà, que faire pour avancer dans ce shmilblic

A+, Thomas

Dernière modification par jacques.thomas (Le 27/01/2021, à 17:52)

Hors ligne

#2 Le 14/10/2020, à 17:49

krodelabestiole

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

jacques.thomas a écrit :

Cela fait 48H que je fais le tour des tutos sur des forums et sites divers et je rame totalement.

mouaipe c'est une mauvaise idée : les tutos sont de qualité variable et chacun a sa méthode. le mieux est de suivre la doc officielle (de wordpress) ou pour ubuntu, celle-ci :
https://doc.ubuntu-fr.org/wordpress
la méthode d'installation y est décrite pas à pas (et avec cette méthode la config du serveur ne sera pas écrasée lors d'un upgrade majeure, et on peut installer d'autres sites avec d'autres hôtes virtuels en parallèle).

sur ta capture d'écran, le php n'est pas interprété. voir 4.2 Code source visible dans le navigateur.

Hors ligne

#3 Le 15/10/2020, à 07:19

bruno

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

Euh, il s'agit de Prestashop et non de Wordpress wink

Ceci dit la démarche d’installation est la même. Il faut d'abord avoir une pile lamp fonctionnelle, puis décompresser l'archive de Prestashop dans le dossier de son choix, modifier le propriétaire et les droits d'accès et créer un hôte virtuel Apache pointant vers le dossier choisi.

Hors ligne

#4 Le 15/10/2020, à 07:23

krodelabestiole

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

oula j'étais pas réveillé... merci bruno !

Hors ligne

#5 Le 15/10/2020, à 07:28

krodelabestiole

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

en plus de remplacer wordpress par prestashop partout il y aura sûrement aussi une petite différence au niveau des permissions, voir plutôt cette méthode : 10.1 Permissions

Hors ligne

#6 Le 17/10/2020, à 19:00

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

wink Merci à vous pour vos infos, je vais regarder cela tranquillement et reviendrai ici par la suite !

Hors ligne

#7 Le 18/01/2021, à 08:56

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

Re bonjour à tous, j'ai réussi à installer Prestashop en local et sa fonctionne impeccable.

J'ai commencé par réinstaller Ubuntu (nouvelle version Ubuntu 20.04.01) de façon à partir sur une base saine.

J'ai suivis la procédure pour l’installation de Wordpress https://doc.ubuntu-fr.org/wordpress.

Une fois que j'ai pue vérifier le bon fonctionnement de Wordpresse j'ai réappliqué la procédure à Prestshop.

Donc :

- installation de la pile LAMP
- J’active le module mod_rewrite
- Créer un hôte virtuel pour Prestashop, dont la racine sera /var/www/prestashop , Dans l'éditeur nano je remode le fichier de telle manière.

<VirtualHost *:80>
        ServerName prestashop.localhost
        DocumentRoot /var/www/prestashop
        <Directory /var/www/prestashop>
                AllowOverride all
                Require all granted
        </Directory>
        ErrorLog /var/log/apache2/error.prestashop.log
        CustomLog /var/log/apache2/access.prestashop.log combined
</VirtualHost>

- J'active l'hôte virtuel et on recharge la configuration d'Apache
- Je télécharge le fichier zip de Prestashop sur leurs site et j'ouvre un autorisation sur le dossier www donc  :

sudo chmod -R 777 /var/www

Personnellement je ne sais pas si 777 est bien et si il ne vaut pas mieux mettre 755. Dans ce cas comment faire un retour en arrière ? Je réitère la commande avec 755 ?

Ensuite je décompresse le dossier Prestashop dans /var/www/

En derniere étape je créer une base de données mysql tout comme pour Wordpresse mais je remplace toutes les mentions Wordspress par Presatshop

CREATE DATABASE prestashop;
CREATE USER 'psuser'@'localhost' IDENTIFIED BY 'mot_de_passe';
GRANT ALL ON prestashop.* TO 'psuser'@'localhost';
FLUSH PRIVILEGES;
QUIT;

Pour l'instant sa fonctionne impeccable, je ne pense pas avoir fait des erreurs mis à part pour la commande chmod -R 777 sur laquelle j'ai un doute

Hors ligne

#8 Le 18/01/2021, à 17:54

mazarini

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

Pour des tests, l'utilisation de la commande  "php -S" dans le répertoire qui comporte la racine du site permet souvent de faire pas mal de chose en accédant au site avec localhost:8000.


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne

#9 Le 20/01/2021, à 18:40

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

A quoi correspond la commande "php-S" ?

J'ai fais quelques recherches concernant les droits d’accès au fichier et les différences entre 777, 775, 755 ou encor 660. J'ai bien compris les choses et dans mon cas je voudrai passer le dossier /var/www/prestashop en 775.

Donc, dans le terminal je rentre

sudo chmod -R 775 /var/www/prestashop

Cela fonctionne et quand je clique droit sur le fichier, propriété on voit bien que le propriétaire et les groupes ont accès en lecteur et écriture sur le fichier par contre quand j’accède au dossier impossible de modifier quoi que se soit je suis obligé de repasser le dossier en 777 pour y arriver.

J'ai loupé un truc ?

Hors ligne

#10 Le 20/01/2021, à 18:56

mazarini

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

jacques.thomas a écrit :

A quoi correspond la commande "php-S" ?
...

Ca lance un serveur qui écoute sur le port 8000 (donc url http://localhost:8000/...). Ca permet de servir les fichiers du répertoire courant comme avec apache. Pour les dev c'est sympa et ca évite les problèmes de droits sur les fichiers.


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne

#11 Le 20/01/2021, à 21:03

krodelabestiole

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

ça peut être utile mais ça fournit un environnement très différent de celui qu'on aura en prod. la réécriture d'url ne peut pas fonctionner dans ce contexte par ex.

pour les permissions lire 10.1 Permissions
et voir aussi là un tableau avec la liste des éléments à autoriser en écriture : http://doc.prestashop.com/display/PS17/ … patibility (avec

chmod -R g+w

donc)

Hors ligne

#12 Le 21/01/2021, à 18:43

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

chmod -R g+w

ça revient à faire

chmod -R 775

???

Le propriétaire du dossier prestashop est www-data. Donc je dois laisser en 777 pour travailler sur le dossier en local et une fois transféré sur le serveur je passerai alors l’autorisation en 775 via le client FTP.

Je pense avoir résolu le problème.

Dernière modification par jacques.thomas (Le 21/01/2021, à 18:44)

Hors ligne

#13 Le 21/01/2021, à 18:46

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

:)Et Merci à tous pour vos infos

Hors ligne

#14 Le 22/01/2021, à 00:07

krodelabestiole

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

jacques.thomas a écrit :
chmod -R g+w

ça revient à faire

chmod -R 775

???

non.

ça revient à ajouter les droits en écriture (+write) au groupe propriétaire du fichier (g pour group).
sans toucher au reste.

dans 775 tu redéfinis toutes les permissions des fichiers. le second numéro concerne le groupe 7 = droits en lecture écriture et exécution. donc ici le serveur web a toutes les permissions, y compris en exécution, pour des fichiers qui n'auront jamais besoin d'être exécuté. c'est un niveau de sécurité très faible. pas beaucoup mieux que 777.

sur une plateforme de dev c'est pas bien grave mais si tu comptes mettre en prod fais très attention à ça !

je t'invite à lire et relire le chapitre 10.1 Permissions en cliquant sur les liens droits et permissions.
Comprends aussi que les permissions sont relatives au propriétaire et au groupe propriétaire d'un fichier.

Hors ligne

#15 Le 26/01/2021, à 14:57

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

Krodelabestiole, Merci à toi pour ton intervention ,

J'ai revu les permissions d’après les infos que tu m'a données, c'est beaucoup plus clair et je comprends maintenant pour quoi le propriétaire du dossier était www-data.

Donc actuellement j'ai modifié le propriétaire et je me suis donné un accès en lecture et écriture sur le dossier, dans le groupe : www-data  avec uniquement un accès au fichier et dans autre : aucune autorisation.

Par contre une fois que je suis le propriétaire du dossier je n'arrive plus à accéder au site en local via mon navigateur. Je pense que le problème viens d'APACHE qui pointe un lien vers le fichier PRESTASHOP vu que je ce n'est plus www-date le propriétaire une page blanche s'affiche.

Si je change à nouveau le propriétaire et passe www-data en tant que propriétaire cela fonctionne impeccable...

Que dois je faire ??

Dernière modification par jacques.thomas (Le 26/01/2021, à 14:59)

Hors ligne

#16 Le 26/01/2021, à 16:30

mazarini

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

Il faut 2 sites :
1) Un site de développement "open bar" avec les droits en lecture/écriture pour tout le monde.
2) Un site de préparation avec des droits en lecture pour www-data sur tous les fichiers et en écriture pour www-data sur les fichiers (config...) et répertoires (upload...) nécessaires pour préparer la mise en ligne.


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne

#17 Le 26/01/2021, à 17:13

krodelabestiole

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

désolé, je sais pas comment expliquer les choses plus clairement que dans 10.1 Permissions

sudo chown -R $USER:www-data

avec cette commande les fichiers appartiennent à ton utilisateur, et au groupe www-data.
ça permet de gérer finement les permissions pour toi (user) : lecture, écriture et exécution seulement pour les répertoires (u+rwX)
indépendamment des permissions pour le serveur (group www-data) : lecture et exécution seulement pour les répertoires (g+rX), et écriture seulement lorsque nécessaire, cache, upload, etc. (g+w)


jacques.thomas a écrit :

j'ai modifié le propriétaire et je me suis donné un accès en lecture et écriture sur le dossier, dans le groupe : www-data  avec uniquement un accès au fichier et dans autre : aucune autorisation.

c'est pas très clair.
donnes les permissions de ton fichier index.php (par ex.) quand ça ne fonctionne pas :

namei -l /var/www/prestashop/index.php

Dernière modification par krodelabestiole (Le 26/01/2021, à 17:14)

Hors ligne

#18 Le 26/01/2021, à 17:17

bruno

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

@mazarini : c'est une façon de faire mais ce n'est pas nécessaire. En outre mettre les doits en lecture/écriture pour tout le monde est une mauvaise habitude.

On est das le cadre d'un serveur de développement, l'utilisateur standard doit pouvoir modifier les fichiers et l'utilisateur www-data (celui qui interprète les scripts) doit pouvoir les lire et les modifier.
Si les droits on été définis conformément à la doc cela ne devrait pas poser de problèmes. Je recopie/résume :

sudo chown -R $USER:www-data /var/www/prestashop

⇒ le dossier et tou ce qu'il contient appartient à l'utilisateur courant (celui qui à lancé la commande et au groupe www-data

sudo chmod -R a-rwx,u+rwX,g+rwX /var/www/prestashop

⇒ l'utilisateur a les droits de lecture/écriture et www-data aussi

Cela peut encore poser problème dans certains cas mais dans un premier temps c'est suffisant.

EDIT : mon message s'est croisé avec celui de @krodelabestiole wink

Dernière modification par bruno (Le 26/01/2021, à 17:18)

Hors ligne

#19 Le 26/01/2021, à 17:41

mazarini

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

@bruno : pour un dev, rien de plus chiant que les droits lorsqu'il développe. Maintenant, je fais plutôt du symfony et il y a un équivalent à php -S qui évite ces problèmes.
J'ai utilisé setfacl (de mémoire) qui fait à peu près la même chose que que de jouer sur le groupe et le propriétaire des fichiers.
 
J'aime bien le principe du site de "pré-prod" ou j'utilise un script qui mets tout en lecture seul pour www-data et ensuite ajoute l'écriture pour les exceptions en général rares. Ca permet aussi de se préparer à la mise en prod.
Edit : script shell

Dernière modification par mazarini (Le 26/01/2021, à 20:57)


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne

#20 Le 26/01/2021, à 18:30

bruno

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

[HS]Pour moi cela n'a pas d’intérêt puisqu'en prod les scripts PHP ne sont pas exécutés par www-data (sauf configuration moisie de la prod)[/HS]

Hors ligne

#21 Le 26/01/2021, à 20:11

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

Quand je suit les infos donnés sur : 10.1 Permissions

Je me retrouve avec ce résultat

f: /var/www/prestashop/index.php
drwxr-xr-x root root     /
drwxr-xr-x root root     var
drwxrwxr-x tj   root     www
drwxr-x--- tj   www-data prestashop
-rw-r----- tj   www-data index.php

Cela donne une page blanche quand je veux voir le site en local via le navigateur.

Par contre si j'applique

sudo chmod -R a-rwx,u+rwX,g+rwX /var/www/prestashop

Cela me donne ce résultat

f: /var/www/prestashop/index.php
drwxr-xr-x root root     /
drwxr-xr-x root root     var
drwxrwxr-x tj   root     www
drwxrwx--- tj   www-data prestashop
-rw-rw---- tj   www-data index.php

Cela fonctionne impeccable et je peux visionner mon site en local.

Donc ici on voit que sur le dossier prestashop on applique un droit de lecture,écriture et exécution pour l'utilisateur et le groupe, c'est l'écriture au niveau du groupe www-data qu-il manquait pour faire fonctionner le site.

Cette configuration me conviens pour travailler sur le site en local mais une fois mis en ligne sur le serveur final :

www/prestashop devrait avoir cette configuration

drwXr-Xr-X

ce qui donne un droit de lecture,écriture et exécution pour l'utilisateur (utilisateur qui ne sera rien d'autre que le serveur lui même). un droit de lecture et d’exécution pour les groupes et autre.

Le X majuscule signifie quant à lui un droit d’exécution récursive sur le dossier, sous dossier et fichier.

Alors, j'ai bien suivit le truc ? smile Ou je suis encore a coté....

Dernière modification par jacques.thomas (Le 27/01/2021, à 17:28)

Hors ligne

#22 Le 27/01/2021, à 08:42

bruno

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

jacques.thomas a écrit :

… mais une fois mis en ligne sur le serveur final :

www/prestashop devrait avoir cette configuration

drwXr-Xr-X

Ça tu n'en sais rien. Cela dépend de la configuration du serveur qui va héberger le site.

Hors ligne

#23 Le 27/01/2021, à 12:16

krodelabestiole

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

jacques.thomas a écrit :

Le X majuscule signifie quant à lui un droit d’exécution récursive sur le dossier, sous dossier et fichier.

non.
c'est le -R la récursivité.

le X signifie droits et exécution pour les répertoires mais pas pour les fichiers.
le droit en exécution sur un fichier (quel que soit le système) c'est le droit de lancer ce fichier comme un programme (utile pour des scripts).
et sur linux (et unix en gal), le droit en exécution sur un répertoire c'est le droit d'ouvrir ce répertoire pour en lister le contenu. on aurait tendance à penser qu'il s'agit d'un droit en lecture mais le droit en lecture sur un répertoire ne permet que de voir son existence et son nom, pas d'en lister le contenu.
d'où l'utilité du X.

si tu as une page blanche c'est très probablement que tu as une erreur PHP et que tu ne l'affiches pas. tu peux consulter les logs ou 4.1 Page blanche
je mise sur un problème de permission sur un répertoire sur lequel PrestaShop doit travailler (un répertoire de cache par ex.)

donnes par ex. le retour de

namei -l /var/www/prestashop/cache/smarty/compile/index.php

Hors ligne

#24 Le 27/01/2021, à 17:30

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

bruno a écrit :
jacques.thomas a écrit :

… mais une fois mis en ligne sur le serveur final :

www/prestashop devrait avoir cette configuration

drwXr-Xr-X

Ça tu n'en sais rien. Cela dépend de la configuration du serveur qui va héberger le site.

Oui, mais on l'adapte en suite via le client FTP non ?

Hors ligne

#25 Le 27/01/2021, à 17:34

jacques.thomas

Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu

krodelabestiole a écrit :
jacques.thomas a écrit :

Le X majuscule signifie quant à lui un droit d’exécution récursive sur le dossier, sous dossier et fichier.

non.
c'est le -R la récursivité.

le X signifie droits et exécution pour les répertoires mais pas pour les fichiers.
le droit en exécution sur un fichier (quel que soit le système) c'est le droit de lancer ce fichier comme un programme (utile pour des scripts).
et sur linux (et unix en gal), le droit en exécution sur un répertoire c'est le droit d'ouvrir ce répertoire pour en lister le contenu. on aurait tendance à penser qu'il s'agit d'un droit en lecture mais le droit en lecture sur un répertoire ne permet que de voir son existence et son nom, pas d'en lister le contenu.
d'où l'utilité du X.

si tu as une page blanche c'est très probablement que tu as une erreur PHP et que tu ne l'affiches pas. tu peux consulter les logs ou 4.1 Page blanche
je mise sur un problème de permission sur un répertoire sur lequel PrestaShop doit travailler (un répertoire de cache par ex.)

donnes par ex. le retour de

namei -l /var/www/prestashop/cache/smarty/compile/index.php

Voici le retour :

tj@tansem-desktop:~$ namei -l /var/www/prestashop/cache/smarty/compile/index.php
f: /var/www/prestashop/cache/smarty/compile/index.php
drwxr-xr-x root root     /
drwxr-xr-x root root     var
drwxrwxr-x tj   root     www
drwxr-x--- tj   www-data prestashop
drwxr-x--- tj   www-data cache
drwxr-x--- tj   www-data smarty
drwxr-x--- tj   www-data compile
                         index.php - Aucun fichier ou dossier de ce type

Par contre si j'applique ces permissions

sudo chmod -R a-rwx,u+rwX,g+rwX /var/www/prestashop

Je me retrouve avec ceci et la le site fonctionne impeccable

namei -l /var/www/prestashop/cache/smarty/compile/index.php
f: /var/www/prestashop/cache/smarty/compile/index.php
drwxr-xr-x root root     /
drwxr-xr-x root root     var
drwxrwxr-x tj   root     www
drwxrwx--- tj   www-data prestashop
drwxrwx--- tj   www-data cache
drwxrwx--- tj   www-data smarty
drwxrwx--- tj   www-data compile
                         index.php - Aucun fichier ou dossier de ce type

La seule différence que je voie c'est l'autorisation en écriture sur le groupe.

Dernière modification par jacques.thomas (Le 27/01/2021, à 17:40)

Hors ligne