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安装 fecmall composer create-project fancyecommerce/fecshop-app-advanced fecmall_2 2.3.7
下载成功后执行,将下载的文件内容复制到fecmall目录(下面的第二个命名代表将隐藏文件也复制过去)
mv fecmall_2/* fecmall mv fecmall_2/.[^.]* fecmall
1.3设置权限
fecmall文件下载成功后,进入fecmall根目录,执行init
cd fecmall chmod 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-START
server
{
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-START
server
{
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-START
server
{
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
一定要严格按照教程来安装,不然很容易配置出问题。这篇教程写写就觉得掉坑里去了,实在是太繁琐,中途一度不想配置了。总算是坚持写完了。但是安装完成之后,颜值非常不错,值得试一试。
































