#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
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
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.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
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
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.
#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 !
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
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
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#6 Le 17/10/2020, à 19:00
- jacques.thomas
Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu
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
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)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
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
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.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
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)
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)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
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
Dernière modification par bruno (Le 26/01/2021, à 17:18)
#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]
#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 ? 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
… 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.
#23 Le 27/01/2021, à 12:16
- krodelabestiole
Re : {RESOLU} Installation du CMS Prestashop sur un serveur local Ubuntu
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
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#24 Le 27/01/2021, à 17:30
- jacques.thomas
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.
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
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