How to install Magento 2.3 (from scratch) - Magento 2 Beginner Tutorials
目录:
- 先决条件
- Magento访问密钥对
- 创建MySQL数据库
- 安装PHP扩展
- 安装Composer
- 创建一个新的系统用户
- 配置PHP FPM
- 安装Magento
- 创建Magento crontab
- 配置Nginx
- 结论
Magento是基于开放源代码技术构建的领先企业级电子商务平台,结合了强大的功能,灵活性和友好的用户界面。
Magento具有吸引购物体验,灵活的模块化体系结构以及企业级可伸缩性和性能等功能,是大多数在线商家的首选平台。
这是如何在CentOS 7上安装和配置Magento 2系列的第一篇文章。在本教程中,我们将引导您完成在CentOS 7计算机上安装Magento 2的步骤。
先决条件
作为遵循本教程的前提条件,您将需要:
- CentOS 7服务器,根据官方的Magento 2系统要求,您至少需要2G的RAM。 如果您使用的服务器的RAM小于2GB,则应创建一个交换文件。以具有sudo特权的用户帐户登录。指向您的公共服务器IP的域名。 在本教程中,我们将使用
example.com并配置Nginx,MySQL和PHP 7.1。 如果还没有的话,请参阅我们在CentOS 7上的LEMP指南。有效的SSL证书。 如果您没有,则可以通过在CentOS 7上使用Secure Nginx和Let's Encrypt来创建免费的Lets's Encrypt SSL证书。
Magento访问密钥对
我们需要生成访问密钥来验证对Magento 2代码存储库以及第三方扩展和主题的访问。
创建MySQL数据库
Magento 2与MySQL 5.6和5.7,MariaDB 10.x和Percona 5.7兼容。 如果您的服务器上未安装MySQL或MariaDB,则可以查看本指南。
登录到MySQL Shell:
mysql -u root -p
并运行以下命令来创建新的数据库和用户,并通过新创建的数据库向该用户授予特权:
CREATE DATABASE magento;
GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';
安装PHP扩展
我们假设您已经使用我们的指南启用了PHP 7.1 Remi存储库。
使用以下命令安装所有必需的PHP扩展:
sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip
安装完成后,通过使用
sed
编辑
php.ini
文件来设置必需和推荐的PHP选项:
sudo sed -i "s/memory_limit =.*/memory_limit = 756M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php.ini
sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php.ini
sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini
安装Composer
Composer是PHP的依赖项管理器,用于安装,更新和管理库。
要全局安装composer,请使用curl下载Composer安装程序,并将文件移至
/usr/local/bin
目录:
curl -sS https://getcomposer.org/installer | php
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
创建一个新的系统用户
创建一个新用户和组,该用户和组将运行我们的Magento安装,为简单起见,我们将用户命名为
magento
:
sudo useradd -m -U -r -d /opt/magento magento
将
nginx
用户添加到
magento
组,并更改
/opt/magento
目录权限,以便Nginx可以访问我们的Magento安装:
sudo usermod -a -G magento nginx
sudo chmod 750 /opt/magento
配置PHP FPM
接下来,我们需要配置PHP并为我们的
magento
用户创建一个FPM池。
打开您的文本编辑器并创建以下文件:
/etc/php-fpm.d/magento.conf
user = magento group = nginx listen.owner = magento 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服务,以使更改生效:
sudo systemctl restart php-fpm
安装Magento
有几种安装Magento的方法。 避免从Github存储库安装Magento,因为该版本用于开发而不是用于生产安装。 在本教程中,我们将使用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: e758ec1745d190520ca246e4e832e12c Password: Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ?
创建项目后,我们就可以开始安装了。 我们可以使用命令行或使用Web安装向导来安装Magento。 在本教程中,我们将使用命令行安装Magento。
我们将使用以下选项来安装我们的Magento商店:
- 基本和基本安全URL设置为
https://example.com,并使用您的域进行更改。Magento管理员:-
JohnDoe为姓氏和名字。[email protected]作为电子邮件。john作为用户名,j0hnP4ssvv0rD作为密码。
magento,用户名magento,密码P4ssvv0rD,并且数据库服务器与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="P4ssvv0rD"
不要忘记将密码(
j0hnP4ssvv0rD
)更改为更安全的密码。
如果安装成功,将显示一条消息,其中包含Magento管理控制台的URI。
: Magento installation complete.: Magento Admin URI: /admin_1csalp Nothing to import.
创建Magento crontab
Magento使用cron作业来安排诸如重新编制索引,通知,站点地图,电子邮件等任务。
要创建Magento crontab,请以
magento
用户身份运行以下命令:
php ~/public_html/bin/magento cron:install
我们可以通过运行以下命令来验证crontab是否已安装:
crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d * * * * * /usr/bin/php /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/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log * * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log #~ MAGENTO END adc062915d7b30804a2b340095af072d
配置Nginx
/etc/nginx/conf.d/example.com.conf
upstream fastcgi_backend { server unix:/run/php-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; 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; 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; }
重新加载Nginx服务以使更改生效:
sudo systemctl reload nginx
最后,您应该能够使用运行Magento安装程序时指定的管理员用户,通过
https://example.com/admin_1csalp
登录到Magento安装。
结论
在本教程中,您在Centos 7服务器上安装了Magento 2。 您还生成了一个免费的“让我们加密SSL证书”,并将Nginx设置为SSL终止代理。
magento电子商务中心这篇文章是如何在CentOS 7系列上安装和配置Magento 2的一部分。
本系列的其他文章:
•在CentOS 7上安装Magento 2•将Magento 2配置为在CentOS 7上使用Varnish在centos 7上安装mariadb
MariaDB是一个开放源代码关系数据库管理系统,向后兼容,二进制替代了MySQL。 在本教程中,我们将向您展示如何在CentOS 7计算机上安装最新版本的MariaDB。
在centos 7上安装mysql
随着CentOS 7 MySQL的发行,CentOS的存储库中不再提供世界上最受欢迎的开源关系数据库管理系统,MariaDB已成为默认的数据库系统。 在本教程中,我们将向您展示如何在CentOS 7机器上安装MySQL。
在centos 7上安装php 7
CentOS 7附带了PHP版本5.4,该版本已经正式退出EOL一段时间了,不再受支持。 在本指南中,我们将说明如何在CentOS 7上安装或升级到PHP 7.0、7.1、7.2和7.3。







