OpenCart 是世界著名的开源电子商务系统,系统开发语言为 PHP。早期由英国人 Daniel Kerr 个人开发,项目托管在 GitHub。OpenCart 总部设在香港,GitHub 项目仍由 Daniel 及其团队领导维护。开发者项目非常活跃,版本更新升级很快。据 Alexa 网站流量统计显示,OpenCart 已成为世界主流的电子商务建站系统。
www.shoptest.com
获取源码
获取opencart最新源码:
基于docker的lnmp项目配置文件:
https://pan.baidu.com/s/1oja26QEu9CHKHaffNd5a6Q
需要php8
Dockerfile
FROM php:8.0-fpm
RUN usermod -u www-data
RUN apt-get update \
# 相关依赖必须手动安装
&& apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libzip-dev \
# 安装扩展
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install -j$(nproc) mysqli \
&& docker-php-ext-install -j$(nproc) zip \
&& docker-php-ext-install -j$(nproc) pdo pdo_mysql
php.ini
expose_php = Off
#上传文件限制
file_uploads = On
memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 360
解压到指定目录
cd /opt/lnmp/app/
tar xvf opencart-4.0.0.0.tar.gz -C /opt/lnmp/app/
mv opencart-4.0.0.0 opencart
#更改目录权限
useradd -u 1010 www-data -s /usr/sbin/nologin
chown -R www-data /opt/lnmp/app/opencart/
nginx配置
cd /opt/lnmp/ && docker-compose up -d
dsshop.conf
# Appadmin
server {
listen ;
server_name www.shoptest.com; #改成自己的域名
root /www/web/opencart/upload/; #项目目录,在app目录下
server_tokens off;
include none.conf;
index index.php index.html index.htm;
access_log /www/web_logs/access.log wwwlogs;
error_log /www/web_logs/error.log notice;
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 12h;
}
}
cd /opt/lnmp/ && docker-compose up -d
#登录
mysql -uroot -pmariadb@123 -h 127.0.0.1
执行sql
CREATE DATABASE `opencart` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
create user 'ocuser'@'%' IDENTIFIED BY 'ocuser123';
grant all privileges on opencart.* to 'ocuser'@'%';
flush privileges;
配置域名解析,然后通过浏览器访问,按照提示安装
http://www.shoptest.com/
访问首页报imagecreatefromjpeg() 错误
docker-php-ext-configure gd --with-freetype --with-jpeg
docker-php-ext-install -j$(nproc) gd