• Magento_CentOS安装


    Magento_CentOS安装

    背景信息:

    • 操作系统:CentOS 7
    • 镜像:阿里云
    • IP:公网IP

    示例步骤使用以下软件版本:

    • Apache:2.4.6
    • Mysql:5.7
    • PHP:7.0
    • Composer:1.8.5
    • Magento:2.1

    1.安装并配置Apache

    • 安装Apache
    yum install httpd -y
    httpd -v
    
    • 1
    • 2

    • 配置Apache
    vim /etc/httpd/conf/httpd.conf
    
    在Include conf.modules.d/*.conf的下一行,添加LoadModule rewrite_module modules/mod_rewrite.so。具体步骤如下:
    1.移动光标到Include conf.modules.d/*.conf下一行的行首。
    2.按下i键进入编辑模式。
    3.输入LoadModule rewrite_module modules/mod_rewrite.so。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    • 将下列内容中的AllowOverride None更改为AllowOverride All
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    #在行首添加#注释掉本行内容
    #AllowOverride None
    
    #添加下列内容
    AllowOverride All
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    按下ESC然后:wq保存退出。

    • 运行以下命令启动Apache服务:
    systemctl start httpd
    
    • 1
    • 运行以下命令添加Apache服务开机自启动:
    systemctl enable httpd
    
    • 1

    2.安装并配置Mysql

    • 安装Mysql:

      • 运行以下命令添加Mysql yum源:
      rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
      
      • 1
      • 运行以下命令安装Mysql:
      yum -y install mysql-community-server --nogpgcheck
      
      • 1
    • 运行以下命令启动Mysql:

    systemctl start mysqld
    
    • 1
    • 运行以下命令设置Mysql开机自启动:
    systemctl enable mysqld
    
    • 1
    • 配置Mysql:

      • 运行以下命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。
      grep 'temporary password' /var/log/mysqld.log
      
      • 1

      返回的结果是:

      2022-11-06T12:24:24.653288Z 1 [Note] A temporary password is generated for root@localhost: kut0yhNKjB,q
      
      • 1
      • 运行下列命令配置MySQL的安全性。
      mysql_secure_installation
      
      • 1

      安全性的配置包含以下五个方面:

      1.设置root的账号密码:Ztr940407!

      Enter password for user root: #输入上一步中获取的root用户密码
      The 'validate_password' plugin is installed on the server.
      The subsequent steps will run with the existing configuration of the plugin.
      Using existing password for root.
      Estimated strength of the password: 100 
      Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y #是否更改root用户密码,输入Y
      New password: #输入密码,长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号可以是()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
      Re-enter new password: #再次输入密码
      Estimated strength of the password: 100 
      Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

      2.输入Y删除匿名用户账号。

      By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
      Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y  #是否删除匿名用户,输入Y
      Success.
      
      • 1
      • 2
      • 3

      3.输入Y禁止root账号远程登录。

      Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y
      Success.
      
      • 1
      • 2

      4.输入Y删除test库以及对test库的访问权限。

      Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y
      - Dropping test database...
      Success.
      
      • 1
      • 2
      • 3

      5.输入Y重新加载授权表。

      Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y
      Success.
      All done!
      
      • 1
      • 2
      • 3

      在这里插入图片描述

    3.安装并配置PHP

    • 安装PHP

      • 运行以下命令添加ius源。
      yum install \
      https://repo.ius.io/ius-release-el7.rpm \
      https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
      
      • 1
      • 2
      • 3
      • 运行以下命令添加Webtatic源。
      # 安装epel-release
      yum -y install epel-release
      rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
      
      • 1
      • 2
      • 3
      • 运行以下命令安装PHP7及所需扩展。
      yum install php
      
      yum -y install php70w php70w-pdo php70w-mysqlnd php70w-opcache php70w-xml php70w-gd php70w-mcrypt php70w-devel php70w-intl php70w-mbstring php70w-bcmath php70w-json php70w-iconv
      
      • 1
      • 2
      • 3
      • 运行以下命令查看PHP版本。
      php -v
      
      • 1

      在这里插入图片描述

    • 配置PHP

      • 运行以下命令打开PHP配置文件。
      vim /etc/php.ini
      
      • 1
      • 移动光标至最后一行的行尾。具体操作步骤如下:
        • 输入:$并回车,光标将移动至文件最后一行。
        • 按下$移动光标至行尾。
      • 按下i键进入编辑模式。
      • 在文件最后添加关于内存限制和时区的配置。
    ; 允许为PHP脚本分配的最大内存值。您可根据实际情况增加或减少内存限制
    memory_limit = 1024M
    ; 设置时区为上海
    date.timezone = Asia/Shanghai
    
    • 1
    • 2
    • 3
    • 4
    • 按下ESC后输入:wq退出,并重启Apache服务。
    systemctl restart httpd
    
    • 1

    4.创建Magento数据库

    • 运行以下命令使用root用户和密码登录MySQL。
    mysql -u root -p
    
    • 1
    • 运行以下命令创建magento数据库。
    mysql> CREATE DATABASE magento; #根据实际情况将magento替换为您需要创建的数据库名称
    
    • 1
    • 依次运行以下命令为magento数据库创建用户。
    mysql> GRANT ALL ON magento.* TO <YourUser>@localhost IDENTIFIED BY ''; #替换为您需要创建的账号和密码
    mysql> FLUSH PRIVILEGES;
    
    • 1
    • 2

    例如,创建账号为magentoUser、密码为magentoUser1@3的用户,运行的命令为:(该教程直接以下面用户名和密码进行使用)

    mysql> GRANT ALL ON magento.* TO magentoUser@localhost IDENTIFIED BY 'magentoUser1@3';
    mysql> FLUSH PRIVILEGES;
    
    • 1
    • 2
    • 输入exit并回车以退出MySQL。

    在这里插入图片描述

    • **可选:**验证新建的Magento数据库和用户是否可用。具体步骤如下:

      • 运行以下命令使用新建账号和密码登录MySQL。
      mysql -u <YourUser> -p   #替换为您创建的账号
      
      • 1
      • 运行以下命令查看新建的magento数据库。
      mysql> show databases;
      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | magento            |
      +--------------------+
      2 rows in set (0.00 sec)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 运行以下命令并回车以退出MySQL。
      mysql> exit
      
      • 1

      在这里插入图片描述

    5.安装并配置Composer

    Composer是PHP的一个依赖管理工具。Composer允许您申明项目所依赖的代码库,并帮您在项目中安装依赖的代码库。

    • 运行以下命令安装Composer。
    curl -sS https://getcomposer.org/installer | php
    
    • 1
    • 运行以下命令配置Composer全局使用。
    mv /root/composer.phar /usr/bin/composer
    
    • 1
    • 运行命令composer -v查看Composer版本。返回结果如下,表示Composer安装成功。
      / ____/___  ____ ___  ____  ____  ________  _____
     / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.8.5 2019-04-09 17:46:47
                            
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 说明 因最新版Composer与Magento暂不兼容,所以您需要安装与Magento兼容的Composer版本。你可以使用以下命令来让最新版Composer转换至兼容版本。如Composer 1.8.5版本。
    composer self-update 1.8.5
    
    • 1

    6.安装配置Magento

    您可以使用不同的方法安装Magento,可以选择是否安装示例数据。

    • 如果安装Magento仅用于测试,您可以选择安装示例数据。
    • 如果安装Magento用于生产环境,建议您安装全新的Magento,从头开始配置。

    我们使用Git下载Magento,并使用Composer安装Magento的操作步骤。

    • 下载Magento

      • 运行以下命令安装Git。
      yum -y install git
      
      • 1
      • 进入Web服务器的默认根目录。
      cd /var/www/html/
      
      • 1
      • 下载Magento。
      git clone https://github.com/magento/magento2.git
      
      • 1
    • **可选:**运行以下命令将Magento切换到稳定版本。

    cd magento2 &&  git checkout tags/2.1.0 -b 2.1.0
    
    • 1

    命令执行后的结果如下:

    Switched to a new branch '2.1.0'
    
    • 1

    说明 默认情况下,Git下载安装的Magento是最新的开发版本。如果您在生产环境中使用,建议切换到稳定版本,否则未来将无法升级安装。

    • 运行以下命令将安装文件移到Web服务器根目录下。
    shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..
    
    • 1

    说明 运行此命令后,您可以通过https://访问您的Magento站点。否则,您只能通过https:///magento2访问。

    • 依次运行下列命令为Magento文件设置适当的权限。
    chown -R :apache /var/www/html
    
    find /var/www/html -type f -print0 | xargs -r0 chmod 640
    
    find /var/www/html -type d -print0 | xargs -r0 chmod 750
    
    chmod -R g+w /var/www/html/{pub,var}
    
    chmod -R g+w /var/www/html/{app/etc,vendor}
    
    chmod 750 /var/www/html/bin/magento
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 运行命令composer install安装Magento。
    composer install
    
    • 1

    7.配置Magento客户端

    1. 打开浏览器。

    2. 在浏览器地址栏中,输入http:///setup

      出现如下图所示页面,表示Magento安装成功。

      magento_3

    3. 单击Agree and Setup Magento开始配置Magento。具体步骤如下:

      1. 准备性检查。

        1. 单击Start Readiness Check
        2. 检查完成后,单击Next

        magento-check

      2. 添加数据库。

        1. 输入之前创建的数据库用户的账号和密码。本教程中创建的示例用户账号为magentoUser、密码为magentoUser1@3
        2. 输入之前创建的数据库的名字。本教程中创建的示例数据库名字为magento
        3. 单击Next

        config-db

      3. 填写Web访问设置,并单击Next

        config-web

      4. 填写定制商店,并单击Next

      5. 填写管理员账号信息,并单击Next

      6. 单击Install Now进行安装。

    出现如下图所示界面,表示Magento配置完成。magento_4

    8.添加cron作业

    完成以下操作,添加cron作业:

    1. 运行crontab -u apache -e设置cron运行调度工作。

    2. 按下i键进入编辑模式。

    3. 输入下列配置信息。

      */10 * * * * php -c /etc /var/www/html/bin/magento cron:run
      */10 * * * * php -c /etc /var/www/html/update/cron.php
      */10 * * * * php -c /etc /var/www/html/bin/magento setup:cron:run
      
      • 1
      • 2
      • 3
    4. 按下Esc键后,输入:wq并回车以保存并退出。

    Magento上使用cron作业的更多详情,请参见Magento官方文档

    常见问题

    输入http:///admin登录Magento后台,如果界面提示“One or more indexers are invalid. Make sure your Magento cron job is running.”的错误信息,请参考以下步骤解决问题。123

    1. 远程连接Magento服务器。具体操作,请参见连接方式概述

    2. 运行以下命令,将PHP的安装路径建立软连接至

      /usr/sbin/php

      目录下。

      ln -s /usr/local/php/bin/php /usr/sbin/php
      
      • 1
    3. 运行以下命令,刷新索引。

      cd /yjdata/www/wwwroot
      php bin/magento indexer:reindex
      
      • 1
      • 2

      回显信息类似如下所示,表示索引已刷新成功。

      [root@iZbp1h2mquu8nb0jz99**** wwwroot]# php bin/magento indexer:reindex
      Design Config Grid index has been rebuilt successfully in 00:00:00
      Customer Grid index has been rebuilt successfully in 00:00:00
      Category Products index has been rebuilt successfully in 00:00:00
      Product Categories index has been rebuilt successfully in 00:00:00
      Product Price index has been rebuilt successfully in 00:00:00
      Product EAV index has been rebuilt successfully in 00:00:00
      Stock index has been rebuilt successfully in 00:00:00
      Catalog Rule Product index has been rebuilt successfully in 00:00:00
      Catalog Product Rule index has been rebuilt successfully in 00:00:00
      Catalog Search index has been rebuilt successfully in 00:00:00
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
    4. 刷新页面后,单击Cache Managementdaad

    5. 选中状态为INVALIDATEDCache Types,并单击Submit456当出现类似如下返回信息时,表示问题已经解决。455

    后续步骤

    • 访问http://可以看到如下图所示的默认主页。luma
      en rebuilt successfully in 00:00:00
      Catalog Product Rule index has been rebuilt successfully in 00:00:00
      Catalog Search index has been rebuilt successfully in 00:00:00
      
      
      • 1
    1. 刷新页面后,单击Cache Management。[外链图片转存中…(img-hL2JMwjn-1668256637476)]

    2. 选中状态为INVALIDATEDCache Types,并单击Submit。[外链图片转存中…(img-DFhcp8LP-1668256637477)]当出现类似如下返回信息时,表示问题已经解决。[外链图片转存中…(img-YoQDOgLt-1668256637480)]

    后续步骤

    • 访问http://可以看到如下图所示的默认主页。[外链图片转存中…(img-TtKw0cUM-1668256637482)]
    • 访问http:///admin,输入您在安装过程中设置的用户名和密码,成功登录管理面板后可看到如下界面。dashboard
  • 相关阅读:
    解决mysql8 Operation ALTER USER failed for ‘root’@’%‘
    东方甄选三个月直播带货20亿
    vue中===与==
    Win11系统svchost.exe一直在下载怎么办?
    【ASP.NET Core】URL重写
    数字孪生3d车间、虚拟车间、数字化三维车间的案例比较
    【自用重要】概率论中θ和θ尖的区别【计算时的一般方法】
    基于PHP+MySQL医药信息查询系统的设计与开发
    整数对最小和
    常州大学计算机考研资料汇总
  • 原文地址:https://blog.csdn.net/z_kakaya/article/details/127825100