Der Inhalt dieses Artikels befasst sich mit der Erstellung einer Magento-E-Commerce-Website auf einer Linux-Instanz. Ich hoffe, dass er für Freunde hilfreich ist.
Erstellen Sie eine Magento-E-Commerce-Website auf einer Linux-Instanz
Magento ist ein Open-Source-E-Commerce-Website-Framework mit reichhaltiger modularer Architektur und erweiterten Funktionen bieten Lösungen für große und mittelgroße Standorte. Es wird mit PHP entwickelt, unterstützt Versionen von PHP 5.6 bis PHP 7.1 und verwendet MySQL zum Speichern von Daten. In diesem Artikel wird hauptsächlich erläutert, wie eine Magento-E-Commerce-Website auf einer Alibaba Cloud ECS-Instanz erstellt wird. Das verwendete Betriebssystem ist Linux CentOS 7.2 64-Bit.
Anwendbare Objekte
Anwendbar für Benutzer, die mit ECS- und Linux-Systemen vertraut sind und gerade damit begonnen haben, Alibaba Cloud zum Erstellen von Websites zu verwenden.
Ressourcen
Die Linux ECS-Instanzkonfiguration, die an den in diesem Artikel beschriebenen Vorgängen beteiligt ist, umfasst: 2 vCPU, 4 GiB Arbeitsspeicher, Cent OS 7.2 64-Bit-Betriebssystem, VPC-Netzwerk und zugewiesene Öffentlichkeit IP-Adresse.
Hinweis: Der zum Erstellen von Magento 2 verwendete Server muss über einen Speicher von mindestens 2 GiB verfügen.
Die auf diesem Artikel basierende Magento-E-Commerce-Website verwendet die folgenden Softwareversionsinformationen:
MySQL 5.7
PHP 7.0
Magento 2.1
Voraussetzungen
Sie haben eine Linux ECS-Instanz vom Netzwerktyp VPC erstellt. Ausführliche Informationen zu den Vorgängen finden Sie unter Erstellen einer ECS-Instanz. Die Konfiguration umfasst: 2 vCPU, 4 GiB Speicher, Cent OS 7.2 64-Bit-Betriebssystem, VPC-Netzwerk und zugewiesene öffentliche IP-Adresse.
Die in der folgenden Tabelle gezeigten Sicherheitsgruppenregeln wurden der Sicherheitsgruppe hinzugefügt, in der sich die ECS-Instanz befindet. Ausführliche Informationen zu den Vorgängen finden Sie unter Erstellen einer ECS-Instanz und Hinzufügen von Sicherheitsgruppenregeln.
Bedienungsschritte
Die Schritte zum Erstellen einer Magento-Website mithilfe des Cloud-Server-ECS sind wie folgt:
Schritt 1. Installieren und konfigurieren die LAMP-Plattform
Schritt 2. Datenbank erstellen
Schritt 3. Composer installieren und konfigurieren
Schritt 4. Magento installieren und konfigurieren
Schritt 5. Hinzufügen Cron-Job
Schritt 1. Installieren und konfigurieren Sie die LAMP-Plattform
In diesem Abschnitt wird erläutert, wie Sie die LAMP-Plattform manuell installieren. Sie können auch ein LAMP-Image im Cloud-Markt erwerben, um direkt eine ECS-Instanz zu starten und schnell eine Website zu erstellen.
Führen Sie die folgenden Befehle nacheinander aus, um das Paket und das Repository zu aktualisieren und den Apache-Webserver und den MySQL-Server zu installieren.
# 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
Starten Sie die HTTP- und MySQL-Dienste und stellen Sie sie so ein, dass sie beim Booten automatisch gestartet werden.
# systemctl start httpd # systemctl enable httpd # systemctl start mysqld # systemctl enable mysqld
Bearbeiten Sie die Apache-Konfigurationsdatei:
Führen Sie den Befehl vim /etc/httpd/conf/httpd.conf aus.
Drücken Sie die i-Taste, um in den Bearbeitungsmodus zu gelangen.
Nehmen Sie die folgenden Änderungen vor:
Fügen Sie LoadModule rewrite_module module/mod_rewrite.so nach Include conf.modules.d/*.conf hinzu.
Ändern Sie Folgendes von AllowOverride None in AllowOverride all.
Optionen Indizes 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
Drücken Sie Esc, um die Bearbeitung zu beenden, und geben Sie :wq ein, um zu speichern und zu beenden.
Sehen Sie sich die Datei /var/log/mysqld.log an, um das Root-Benutzerkennwort zu erhalten, das bei der Installation von MySQL automatisch festgelegt wird.
# 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
Das Ausführen des folgenden Befehls kann die Sicherheit von MySQL aus den folgenden vier Aspekten verbessern:
Passwort für das Root-Konto festlegen
Remote-Anmeldung des Root-Kontos verbieten
Anonymes Benutzerkonto löschen
Testbibliothek und Zugriffsberechtigungen für die Testbibliothek löschen
Detaillierte Anweisungen finden Sie in der offiziellen Dokumentation.
# 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!
Führen Sie die folgenden Befehle aus, um PHP 7 und einige zusätzlich erforderliche PHP-Erweiterungen zu installieren.
# 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
Überprüfen Sie die PHP-Version, um zu überprüfen, ob PHP erfolgreich installiert wurde.
# 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
Bearbeiten Sie die Konfigurationsdatei /etc/php.ini:
Führen Sie den Befehl vim /etc/php.ini aus.
Drücken Sie i, um in den Bearbeitungsmodus zu gelangen.
Fügen Sie am Ende der Datei die folgende Konfiguration hinzu:
memory_limit = 128M #Erhöhen Sie das Speicherlimit entsprechend der tatsächlichen Situation
date.timezone = Asia/Shanghai # Stellen Sie die Zeitzone auf Shanghai ein.
Starten Sie den Webdienstprozess neu.
# systemctl restart httpd
Schritt 2. Datenbank erstellen
Folgen Sie den folgenden Schritten, um eine Datenbank zu erstellen.
Datenbank und Benutzer erstellen: Erstellen Sie eine Datenbank und einen Datenbankbenutzer für Magento-Daten. Die Datenbank und der Benutzername können entsprechend der tatsächlichen Situation geändert werden.
# 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)
Führen Sie „exit“ aus, um MySQL zu beenden.
(可选)验证新建的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
Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Magento-E-Commerce-Website auf einer Linux-Instanz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!