FecMall多语言商城宝塔安装搭建教程

news2024/9/24 5:32:12

FecMall多语言商城宝塔安装搭建教程
1.1、删除禁用函数
PHP管理→禁用函数,删除putenv、pcntl_signal函数
在这里插入图片描述如果不删除会报错:[ErrorException]
pcntl_signal() has been disabled for security reasons

1.2下载fecmall
进入如下目录中cd /www/wwwroot 下载fecmall
对于宝塔这种图形化管理的系统软件,后台界面创建网站,指定目录后(我设置指定的是/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.3安装产品测试数据
为了方便设置,我们需要安装产品测试数据这样可以参考官方的设置,如图:

在这里插入图片描述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;
        }
    }

在这里插入图片描述2.8访问后台
经过上面的可怕的设置完成之后,现在就可以了打开后台了
在这里插入图片描述默认的账户密码: admin admin123

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/181381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

行为型模式-中介模式

1.概述 一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如在下左图中,有六个…

LeetCode 2325. 解密消息

给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下: 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。 将替换表与普通英文字母表对齐,形成对照表。 按照对照表 替换 mess…

〖产品思维训练白宝书 - 核心竞争力篇⑤〗- 产品经理核心竞争力解读之如何培养创造力

大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4e…

【从零开始】力扣刷题(1)

文章目录前言数组:数组的遍历485.最大连续的一个数495.提莫攻击414.第三大的数628.三个数的最大乘积数组:统计数组中的元素645.错误的集合697.数组的度484.找到所有数组中消失的数组442.数组中重复的数据41.缺失的第一个正数274.H指数前言 我根据这里的…

Scalable SoftGroup for 3D Instance Segmentation on Point Clouds

Abstract 本文考虑了一个称为SoftGroup的网络,用于准确和可扩展的3D实例分割。现有的最先进方法会产生硬语义预测,然后进行分组以获得实例分割结果。然而,源于硬决策的错误会传播到分组中,导致预测实例与ground truth的低重叠和大…

数据结构:排序的基本概念

排序(sorting)是按关键字的非递减或非递增顺序对一组记录重新进行整队(或排列)的操作。确切描述如下: 假设含有 n 个记录的序列为 {r1 ,r2 , … ,rn} (3-1) 它们的关键字相应为 {k1 ,k2 , … ,kn} 对式(3-1)的记录序列进行排序就是要确定序号 1,2,,n 的一种排列 p1,p2 , … …

MyBatis 表连接查询写法|三种对应关系

❤️作者主页:微凉秋意 ✅作者简介:后端领域优质创作者🏆,CSDN内容合伙人🏆,阿里云专家博主🏆 ✨精品专栏:C面向对象 🔥系列专栏:JavaWeb 文章目录前言表连接…

JS 6万字超详细总结

文章目录1. JS简介2. JS的使用2.1 行内式2.2 内嵌式2.3 外部式3. JS基础语法3.1 注释3.2 变量3.3 输入和输出3.4 数据类型3.4.1 字符串类型3.4.2 数字类型3.4.3 布尔类型3.4.4 Undefined和Null3.4.5 获取变量的类型3.5 数据类型转换3.5.1 转换为字符串类型3.5.2 转换为数字类型…

Java多线程(二)——ReentrantLock源码解析(补充4——条件变量Condition)

ReentrantLock源码解析(补充4——条件变量Condition) 上一章 ReentrantLock源码解析 仅介绍了 ReentrantLock 的常用方法以及公平锁、非公平锁的实现。这里对上一章做一些补充。主要是: AQS 中阻塞的线程被唤醒后的执行流程可打断的锁 lock…

CDH数仓项目(二) —— 用户行为数仓和业务数仓搭建

0 说明 本文基于《CDH数仓项目(一) —— CDH安装部署搭建详细流程》开始搭建数仓 1 数仓搭建环境准备 1.1 Flume安装部署 1)添加服务 2) 选择Flume 3)选择依赖 4)选择部署节点 5) 安装完成 1.2 安装Sqoop 1)添加服务 2)选…

Unity2023 Alpha新功能简介

Unity2023特征:Graphic:添加了新的光线跟踪加速结构。添加实例签名,允许将网格实例添加到GPU光线跟踪的加速结构中。从栅格化管道中渲染网格。HDRP:为HDRP添加了光线追踪地形支持。Eidtor:添加了“聚焦窗口改变”回调到…

spring AOP 原理

一、spring注册 AnnotationAwareAspectJAutoProxyCreator 通过EnableAspectJAutoProxy可以看到先把AspectJAutoProxyRegistrar通过Import注册到spring。 AspectJAutoProxyRegistrar实现了ImportBeanDefinitionRegistrar接口,所以就有了将某个bean引入spring 的能力…

#C. 笨友圈

题目思路1直接模拟题意,相当于邻接矩阵,用bool类型的二维数组vis[i][j]来存储i和j是否为好友,交叉点为1代表是好友,为0代表不是;a[i]存储i这个人看到的信息数量。然后输入后如果符号代表要将u,v加个好友,就将vis[u][v] 1和vis[v][u] 1,如果是拉黑就将vis[u][v] 0和vis[v][u]…

ATAC-seq分析:差异分析(10)

在下部分中,我们将研究如何使用 R/Bioconductor 识别开放区域中的变化。 在这里,我们将采用类似于 Diffbind 中的方法,并在 ATACseq 分析中合理建立。 1. 识别非冗余峰 首先,我们将定义至少 2 个样本中存在的一组非冗余峰&#xf…

ffmpeg为mkv封装格式的音视频文件添加字幕

现在好莱坞的电影,都是全球看,一个地区的人看电影时,电影屏幕上应该展示对应的本地区语言字幕。故电影画面在不同的地区,需要配置不同的语言字幕。故视频画面里面的字幕应该可以拆出来,不能像老版三国演义,…

ZYNQ IP核之RAM

随机存取存储器(Random Access Memory,RAM),可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据,其读写速度是由时钟频率决定的,主要用来存放程序及程序执行过程中产…

C++结构(OOP的基石)

写在前面 面向初学者撰写专栏,个人原创的学习C/C笔记(干货)所作源代码输出内容为中文,便于理解如有错误之处请各位读者指正请读者评论回复、参与投票,反馈给作者,我会获得持续更新笔记干货的动力。致粉丝&a…

vulnhub之VENOM:1

1.信息收集 输入arp-scan 192.168.239.0/24探测存活的IP 使用nmap对192.168.239.166进行扫描,发现IP端口21、80、139、443、445。 在浏览器上访问http://192.168.239.166/,查看源码发现类似md5加密。 解密md5可以得到为hostinger。 输入enum4linux …

Linux | 软件包管理器——yum的使用

文章目录一、什么是软件包二、有关软件使用的背景讲解1、如何去下一个软件呢?过程是怎样的?2、软件的商业利益分析3、Linux开源社区的生态链4、Linux中软件的分类和选择三、yum的使用1、说在前面【注意事项】2、如何查看软件包3、软件的安装和卸载四、yu…

WPF鼠标、键盘、拖拽事件、用行为封装事件

WPF鼠标、键盘、拖拽事件、用行为封装事件 本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior)来封装事件。 Windows中的事件通过消息机制来完…