独立站跨境贸易
WordPress SEO优化

宝塔面板安装magento 2.4.6电子商务系统

阅读之前先说明,由于magento系统安装特性,纯宝塔面板操作还是不能实现安装,需要搭配一些安装命令。对不懂技术的人,稍微研究一下还是能安装成功的。本人就是小白一个。

Magento官方安装文档

官方文档:https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/system-requirements.html?lang=zh-Hans

安装之前先把本文章阅读完,避免安装中出现别的问题

第一,安装宝塔面板

安装方法就忽略了,具体看官方文档。

第二,Magento安装环境要求

系统要求

第三,安装nginx 2.18 和Mysql8.0,安装PHP 8.1

1.修改配置:找到并修改下列的参数(去掉前面的;号)文件(php.ini)

memory_limit = 4G
opcache.memory_consumption=4G
realpath_cache_size=10M
realpath_cache_ttl=7200
max_input_vars = 6000

2.禁用函数:(php.ini)要删除的函数

putenv
proc_open
shell_exec
exec
proc_get_status

3.安装扩展:根据官方要求安装PHP扩展
这里安装fileinfo、intl、xsl

第四.安装Elasticsearch8

官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/8.4/targz.html
运行es需要java的环境,从软件商店安装“Java项目一键部署”

据说新版es内置java环境,但没有测试。

使用终端命令查看版本号是否满足要求:

java -version

使用文件管理器进入根目录,下载elasticsearch8上传或者远程下载需要的版本
https://www.elastic.co/cn/downloads/elasticsearch
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.3-linux-x86_64.tar.gz
把下载好的文件进行解压Elasticsearch-8.4.3
面板安全防火墙放行9200端口

//需要修改的文件

修改linux 内核参数
修改/etc/security/limits.conf 增加下面内容

* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 131072

修改/etc/sysctl.conf 增加下面内容

vm.max_map_count=655360

然后执行命令,使配置生效

sysctl -p

修改Elasticsearch-8.4.3 内核参数
/config/elasticsearch.yml 修改或者取消注释
启动前:

cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

启动后:

xpack.security.enabled: false
xpack.security.enrollment.enabled: false

因为es不能使用root运行,需要使用面板自动“终端”新建一个用户组

用户名es 密码:123

//创建用户组 
groupadd esgroup

//创建用户
useradd -g esgroup esuser

//设置权限
chown -R esuser:esgroup /Elasticsearch-8.4.3

//设置密码
passwd esuser

//切换用户
su  esuser

//进入目录
cd elasticsearch-8.4.3/ 

//启动前一定要修改前面的设置,不然出错,下面2个启动命令用法不同。
//启动es
./bin/elasticsearch

//后台启动es
./bin/elasticsearch -d -p pid

注意:

启动报错
1)没必要地图数据报错
解决:

因为他启动时会去更新地图的一些数据库,这里直接禁掉即可,用到时再说,配置文件conf/elasticsearch.yml,增加配置

ingest.geoip.downloader.enabled: false

2)访问http://127.0.0.1:9200没返回结果,可能是ssl验证,没必要可以值都设为false,路径conf/elasticsearch.yml
xpack.security.enabled: false
xpack.security.enrollment.enabled: false

3)若内存爆满,可以改配置文件conf/jvm.options

增加

-Xms1g
-Xmx1g

按自己需求更改即可

直接访问测试
http://ip:9200

浏览器返回例如

