专栏首页沈唁志如何在Ubuntu 16.04上安装PrestaShop

如何在Ubuntu 16.04上安装PrestaShop

什么是PrestaShop?

如果您曾经考虑过开设在线商店,您可能会感受到各种免费的开源电子商务解决方案。虽然有这么多的选择意味着几乎可以肯定有一个可用的有效解决方案适合您的特定情况,但它也可能让新手感到困惑。其中一个选项是本指南的主题,它是PrestaShop,这是一个全球数千家商户使用的综合电子商务解决方案。

PrestaShop的电子商务广度可以使学习看起来令人生畏; 但是,它的菜单结构整齐,术语直观,界面易于导航。此外,定制与您的网站PrestaShop的许多你看到的就是你得到的(WYSIWYG)工具,使一个用户友好的成立,而无需检查和修改源代码。此外,PrestaShop还提供许多开箱即用的功能和插件,可简化设置和使用。

在远程服务器上安装Prestashop比使用云托管更加复杂和耗时,但是回报更大:您将获得更好的性能,因为您拥有了保存的服务器资源和更大的灵活性,可以自由地调整您的设置觉得合适。您永远不必等待云主机支持团队为您更改PHP设置。此外,高可用性负载平衡,高级备份方案和其他功能变得易于访问,使您可以扩展业务并提高站点的可靠性。

在你开始之前

  1. 熟悉我们的入门指南并完成设置Linode主机名和时区的步骤。
  2. 本指南将sudo尽可能使用。完成“ 保护您的服务器 ”部分以创建标准用户帐户,加强SSH访问并删除不必要的网络服务。
  3. 更新您的系统: sudo apt-get update && sudo apt-get upgrade
  4. 要从Let's Encrypt获取免费的SSL证书,您需要购买完全合格的域名(FQDN)并将其设置为指向您的Linode。有关详细信息,请参阅我们的DNS Manager概述指南。 注意在本指南中,请example.com使用您的Linode的公共IP地址或完全限定域名(FQDN)进行替换。

服务器要求

在大多数情况下,您可以从具有1GB RAM的Ubuntu 16.04实例开始。随着您的在线商城的增长,请密切关注您的内存使用情况; 必要时缩放到更大的Linode。如果您的业务变得特别大,最好将您的商城分成至少三个服务器:一个运行Apache并托管运行电子商务平台的PHP代码,一个用于数据库,一个用于存储静态内容,如.jpg图片。

安装Apache和MariaDB

本指南将使用MariaDB而不是MySQL在修改后的LAMP堆栈上运行PrestaShop。您可以在此处阅读有关MariaDB及其功能的更多信息。如果您更喜欢使用传统的LAMP堆栈,请参阅我们的指南,如何在Ubuntu 16.04上安装LAMP堆栈

  1. 安装Apache,PHP和MariaDB: sudo apt-get install apache2 libapache2-mod-php mariadb-server
  2. 使用以下命令保护MariaDB安装: sudo mysql_secure_installation

该脚本将询问一系列问题。您可以保留第一个问题(对于MariaDB的root密码为空),然后选择“n”(“否”)拒绝创建新的root密码。对剩下的问题回答'是'(是)。

配置Apache

  1. 下一步是为Apache创建一个基本配置文件,告诉它它将在哪里找到您的网站文件以及您的域名是什么。首先复制默认配置文件以将其用作模板: sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
  2. 编辑配置文件。取消注释该ServerName行,替换example.com为您的Linode的域名或IP地址,并按如下方式编辑其余行: /etc/apache2/sites-available/example.com.conf1 2 3 4 5 6 . . . ServerName example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html/example.com . . .
  3. 为我们的网站文件创建目录: sudo mkdir /var/www/html/example.com
  4. 禁用默认配置文件并启用新创建的配置文件: sudo a2dissite 000-default.conf sudo a2ensite example.com.conf
  5. 重启Apache: sudo systemctl restart apache2.service

允许PrestaShop使用.htaccess文件

PrestaShop可以使用.htaccess文件。这允许它自动调整Apache的设置,并且可以从管理后端(PrestaShop的管理页面)启用高级功能,例如“漂亮的链接”,网页压缩或https重定向。

  1. 编辑配置文件以启用.htaccess覆盖:

/etc/apache2/sites-available/example.com.conf

1 2 3

<Directory /var/www/html/example.com> AllowOverride All </Directory>

安装TLS(SSL)证书以加密网站流量

