介绍
Magento 是电子商务网站中最受欢迎的内容管理系统,它被小企业和大型企业使用,可以通过数千个扩展和主题进行增强, Magento 使用 MySQL 数据库系统、PHP 编程语言和 Zend Framework 部分。
在本教程中,我们将讨论如何在 Ubuntu 14.04 上使用 Apache Web 服务器安装 Magento,包括沿途的一些常见性能和安全配置。
前提条件
在您开始使用本指南之前,有几个步骤必须先完成。
由于处理 Magento 操作的需求,建议您在具有至少 2 GB RAM 的 VPS 上安装 Magento。
您将需要访问具有sudo
特权的非根用户,如果您尚未这样做,您可以通过 Ubuntu 14.04初始服务器设置指南创建此帐户。
此外,您还需要在您的 VPS 实例上安装一个 LAMP (Linux, Apache, MySQL 和 PHP) 堆栈. 如果您没有这些组件已经安装和配置,您可以使用本指南来学习 如何在 Ubuntu 14.04 上安装 LAMP。
当您完成这些步骤后,您可以作为非 root 用户连接到您的 Ubuntu 服务器,并继续安装 Magento。
步骤 1 – 配置 Apache 和 PHP
在我们下载和安装 Magento 之前,需要配置 Apache 和 PHP 以正确处理 Magento 的流量和计算任务,并且需要安装和激活一些额外的模块。
Apache 虚拟主机
首先,我们需要配置一个虚拟主机文件,以便Apache知道如何正确管理我们的Magento网站。我们可以使用我们的文本编辑器在 /etc/apache2/sites-available/
中创建一个新的虚拟主机文件。
1sudo nano /etc/apache2/sites-available/magento.conf
Magento 的虚拟主机需求相当简单,开始用一个<VirtualHost>
标签,它听取了从端口80到标准 HTTP 端口的所有流量,然后添加一行,告诉Apache在哪里找到您的网站的文件,使用DocumentRoot
指令:
1<VirtualHost *:80>
2 DocumentRoot /var/www/html
3</VirtualHost>
我们需要为 Magento 添加一些额外的参数,以便其正常工作。在指向我们的文档根的<Directory>
标签中,我们会输入 Apache 目录索引、simlink 支持和多语言支持的选项。
1. . .
2 <Directory /var/www/html/>
3 Options Indexes FollowSymLinks MultiViews
4 AllowOverride All
5 </Directory>
6. . .
有了所有这些组件,您的虚拟主机文件将看起来像这样:
1<VirtualHost *:80>
2 DocumentRoot /var/www/html
3 <Directory /var/www/html/>
4 Options Indexes FollowSymLinks MultiViews
5 AllowOverride All
6 </Directory>
7</VirtualHost>
完成编写服务器块后,保存并关闭文件. 若要使用 Apache 启用新站点,请使用a2ensite
命令:
1sudo a2ensite magento.conf
我们还想禁用与 Apache 附带的默认虚拟主机,因为它将与我们的新虚拟主机冲突。
1sudo a2dissite 000-default.conf
PHP 设置
接下来,我们需要更改Apache为PHP流程提供的内存量。Magento几乎使用PHP做任何事情,并且需要适当的内存量进行复杂操作,如索引产品和类别。默认情况下,PHP会为每个在Apache上运行的脚本分配最多128MB的内存。
打开 Apache 的 PHP 配置文件,使用您的文本编辑器和根权限:
1sudo nano /etc/php5/apache2/php.ini
查找以下行,该行声明每个PHP脚本的内存限制:
1memory_limit = 128M
更改此行,使限制升至 512 MB. 您的商店的内存需求可能更高,取决于您的目录中的产品数量和您每天接收的访客数量. 一些较大的商店需要将内存限制设置为 2 GB 或更多,但 512 MB 现在应该足够。
1memory_limit = 512M
** 注意:** 请确保记忆号的末尾使用M
。
完成此更改后,保存并关闭文件. 下次重新启动 Apache 时,内存限制的更改将生效。
Magento需要一些PHP模块,除了那些带有PHP的模块之外,我们可以在我们更新本地包索引后直接从Ubuntu的默认存储库中获取这些:
1sudo apt-get update
2sudo apt-get install libcurl3 php5-curl php5-gd php5-mcrypt
这些扩展将允许Magento正确处理HTTP请求,图像小图像和数据加密,现在我们有我们需要的所有包,我们可以启用Apache的URL重写支持和PHP的加密支持:
1sudo a2enmod rewrite
2sudo php5enmod mcrypt
完成所有这些配置和扩展更改后,是时候重新启动 Apache 服务器实例,以便应用这些更改:
1sudo service apache2 restart
步骤 2:创建一个MySQL数据库和用户
Magento 使用 MySQL 数据库来管理网站数据,如产品和订单信息. 我们已经安装和配置了 MySQL,但我们需要为 Magento 创建一个数据库和用户来工作。
首先,请登录到 MySQL 根帐户:
1mysql -u root -p
您将被提示使用 MySQL 根帐户密码,您在安装 MySQL 时将其设置。
在此示例中,该数据库将被称为magento
,但您可以随意命名。
1CREATE DATABASE magento;
** 注意:** 每个 MySQL 语句必须以半列(;
)结束,因此,如果您遇到任何问题,请确保您包括了它。
接下来,我们将创建一个新的MySQL用户帐户,该帐户将专门用于在新数据库上运行,创建一个功能的数据库和帐户是一个好主意,因为它允许更好地控制权限和其他安全需求。
我打电话给新帐户magento_user
,并将为其分配一个密码
的密码. 您肯定应该使用不同的用户名和密码,因为这些例子不太安全。
1CREATE USER magento_user@localhost IDENTIFIED BY 'password';
在此时,您有一个数据库和一个用户帐户,每个数据库都是专门为 Magento 创建的,但用户没有访问权限,我们需要通过授予我们的用户访问权限连接两个组件到数据库:
1GRANT ALL PRIVILEGES ON magento.* TO magento_user@localhost IDENTIFIED BY 'password';
现在用户可以访问数据库,我们需要清除特权,以便MySQL知道我们最近所做的特权更改。
1FLUSH PRIVILEGES;
2exit
您现在应该回到正常的 SSH 命令提示。
步骤 3 – 下载和设置 Magento 文件
现在我们已经准备好下载和安装 Magento. 要查看 Magento 社区版的最新稳定版本,请转到 社区下载页面。 在本示例中,当前的版本号码为 1.9.0.1,但您应该将该号码替换为您可用的最新版本。
使用wget
将 Magento 文件档案下载到您的主目录:
1cd ~
2wget http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gz
我们可以提取已存档的文件以使用tar
重建Magento目录:
1tar xzvf magento-1.9.0.1.tar.gz
您现在将有一个名为magento
的目录在您的主目录中。我们将需要将未包装的文件移动到Apache的文档根,在那里它可以为我们的网站的访问者提供服务。我们将使用rsync
将我们的Magento文件转移到那里,因为rsync
将包含重要的隐藏文件,如htaccess
。一旦转移完成,我们可以通过删除magento
文件夹来清理我们的主目录。
1sudo rsync -avP ~/magento/. /var/www/html/
2rm -rf ~/magento*
rsync
将安全地将您从解包的目录中所有内容复制到在/var/www/html/
的文档根中。
1sudo chown -R www-data:www-data /var/www/html/
这个变化将允许Apache创建和修改Magento文件,我们现在已经准备好通过Magento的基于浏览器的配置界面完成安装过程。
步骤 4 – 通过 Web 界面完成安装
若要使用您的浏览器访问 Web 接口,请导航到您的服务器的域名或公共 IP 地址:
1http://server_domain_name_or_IP/
如果之前的步骤是正确的,你将被介绍给Magento的安装向导. 第一页将显示许可协议,你需要同意,然后你可以点击 继续 。
下一页是您可以更改本地设置,如语言、时区和货币。 将这些设置更改为最适合您的产品销售位置的设置,然后点击 继续 。
配置页面分为三个部分. 第一部分是您可以设置 Magento 如何连接到其 MySQL 数据库。 请确保 Database Type 设置为MySQL
和 ** Host** 设置为localhost
。 然后您需要填写 ** Database Name**、 ** User Name** 和 ** User Password** 与您在创建 MySQL 数据库和用户帐户之前所选择的设置。
配置页面的下一个部分是您可以配置您的商店的URL,以及其他一些由Apache控制的功能。 确保 Base URL 匹配您的服务器的域名;如果您还没有设置域名,您可以使用您的服务器的公共IP地址。 改变 Admin Path 到比admin
更不显而易见的东西,以使任何人更难找到您的管理面板。 您还应该考虑检查 Use Web Server (Apache) Rewrites 以使您的网站的URL对用户和搜索引擎更加友好。
配置页面的最后一部分是为了选择会话数据存储方法。Magento提供两种保存用户会话数据的方法。 File System 方法将会话存储在服务器上的文件中,是最简单的开始方法。 Database 方法将会话存储为MySQL数据库中的条目,非常适合跨多个服务器的Magento安装。
选择配置选项后,点击 Continue ,您将转到管理员帐户创建页面. 此处您将创建负责维护 Magento 商店的管理帐户. 确保用户名和密码既安全又难以猜测。 加密密钥 字段应空,除非您正在从现有 Magento 安装中迁移数据。 如果您离开该字段空, Magento 会在您点击 Continue 时生成新的加密密钥,并在下一页上向您显示。
一旦您完成了基于 Web 的配置,您的 Magento 安装将准备好使用. 查看您的新店面,访问您的服务器的域名或公共 IP 地址在您的 Web 浏览器:
1http://server_domain_name_or_IP/
如果一切都配置正确,你应该呈现一个看起来像这样的店面:
您还可以通过访问您之前设置的 admin 目录访问您的新 admin 网站:
1http://server_domain_name_or_IP/admin/
使用您的 admin 用户名和密码登录,查看您的新仪表板:
结论
现在你有你的Magento商店运行,你已经准备好开始建立你的项目目录,并开始销售!
一个关键的下一步是通过SSL证书来加密您的网站流量,这是一个帮助您开始的指南: 如何从商业证书管理机构安装SSL证书。