在Ubuntu 14.04上安装和配置Magento的方法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 在Ubuntu 14.04上安装和配置Magento的方法

简介

Magento 是最流行的电子商务网站内容管理系统。它被小型企业和大型企业公司广泛使用,并且可以通过成千上万的扩展和主题进行增强。Magento 使用 MySQL 数据库系统、PHP 编程语言和 Zend Framework 的部分功能。

在本教程中,我们将介绍如何在 Ubuntu 14.04 上使用 Apache web 服务器安装 Magento,同时还会介绍一些常见的性能和安全配置。

先决条件

在开始本指南之前,需要完成一些步骤。

由于处理 Magento 操作的需求,建议您在至少拥有 2GB RAM 的 VPS 上安装 Magento。这将确保管理商店所涉及的所有软件都有足够的内存来运行。

您需要访问一个具有 sudo 权限的非根用户。如果您还没有这样的用户,可以按照 Ubuntu 14.04 初始服务器设置指南创建此帐户。

此外,您需要在 VPS 实例上安装 LAMP(Linux、Apache、MySQL 和 PHP)堆栈。如果您尚未安装和配置这些组件,可以使用此指南了解如何在 Ubuntu 14.04 上安装 LAMP。

完成这些步骤后,您可以作为非根用户连接到 Ubuntu 服务器,并继续进行 Magento 安装。

步骤 1 — 配置 Apache 和 PHP

在下载和安装 Magento 之前,需要配置 Apache 和 PHP,以便正确处理 Magento 的流量和计算任务,并且需要安装和激活一些额外的模块。

Apache 虚拟主机

首先,我们需要配置一个虚拟主机文件,以便 Apache 知道如何正确管理我们的 Magento 站点。我们可以使用文本编辑器在 /etc/apache2/sites-available/ 中创建一个新的虚拟主机文件。在本示例中,虚拟主机称为 magento,但如果您愿意,也可以使用其他名称。

sudo nano /etc/apache2/sites-available/magento.conf

Magento 的虚拟主机需求相当简单。首先使用 <VirtualHost> 标记监听来自端口 80 的所有流量,即标准的 HTTP 端口。然后添加一行告诉 Apache 在哪里找到您站点的文件,使用 DocumentRoot 指令:

<VirtualHost *:80>
    DocumentRoot /var/www/html
</VirtualHost>

我们需要添加一些额外的参数,以使 Magento 正常工作。在指向我们文档根目录的 <Directory> 标记内,我们将输入 Apache 目录索引、符号链接支持和多语言支持的选项。我们还将添加一行,允许 .htaccess 文件覆盖 Apache 设置,从而提供对单个文件夹的更精细的控制。

. . .
    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
. . .

完成所有这些组件后,您的虚拟主机文件将如下所示:

<VirtualHost *:80>
    DocumentRoot /var/www/html
    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
</VirtualHost>

完成编写服务器块后,保存并关闭文件。要使用 a2ensite 命令启用 Apache 的新站点:

sudo a2ensite magento.conf

我们还希望禁用随 Apache 一起提供的默认虚拟主机,因为它将与我们的新虚拟主机发生冲突。要使用 a2dissite 命令禁用 Apache 的站点:

sudo a2dissite 000-default.conf

PHP 设置

接下来,我们需要更改 Apache 分配给 PHP 进程的内存量。Magento 几乎在所有操作中都使用 PHP,并且对于索引产品和类别等复杂操作需要相当多的内存。默认情况下,PHP 为在 Apache 上运行的每个脚本分配最多 128MB 的内存。我们应该将该限制提高到合理的数量,以确保 Magento 的脚本不会因内存不足而崩溃。

使用文本编辑器和 root 权限打开 Apache 的 PHP 配置文件:

sudo nano /etc/php5/apache2/php.ini

找到以下行,该行声明每个 PHP 脚本的内存限制:

memory_limit = 128M

