Ubuntu20.04 宝塔面板安装Magento2.4.x

季宏言 |

23年6月10日更新:

之前的这篇文章稍微有些老旧,新的安装教程推荐看官方发布的

https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/composer.html?lang=zh-Hans

以下内容也做了部分更新

 

一直以来都是再Centos 8系统里面玩耍,最近突发奇想想试试Ubuntu,于是就有了这篇文章。一般跑Magento 2推荐服务器配置为2核4G内存就行。

本文包含了以下几个部分:

1.如何安装宝塔面板

2.如何安装并配置Java

3.如何安装并配置Elasticsearch

4.如何使用Composer安装Magento2

下面进入正题

1. 如何安装宝塔面板和LAMP环境,安装宝塔面板这个可以直接使用命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

面板安装完成之后,可以通过浏览器访问宝塔面板后台安装LAMP环境,可以参考安装LAMP环境

  • 这里要说一下,新安装的宝塔面板要删除以下几个被禁用的函数:

putenv     
proc_open     
shell_exec     
exec     
proc_get_status

重启PHP服务再进行下一步。

2. 如何安装并配置OpenJDK JAVA 11。

现在Magento 2.4的安装的首要条件就是要安装Elasticsearch,而Elasticsearch的安装又需要配置Java环境。所有下面我们来安装Java 11.

  • OpenJDK Packages
sudo apt-cache search openjdk
  • 安装 JAVA (OpenJDK)
sudo apt-get install openjdk-14-jre openjdk-14-jdk
  • 查看Java版本
java -version
  • 设置JAVA_HOME

在宝塔面板的文件管理里面打开 /etc/environment ,然后增加以下代码 :

JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64/
或者执行:export JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64/

然后检查JAVA_HOME:

echo $JAVA_HOME

如果输出正确,继续下一步。

3. 如何安装并配置Elasticsearch

  • 安装Elasticsearch
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update
sudo apt install elasticsearch
  • 配置 Elasticsearch :

宝塔面板文件管理打开  /etc/elasticsearch/elasticsearch.yml

修改以下地方并取消注释

cluster.name: my-application

node.name: node-1

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: localhost

http.port: 9200

discovery.seed_hosts: ["localhost"]

cluster.initial_master_nodes: ["node-1"]

  • 然后启动Elasticsearch
sudo systemctl start elasticsearch

附其他Elasticsearch命令:

-停止Elasticsearch:sudo systemctl stop elasticsearch

-重启Elasticsearch:sudo systemctl restart elasticsearch

  • 查看ES状态

sudo systemctl status elasticsearch

  • 检查Elasticsearch

 -版本配置检查:

curl -XGET 'http://localhost:9200'

 ※※※这里一定要记得重启一下ES※※※

sudo systemctl stop elasticsearch #停止ES
sudo systemctl start elasticsearch #启动ES

-然后配置检测:

curl -X GET -H "Content-Type: application/json" 'http://127.0.0.1:9200/tutorial/helloworld/1?pretty'

如果无错误继续下一步

4. 如何安装Magento 2

这里推荐大家查看官方安装magneto2.4的教程:https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/composer.html?lang=zh-Hans

  • Magento 2安装配置要求:

  *能很好的在Linux 系统中运行, 如 RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian等. Magento 运行可能有问题在以下的系统中:

       -- Windows OS

       -- Mac OS

 *内存要求

       -- 最低 2GB RAM      

 *Composer (最新稳定版)

      --  2.*.*

*服务器

       Apache 2.4

       nginx 1.x

 *数据库

       -- MySQL 8.0 及以上

       -- MariaDB 10.4 

 *PHP

       -- 8.0 及以上

 *需安装的PHP 扩展

       -- bcmath

       -- ctype

       -- curl

       -- dom

       -- gd

       -- hash

       -- iconv

       -- intl

       -- mbstring

       -- openssl

       -- pdo_mysql

       -- simplexml

       -- soap

       -- xsl

       -- zip

       -- libxml

这几个函数可以在宝塔面板的PHP管理里面安装上,然后重启PHP 。

