如何在Ubuntu 15.10/CentOS 7中使用ZenCart构建电子商务站点
ZenCart是基于PHP和MySQL的免费开放源代码在线商店管理系统。
它是用户友好,易于管理的电子商务站点管理工具,可在GNU GPL许可证版本2下免费获得。
它是基于平台的应用程序,它独立于平台,可在安装到服务器中后通过任何Web浏览器运行。
ZenCart由一群志趣相投的店主,程序员,设计师和顾问共同开发,他们认为电子商务设计可以而且应该以不同的方式进行。
下面列出了ZenCart使其成为如此流行的应用程序的一些功能。
- 在多种税率,运输方式,付款方式,货币和语言的支持下,本地化是ZenCart中最重要的功能。
- 我们可以添加无限数量的产品,类别并为其设置属性。
- 它具有集成不同付款模块(包括自定义模块)的能力。
- 它有助于维持商店所有者和顾客之间的良好关系。
- 礼品,优惠券,运费,运费选项,税率,税区可以使用ZenCart轻松配置。
- ZenCart非常容易安装在几乎所有支持PHP和MySQL的托管服务器中。
安装LAMP堆栈
为了在运行Ubuntu 15.10或者CentOS 7的计算机上运行ZenCart,我们需要确保在系统中安装了LAMP堆栈。
LAMP Stack代表Apache Web服务器,MariaDB或者MySQL数据库服务器以及Linux服务器中的PHP模块的组合。
在本教程的此处,我们将为数据库安装MariaDB而不是MySQL服务器,因为MariaDB完全由社区驱动,具有速度改进和免费扩展。
为此,相对于计算机中安装的linux发行版,我们将需要以root或者sudo特权运行以下命令。
在Ubuntu 15.10上
# apt-get update # apt-get install apache2 mariadb-server libapache2-mod-php5 php5-mysql php-pear php5-gd php5-curl php5-dev php5-ldap php5-xcache unzip
在CentOS 7上
# yum update # yum install httpd mariadb-server php-mysql php-pear php-gd php-xml php-curl php-dev php-mbstring php-ldap php-xcache unzip
启动Apache和MariaDB服务器
安装所需的依赖项之后,我们现在将启动Apache Web服务器和MariaDB数据库服务器。
在Ubuntu 15.10上
由于Ubuntu 15.10作为systemd的默认初始化系统提供,我们将使用systemctl命令来启动它们。
为此,我们需要运行以下命令。
# systemctl start apache2 mysql
然后,通过启用守护程序,使它们在每次系统引导时自动启动。
# systemctl enable apache2 mysql apache2.service is not a native service, redirecting to systemd-sysv-install Executing /lib/systemd/systemd-sysv-install enable apache2 mysql.service is not a native service, redirecting to systemd-sysv-install Executing /lib/systemd/systemd-sysv-install enable mysql
在CentOS 7上
同样,CentOS 7也随systemd一起作为默认的初始化系统提供,因此,我们只需要在linux终端或者控制台中运行以下命令即可。
# systemctl start httpd mysql
接下来,就像我们对Ubuntu所做的那样,我们将仅使守护程序在每次系统引导时启动。
# systemctl enable httpd mysql
设置MariaDB根密码
在CentOS 7/Ubuntu 15.10上
现在,由于我们是第一次安装MariaDB,并且尚未为MariaDB根用户设置密码,因此,我们首先需要为其配置根密码。
要配置MariaDB并分配root密码,我们需要运行以下命令。
# mysql_secure_installation
这将要求我们输入root的密码,但是由于我们之前没有设置任何密码,并且这是我们首次安装mariadb,因此只需按Enter并继续。
然后,将要求我们设置root密码,在此处单击Y,然后输入MariaDB根的密码。
然后,我们只需按Enter键即可为其他配置设置默认值。
…. so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on… Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success! … installation should now be secure. Thanks for using MariaDB!
注意:请注意将MariaDB根密码放在安全的地方,因为在进一步的步骤中,我们将要求它为ZenCart创建数据库。
创建ZenCart数据库
现在,我们将为ZenCart创建一个新的数据库,以便它可以将其数据存储到我们的MariDB数据库中。
为此,首先我们需要通过运行以下命令来登录我们的MariaDB控制台。
# mysql -u root -p
然后,它将要求我们输入在上一步中设置的root用户的密码。
然后,我们将欢迎我们进入我们将其中创建的MariaDB控制台中
我们的新数据库即数据库用户,并为其分配了密码,并授予了创建,删除和编辑其中存储的表和数据的所有特权。
其中我们将数据库名称,用户和密码分别设置为zencartdb,zencartuser和Pa $$worD123.
CREATE DATABASE zencartdb; > CREATE USER 'zencartuser'@'localhost' IDENTIFIED BY 'Pa$$worD123'; > GRANT ALL PRIVILEGES ON zencartdb.* TO 'zencartuser'@'localhost'; > FLUSH PRIVILEGES; > EXIT;
注意:强烈建议替换所有上述变量,例如数据库名称,用户和密码,以确保安全。
配置Apache Web服务器
现在,我们将在apache Web服务器中添加一个新的virtualhost,以便我们可以为ZenCart定义特定的配置。
创建新的虚拟主机我们为站点定义端口,webroot,域,别名和其他配置。
这是我们将在本教程中设置的与正在运行的Linux发行版相对应的一些配置。
在Ubuntu 15.10上
# touch /etc/apache2/sites-available/zencart.conf # ln -s /etc/apache2/sites-available/zencart.conf /etc/apache2/sites-enabled/zencart.conf # nano /etc/apache2/sites-available/zencart.conf
现在,我们将以下配置行添加到打开的文件中。
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/zencart/ ServerName zencart.theitroad.com ServerAlias www.zencart.theitroad.com <Directory /var/www/zencart Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/zencart.theitroad.com-error_log CustomLog /var/log/apache2/zencart.theitroad.com-access_log common </VirtualHost>
完成后,我们将保存文件并退出文本编辑器。
然后,我们需要确保已启用mod。
要启用它,我们需要执行以下命令。
# a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: service apache2 restart
然后,我们将重新启动apache网络服务器。
# systemctl restart apache2
在CentOS 7上
在我们的CentOS计算机上,我们将使用文本编辑器在/etc/httpd/conf.d/目录下创建一个名为zencart.conf的文件。
# nano /etc/httpd/conf.d/zencart.conf
然后,我们将以下配置行添加到文件中。
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/zencart/ ServerName zencart.theitroad.com ServerAlias www.zencart.theitroad.com <Directory /var/www/zencart Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/zencart.theitroad.com-error_log CustomLog /var/log/httpd/zencart.theitroad.com-access_log common </VirtualHost>
完成后,我们将简单地保存文件并退出编辑器。
现在,我们需要确保已启用mod。
要启用它,我们需要执行以下命令。
# a2enmod rewrite
然后,我们将重新启动apache网络服务器。
# systemctl restart httpd
下载并解压ZenCart
完成上述步骤后,我们现在将在撰写本文时下载ZenCart的最新版本,即1.5.5.
我们可以从SourceForge官方页面上获取最新版本。
其中我们将从sourceforge ZenCart页面获得下载链接,然后使用wget将其下载到我们的服务器中。
# cd /tmp/ # wget http://downloads.sourceforge.net/project/zencart/CURRENT%20-%20Zen%20Cart%201.5.x%20Series/zen-cart-v1.5.5a-05052015.zip --2015-05-12 14:12:15-- http://downloads.sourceforge.net/project/zencart/CURRENT%20-%20Zen%20Cart%201.5.x%20Series/zen-cart-v1.5.5a-05052015.zip Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59 Connecting to iweb.dl.sourceforge.net (iweb.dl.sourceforge.net)|70.38.0.134|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 7716138 (7.4M) [application/octet-stream] Saving to: 'zen-cart-v1.5.5a-05052015.zip' zen-cart-v1.5.5a-05 100%[=====================>] 7.36M 800KB/s in 17s 2015-05-12 14:12:34 (435 KB/s) - 'zen-cart-v1.5.5a-05052015.zip' saved [7716138/7716138]
成功下载后,我们将使用以下unzip命令提取zip文件。
# unzip zen-cart-v1.5.5a-05052015.zip
然后,将提取的文件移动到上面刚刚指定的Web服务器的Webroot下,即/var/www/zencart /。
因此,首先,我们需要创建webroot目录,即/var/www/zencart,因为它尚未创建。
# mkdir -p /var/www/zencart # mv zen-cart-v1.5.5a-05052015/* /var/www/zencart
固定所有权和权限
现在,我们需要为Apache进程用户设置ZenCart目录的所有权,以便apache Web服务器将具有对ZenCart文件和文件夹的完全访问权限。
为此,我们需要针对正在运行的Linux发行版运行以下命令,因为使用了不同的用户名。
在Ubuntu 15.10上
# chown -R www-data: /var/www/zencart
在CentOS 7上
# chown -R apache: /var/www/zencart
然后,我们需要通过执行以下命令将某些目录的权限设置为可写。
配置防火墙
接下来,我们将配置防火墙程序以允许http或者端口80可以直接使用。
这将使我们的ZenCart商店可以在连接的网络或者Internet中访问。
由于CentOS 7和Ubuntu 15.10都随systemd一起作为初始化系统提供,因此大多数计算机中都安装有firewalld。
要允许http(端口80),我们需要运行以下命令。
# firewall-cmd --permanent --add-service=http success # firewall-cmd --reload success
基于Web的安装
如上所述正确设置并正确配置了以上所有内容之后,我们现在将着手进行基于Web的ZenCart安装。
为此,我们需要打开一个网络浏览器,并根据我们的配置将其指向我们的ZenCart服务器,即http://zencart.theitroad.com。
然后,我们将在第一次执行安装时看到以下屏幕。
现在,我们将单击原因编号1下的“单击此处”链接,以继续进行安装过程。
然后,将出现“系统集成”页面,该页面将检查并列出我们的Zen Cart安装是否有问题。
由于我们尚未在本文中配置SSL认证,因此我们肯定会收到有关SSL认证的错误。
接下来,我们需要通过打勾来同意GNU GPL 2许可。
由于我们希望使用默认设置,因此只需单击“继续”以继续安装过程。
现在,我们需要执行数据库设置。
在为ZenCart创建数据库时,我们只需要输入在上述步骤中设置的数据库配置即可。
在本教程的此处,我们将分别输入主机,数据库名称,用户名和密码,分别为localhost,zencartdb,zencartuser和Pa $$worD123.
如果我们想将演示数据加载到数据库中,则可以勾选它,我们可以根据需要简单地设置设置。
其中我们将保持原样并继续前进。
完成后,我们将被定向到“管理员设置”,我们需要输入管理员名称和电子邮件地址。
此处,管理员密码和admin目录由ZenCart安装程序自动生成。
安装完成后,我们可以稍后更改它们。
注意:请注意,应注意这些管理员凭据,因为登录到管理面板将需要它们。
之后,我们将看到“安装完成”页面,根据安全措施,系统将要求我们删除/zc_install /目录,以使某人无法进一步访问ZenCart的安装。
其中我们可以看到用于访问店面和后端管理面板的链接。
安装后
安装完成后,我们需要从Webroot删除安装,即zc_install。
为此,我们需要通过运行以下命令进入ZenCart的Web根目录。
# cd /var/www/zencart/
然后,我们将递归删除安装目录。
# rm -rf zc_install