在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证书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/760539.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Debugging using Visual Studio Code

One of the key features of Visual Studio Code is its great debugging support. VS Code’s built-in debugger helps accelerate your edit, compile, and debug loop. Debugger extensions VS Code 内置了对 Node.js 运行时的调试支持,可以调试 JavaScript、TypeScript…

Web3 前端攻击:原因、影响及经验教训

DeFi的崛起引领了一个创新和金融自由的新时代。然而&#xff0c;这种快速增长也吸引了恶意行为者的注意&#xff0c;他们试图利用漏洞进行攻击。尽管很多焦点都集中在智能合约安全上&#xff0c;但前端攻击也正在成为一个重要的威胁向量。 前端攻击的剖析 理解攻击者利用前端漏…

LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection

LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection 论文链接&#xff1a;http://arxiv.org/abs/2406.03459 代码链接&#xff1a;https://github.com/Atten4Vis/LW-DETR 一、摘要 介绍了一种轻量级检测变换器LWDETR&#xff0c;它在实时物体检测方面超越…

matrixone集群搭建、启停、高可用扩缩容和连接数据库

1. 部署 Kubernetes 集群 由于 MatrixOne 的分布式部署依赖于 Kubernetes 集群&#xff0c;因此我们需要一个 Kubernetes 集群。本篇文章将指导你通过使用 Kuboard-Spray 的方式搭建一个 Kubernetes 集群。 准备集群环境 对于集群环境&#xff0c;需要做如下准备&#xff1a…

数据结构-期末复习题

数据结构-期末复习题 一、选择题 1、在数据结构中&#xff0c;与所使用的计算机无关的是数据的&#xff08; ) 结构。 A. 存储B. 物理C. 逻辑D. 物理和存储 【答案】C 【解析】暂无解析2、算法分析的两个主要方面是 ( )。 A. 正确性和简单性B. 可读性和文档性C. 空间复杂度…

测评推荐:企业管理u盘的软件有哪些?

U盘作为一种便携的存储设备&#xff0c;方便易用&#xff0c;被广泛应用于企业办公、个人学习及日常工作中。然而&#xff0c;U盘的使用也带来了数据泄露、病毒传播等安全隐患。为了解决这些问题&#xff0c;企业管理U盘的软件应运而生。 本文将对市面上流行的几款U盘管理软件…

【SQLmap】常用命令

文章目录 实际使用案例常用命令基本命令数据库指纹识别用户信息用户权限数据库枚举数据导出密码哈希操作系统命令执行文件操作代理和网络参数指定保存恢复自动搜索注入智能模式等级设置自动注入WAF 绕过杂项帮助和支持 SQLmap 是一款开源的自动化 SQL 注入检测和利用工具&#…

Web Based Quiz System v1.0 SQL 注入漏洞(CVE-2022-32991)

前言 CVE-2022-32991 是一个影响 Web Based Quiz System v1.0 的 SQL 注入漏洞。这个漏洞存在于 welcome.php 文件中的 eid 参数处。攻击者可以通过此漏洞在数据库中执行任意 SQL 语句&#xff0c;从而获取、修改或删除数据库中的数据。 具体细节如下&#xff1a; 攻击向量&…

【Spring Boot】Java 持久层 API:JPA

Java 持久层 API&#xff1a;JPA 1.Spring Data1.1 主要模块1.2 社区模块 2.JPA3.使用 JPA3.1 添加 JPA 和 MySQL 数据库的依赖3.2 配置数据库连接信息 4.了解 JPA 注解和属性4.1 常用注解4.2 映射关系的注解4.3 映射关系的属性 5.用 JPA 构建实体数据表 1.Spring Data Spring…

VMware虚拟机迁移:兼用性踩坑和复盘

文章目录 方法失败情况分析&#xff1a;参考文档 方法 虚拟机关机&#xff0c;整个文件夹压缩后拷贝到新机器中&#xff0c;开机启用即可 成功的情况&#xff1a; Mac (intel i5) -> Mac (intel i7)Mac (intel, MacOS - VMware Fusion) -> DELL (intel, Windows - VMw…