*Elasticsearch

       -- Magento 支持 Elasticsearch 7.6.x 及以上版本

 //非必须的邮件服务

       -- Mail Transfer Agent (MTA) 或者 SMTP server

 //其他Magento 2可用的服务

       -- Redis

       -- Varnish

       -- RabbitMQ 

                    

  • 满足以上条件后,使用Composer 开始安装Magento

 *SSH进入安装路径

cd /www/wwwroot/

 *更新Composer

composer selfupdate

      

 *下载agento2文件,注意修改要安装的文件夹名:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <your-magento-install-directory-name>

如果是第一次升级安装会提示输入验证信息,

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     
直接回车开始下载。

如果无法注册登录magneto,测试环境可用如下的账号:

Public Key: c7af1bfc9352e9c986637eec85ed53af
Private Key: 17e1b72ea5f0b23e9dbfb1f68dc12b53

*下载完成之后,进入Magento 2的目录,修改权限(如果不行就在命令前面加上sudo):

    
cd <your-magento-install-directory-name> 
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + 
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + 
chown -R :www . # Ubuntu 
chmod u+x bin/magento

 

 

*使用宝塔面板创建数据库magento2:

*用命令安装Magento 2 :

php bin/magento setup:install \
--base-url=http://yourdomain.com/ \
--db-host=localhost \
--db-name=magento2 \ 
--db-user=root \
--db-password=magento \
--admin-firstname=mage \
--admin-lastname=to \
[email protected] \
--admin-user=admin \
--admin-password=admin@123 \
--language=en_US \ 
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--backend-frontname=admin \
--backend-frontname=admin_test_root 

可根据需要修改上面的配置.

*然后运行以下命令:

sudo php -dmemory_limit=-1 bin/magento setup:upgrade
sudo php -dmemory_limit=-1 bin/magento setup:static-content:deploy -f
sudo php -dmemory_limit=-1 bin/magento indexer:reindex
sudo php -dmemory_limit=-1 bin/magento cache:clean
sudo php -dmemory_limit=-1 bin/magento cache:flush

*最后,在宝塔面板设置网站目录

将网站目录设置为<your-magento-install-directory-name>,然后运行目录设置为/pub. 

========================================================================            

至此,Magento 2已经成功安装完成,你现在可以访问的网站前台yourdomain.com 和网站后台yourdomain.com/admin_test_root查看了。

尽情享受Magento 2吧。

当然,如有问题,欢迎在下方留言。谢谢!

评论

成功安装,但是无法运行。宝塔7.9.0,magento-ce-2.4.3-p1

Fatal error: Uncaught Zend_Cache_Exception: cache_dir "/www/wwwroot/123456.com/var/page_cache" is not writable in /www/wwwroot/123456.com/vendor/magento/zendframework1/library/Zend/Cache.php:209 Stack trace: #0 /www/wwwroot/123456.com/vendor/magento/zendframework1/library/Zend/Cache/Backend/File.php(180): Zend_Cache::throwException() #1 /www/wwwroot/123456.com/vendor/colinmollenhour/cache-backend-file/File.php(87): Zend_Cache_Backend_File->setCacheDir() #2 /www/wwwroot/123456.com/vendor/magento/zendframework1/library/Zend/Cache.php(153): Cm_Cache_Backend_File->__construct() #3 /www/wwwroot/123456.com/vendor/magento/zendframework1/library/Zend/Cache.php(94): Zend_Cache::_makeBackend() #4 /www/wwwroot/123456.com/vendor/magento/framework/App/Cache/Frontend/Factory.php(442): Zend_Cache::factory() #5 /www/wwwroot/123456.com/vendor/magento/framework/Cache/Frontend/Adapter/Zend.php(38): Magento\Framework\App\Cache\Frontend\Factory->Magento\Framework\App\Cache\Frontend\{closure}() #6 /www/wwwroot/123456.com/vendor/magento/framewo in /www/wwwroot/123456.com/vendor/magento/zendframework1/library/Zend/Cache.php on line 209

添加新评论

此字段内容将保密,不会被其他人看见。