Fecmall 全称为Fancy ECommerce Mall,是基于php Yii2框架之上开发的一款优秀的开源电商系统。
Fecmall支持多语言,多货币,架构上支持pc,手机web,手机app,和erp对接等入口,您可以免费快速的定制和部署属于您的电商系统。这篇文章就来谈谈如何利用宝塔面板安装。
Fecmall简介:
- 官网:http://www.fecmall.com/
- Pc演示地址:http://fecshop.appfront.fancyecommerce.com/
- Wap演示地址:http://fecshop.apphtml5.fancyecommerce.com/
- Vue演示地址:http://demo.fancyecommerce.com/#/
- github:https://github.com/fecshop/yii2_fecshop
安装中你需要参考的文档:
- http://www.fecmall.com/doc/fecshop-guide/develop/cn-2.0/guide-fecshop-2-graphical-install.html
- http://www.fecmall.com/doc/fecshop-guide/instructions/cn-2.0/guide-fecmall-bt-nginx-install.html
一:宝塔端的设置
安装之前需要先设置,具体如下。
1.0新建网站
这里的新建网站和平时的不太一样,我们先要在宝塔的/www/wwwroot目录新建一个fecmall目录,然后网站的路径指定为这个目录。这里也是为了和官网的安装统一起来。
网站数据库请自行创建吧。
1.1、删除禁用函数
PHP管理→禁用函数,删除putenv、pcntl_signal函数,如图:
如果不删除会报错:
[ErrorException] pcntl_signal() has been disabled for security reasons
1.2下载fecmall
进入如下目录中。
cd /www/wwwroot
1.21composer下载
对于宝塔这种图形化管理的系统软件,后台界面创建网站,指定目录后(我设置指定的是/www/wwwroot/fecmall),会生成相应的一个文件夹,这个文件夹不要删除
而composer安装需要自行创建文件夹,不能使用一开始就有的目录,因此我们先安装到/www/wwwroot/fecmall_2
文件夹,composer下载fecmall系统文件后,然后在复制到/www/wwwroot/fecmall
即可。
请将2.3.7 改成最近的fecmall版本,这里查看最新的版本号:
https://github.com/fecshop/yii2_fecshop/releases
具体的安装命令如下:
// 使用阿里云的composer源composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/// composer安装 fecmallcomposer create-project fancyecommerce/fecshop-app-advanced fecmall_2 2.3.7
下载成功后执行,将下载的文件内容复制到fecmall目录(下面的第二个命名代表将隐藏文件也复制过去)
mv fecmall_2/* fecmallmv fecmall_2/.[^.]* fecmall
1.3设置权限
fecmall文件下载成功后,进入fecmall根目录,执行init
cd fecmallchmod 755 ./init./init
执行后,执行log如果没有报错,则代表执行成功,如图:
1.4设置Nginx
现在开始设置网站的配置文件,网站管理→配置文件中开始修改。在下面如图进行修改,也就是添加appfront/web
字符,让其指向该web目录。
继续添加配置代码如下:
location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$1 last; }}location /fr/ { index index.php; if (!-e $request_filename){ rewrite . /fr/index.php last; }}location /cn/ { index index.php; if (!-e $request_filename){ rewrite . /cn/index.php last; }}
添加的位置如图:
修改后,点击保存即可。
二:安装部署
上面的工作都做好之后,现在就可以浏览器打开访问安装了。
2.1开始安装
浏览器打开你的域名开始安装,形式如:域名/install.php 如图:
2.2初始化Migrate
提交成功之后,可以看到Mysql数据库表初始化Migrate的信息,如图:
2.3安装产品测试数据
为了方便设置,我们需要安装产品测试数据这样可以参考官方的设置,如图:
2.4完成安装
安装产品测试数据之后,我们点击下一步即可完成安装,如图:
2.5安全设置
严格按照上图设置自己的服务器。步骤如下:
1.需要设置安全权限(根目录执行,win不需要执行):chmod 644 common/config/main-local.php
2.删除安装文件 install.php(为了安全,一定要删除掉)(文件路径为:appfront/web/install.php),
3.后台默认用户名,用户名密码: admin admin123
4.访问后台(访问nginx配置的后台appadmin域名),更改admin用户密码,然后根据文档进行后台配置
2.6设置平台域名
在网站设置其他的域名, admin 代表后台,img代表图片域名,m代表手机web。Fecmall是一个多入口的电商系统,各个入口独立访问,对应独立的子域名,比如大鸟这里设置的3个域名是:
- admin.dayu.tk(后台域名)
- img.dayu.tk(图片域名)
- m.dayu.tk(移动端域名)
对应的关系如下:
- admin.dayu.tk —–appadmin
- img.dayu.tk—–appimage
- m.dayu.tk—–apphtml5
具体设置看图:
2.7设置配置文件
分别配置3个域名,并且设置配置文件。
2.7.1设置admin域名
设置两个地方,root /www/wwwroot/fecmall/appadmin/web;
admin域名添加的去掉index.php的配置如下location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$1 last; }}
不会看图:
2.7.2设置图片域名
只要设置一个地方: root /www/wwwroot/fecmall/appimage/common;
如图:
2.7.3设置移动端
需要设置两个地方:root /www/wwwroot/fecmall/apphtml5/web;
移动端域名添加的去掉index.php的配置如下:
location / { if (!-e $request_filename){rewrite ^/(.*)$ /index.php/$1 last; } } location /fr/ { index index.php; if (!-e $request_filename){rewrite . /fr/index.php last; } } location /cn/ { index index.php; if (!-e $request_filename){rewrite . /cn/index.php last; } }
看图:
全部设置好保存,因为截图是局部,所以你会看不懂,不过没关系,最下面附上所有的nginx配置,你参考配置自己的就可以了。
2.8访问后台
经过上面的可怕的设置完成之后,现在就可以了打开后台了,如图:
默认的账户密码: admin admin123
2.9修改密码
登录后台,我们可以先修改密码,如图:
修改用户名就在账户管理中,这些自己去倒腾吧。
3.0宝塔Nginx设置
宝塔Nginx设置的全部代码如下:[reply]
server{ listen 80; server_name bt.dayu.tk; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/fecmall/appfront/web; #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #SSL-END #ERROR-PAGE-START 错误页配置,可以注释、删除或修改 #error_page 404 /404.html; #error_page 502 /502.html; #ERROR-PAGE-END #PHP-INFO-START PHP引用配置,可以注释或修改 include enable-php-73.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/bt.dayu.tk.conf; #REWRITE-END location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$1 last; }}location /fr/ { index index.php; if (!-e $request_filename){ rewrite . /fr/index.php last; }}location /cn/ { index index.php; if (!-e $request_filename){ rewrite . /cn/index.php last; }} #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*\.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } access_log /www/wwwlogs/bt.dayu.tk.log; error_log /www/wwwlogs/bt.dayu.tk.error.log;}#BINDING-admin.dayu.tk-STARTserver{ listen 80; server_name admin.dayu.tk; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/fecmall/appadmin/web; include enable-php-73.conf; include /www/server/panel/vhost/rewrite/bt.dayu.tk.conf; #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } location / { if (!-e $request_filename){rewrite ^/(.*)$ /index.php/$1 last; } } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*\.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } access_log /www/wwwlogs/bt.dayu.tk.log; error_log /www/wwwlogs/bt.dayu.tk.error.log;}#BINDING-admin.dayu.tk-END#BINDING-img.dayu.tk-STARTserver{ listen 80; server_name img.dayu.tk; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/fecmall/appimage/common; include enable-php-73.conf; include /www/server/panel/vhost/rewrite/bt.dayu.tk.conf; #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*\.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } access_log /www/wwwlogs/bt.dayu.tk.log; error_log /www/wwwlogs/bt.dayu.tk.error.log;}#BINDING-img.dayu.tk-END#BINDING-m.dayu.tk-STARTserver{ listen 80; server_name m.dayu.tk; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/fecmall/apphtml5/web; location / { if (!-e $request_filename){rewrite ^/(.*)$ /index.php/$1 last; } } location /fr/ { index index.php; if (!-e $request_filename){rewrite . /fr/index.php last; } } location /cn/ { index index.php; if (!-e $request_filename){rewrite . /cn/index.php last; } } include enable-php-73.conf; include /www/server/panel/vhost/rewrite/bt.dayu.tk.conf; #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*\.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } access_log /www/wwwlogs/bt.dayu.tk.log; error_log /www/wwwlogs/bt.dayu.tk.error.log;}#BINDING-m.dayu.tk-END
[/reply]
3.1总结
fecmall安装好之后,还需要对后台进行配置,具体的看官方的文档吧,链接如下:
http://www.fecmall.com/doc/fecshop-guide/develop/cn-2.0/guide-fecshop-2-graphical-install.html
一定要严格按照教程来安装,不然很容易配置出问题。这篇教程写写就觉得掉坑里去了,实在是太繁琐,中途一度不想配置了。总算是坚持写完了。但是安装完成之后,颜值非常不错,值得试一试。
评论前必须登录!
注册