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é.
É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
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
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
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
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!
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
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
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
É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)
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
步骤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
配置Composer全局使用。
# mv /root/composer.phar /usr/bin/composer
测试命令是否可用。
# composer -v ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.2.4 2016-12-06 22:00:51
步骤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
(可选)将Magento切换到稳定版本。
默认情况git下载安装Magento是一个最新的开发版本。如果您在生产环境中使用,建议切换到稳定版本,否则未来将无法升级安装。
# cd magento2 && git checkout tags/2.1.0 -b 2.1.0 Switched to a new branch '2.1.0'
将安装文件移到Web服务器根目录下。否则,您只能通过 http://[ECS实例公网IP地址]/magento2 访问您的Magento站点。
# shopt -s dotglob nullglob && mv /var/www/html/magento2/* /var/www/html/ && cd ..
设置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
运行 composer install 安装Magento。
测试:在浏览器中访问 http://[ECS实例公网IP地址],如果出现以下页面,说明Magento安装成功。
单击 Agree and Setup Magento 开始配置Magento:按实际情况填写连接数据库信息、Web访问设置、定制商店、创建管理员账号。出现如下图所示的界面时,说明Magento配置完成
步骤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
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!