version: '3'
services:
mysql:
container_name: some-mysql
image: mysql:5.7
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: prestashop
networks:
- prestashop_network
volumes:
- dbdata:/var/lib/mysql
prestashop:
container_name: prestashop
image: prestashop/prestashop:8.1.1
restart: unless-stopped
depends_on:
- mysql
ports:
- 8080:80
environment:
DB_SERVER: some-mysql
DB_NAME: prestashop
DB_USER: root
DB_PASSWD: admin
networks:
- prestashop_network
volumes:
- /home/aicha/presta:/var/www/html
phpmyadmin:
image: phpmyadmin
container_name: phpmyadmin
ports:
- 8081:80
environment:
MYSQL_ROOT_PASSWORD: admin # Use the same MySQL root password as in your MySQL service
PMA_HOST: some-mysql
PMA_USER: root
PMA_PASSWORD: admin
restart: unless-stopped
depends_on:
- mysql
networks:
- prestashop_network
networks:
prestashop_network:
volumes:
dbdata:
我已经使用 Docker Compose 文件在 Ubuntu 上设置了 Prestashop。安装后,将创建一个名为“presta”的文件夹(如 Docker Compose 文件中所指定),其中包含源代码。不过,好像被锁了。我尝试运行一些权限命令来访问该文件并进行一些更改。
`sudo chown -R 你的用户名:你的组名文件夹路径
sudo chmod -R 755 文件夹路径
` 接下来,我按照 Udemy 上有关创建新主题的教程进行操作。但是,每当我尝试修改代码时,都会遇到服务器错误并且无法继续。任何帮助将不胜感激。
我通过复制 /themes/classic 文件夹、重命名并更改其 theme.yml 文件来启动主题开发。然而,在 Prestashop 后台导航到“设计/主题和徽标”时,出现了服务器错误页面。
映射到 /var/www/html 的卷的所有者应该是 www-data (带有 www-data 组)。 您不应该更改这些文件的所有权。您可以将您的用户添加到该组,然后对文件使用 664 权限,对目录使用 775 权限(www-data 数字 ID 为 33 iirc)。您可以在创建的文件夹中运行以下命令:
sudo find . -type f -print0 | xargs -0 -I {} sudo chmod 664 {}
sudo find . -type d -print0 | sudo xargs -0 chmod 775
您还可以使用带有“远程”扩展名的 VSCode 连接到站点(通过 ssh)并在桌面上远程编辑文件(当然,只有完成上述操作后才能保存任何更改) 。这还有许多其他生活质量的好处!
在主题开发方面,您可能会更好(至少对于您的第一个主题)创建一个子主题(经典)并从那里开始工作。版本之间存在相当多的更改,因此请使用您正在使用的主要版本(Prestashop 1.7.x 或 Prestashop 8.x)的文档。我强烈建议不要在 1.7 上开始开发,因为 PrestaShop 9 现在的目标是新功能,而 8 只是 1.7 的一个进化步骤(但具有更好的功能集)。