更改该行,使限制提高到 512MB。根据您的目录中产品数量和每日访问者数量,您的商店的内存需求可能更高。一些较大的商店需要将其内存限制设置为 2GB 或更高,但是 512MB 目前应该是足够的。

memory_limit = 512M

注意: 请确保在内存数字的末尾使用 “M”。

完成此更改后,保存并关闭文件。下次重新启动 Apache 时,内存限制更改将生效。

Magento 需要一些 PHP 模块,除了 PHP 自带的模块之外。我们可以从 Ubuntu 的默认存储库直接获取这些模块,方法是更新本地软件包索引:

sudo apt-get update
sudo apt-get install libcurl3 php5-curl php5-gd php5-mcrypt

这些扩展将允许 Magento 正确处理 HTTP 请求、图像缩略图和数据加密。现在我们已经获得了所有需要的软件包,可以为 Apache 启用 URL 重写支持,并为 PHP 启用加密支持:

sudo a2enmod rewrite
sudo php5enmod mcrypt

完成所有这些配置和扩展更改后,是时候重新启动 Apache 服务器实例,以应用更改:

sudo service apache2 restart

步骤 2 —— 创建 MySQL 数据库和用户

Magento 使用 MySQL 数据库来管理网站数据,如产品和订单信息。我们已经安装并配置了 MySQL,但我们需要为 Magento 创建一个数据库和一个用户。

首先登录到 MySQL root 账户:

mysql -u root -p

系统会提示输入 MySQL 的 root 账户密码,这是您在安装 MySQL 时设置的密码。输入正确的密码后,将进入 MySQL 命令提示符。

首先,我们将创建一个 Magento 可以写入数据的数据库。在本例中,数据库将被命名为 magento,但您可以根据需要命名。

CREATE DATABASE magento;

注意: 每个 MySQL 语句必须以分号(;)结尾,因此如果遇到任何问题,请确保您已经包含了分号。

接下来,我们将创建一个新的 MySQL 用户账户,该账户将专门用于操作新数据库。创建单一功能的数据库和账户是一个好主意,因为它可以更好地控制权限和其他安全需求。

我将新账户命名为 magento_user,并分配密码为 password。您应该使用不同的用户名和密码,因为这些示例并不安全。

CREATE USER magento_user@localhost IDENTIFIED BY 'password';

此时,您已经拥有了一个专门为 Magento 制作的数据库和用户账户。然而,用户没有访问数据库的权限。我们需要通过授予用户访问权限来将这两个组件联系在一起:

GRANT ALL PRIVILEGES ON magento.* TO magento_user@localhost IDENTIFIED BY 'password';

现在用户已经可以访问数据库,我们需要刷新权限,以便 MySQL 知道我们所做的最近的权限更改。完成后,我们可以退出 MySQL 命令提示符。

FLUSH PRIVILEGES;
exit

现在您应该回到常规的 SSH 命令提示符。

步骤 3 —— 下载并设置 Magento 文件

现在我们准备下载并安装 Magento。要查看 Magento Community Edition 的最新稳定版本是什么,请前往社区下载页面。在本例中,当前发布版本号为 1.9.0.1,但您应该将该数字替换为您可用的最新版本。通常建议使用最新版本的 Magento,因为新版本通常包括重要的安全更新,以及新的和改进的功能。

使用 wget 将 Magento 文件存档下载到您的主目录:

cd ~
wget http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz

我们可以使用 tar 解压缩存档文件以重建 Magento 目录:

tar xzvf magento-1.9.0.1.tar.gz

现在您的主目录中将会有一个名为 magento 的目录。我们需要将解压后的文件移动到 Apache 的文档根目录,以便为我们网站的访问者提供服务。我们将使用 rsync 将 Magento 文件传输到那里,因为 rsync 将包括重要的隐藏文件,如 .htaccess。传输完成后,我们可以通过删除主目录中的 magento 文件夹和存档来清理主目录。

sudo rsync -avP ~/magento/. /var/www/html/
rm -rf ~/magento*

