首頁  >  文章  >  運維  >  如何在Linux實例上建置Magento電子商務網站

如何在Linux實例上建置Magento電子商務網站

坏嘻嘻
坏嘻嘻原創
2018-09-19 11:17:242742瀏覽

這篇文章帶給大家的內容是關於如何在Linux實例上搭建Magento電子商務網站,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

在Linux實例上建置Magento電子商務網站


#Magento是一款開源電商網站框架,其豐富的模組化架構系統及拓展功能可為大中型站點提供解決方案。它使用PHP開發,支援版本範圍從PHP 5.6到PHP 7.1,並使用MySQL儲存資料。本文主要說明如何在阿里雲ECS實例上建置Magento電子商務網站,使用的作業系統為Linux CentOS 7.2 64位元。

適用物件

適用於熟悉ECS,熟悉Linux系統,剛開始使用阿里雲進行網站建置的使用者。

資源

本文所述的操作涉及的Linux ECS實例配置包括:2 vCPU、4 GiB記憶體、Cent OS 7.2 64位元作業系統、VPC網路、分配的公網IP位址。

說明:用來搭建Magento 2的伺服器,記憶體不能小於2 GiB。

根據本文建構的Magento電子商務網站,所使用的軟體版本資訊如下:

MySQL 5.7

PHP 7.0

Magento 2.1

前提條件

您已經建立了一個VPC網路類型的Linux ECS實例,詳細操作,請參閱建立ECS實例。配置包括:2 vCPU、4 GiB記憶體、Cent OS 7.2 64位元作業系統、VPC網路、分配公網IP位址。

ECS實例所在安全性群組中已經新增瞭如下表所示的安全群組規則。詳細操作,請參閱 建立ECS實例 和 新增安全性群組規則。

如何在Linux實例上建置Magento電子商務網站

操作步驟

使用雲端伺服器ECS建置Magento網站的操作步驟如下:

步驟1. 安裝設定LAMP平台

步驟2. 建立資料庫

步驟3. 安裝設定Composer

#步驟4. 安裝設定Magento

步驟5. 新增cron作業

#步驟1. 安裝設定LAMP平台

本部分內容說明如何手動安裝LAMP平台。您也可以在 雲端市場 購買LAMP鏡像直接啟動ECS實例,以便快速建置。

依序執行以下指令更新套件和儲存庫,並安裝Apache Web伺服器和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

啟動HTTP和MySQL服務並設定開機自啟動。

# systemctl start httpd
# systemctl enable httpd
# systemctl start mysqld
# systemctl enable mysqld

編輯Apache設定檔:

執行指令vim /etc/httpd/conf/httpd.conf。

按 i 鍵進入編輯模式。

做以下修改:

在 Include conf.modules.d/*.conf 之後加入 LoadModule rewrite_module modules/mod_rewrite.so。

將以下內容的 AllowOverride None 改為 AllowOverride all。

Options Indexes 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

按 Esc 鍵退出編輯,並輸入 :wq 儲存並退出。

查看/var/log/mysqld.log文件,取得安裝MySQL時自動設定的root使用者密碼。

# 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

執行下面的指令可以從以下4個方面提高MySQL的安全性:

#設定root帳號密碼

禁止root帳號遠端登入

刪除匿名使用者帳號

刪除test庫以及對test庫的存取權

詳細說明可參考官方文件。

# 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!

依序執行以下命令,安裝PHP 7和一些所需的額外PHP擴充。

# 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

查看PHP版本,以驗證PHP是否已成功安裝。

# 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

編輯設定檔/etc/php.ini:

執行指令 vim /etc/php.ini。

按 i 進入編輯模式。

在檔案最後加上以下配置:######memory_limit = 128M #根據實際情況增加記憶體限制######date.timezone = Asia/Shanghai #設定時區為上海。 ######重啟Web服務進程。 ###
# systemctl restart httpd
###步驟2. 建立資料庫######依照下列步驟建立資料庫。 ######建立資料庫及用戶:為Magento資料建立一個資料庫和一個資料庫用戶,資料庫和使用者名稱可依實際情況修改。 ###
# 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)
###執行 exit 退出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安装成功。

如何在Linux實例上建置Magento電子商務網站

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

如何在Linux實例上建置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

以上是如何在Linux實例上建置Magento電子商務網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn