How to install Magento 2.3 (from scratch) - Magento 2 Beginner Tutorials
目录:
Magento是领先的企业级电子商务平台,该平台基于开源技术构建,结合了强大的功能,灵活性和友好的用户界面。
Magento具有吸引购物体验,灵活的模块化体系结构以及企业级可伸缩性和性能等功能,是大多数在线商家的首选平台。
在本教程中,我们将向您展示如何在Ubuntu 18.04计算机上安装Magento 2.3。 我们将使用Nginx作为Web服务器,使用最新的PHP 7.2和MySQL / MariaDB作为数据库服务器。
先决条件
在继续本教程之前,请确保满足以下先决条件:
- 有一个指向您的公共服务器IP的域名。 我们将使用
example.com。按照以下说明在您的Ubuntu服务器上安装了Nginx。为您的域安装了SSL证书以加密用户信息。 您可以按照以下说明安装免费的“让我们加密SSL”证书。
为了能够访问Magento 2代码存储库,您需要生成身份验证密钥。 如果您没有Magento Marketplace帐户,则可以在此处创建一个。 创建帐户后,请查看这些说明,了解如何生成一组新的身份验证密钥。
将系统软件包更新到最新版本并安装解压缩实用程序:
sudo apt update && sudo apt upgrade
sudo apt install unzip
创建MySQL数据库
如果您的服务器上安装了MySQL或MariaDB,则可以跳过此步骤;如果没有,则可以通过键入以下内容从Ubuntu的默认存储库中安装MySQL 5.7服务器软件包:
sudo apt install mysql-server mysql-client
对于全新的MySQL安装,建议运行
mysql_secure_installation
命令以提高MySQL服务器的安全性。
使用以下命令登录到MySQL Shell:
sudo mysql
在MySQL Shell中,运行以下SQL语句创建一个名为
magento
的新数据库:
CREATE DATABASE magento;
接下来,创建一个名为
magento
的MySQL用户帐户,并通过运行以下命令向用户授予必要的权限:
GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
确保您
change-with-strong-password
了带有强密码的更改。
完成后,通过键入以下内容退出MySQL控制台:
创建系统用户
创建一个新用户和组,该用户和组将是Magento文件系统所有者,为简单起见,我们将用户命名为
magento
:
sudo useradd -m -U -r -d /opt/magento magento
将
www-data
用户添加到
magento
组,并更改
/opt/magento
目录权限,以便Nginx可以访问Magento安装:
sudo usermod -a -G magento www-data
sudo chmod 750 /opt/magento
安装和配置PHP
完全支持并建议将PHP 7.2(这是Ubuntu 18.04中的默认PHP版本)用于Magento 2.3。 由于我们将Nginx用作Web服务器,因此我们还将安装PHP-FPM软件包。
运行以下命令以安装PHP和所有必需的PHP模块:
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
PHP-FPM服务将在安装过程完成后自动启动,您可以通过打印服务状态来进行验证:
sudo systemctl status php7.2-fpm
输出应指示fpm服务处于活动状态并且正在运行。
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago Docs: man:php-fpm7.2(8) Main PID: 16814 (php-fpm7.2) Status: "Ready to handle connections" Tasks: 3 (limit: 505) CGroup: /system.slice/php7.2-fpm.service
通过使用
sed
::编辑
php.ini
文件来设置必需和推荐的PHP选项:
sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
接下来,我们需要为
magento
用户创建一个FPM池。
打开您的文本编辑器并创建以下文件:
sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
/etc/php/7.2/fpm/pool.d/magento.conf
user = magento group = www-data listen.owner = magento listen.group = www-data listen = /var/run/php/php7.2-fpm-magento.sock pm = ondemand pm.max_children = 50 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = /
重新启动PHP-FPM服务,以使更改生效:
systemctl restart php7.2-fpm
通过运行以下ls命令,验证是否成功创建了PHP套接字:
ls -al /var/run/php/php7.2-fpm-magento.sock
输出应如下所示:
srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=
安装作曲家
Composer是PHP的依赖管理器,我们将使用它来下载Magento核心并安装所有必要的Magento组件。
要全局安装composer,请使用curl下载Composer安装程序,并将文件移至
/usr/local/bin
目录:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
通过打印作曲家版本来验证安装:
composer --version
输出应如下所示:
Composer version 1.8.0 2018-12-03 10:31:16
安装Magento
有几种安装Magento 2的方法。避免从Github存储库安装Magento,因为该版本用于开发而不是用于生产安装。
在撰写本文时,Magento的最新稳定版本是
2.3.0
版。 在本教程中,我们将使用composer从其存储库中安装Magento。
通过键入以下命令切换到用户
magento
:
sudo su - magento
通过将magento文件下载到/ opt / magento / public_html目录来开始安装:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
系统将提示您输入访问密钥,从您的Magento市场帐户复制密钥,并将其存储在
auth.json
文件中,因此稍后在更新安装时,您无需再次添加相同的密钥。
Authentication required (repo.magento.com): Username: e758ec1745d190320ca246e4e832e12c Password: Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? Y
上面的命令将获取所有必需的PHP软件包。 该过程可能需要几分钟,如果成功,则输出结束应类似于以下内容:
Writing lock file Generating autoload files
创建项目后,我们可以开始Magento安装。 我们可以从命令行或使用Web安装向导来安装Magento。 在本教程中,我们将使用命令行安装Magento。
我们将使用以下选项来安装Magento商店:
- 基本和基本安全URL设置为
https://example.com,并使用您的域进行更改。Magento管理员:-
JohnDoe为姓氏和名字。[email protected]作为电子邮件。john作为用户名,j0hnP4ssvv0rD作为密码。
magento,用户名magento,密码change-with-strong-password,并且数据库服务器与Web服务器位于同一主机上。en_US,美国英语为默认语言。USD美元作为默认货币。America/Chicago为时区。 -
转到Magento〜
~/public_html
目录:
cd ~/public_html
运行以下命令以开始安装:
php bin/magento setup:install --base-url=https://example.com/ \ --base-url-secure=https://example.com/ \ --admin-firstname="John" \ --admin-lastname="Doe" \ --admin-email="[email protected]" \ --admin-user="john" \ --admin-password="j0hnP4ssvv0rD" \ --db-name="magento" \ --db-host="localhost" \ --db-user="magento" \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --db-password="change-with-strong-password"
不要忘记将密码(
j0hnP4ssvv0rD
)更改为更安全的密码。
该过程可能需要几分钟,一旦完成,您将看到一条消息,其中包含Magento管理控制台的URI。
: Magento installation complete.: Magento Admin URI: /admin_13nv5k Nothing to import.
创建Magento crontab
Magento使用cron作业来安排诸如重新编制索引,通知,站点地图,电子邮件等任务。
要创建Magento crontab,请以
magento
用户身份运行以下命令:
php ~/public_html/bin/magento cron:install
Crontab has been generated and saved
通过键入以下命令验证是否已安装crontab:
crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log #~ MAGENTO END adc062915d7b30804a2b340095af072d
配置Nginx
到目前为止,如果未检查本教程的先决条件,则应该已经在Ubuntu服务器上安装了带有SSL证书的Nginx。
我们将包括Magento随附的默认Nginx配置。
切换到您的sudo用户,打开文本编辑器并创建以下文件:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
upstream fastcgi_backend { server unix:/var/run/php/php7.2-fpm-magento.sock; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; set $MAGE_ROOT /opt/magento/public_html; set $MAGE_MODE developer; # or production access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; include /opt/magento/public_html/nginx.conf.sample; }
不要忘记用您的Magento域替换example.com并为SSL证书文件设置正确的路径。 本指南中创建了此配置中使用的摘录。
在重新启动Nginx服务之前,请进行测试以确保没有语法错误:
sudo nginx -t
如果没有错误,输出应如下所示:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
最后,通过键入以下内容来重新启动Nginx服务:
验证安装
打开浏览器,键入您的域,并假设安装成功,将出现类似于以下的屏幕:

现在,您可以转到Magento管理员URI,以管理员用户身份登录并开始自定义新的Magento安装。
结论
恭喜,您已经在Ubuntu 18.04服务器上成功安装了Magento 2.3。 您现在可以开始自定义商店。
Magento 2.3开发人员文档是学习如何管理Magento安装的更多信息的良好起点。
ubuntu magento mysql mariadb php nginx作曲家电子商务如何在Ubuntu Linux中安装最新的Firefox 3.6.6
Firefox 3.6.6具有浏览器防崩功能。下面介绍如何在Ubuntu Linux中轻松安装它。
如何在Ubuntu 18.04上添加交换空间
交换是物理RAM内存已满时使用的磁盘空间。 当Linux系统的RAM用完时,非活动页面将从RAM移动到交换空间。 本教程介绍了将交换文件添加到Ubuntu 18.04所需的步骤。
如何在Ubuntu Linux中更改root密码
本教程说明了如何临时更改root用户帐户,以及如何在Ubuntu系统上设置root密码。 root用户(或超级用户)是在所有类似Linux和Unix的系统上都存在的特殊用户帐户。