获取商店的SSL证书有助于保护客户的数据安全,并避免对不使用的网站的Google搜索排名处罚https。使用Linode的公共IP地址无法完成此步骤; 您需要具有已在DNS服务器中列出的FQDN。

  1. 检查您的域名是否已传播到DNS服务器: dig @8.8.8.8 example.com 您应该收到如下响应: example.com 36173 IN A 203.0.113.10 如果A值等于服务器的IP地址,则可以继续。否则,请检查您的Linode的DNS配置,然后在几分钟后重复此步骤。
  2. 添加Let的加密团队的官方个人包存档(PPA),更新包存储库,并安装certbot: sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-apache
  3. 请求并安装TLS证书: sudo certbot --apache
  4. 当被问到是否需要https重定向答案2时。 Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. ------------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
  5. 在继续之前,请确保https正常工作。您可以通过导航到https://example.comWeb浏览器来执行此操作。
  6. 由于证书在90天后过期,因此建立自动续订是个好主意: sudo crontab <<< "33 3 * * Sat /usr/bin/certbot renew -q"

为PrestaShop准备环境并安装依赖项

设置所有权/var/www/html/example.com以允许PrestaShop启用插件,自动更新和其他功能。

sudo chown www-data: /var/www/html/example.com/

您还可以使用:

chown -R www-data *
chgrp -R www-data *

下载并解压缩PrestaShop的文件

  1. 将工作目录更改为将安装网站代码的位置: cd /var/www/html/example.com/
  2. 下载包含所有必要文件的zip存档。在编写本教程时,最新版本是1.7.2.1。请访问此网站以获取最新版本:PrestaShop的下载页面并更改以下命令中的链接,以便它反映当前版本: sudo curl -O https://download.prestashop.com/download/releases/prestashop_1.7.2.1.zip
  3. 安装unzip包: sudo apt-get install unzip
  4. 解压缩zip存档: sudo unzip prestashop_1.7.2.1.zip

安装和配置PrestaShop依赖项

  1. 安装PrestaShop的PHP依赖项: sudo apt-get install php7.0-curl php7.0-gd php7.0-mysql php7.0-zip php7.0-xml php7.0-intl 这些模块允许PrestaShop下载内容,处理图像,访问数据库,解压缩文件,处理XML数据以及访问国际化功能。
  2. 启用Apache rewrite模块: sudo a2enmod rewrite
  3. 重启Apache: sudo systemctl restart apache2.service
  4. PrestaShop利用SQL数据库存储有关产品,用户,类别等的信息。以超级用户(root)身份登录MariaDB: sudo mysql
  5. 使用适当的权限创建数据库和用户。替换your_database_nameprestashop_user以及choose_password下方。记录信息供以后使用。 CREATE DATABASE your_database_name; CREATE USER 'prestashop_user'@'localhost' IDENTIFIED BY 'choose_password'; GRANT ALL ON your_database_name.* TO 'prestashop_user'@'localhost'; exit

安装PrestaShop

1. 导航到https://example.com浏览器。请务必包含,https以确保您的连接安全。 安装向导将指导您完成设置过程。出现提示时,请填写先前设置的数据库凭据。保留第一个字段:127.0.0.1。该表前缀可以保持不变为好。

2. 测试与数据库服务器的连接。

3. 单击“ 下一步 ” 后,安装程序将创建必要的表并完成设置存储。你会看到一个看起来像这样的页面:

4. 删除install目录和zip存档: cd /var/www/html/example.com sudo rm -r install prestashop_1.7.2.1.zip

优化Prestashop并启用TLS / SSL永久链接

  1. 启用https重定向。在PrestaShop后端的最左侧菜单中,查找CONFIGURE。单击下面的Shop Parameters

选择“是”启用S​​SL在所有页面上启用SSL。向下滚动并单击“ 保存”。 如果您无法在所有页面启用“启用SSL”,请在启用SSL并保存设置后再试一次。

2. 返回左侧菜单,当鼠标指针悬停在Shop参数顶部时,您将看到弹出的子菜单。点击流量和SEO。向下滚动,直到找到下图所示的设置:

选择YES友好的URL301永久移动重定向到规范的网址。保存您的设置。

3. 开箱即用,PrestaShop包含一些功能,可帮助您更快地为您的客户呈现页面。您可以从最左侧菜单访问这些内容。在“ 配置”下,将鼠标悬停在“ 高级参数”上,然后在打开的子菜单中单击“ 性能 ”。如果文件已模板编译更新选择重新编译模板,对于缓存,则选择YES。这将激活Smarty缓存并减少服务器编译部分PHP代码的需要,从而减少前端的加载时间。最终设置应如下所示:

