如何在Ubuntu 15.10上使用Nginx和SSL安装OpenCart 2

OpenCart是基于PHP和MySQL的免费开源电子商务软件。 OpenCart允许您以最低的成本设置和运行自己的在线商店。 该软件适用于中小型在线业务,易于安装,还有许多附加组件和扩展。 OpenCart提供多种语言的翻译,并支持多种货币。

本教程将介绍在Ubuntu 15.10上使用Nginx,PHP-fpm和MariaDB的OpenCart安装。

前提条件

  • Ubuntu 15.10 - 64bit
  • 根特权

第1步 - 安装Nginx

我们将使用nginx作为Web服务器,它是一个轻量级的Web服务器,速度快,占用空间小。 使用Ubuntu存储库中的apt命令安装nginx:

sudo apt-get install nginx

现在检查NginxCurl或访问您的服务器IP与浏览器像Firefox等。

curl -I 192.168.1.101

你应该看到Ubuntu Default页面。

第2步 - 安装和配置PHP-FPM

在这一步中,我将安装php-fpm版本,php-fpm(FastCGI Process Manager)是传统PHP FastCGI模式的现代替代方案。 我们将安装php-fpm和OpenCart需要的一些php模块。

  • php-mysql
  • php-gd
  • phpCurl
  • php-mcrypt

使用单个apt命令安装PHP-FPM和PHP扩展名:

sudo apt-get install php5 php5-fpm php5-mysql php5-curl php5-gd php5-mcrypt

安装软件包后,转到php-fpm配置目录并使用vim编辑' php.ini '文件。

cd /etc/php5/fpm
vim php.ini

取消注释行773并将值更改为“0”:

cgi.fix_pathinfo=0

保存文件并退出。

现在我们必须启用OpenCart所需的mcrypt模块。 转到php-fpm conf.d目录并为.ini文件创建一个符号链接。

cd /etc/php5/fpm/conf.d/
ln -s ../../mods-available/mcrypt.ini mcrypt.ini

mcrypt模块已启用,现在重新启动php-fpm和nginx以应用更改:

systemctl restart nginx
systemctl restart php5-fpm

现在我们应该验证php-fpm和Nginx是否正常工作。 编辑nginx虚拟主机配置的默认值以启用php位置,并在Web根目录中创建一个phpinfo文件。

cd /etc/nginx/sites-available/
vim default

取消注释php-fpm指令:

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }
 
 

保存文件并退出。

转到'/ var / www / html /'目录,并添加一个phpinfo文件。

cd /var/www/html/
echo "<?php phpinfo(); ?>" > info.php

访问服务器IP(在我的情况下为IP 192.168.1.103):http://

http:// 192.168.1.103/info.php。

Nginx和PHP-FPM已正确配置。

第3步 - 安装和配置MariaDB

MariaDB是MySQL数据库服务器的一个分支。 我喜欢在MySQL上使用MariaDB,但这取决于您在此步骤中使用的数据库服务器。 使用apt命令安装MariaDB:

sudo apt-get install mariadb-server mariadb-client

然后使用' mysql_secure_installation '命令配置MariaDB / MySQL根密码:

mysql_secure_installation
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

已经设置了MariaDB root用户和密码。 现在我们必须为OpenCart安装创建一个新的数据库和用户。 登录到mysql / mariadb shell来创建它。

登录MySQL / MariaDB shell创建数据库和用户。

mysql -u root -p
TYPE YOUR PASSWORD

create database opencartdb;
create user opencartuser@localhost identified by 'opencartuser@';
grant all privileges on opencartdb.* to opencartuser@localhost identified by 'opencartuser@';
flush privileges;

MySQL数据库被创建,我们有一个名为“opencartdb”的新数据库,名称为“opencartuser”和密码“opencartuser @”的用户。 稍后我们需要知道OpenCart的这些详细信息。 请使用更安全的密码进行安装。

第4步 - 安装SSL

确保OpenSSL安装在您的服务器上。

sudo apt-get install openssl

