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做好准备。