Comment créer un site Web de commerce électronique Magento sur une instance Linux

坏嘻嘻
Libérer: 2018-09-19 11:17:24
original
2750 Les gens l'ont consulté

Le contenu de cet article explique comment créer un site Web de commerce électronique Magento sur une instance Linux. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Créer un site Web de commerce électronique Magento sur une instance Linux


Magento est un framework de site Web de commerce électronique open source avec une architecture modulaire riche et des fonctions étendues. apporter des solutions pour les sites de grande et moyenne taille. Il est développé en PHP, prend en charge les versions allant de PHP 5.6 à PHP 7.1 et utilise MySQL pour stocker les données. Cet article explique principalement comment créer un site e-commerce Magento sur une instance Alibaba Cloud ECS. Le système d'exploitation utilisé est Linux CentOS 7.2 64 bits.

Objets applicables

Applicable aux utilisateurs familiers avec les systèmes ECS et Linux et qui viennent de commencer à utiliser Alibaba Cloud pour créer des sites Web.

Ressources

La configuration de l'instance Linux ECS impliquée dans les opérations décrites dans cet article comprend : 2 vCPU, 4 Gio de mémoire, le système d'exploitation Cent OS 7.2 64 bits, le réseau VPC et le public attribué. Adresse IP.

Remarque : Le serveur utilisé pour construire Magento 2 doit avoir une mémoire d'au moins 2 Gio.

Le site Web de commerce électronique Magento construit sur la base de cet article utilise les informations de version du logiciel suivantes :

MySQL 5.7

PHP 7.0

Magento 2.1

Prérequis

Vous avez créé une instance Linux ECS de type réseau VPC Pour les opérations détaillées, voir Création d'une instance ECS. La configuration comprend : 2 vCPU, 4 Go de mémoire, le système d'exploitation Cent OS 7.2 64 bits, un réseau VPC et une adresse IP publique attribuée.

Les règles du groupe de sécurité présentées dans le tableau suivant ont été ajoutées au groupe de sécurité où se trouve l'instance ECS. Pour des opérations détaillées, consultez Création d'une instance ECS et Ajout de règles de groupe de sécurité.

Comment créer un site Web de commerce électronique Magento sur une instance Linux

Étapes de fonctionnement

Les étapes pour créer un site Web Magento à l'aide du serveur cloud ECS sont les suivantes :

Étape 1. Installer et configurer la plateforme LAMP

Étape 2. Créer une base de données

Étape 3. Installer et configurer Composer

Étape 4. Installer et configurer Magento

Étape 5. Ajouter cron job

Étape 1. Installer et configurer la plateforme LAMP

Cette section explique comment installer manuellement la plateforme LAMP. Vous pouvez également acheter une image LAMP sur le marché du cloud pour démarrer directement une instance ECS afin de créer rapidement un site Web.

Exécutez les commandes suivantes dans l'ordre pour mettre à jour le package et le référentiel, et installez le serveur Web Apache et le serveur MySQL.

# yum -y update
# yum -y install httpd
# rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# yum -y install mysql-community-server
Copier après la connexion

Démarrez les services HTTP et MySQL et configurez-les pour qu'ils démarrent automatiquement au démarrage.

# systemctl start httpd
# systemctl enable httpd
# systemctl start mysqld
# systemctl enable mysqld
Copier après la connexion

Modifiez le fichier de configuration Apache :

Exécutez la commande vim /etc/httpd/conf/httpd.conf.

Appuyez sur la touche i pour accéder au mode édition.

Apportez les modifications suivantes :

