【大数据】Spark优化经验&案例--数据倾斜 《Mysql必知必会》读书笔记 jar包名中自动添加git commit id PyCharm教学视频学习笔记 《SQL基础教程》简要总结 《设计师要懂心理学》读书笔记 MySQL与MariaDB学习笔记 WDT (Folly) 安装指南 -- CentOS 7 [solved]Page build failed(Jekyll) 数据包过滤及分析实例 tshark tcpdump Scala Tour 学习总结 “Docker容器和容器云”读书笔记(1) “Docker Practice”读书笔记 “图解基础设施设计模式”小结 “图解服务器端网络架构”小结 Python网络安全编程 数据包解析笔记 华为挑战赛(1) DDoS攻击防御与云服务 基于网络回溯分析技术的异常行为分析 “Linux程序设计”小结(进程间通信) C语言编程规范(华为软件精英挑战赛) 2017阿里在线编程题--单源最短路径问题 2017年阿里在线编程题-- 数串分组 Uinx/Linux上的帮助查询命令 你懂C,所以C++不在话下 一篇特别长的总结(C专家编程) 程序员面试金典--笔记(精华篇) C陷阱与缺陷--笔记 半小时搭建电子商务网站--opencart linux网络知识和工具(持续更新) 网卡参数查询及设置工具ethtool 高性能流量生成工具trafgen(DDoS模拟) Linux流量控制工具TC 流量控制工具TC详细说明 tcpdump过滤数据包,结果不对? Lecture 网络攻击与防御技术笔记 gotgit-git权威指南 高效使用MacOS所要知道的 shell内置字符串处理 配置ntp(知其所以然) 360黑客攻防技术分享会--记录 中毒U盘恢复--快捷键病毒 Tor--anonymity network介绍(PPT) IBM bluemix 再读《Linux Shell脚本攻略》 linux shell 学习摘记(9) linux shell 学习摘记(8) linux shell 学习摘记(7) linux shell 学习摘记(6) linux shell 学习摘记(5) linux shell 学习摘记(4) linux shell 学习摘记(3) linux shell 学习摘记(2) linux shell 学习摘记(1) firefox vim 插件 vimperator A Byte of Vim 笔记 windows注册表小知识 安全测试工具篇(开源&商业) 安全及性能测试工具(网站收集) 性能测试工具 屡试不爽的“3个”iPad使用技巧 Shell Shortcuts(和Tab键一样实用) vim--自动添加jekyll post信息头 vim 自动给文件添加头部信息 GitHub Tips (很实用,值得收藏) Linux路由、防火墙、NAT命令

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

2017年01月18日

原文链接: http://codeshold.com/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

      ```bash
      ## 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检测的结果再安装也行

      ```bash
      ## 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服务
QQ截图20170117153441.png-52.2kB

  • 进入pre-installation检测页面
    请根据检测的结果,安装相应的软件包、php扩展包或者设置文件权限
    如下图显示缺少了php扩展(修改请参考前面步骤,如yum install php-mcrypt -y,修改后重启httpd服务systemctl restart httpd,再刷新页面)!
    QQ截图20170117153535.png-73.6kB
    如下图显示缺少对应文件或目录的可写权限(修改请参考前面步骤,如chmod a+w config.php admin/config.php,修改后重启httpd服务systemctl restart httpd,再刷新页面)!
    image_1b6lm4dep1ndo1qs41jh41slg1pm318.png-92.3kB
    修改后的
    image_1b6lmii5g12pkpk21fh81gb2nmp1l.png-42.9kB

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

image_1b6ln2cspq6m1pusaud7v01vic22.png-72.1kB

  • 完成安装后
    参考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测试

image_1b6lnoorg1mjc1br31s8e1nlh17md2f.png-220.3kB

其他配置(防火墙,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/)进行设置,如下

image_1b6m9vfu2gn4hjf1tk61qr2cve3m.png-30.2kB

域名设置

  • 在阿里云云解析DNS上添加记录,如下(假设域名为codeshold.com
记录类型 主机记录 记录值 解析线路 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 
......

image_1b6m9h0ue12li11ll1j2r74n1ioq39.png-10.1kB

问题

1. 地址栏域名变成了IP

解决方法见上

image_1b6m9fv5a163g13f983r12j15kq2s.png-32.2kB

2. 访问不了页面

请确保防火墙的设置


知识共享许可协议
SWF's Hacking Dreamonephone 创作,采用 知识共享 署名-非商业性使用 4.0 国际 许可协议进行许可。
© 2011-2024. All rights reserved by onephone. Powerd by Jekyll.