如何在Ubuntu 18.04上安装OpenCart

OpenCart是一个免费的开源PHP电子商务平台,结合了强大的功能,灵活性和友好的用户界面。

OpenCart具有用户管理,多商店,会员,折扣,产品评论,多语言和多种支付网关等功能,是许多在线商家的首选平台。

在本教程中,我们将向您展示如何在Ubuntu 18.04服务器上安装OpenCart。 我们将使用Nginx作为Web服务器,使用最新的PHP 7.2和MySQL / MariaDB作为数据库服务器。

先决条件

在继续本教程之前,请确保满足以下先决条件:

  • 有一个指向您的公共服务器IP的域名。 我们将使用 example.com
  • 按照以下说明将Nginx安装在Ubuntu服务器上。
  • 为您的域安装的SSL证书,用于加密用户信息。 您可以按照以下说明安装免费的“让我们加密SSL”证书。

将系统软件包更新到最新版本并安装unzip实用程序:

sudo apt update && sudo apt upgradesudo apt install unzip

创建MySQL数据库

如果您的服务器上安装了MySQL或MariaDB,则可以跳过此步骤;如果没有,则可以通过输入以下内容从Ubuntu的默认存储库中安装MySQL 5.7服务器软件包:

sudo apt install mysql-server mysql-client

对于全新的MySQL安装,建议运行 mysql_secure_installation 命令以提高MySQL服务器的安全性。

使用以下命令登录到MySQL Shell:

sudo mysql

在MySQL Shell中,运行以下SQL语句以创建一个名为 opencart

CREATE DATABASE opencart;

接下来,创建一个名为 opencart 并通过运行以下命令向用户授予必要的权限:

GRANT ALL ON opencart.* TO 'opencart'@'localhost' IDENTIFIED BY 'change-with-strong-password';

确保你改变 change-with-strong-password 具有强密码。

完成后,输入以下命令退出mysql控制台:

EXIT;

安装和配置PHP#

PHP 7.2是Ubuntu 18.04中的默认PHP版本,完全受支持,并建议用于OpenCart。 由于我们将Nginx用作Web服务器,因此我们还将安装PHP-FPM软件包。

运行以下命令以安装PHP和所有必需的PHP模块:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

PHP-FPM服务将在安装过程完成后自动启动,您可以通过打印服务状态来进行验证:

sudo systemctl status php7.2-fpm

输出应指示fpm服务处于活动状态并且正在运行。

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-02-25 10:45:42 UTC; 53s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 27446 (php-fpm7.2)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 3 (limit: 505)
   CGroup: /system.slice/php7.2-fpm.service
           ├─27446 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)

通过编辑 php.ini 与文件 sed ::

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

安装OpenCart#

在撰写本文时,OpenCart的最新稳定版本为 3.0.3.1

在下载OpenCart存档之前,首先创建一个目录,其中将存放我们的OpenCart文件:

sudo mkdir -p /var/www/html/example.com

使用以下wget命令从OpenCart Github存储库下载最新版本的OpenCart:

cd /tmpwget https://github.com/opencart/opencart/releases/download/3.0.3.1/opencart-3.0.3.1.zip

下载完成后,解压缩OpenCart档案并将解压缩的文件移到域的文档根目录中:

unzip opencart-*.zipsudo mv /tmp/upload/* /var/www/html/example.com/

使用以下命令复制配置文件 cp 命令:

sudo cp /var/www/html/example.com/{config-dist.php,config.php}sudo cp /var/www/html/example.com/admin/{config-dist.php,config.php}

设置正确的权限,以便Web服务器可以使用以下chown命令完全访问站点的文件和目录:

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

配置Nginx

到目前为止,如果未检查本教程的先决条件,则应该已经在Ubuntu服务器上安装了带有SSL证书的Nginx。

打开您的文本编辑器并创建以下文件:

sudo nano /etc/nginx/sites-available/example.com

/etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    root /var/www/html/example.com;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location ~* .(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

不要忘记用您的OpenCart域替换example.com并为SSL证书文件设置正确的路径。 所有HTTP请求都将重定向到HTTPS。 本指南中创建了此配置中使用的摘录。

在重新启动Nginx服务之前,请进行测试以确保没有语法错误:

sudo nginx -t

如果没有错误,则输出应如下所示:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最后,通过键入以下命令重新启动Nginx服务:

sudo systemctl restart nginx

完成OpenCart安装#

现在已经下载了OpenCart并完成了服务器配置,您可以通过Web界面完成安装。

打开浏览器,输入您的域,然后会出现类似以下的屏幕:

阅读OpenCart许可协议,选择您要使用的语言,然后单击 Continue 按钮。

接下来,您将看到以下信息页面:

安装OpenCart预安装

确保满足所有预安装要求,然后单击 Continue 按钮。

在下一个屏幕上,安装向导将要求您输入数据库连接详细信息。 输入您先前创建的MySQL用户和数据库详细信息。

安装OpenCart配置

输入管理员的用户名,密码和电子邮件地址,然后通过单击 Continue 按钮。

安装完成后,您将进入一个页面,通知您已安装OpenCart。

安装OpenCart配置

要访问您的OpenCart管理信息中心,请点击 Login to your Administration 按钮。 输入您的用户名和密码,您将被重定向到管理仪表板。

首次登录时,将出现一个弹出窗口,要求您将存储目录移出Web目录。

安装OpenCart移动存储

保持默认 Automatically Move 选项,然后单击红色 Move 按钮。 您要移动的目录 storage Web服务器必须可以访问该目录。

从这里,您可以开始自定义您的OpenCart安装并添加新产品。

您还需要删除安装目录。 为此,请返回到终端并输入以下内容 rm 命令:

sudo rm -rf /var/www/html/example.com/install

结论#

恭喜,您已经在Ubuntu 18.04服务器上成功安装了OpenCart。

OpenCart文档是了解更多有关如何管理OpenCart安装的良好起点。

如有疑问,请在下面发表评论。

ubuntu opencart mysql php nginx电子商务

Sidebar