flask的基本使用2

上一篇我们介绍了基本使用方法 flask使用 【 1 】基本使用 from flask import Flask# 1 实例化得到对象 app Flask(__name__)# 2 注册路由--》写视图函数 app.route(/) def index():# 3 返回给前端字符串return hello worldif __name__ __main__:# 运行app&#xff0c;默认…

Linux【环境 CenOS7】部分软件安装链接整理

优质博文&#xff1a;IT-BLOG-CN 一、开启网络 【问题】&#xff1a; 刚安装完CentOS&#xff0c;当ping www.baidu.com时&#xff0c;ping不通&#xff1b; 【解决】&#xff1a; 进入cd /etc/sysconfig/network-scripts/我这里修改的是ifcfg-ens33文件&#xff0c;将ONBOOT…

论文阅读_基于嵌入的Facebook搜索

英文名称&#xff1a;Embedding-based Retrieval in Facebook Search 中文名称&#xff1a;基于嵌入式检索的Facebook搜索 时间&#xff1a;Wed, 29 Jul 2020 (v2) 地址&#xff1a;https://arxiv.org/abs/2006.11632 作者&#xff1a;Jui-Ting Huang, Ashish Sharma, Shuying …

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验12 默认路由和特定主机路由

一、实验目的 1.验证默认路由和特定主机路由的作用&#xff1b; 二、实验要求 1.使用Cisco Packet Tracer仿真平台&#xff1b; 2.观看B站湖科大教书匠仿真实验视频&#xff0c;完成对应实验。 三、实验内容 1.构建网络拓扑&#xff1b; 2.验证验证默认路由和特定主机路由…

MySQL高级-索引-使用规则-SQL提示(use、ignore、force)

文章目录 1、查看表 tb_user2、展示索引3、为profession、age、status创建 联合索引4、查询 profession软件工程5、执行计划 profession软件工程6、创建profession单列索引7、再次执行计划 profession软件工程8、SQL提示8.1、use index(idx_user_pro)8.2、ignore index(idx_use…

九浅一深Jemalloc5.3.0 -- ①浅*编译调试

目前市面上有不少分析Jemalloc老版本的博文&#xff0c;但5.3.0却少之又少。而且5.3.0的架构与之前的版本也有较大不同&#xff0c;本着“与时俱进”、“由浅入深”的宗旨&#xff0c;我将逐步分析Jemalloc5.3.0的实现。5.3.0的特性请见Releases jemalloc/jemalloc GitHub 另…

dB分贝入门

主要参考资料&#xff1a; dB&#xff08;分贝&#xff09;定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中&#xff0c;住宅小区告知牌上面标示噪音要低…

实战精选 | 在NPU上运行BGE embedding模型,提升RAG整体性能

点击蓝字 关注我们,让开发变得更有趣 作者 | 杨亦诚 排版 | 李擎 介绍 BGE全称是BAAI General Embedding&#xff0c;即北京智源人工智能研究院通用Embedding模型&#xff0c;它可以将任意文本映射到低维的稠密向量&#xff0c;在文本向量化任务中得到了广泛的应用。可以看到在…

180Kg大载重多旋翼无人机技术详解

一、机体结构与材料 180Kg大载重多旋翼无人机在机体结构上采用了高强度轻量化设计。其主体框架采用航空铝合金材料&#xff0c;既保证了机体的结构强度&#xff0c;又减轻了整体重量。同时&#xff0c;关键部位如连接件、旋翼支撑臂等则采用碳纤维复合材料&#xff0c;以进一步…

独一无二的设计模式——单例模式(Java实现)

1. 引言 亲爱的读者们&#xff0c;欢迎来到我们的设计模式专题&#xff0c;今天的讲解的设计模式&#xff0c;还是单例模式哦&#xff01;上次讲解的单例模式是基于Python实现&#xff08;独一无二的设计模式——单例模式&#xff08;python实现&#xff09;&#xff09;的&am…
最新文章