为SSL证书创建新目录,并使用OpenSSL生成证书。

mkdir -p /etc/nginx/ssl
cd /etc/nginx/ssl

生成证书和密钥文件:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/opencart.key -out /etc/nginx/ssl/opencart.crt

将私钥的权限更改为600:

chmod 600 opencart.key

SSL证书安装完成。

第5步 - 为OpenCart配置VirtualHost

在Nginx'sites-available'目录中为OpenCart创建一个新的虚拟主机配置文件。 转到Nginx虚拟主机目录并使用vim创建新配置:

cd /etc/nginx/sites-available/
vim opencart

粘贴以下配置:

server {
    server_name www.myopencart.co; ## Your Domain
    root /var/www/opencart/upload; ## Web Root Directory
    index index.php index.html;

    listen 80;
    listen [::]:80;
    listen 443 default ssl;

    ssl_certificate      /etc/nginx/ssl/opencart.crt;
    ssl_certificate_key  /etc/nginx/ssl/opencart.key;

    # Redirect HTTP to HTTPS
    if ($scheme = http) {
        return 301 https://$server_name$request_uri;
    }

    access_log /var/log/nginx/myopencart_access.log;               

    location /image/data {
        autoindex on;
    }
    location /admin {
        index index.php;
    }
    location / {
        try_files $uri @opencart;
    }
    location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
    
    # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
    location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }
    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
        expires max;
        log_not_found off;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

使用您自己的域名替换server_name行中的域名。

保存文件并退出。

使用符号链接激活新的虚拟主机到'sites-enabled'目录中的'opencart'文件,并使用“nginx -t”命令检查Nginx配置语法。

ln -s /etc/nginx/sites-available/opencart /etc/nginx/sites-enabled/
nginx -t

第6步 - 安装和配置OpenCart

我们使用'/ var / www /'目录进行OpenCart安装。 转到'/ var / www /'目录,下载OpenCart并解压缩下载的.zip档案。

您可以从这里下载opencart: http : //www.opencart.com/?route= download/ download

cd /var/www/
unzip opencart-2.1.0.1.zip

将目录重命名为opencart,然后转到上传目录。

mv opencart-opencart-2.1.0.1/ opencart/
cd opencart/upload/

复制上传和管理目录中的config-dist文件:

cp config-dist.php config.php
cp admin/config-dist.php admin/config.php

并返回到'/ var / www /'目录,将OpenCart文件和目录的所有者更改为用户的“ www-data ”。

cd /var/www/
chown -R www-data:www-data opencart/

注意 :我们运行nginx作为www-data用户和组。 如果您运行nginx作为您自己的用户或用户Nginx,则将所有者更改为您自己的名称和组。

重新启动nginx和php-fpm,以确保我们已经设置的配置没有错误:

systemctl restart nginx
systemctl restart php5-fpm

现在打开您的网络浏览器,并在地址栏中输入您的opencart域名,这个例子中的域名是: www.myopencart.co

安装程序将显示“ 许可协议 ”,然后单击“ 继续 ”。

安装程序现在检查您的服务器设置,确保所有状态字段为“ 绿色 ”,然后单击“ 继续 ”。

安装程序将显示数据库和管理员帐户配置。 填写我们之前创建的数据库的数据库详细信息,并选择管理员用户名和密码,然后单击“ 继续 ”。

OpenCart安装完成后,您可以访问您的网站(在我的案例中为www.myopencart.co),并登录到OpenCart后端。

不要忘记删除服务器上的安装目录

cd /var/www/opencart/upload/
rm -rf install/

具有Nginx和php-fpm的Opencart已安装并工作

结论

Opencart是一个基于Web的应用程序,用PHP编写,用于构建在线商店。 适用于中小型网上商店。 OpenCart可以安装Apache或Nginx(使用php-fpm)的Web服务器,本教程将使用nginx,php-fpm和MariaDB(MySQL的fork)数据库来覆盖OpenCart安装。 安装过程很简单,只需要确保您的服务器可以像OpenCart的第一章那样为OpenCart做好准备。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