{
  "name" : "vmi1104570.contaboserver.net",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "iRoi_AZ9TWq5OXrRRXQ-9g",
  "version" : {
    "number" : "8.4.3",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "42f05b9372a9a4a470db3b52817899b99a76ee73",
    "build_date" : "2022-10-04T07:17:24.662462378Z",
    "build_snapshot" : false,
    "lucene_version" : "9.3.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

第五,添加站点

例如www.baidu.com(实际操作要更换成自己的域名,下同)
打开设置,升级Composer版本

运行命令查看Composer版本。

composer -v

返回结果如下,表示Composer安装成功。

/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.8.5 2019-04-09 17:46:47

第六,安装Magento

第一次安装会提示输入验证信息

Access Key获得方式:
1.打开https://marketplace.magento.com
2.注册账号这里就不说明了
3.打开My Profile
4.打开Access Keys
5.点击Create A New Access Key 创建key
6.输入名称
这里的Public Key 是Username, Private Key 是 Password

切换用户

su root

运行命令,文件夹要替换成自己的,并把目录清空。

composer create-project --repository=https://repo.magento.com/ magento/project-community-edition /www/wwwroot/www.baidu.com

用宝塔直接改www.baidu.com文件夹权限 www 777

期待没有报错 一直走完

导入magento 数据库,数据库用户名,密码,邮箱,后代用户名和密码,要根据自己的更改。确定es8已运行。

bin/magento setup:install \
--base-url=http://www.baidu.com \
--db-host=localhost \
--db-name=magento \
--db-user=root \
--db-password=ffed644e4f969bcf \
--admin-firstname=M \
--admin-lastname=eCBAY \
--admin-email=邮箱 \
--admin-user=后台用户名 \
--admin-password=后台用户名密码 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--search-engine=elasticsearch8 \
--elasticsearch-host=localhost \
--elasticsearch-port=9200

装完成记录后台地址

最后运行中出现的问题可以对照下面的命令

//更新(如有安装新模块可以运行)
php bin/magento setup:upgrade

//部署静态视图文件
php bin/magento setup:static-content:deploy -f

//清除缓存
php bin/magento cache:clean

//刷新缓存
php bin/magento cache:flush

//刷新全部索引
php bin/magento indexer:reindex

//magento后台登录强制开启二次验证需要关掉
//进入bin目录下
php magento maintenance:enable  开始维护模式
./magento module:disable Magento_AdminAdobeImsTwoFactorAuth
./magento module:disable Magento_TwoFactorAuth
./magento cache:flush
./magento maintenance:disable 关闭维护模式

#查看模块    php bin/magento module:status
#开启模块    php bin/magento module:enable
#关闭模块    php bin/magento module:disable

页面出现缓存文件报错 修改目录文件权限为777

更换模板:
上传app 和 pub文件

//升级:
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy -f
php bin/magento indexer:reindex

第七,语言包安装

安装中文语言包
https://www.mageplaza.com/magento-2-chinese-language-pack.html

Install Chinese pack:
composer require mageplaza/magento-2-chinese-language-pack:dev-master
php bin/magento setup:static-content:deploy zh_Hans_CN -f
php bin/magento setup:static-content:deploy -f
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento cron:run

Update Chinese pack:

composer update mageplaza/magento-2-chinese-language-pack:dev-master
php bin/magento setup:static-content:deploy zh_Hans_CN -f
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush

问题,
浏览器打开出现
Fatal error: Uncaught Zend_Cache_Exception
是因为安装文件夹权限,更新网站目录权限。

步骤八,一些注意事项

宝塔面板 注意用伪静态
宝塔www.baidu.com的nginx配置文件,有3处需要更换自己域名

server
{
    listen 80;
    server_name www.baidu.com;
    set $MAGE_ROOT /www/wwwroot/www.baidu.com;
    root $MAGE_ROOT/pub;
    index index.php;
    autoindex off;
    charset UTF-8;
    error_page 404 403 /errors/404.php;
    #add_header "X-UA-Compatible" "IE=Edge";
    
    #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-74.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/www.baidu.com.conf;
    #REWRITE-END
    
    #禁止访问的文件或目录
    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 /dev/null;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null; 
    }
    access_log  /www/wwwlogs/shop.magentotest.com.log;
    error_log  /www/wwwlogs/shop.magentotest.com.error.log;
}

宝塔伪静态文件

# PHP entry point for setup application
location ~* ^/setup($|/) {
  root $MAGE_ROOT;
  location ~ ^/setup/index.php {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  location ~ ^/setup/(?!pub/). {
    deny all;
  }

  location ~ ^/setup/pub/ {
    add_header X-Frame-Options "SAMEORIGIN";
  }
}

# PHP entry point for update application
location ~* ^/update($|/) {
  root $MAGE_ROOT;
  location ~ ^/update/index.php {
    fastcgi_split_path_info ^(/update/index.php)(/.+)$;
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    include fastcgi_params;
  }

  # Deny everything but index.php
  location ~ ^/update/(?!pub/). {
    deny all;
  }

  location ~ ^/update/pub/ {
    add_header X-Frame-Options "SAMEORIGIN";
  }
}

location / {
  try_files $uri $uri/ /index.php?$args;
}

location /pub/ {
  location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) {
    deny all;
  }
  alias $MAGE_ROOT/pub/;
  add_header X-Frame-Options "SAMEORIGIN";
}

location /static/ {
  # Uncomment the following line in production mode
  # expires max;
  # Remove signature of the static files that is used to overcome the browser cache
  location ~ ^/static/version {
    rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last;
  }

  location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
    add_header Cache-Control "public";
    add_header X-Frame-Options "SAMEORIGIN";
    expires +1y;
    if (!-f $request_filename) {
        rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
    }
  }

  location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
    add_header Cache-Control "no-store";
    add_header X-Frame-Options "SAMEORIGIN";
    expires off;
    if (!-f $request_filename) {
      rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
    }
  }

  if (!-f $request_filename) {
    rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last;
  }
  add_header X-Frame-Options "SAMEORIGIN";
}

location /media/ {
  try_files $uri $uri/ /get.php?$args;
  location ~ ^/media/theme_customization/.*\.xml {
    deny all;
  }

  location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
    add_header Cache-Control "public";
    add_header X-Frame-Options "SAMEORIGIN";
    expires +1y;
    try_files $uri $uri/ /get.php?$args;
  }
  location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
    add_header Cache-Control "no-store";
    add_header X-Frame-Options "SAMEORIGIN";
    expires off;
    try_files $uri $uri/ /get.php?$args;
  }
  add_header X-Frame-Options "SAMEORIGIN";
}

location /media/customer/ {
  deny all;
}

location /media/downloadable/ {
  deny all;
}

location /media/import/ {
  deny all;
}

# PHP entry point for main application
location ~ (index|get|static|report|404|503)\.php$ {
  try_files $uri =404;
  fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_buffers 1024 4k;

  fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
  fastcgi_param PHP_VALUE "memory_limit=768M \n max_execution_time=600";
  fastcgi_read_timeout 600s;
  fastcgi_connect_timeout 600s;

  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
}

gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
  text/plain
  text/css
  text/js
  text/xml
  text/javascript
  application/javascript
  application/x-javascript
  application/json
  application/xml
  application/xml+rss
  image/svg+xml;
gzip_vary on;

# Banned locations (only reached if the earlier PHP entry point regexes don't match)
location ~* (\.php$|\.htaccess$|\.git) {
  deny all;
}

打开浏览器输入域名返回

安装成功了,到此结束,希望你安装成功,如果转载请表明来源

参考文档:

https://blog.csdn.net/Sakitam1852/article/details/129707957
https://bbs.mallol.cn/pagoda-panel-installation-magento-2-4-2-p1-detailed-tutorial/
https://huaweicloud.csdn.net/637f790bdacf622b8df853ec.html

赞(0) 打赏
未经允许不得转载:折雷网 » 宝塔面板安装magento 2.4.6电子商务系统
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