如何在CentOS 8上安装Magento

如何在CentOS 8上安装Magento

Magento是最受欢迎的开源电子商务平台之一,使您可以在几分钟内建立一个电子商务网站或在线商店。它使用基于Zend Framework的PHP编写,使用实体属性值(EAV)数据库模型存储数据。它带有一个简单易用的界面,可让您自定义在线商店并轻松销售产品和服务。

本教程显示了如何使用免费的SSL在CentOS 8上安装Magento电子商务平台。

要求条件

  • 运行带有2 GB RAM的CentOS 8的服务器。
  • 服务器IP指向的有效域名。
  • 在服务器上配置了root密码。

安装LEMP服务器

首先,通过运行以下命令来安装Nginx Web服务器,MariaDB数据库服务器,PHP和任何其他必需的PHP库:

dnf install nginx mariadb-server php php-cli php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip unzip git -y

一旦安装了所有软件包,请启动Nginx,MariaDB和PHP-FPM服务,以便您可以在系统重新启动后使用以下命令来启动它们:

systemctl start nginx systemctl start mariadb systemctl start php-fpm systemctl enable nginx systemctl enable mariadb systemctl enable php-fpm

接下来,您需要编辑php.ini文件并进行一些设置。

nano /etc/php.ini

更改以下行:

memory_limit =512M
upload_max_filesize = 200M
zlib.output_compression = On 
max_execution_time = 300 
date.timezone = Asia/Kolkata

完成后,保存并关闭文件。

数据库配置

默认情况下,MariaDB是不安全的,必须首先安全。运行以下脚本以保护MariaDB。

mysql_secure_installation

回答所有问题,如下所示。

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

完成后,使用以下命令登录到MariaDB shell:

mysql -u root -p

在出现提示时输入root密码,然后创建Magento数据库和用户,如下所示。

MariaDB [(none)]> CREATE DATABASE magentodb; MariaDB [(none)]> GRANT ALL ON magentodb.* TO [email protected] IDENTIFIED BY 'password';

接下来,刷新特权并使用以下命令退出MariaDB shell:

MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit;

为Magento配置PHP-FPM

接下来,您需要为您的Magento实例配置PHP-FPM池。可以通过创建以下文件来配置它:

nano /etc/php-fpm.d/magento.conf

添加以下行:

[magento]
user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

保存并关闭文件,然后重新启动PHP-FPM服务以实施更改。

systemctl restart php-fpm

下载Magento

首先,使用以下命令从Git存储库下载最新版本的Magento:

cd /var/www/html wget https://github.com/magento/magento2/archive/2.3.zip

下载后,如下所示解压缩下载的文件。

unzip 2.3.zip

接下来,如下所示将提取的目录移动到magento2。

mv magento2-2.3 magento2

接下来,您需要安装Composer来安装Magento的PHP依赖项。

您可以使用以下命令安装Composer:

curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer

然后将目录更改为magento2并使用以下命令安装所有Magento依赖项:

cd /var/www/html/magento2 composer update composer install

接下来,您需要创建一个Magento crontab来安排任务。您可以使用以下命令创建它。

./bin/magento cron:install

您可以使用以下命令检查crontab:

crontab -l

您将看到以下输出:

#~ MAGENTO START f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log
#~ MAGENTO END f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f

接下来,向magento2目录授予适当的权限。

chown -R nginx:nginx /var/www/html/magento2 chmod -R 755 /var/www/html/magento2

为Magento配置Nginx

接下来,您需要为Magento创建一个Nginx虚拟主机文件。您可以使用以下命令创建它。

nano /etc/nginx/conf.d/magento.conf

添加以下行:

upstream fastcgi_backend {
  server   unix:/run/php-fpm/magento.sock;
}

server {
    listen 80;
    server_name magento.linuxbuz.com;

    set $MAGE_ROOT /var/www/html/magento2;
    set $MAGE_MODE developer;

    access_log /var/log/nginx/magento-access.log;
    error_log /var/log/nginx/magento-error.log;

    include /var/www/html/magento2/nginx.conf.sample;
}

完成后,保存并关闭文件。接下来,重新启动Nginx和PHP-FPM服务以实现更改。

systemctl restart php-fpm systemctl restart nginx

配置SELinux和防火墙

由于CentOS 8默认情况下启用了SELinux,因此您需要配置SELinux以便Magento正常工作。

您可以使用以下命令配置SELinux:

semanage permissive -a httpd_t

接下来,您需要创建防火墙规则,以允许来自外部网络的HTTP和HTTPS服务。您可以使用以下命令执行此操作:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https firewall-cmd --reload

让我们加密SSL保护Magento

您的Magento现在已安装并配置。让我们使用免费的SSL加密安全。

为此,您需要在服务器上下载certbot客户端。您可以通过运行以下命令来下载并设置正确的权限:

wget https://dl.eff.org/certbot-auto mv certbot-auto /usr/local/bin/certbot-auto chown root /usr/local/bin/certbot-auto chmod 0755 /usr/local/bin/certbot-auto

现在,运行以下命令来获取并安装Magento网站的SSL证书:

certbot-auto --nginx -d magento.linuxbuz.com

上面的命令将首先安装所有必需的依赖项,如下所示。

Installed:
  gcc-8.2.1-3.5.el8.x86_64                                                  mod_ssl-1:2.4.37-12.module_el8.0.0+185+5908b0db.x86_64             
  python3-virtualenv-15.1.0-18.module_el8.0.0+33+0a10c0e1.noarch            python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64           
  redhat-rpm-config-116-1.el8.0.1.noarch                                    augeas-libs-1.10.1-8.el8.x86_64                                    
  libffi-devel-3.1-18.el8.x86_64                                            openssl-devel-1:1.1.1-8.el8.x86_64                                 
  annobin-8.64-1.el8.x86_64                                                 cpp-8.2.1-3.5.el8.x86_64                                           
  dwz-0.12-9.el8.x86_64                                                     efi-srpm-macros-3-2.el8.noarch                                     
  ghc-srpm-macros-1.4.2-7.el8.noarch                                        go-srpm-macros-2-16.el8.noarch                                     
  isl-0.16.1-6.el8.x86_64                                                   libmpc-1.0.2-9.el8.x86_64                                          
  ocaml-srpm-macros-5-4.el8.noarch                                          openblas-srpm-macros-2-2.el8.noarch                                
  perl-srpm-macros-1-25.el8.noarch                                          platform-python-devel-3.6.8-2.el8_0.0.1.x86_64                     
  python-rpm-macros-3-37.el8.noarch                                         python-srpm-macros-3-37.el8.noarch                                 
  python3-rpm-generators-5-4.el8.noarch                                     python3-rpm-macros-3-37.el8.noarch                                 
  qt5-srpm-macros-5.11.1-2.el8.noarch                                       rust-srpm-macros-5-2.el8.noarch                                    
  glibc-devel-2.28-42.el8.1.x86_64                                          glibc-headers-2.28-42.el8.1.x86_64                                 
  kernel-headers-4.18.0-80.11.2.el8_0.x86_64                                keyutils-libs-devel-1.5.10-6.el8.x86_64                            
  krb5-devel-1.16.1-22.el8.x86_64                                           libcom_err-devel-1.44.3-2.el8.x86_64                               
  libkadm5-1.16.1-22.el8.x86_64                                             libselinux-devel-2.8-6.el8.x86_64                                  
  libsepol-devel-2.8-2.el8.x86_64                                           libverto-devel-0.3.0-5.el8.x86_64                                  
  libxcrypt-devel-4.1.1-4.el8.x86_64                                        pcre2-devel-10.32-1.el8.x86_64                                     
  pcre2-utf16-10.32-1.el8.x86_64                                            pcre2-utf32-10.32-1.el8.x86_64                                     
  zlib-devel-1.2.11-10.el8.x86_64                                          

Complete!
Creating virtual environment...
Installing Python packages...
Installation succeeded.

安装所有依赖项后,将要求您提供一个电子邮件地址并同意条款和条件,如下所示。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/magento.conf

接下来,您需要选择是否将HTTP流量重定向到HTTPS,如下所示。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2  

键入2,然后按Enter键,以安装域的“让我们加密SSL”证书,如下所示。

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/magento.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://magento.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

访问Magento

您的Magento现在已安装并配置。访问Magento安装向导。

打开Web浏览器,然后输入URL https://magento.linuxbuz.com。您将被重定向到Magento欢迎页面。

请点击 同意并设置Magento 按钮显示Magento的准备检查向导。

系统就绪检查

然后 下一个 按钮显示以下页面。

数据库设置

输入数据库详细信息, 下一个 按钮显示以下页面。

网页配置

接下来,输入Magento商店和管理网址, 下一个 按钮显示以下页面。

设置货币,时区和语言

选择您喜欢的时区,货币和语言, 下一个 按钮显示以下页面。

设定使用者名称

接下来,输入Magento管理员用户名和密码, 下一个 按钮显示以下页面。

继续安装

然后 安装 现在 按下按钮开始安装Magento。安装成功完成后。显示以下页面。

安装成功

然后 您的店铺地址 按钮下一页显示了Magento商店。

Magento主页广告业

要访问Magento管理界面,请在Web浏览器中输入URL https://magento.linuxbuz.com/admin_1teqss。您将被重定向到Magento登录页面。

Magento登录

输入您的Magento管理员用户名和密码, 签收 按钮下一页将显示Magento管理界面。

Magento仪表板

现在就这样。 Magento受Let’s Encrypt的免费SSL保护。

Sidebar