半小时搭建电子商务网站--opencart

六月ゝ 毕业季﹏ 提交于 2019-11-29 12:52:27

原文链接: http://codeshold.me/2017/01/opencart_installation.html

前言

朋友在亚马逊(美国)上开了一家网点且注册了自己的品牌,amazon需要品牌商提供自己的网站,于是乎朋友找到了我,并给了我一个品牌商网站的参考(他的一位朋友在淘宝上买的电子商务网站–三四百块),然后我点开了,接着我留意了网站底下的Powered By OpenCart,最后我发现这压根可以不要钱啊啊啊啊(尽管自己不搞前端)!

自己仔细看了朋友的朋友买的电子商务网站,它用的就是一个开源的opencart(类似 wordpress),而且也没有什么定制化的内容,更没有开通支付功能(开通支付功能貌似还要加一千块),也就是一个纯正的开源的东西!

于是自己花了一个小时免费帮朋友弄了下,好在他自己注册且备案了一个域名,而我正好也有个vps,下文是自己部署OpenCart的记录!

安装OpenCart

1. 准备

  1. opencart是干吗的?
  2. vps用的是DigitalOcean(自己用来翻墙的)
  3. 域名是在阿里云上注册和备案的
  4. 服务器操作系统 CentOS 7

2. 部署

  • 安装并配置httpd
## 1. 安装软件包 [root@ss ~]# yum install httpd php-y ## 2. 启动httpd服务 ##    httpd启动后,浏览器输入服务器ip即可浏览默认的apache web页面 [root@ss ~]# systemctl start httpd ## 3. 设置httpd和mariadb开机启动 [root@ss ~]# systemctl enable httpd
  • 安装并配置mariadb(mysql)
## 1. 安装软件包 [root@ss ~] yum install mariadb mariadb-server -y  ## 2. 启动自动安装&配置 [root@ss html]# mysql_secure_installation  ......  ## 3. 登陆mysql ##    创建数据库opencartdb ##    新建用户opencart(密码opencart)并赋予权限 [root@ss html]# mysql -u root -p ...... ## 3.1 创建数据库opencartdb MariaDB [(none)]> create database opencartdb; Query OK, 1 row affected (0.00 sec) ## 3.2 新建用户opencart(密码opencart)并赋予权限 MariaDB [(none)]> grant all privileges on opencartdb.* to opencart@localhost identified by 'opencart';  ## 3. 设置mariadb开机启动 [root@ss ~]# systemctl enable httpd mariadb
  • 安装php及相关扩展包
    可跳过扩展包的安装,根据后面opencart检测的结果再安装也行
## 1. 安装php [root@ss ~]# yum install php -y  ## 2. 安装扩展包(可跳过此步骤,后面根据opencart检测的结果再安装) [root@ss ~]# yum install php-mysql php-mcrypt php-gd php-cli php-pdo -y  ## 3. 查询结果如下 [root@ss opencart]# rpm -qa | grep php php-common-5.4.16-42.el7.x86_64 php-5.4.16-42.el7.x86_64 php-mysql-5.4.16-42.el7.x86_64 php-mcrypt-5.4.16-7.el7.x86_64 php-gd-5.4.16-42.el7.x86_64 php-cli-5.4.16-42.el7.x86_64 php-pdo-5.4.16-42.el7.x86_64 
  • 安装和配置opencart
    安装包可从官网github上下载最新版本
[root@ss ~]# mkdir opencart && cd opencart  ## 1. 从github上下载最新版本的compiled包 [root@ss opencart]# wget https://github.com/opencart/opencart/releases/download/2.3.0.2/2.3.0.2-compiled.zip  ## 2. 解压 [root@ss opencart]# unzip -q 2.3.0.2-compiled.zip  ## 3. 拷贝upload目录下的文件到/var/www/html/下 [root@ss opencart]# cd /var/www/html/ [root@ss html]# cp ~/opencart/upload/* . -rf  ## 3. 根据目录下的`install.txt`文件即可完成配置和安装) ## 3.1 修改config.php 文件名 [root@ss html]# mv config-dist.php config.php [root@ss html]# mv admin/config-dist.php admin/config.php ## 3.2 添加可写权限 [root@ss html]# chmod a+w config.php admin/config.php  [root@ss html]# chmod a+w /var/www/html/image/ -R [root@ss html]# chmod a+w /var/www/html/system/ -R
  • 进入安装页面

浏览器输入服务器ip地址进入页面安装
可能会需要systemctl restart httpd重启httpd服务

  • 进入pre-installation检测页面
    请根据检测的结果,安装相应的软件包、php扩展包或者设置文件权限
    如下图显示缺少了php扩展(修改请参考前面步骤,如yum install php-mcrypt -y,修改后重启httpd服务systemctl restart httpd,再刷新页面)!


    如下图显示缺少对应文件或目录的可写权限(修改请参考前面步骤,如chmod a+w config.php admin/config.php,修改后重启httpd服务systemctl restart httpd,再刷新页面)!


    修改后的

  • 进入配置页面
    填写前面设置的数据库名opencartdb,以及用户名和密码(opencart/opencart)
    如果一开始已经配置好了域名解析,hostname一栏填写域名即可!

  • 完成安装后
    参考install.txt
## 删除安装目录 [root@ss html]# rm -rf install/ ## 由于安装的是github上的compiled包,所以要拷贝vendor [root@ss ~]# cp -rf  ~/opencart/vendor/ /var/www/ [root@ss www]# cd /var/www/ && ls  cgi-bin  html  vendor
  • 输入IP测试

其他配置(防火墙,ftp)

  • 防火墙配置
    自己取消了CentOS7的firewalls,使用的是iptables,如下
## 1. 取消firewalld服务 [root@ss ~]# systemctl stop firewalld && systemctl disable firewalld ## 2. 安装iptables-services [root@ss ~]# yum install iptables-services -y  ## 3. 添加防火墙设置 [root@ss ~]# vim /etc/sysconfig/iptables ## 3.1 添加如下规则 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT ## 3.2 启动防火墙并设置开机启动 [root@ss ~]# systemctl start iptables && systemctl enable iptables
  • ftp配置
    安装vsftp, yum install vsftpd -y, 配置好后,浏览器进入管理页面(http://域名/admin/)进行设置,如下

域名设置

  • 在阿里云云解析DNS上添加记录,如下(假设域名为codeshold.me
记录类型 主机记录 记录值 解析线路 TTL(秒) 说明
A @ XX.XX.XX.XX 默认 600 @表示将codeshole.me解析为该IP, 600表示DNS缓存生存时间为10分钟
A www XX.XX.XX.XX 默认 600 @表示将www.codeshole.me解析为该IP, 600表示DNS缓存生存时间为10分钟
  • 修改config文件
    在配置好自己的域名后,如果出现在浏览器输入域名登录网站后,在点击页面链接,域名显示为了IP地址 这个问题(见问题1),如下,则需修改config文件,如下
[root@ss ~]# systemctl restart httpd [root@ss ~]# vim /var/www/html/admin/config.php  ...... [root@ss ~]# vim /var/www/html/config.php  ......

问题

1. 地址栏域名变成了IP

解决方法见上

2. 访问不了页面

请确保防火墙的设置

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!