4. 向下滚动,直到找到CCC(COMBINE,COMPRESS和CACHE)。将所有内容切换为YES。保存您的设置。

4. /etc/php/7.0/apache2/php.ini 在文本编辑器中打开并查找以下三个设置: /etc/php/7.0/apache2/php.ini1 2 3 memory_limit = 128M upload_max_filesize = 2M max_execution_time = 30更改upload_max_filesize为10M以启用更大图像的上载。此时不需要更改其他两个设置,但如果您的站点的内存使用量增加或者您安装了脚本运行缓慢的插件,您可能需要分别考虑增加memory_limitmax_execution_time

5. 重启Apache: sudo systemctl restart apache2.service

设置邮件传递

在PrestaShop中设置邮件传递至关重要,因为通过电子邮件发生了很多事情:客户帐户确认,订阅,交付状态,订单确认等。虽然像这样的电子邮件服务器可以托管在Linode上,但设置起来可能很复杂并保持。

也可以使用像Mail-in-a-Box这样的一体化解决方案,但最简单的方法是使用Google的G SuiteFastmail等专用解决方案。这样,您可以专注于维护您的商店并获得可靠的电子邮件服务,而无需担心技术细节。

确定电子邮件提供商后,配置PrestaShop的电子邮件系统:在左侧菜单中的配置下,将鼠标悬停在高级参数上,然后单击子菜单中的电子邮件。加载页面后,查找“ 设置我自己的SMTP参数”(仅限高级用户)

新选项将显示在页面的下方:

下一步

现在您已启动并运行PrestaShop,您可以开始自定义站点以满足您的商店需求。官方PrestaShop网站有一个模块列表,可以安装这些模块以添加在线聊天,SEO优化和产品统计等功能。保持站点的安全性也很重要。确保经常更新PrestaShop,任何已安装的模块或插件,以及您的Linode系统。

本文的版权归 沈唁 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在Ubuntu 16.04上安装Roundcube

    Roundcube是一个基于网络的IMAP电子邮件客户端,提供类似于谷歌Gmail的用户界面。它是用PHP编写的服务器端应用程序,旨在访问电子邮件服务器或服务。...

    沈唁
  • 各种IE(IE6-IE10)兼容问题一行代码搞定

    沈唁
  • 你认为该怎么样学习PHP?PHP成长之路

    沈唁
  • 最新Linux部署.NET,Mono and DNX

    这几天一直在折腾在Linux下的ASP.NET 5,就下在看来在其它操作系统中ASP.NET 5或.NET应用,要想在完整的MS VM(CoreCLR)上运行还...

    yoyofx
  • 12月机器学习TOP 10文章,错过的快补课

    翻译 | AI科技大本营 编辑 |Donna Medium上的机器学习深度爱好者必关注的账号Mybridge照例对11月发表的学术论文进行了排名,整理出了10篇...

    企鹅号小编
  • 资源 | 12月机器学习TOP 10文章,错过的快补课

    翻译 | AI科技大本营 编辑 | Donna Medium上的机器学习深度爱好者必关注的账号Mybridge照例对11月发表的学术论文进行了排名,整理出了10...

    AI科技大本营
  • [京东价格监控网站]自定义商品监控/品类商品监控/降价邮件提醒

    现在,一个基于python爬虫的实时价格监控网站上线了,你要做的仅仅是打开浏览器,输入:

    后端技术漫谈
  • 厚土Go学习笔记 | 28. go语言没有类 却可以在结构体或任意类型定义方法

    在go语言中没有类。可是,是有方法的。 给结构体定义方法,在对应的 func 和方法名之间,加上方法的接收者就可以了。 比如,我们定义了一个结构体 type V...

    李海彬
  • 英伟达发布RTX 2000系列显卡,性能提升6倍,支持实时光线跟踪

    英伟达今天在德国Gamescom推出其新的GeForce RTX 2000系列显卡。虽然最近我们听到了许多风凉话,但GeForce RTX 2080终于正式上市...

    AiTechYun
  • 手把手fastDFS实战1-安装部署

    当前windows10支持通过wsl方式安装linux运行环境,具体参见官方说明https://docs.microsoft.com/zh-cn/windows...

    技术路漫漫

扫码关注云+社区

领取腾讯云代金券