rsync 将安全地将您解压的目录中的所有内容复制到文档根目录 /var/www/html/。现在我们需要将文件和文件夹的所有权分配给 Apache 的用户和组:

sudo chown -R www-data:www-data /var/www/html/

此更改将允许 Apache 创建和修改 Magento 文件。现在我们已经准备通过 Magento 的基于浏览器的配置界面完成安装过程。

步骤 4 —— 通过 Web 界面完成安装

要使用浏览器访问 Web 界面,请导航到您服务器的域名或公共 IP 地址:

http://server_domain_name_or_IP/

如果之前的步骤都正确执行,您将看到 Magento 的安装向导。第一页将显示许可协议,您需要同意后才能点击 继续

!Magento Installation Wizard

接下来的页面是您可以更改区域设置的地方,如语言、时区和货币。将这些更改为最适合您产品销售地点的设置,然后点击 继续

!Magento Localization Settings

配置页面分为三个部分。第一部分是您可以设置 Magento 如何连接到其 MySQL 数据库的地方。确保 数据库类型 设置为 “MySQL”,主机 设置为 “localhost”。然后,您需要使用您在之前创建 MySQL 数据库和用户账户时决定的设置填写 数据库名称用户名用户密码

!Magento Database Connection

配置页面的下一部分是您可以配置商店的 URL,以及其他一些由 Apache 控制的功能。确保 基本 URL 与您服务器的域名匹配;如果您还没有设置域名,您现在可以使用服务器的公共 IP 地址。将 管理路径 更改为比 “admin” 更不明显的内容是个好主意,这样可以增加别人找到您管理面板的难度。您还应该考虑勾选 使用 Web 服务器(Apache)重写,以使您网站的 URL 对用户和搜索引擎更友好。支持此功能所需的 Apache 模块 mod_rewrite 已经被启用并准备就绪。

!Magento Web Access Options

配置页面的最后一部分是选择会话数据存储方法。Magento 自带两种保存用户会话数据的方法。文件系统 方法将会话存储在服务器上的文件中,是最简单的起步方法。数据库 方法将会话存储为 MySQL 数据库中的条目,非常适合跨多个服务器的 Magento 安装。目前,我们可以使用 文件系统 方法,因为它通常在初始状态下表现更好。

!Magento Session Storage Options

选择配置选项并点击 继续 后,您将进入管理员账户创建页面。这是您将创建负责维护 Magento 商店的管理账户的地方。确保用户名和密码都是安全的且难以猜测。加密密钥 字段应该留空,除非您正在从现有的 Magento 安装中迁移数据。如果您将字段留空,Magento 将在您点击 继续 后生成一个新的加密密钥,并在下一页显示给您。确保您将该加密密钥保存在安全的地方,以防以后需要用于迁移目的。

!Magento Admin Account

完成基于 Web 的配置后,您的 Magento 安装将准备就绪。通过在 Web 浏览器中访问您服务器的域名或公共 IP 地址,查看您的新商店:

http://server_domain_name_or_IP/

如果一切配置正确,您应该会看到一个类似于这样的商店界面:

!Magento Storefront

您还可以通过访问您之前设置的管理目录来访问您的新管理站点:

http://server_domain_name_or_IP/admin/

使用您的管理员用户名和密码登录,查看您的新仪表板:

!Magento Admin Dashboard

结论

现在您的Magento商店已经搭建并运行起来了,您可以开始构建项目目录并开始销售了!

下一个关键步骤是使用SSL证书加密您的网站流量。以下是一个指南,可以帮助您入门:如何从商业证书颁发机构安装SSL证书。


目录
相关文章
|
12天前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
215 1
|
9天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
111 18
|
9天前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
115 18
|
11天前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
113 17
|
11天前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
71 15
|
11天前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
53 14
|
12天前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
185 7
|
26天前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
|
5月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
616 12
|
存储 Ubuntu Go
在Ubuntu 16.04上安装Go 1.6的方法
在Ubuntu 16.04上安装Go 1.6的方法
169 1