Ajoutez LoadModule rewrite_module modules/mod_rewrite.so après Inclure conf.modules.d/*.conf.

Modifiez les éléments suivants de AllowOverride None à AllowOverride all.

Options Index FollowSymLinks

# 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
Copier après la connexion

Appuyez sur Echap pour quitter l'édition et entrez :wq pour enregistrer et quitter.

Affichez le fichier /var/log/mysqld.log pour obtenir le mot de passe de l'utilisateur root automatiquement défini lors de l'installation de MySQL.

# grep 'temporary password' /var/log/mysqld.log
2016-12-13T14:57:47.535748Z 1 [Note] A temporary password is generated for root@localhost: p0/G28g>lsHD
Copier après la connexion

L'exécution de la commande suivante peut améliorer la sécurité de MySQL sous les quatre aspects suivants :

Définir le mot de passe du compte root

Interdire la connexion à distance du compte root

Supprimer le compte utilisateur anonyme

Supprimer la bibliothèque de tests et accéder aux autorisations à la bibliothèque de tests

Pour des instructions détaillées, veuillez vous référer à la documentation officielle.

# mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root: #输入第4步中获取的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: #输入密码
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
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.
Normally, root should only be allowed to connect from 'localhost'. 
This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y
Success.
By default, MySQL comes with a database named 'test' that anyone can access. 
This is also intended only for testing, and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y
Success.
All done!
Copier après la connexion

Exécutez les commandes suivantes afin d'installer PHP 7 et quelques extensions PHP supplémentaires requises.

# yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-14.ius.centos7.noarch.rpm
# yum -y update
# yum -y install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-gd php70u-mcrypt php70u-devel php70u-intl php70u-mbstring php70u-bcmath php70u-json php70u-iconv
Copier après la connexion

Vérifiez la version de PHP pour vérifier si PHP a été installé avec succès.

# php -v
PHP 7.0.13 (cli) (built: Nov 10 2016 08:44:18) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
 with Zend OPcache v7.0.13, Copyright (c) 1999-2016, by Zend Technologies
Copier après la connexion

Modifiez le fichier de configuration /etc/php.ini :

Exécutez la commande vim /etc/php.ini.

Appuyez sur i pour passer en mode édition.

Ajoutez la configuration suivante à la fin du fichier :

memory_limit = 128M #Augmentez la limite de mémoire en fonction de la situation réelle

date.timezone = Asia/Shanghai # Réglez le fuseau horaire sur Shanghai.

Redémarrez le processus du service Web.

# systemctl restart httpd
Copier après la connexion

Étape 2. Créer une base de données

Suivez les étapes suivantes pour créer une base de données.

Créer une base de données et un utilisateur : Créez une base de données et un utilisateur de base de données pour les données Magento. La base de données et le nom d'utilisateur peuvent être modifiés en fonction de la situation réelle.

# mysql -u root -p
Enter password: 
mysql> CREATE DATABASE magento; #根据实例情况替换magento
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL ON magento.* TO YourUser@localhost IDENTIFIED BY 'YourPass'; #根据实际情况替换YourUser和YourPass
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Copier après la connexion

Exécutez exit pour quitter MySQL.

(可选)验证新建的Magento数据库和用户是否可用。

# mysql -u YourUser -p
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| magento            |
+--------------------+
2 rows in set (0.00 sec)
mysql> exit
Copier après la connexion

步骤3. 安装配置Composer

Composer是PHP一个包管理和包依赖管理的工具。按以下步骤安装配置Composer。

安装Composer。

# curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading 1.2.4...
Composer successfully installed to: /root/composer.phar
Use it: php composer.phar
Copier après la connexion

配置Composer全局使用。

# mv /root/composer.phar /usr/bin/composer
Copier après la connexion

测试命令是否可用。

# composer -v
______
/ ____/___  ____ ___  ____  ____  ________  _____
/ /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                 /_/
Composer version 1.2.4 2016-12-06 22:00:51
Copier après la connexion

步骤4. 安装配置Magento

您可以使用不同的方法安装Magento,也可以选择是否安装示例数据。如果安装Magento仅用于测试,您可以选择安装示例数据。如果是在生产环境中安装Magento,建议您安装全新的Magento,从头开始配置。

本部分介绍如何使用git下载Magento,然后使用Composer安装Magento。

依次运行以下命令,通过 git clone 下载Magento。

# yum -y install git
# cd /var/www/html/
# git clone https://github.com/magento/magento2.git
Copier après la connexion

(可选)将Magento切换到稳定版本。

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

# cd magento2 &&  git checkout tags/2.1.0 -b 2.1.0
Switched to a new branch '2.1.0'
Copier après la connexion

将安装文件移到Web服务器根目录下。否则,您只能通过 http://[ECS实例公网IP地址]/magento2 访问您的Magento站点。

# shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..
Copier après la connexion

设置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
Copier après la connexion

运行 composer install 安装Magento。

测试:在浏览器中访问 http://[ECS实例公网IP地址],如果出现以下页面,说明Magento安装成功。

Comment créer un site Web de commerce électronique Magento sur une instance Linux

单击 Agree and Setup Magento 开始配置Magento:按实际情况填写连接数据库信息、Web访问设置、定制商店、创建管理员账号。出现如下图所示的界面时,说明Magento配置完成

Comment créer un site Web de commerce électronique Magento sur une instance Linux

步骤5. 添加cron作业

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

添加以下内容。

*/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
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal