天天看點

半小時搭建電子商務網站--opencart

原文連結: 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. 安裝軟體包
[[email protected] ~]# yum install httpd php-y
## 2. 啟動httpd服務
##    httpd啟動後,浏覽器輸入伺服器ip即可浏覽預設的apache web頁面
[[email protected] ~]# systemctl start httpd
## 3. 設定httpd和mariadb開機啟動
[[email protected] ~]# 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,  row affected ( 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
[[email protected] ~]# yum install php -y

## 2. 安裝擴充包(可跳過此步驟,後面根據opencart檢測的結果再安裝)
[[email protected] ~]# yum install php-mysql php-mcrypt php-gd php-cli php-pdo -y

## 3. 查詢結果如下
[[email protected] opencart]# rpm -qa | grep php
php-common--el7.x86_64
php--el7.x86_64
php-mysql--el7.x86_64
php-mcrypt--el7.x86_64
php-gd--el7.x86_64
php-cli--el7.x86_64
php-pdo--el7.x86_64
           
  • 安裝和配置opencart

    安裝包可從官網或github上下載下傳最新版本

[[email protected] ~]# mkdir opencart && cd opencart

## 1. 從github上下載下傳最新版本的compiled包
[[email protected] opencart]# wget https://github.com/opencart/opencart/releases/download/2.3.0.2/2.3.0.2-compiled.zip

## 2. 解壓
[[email protected] opencart]# unzip -q 2.3.0.2-compiled.zip

## 3. 拷貝upload目錄下的檔案到/var/www/html/下
[[email protected] opencart]# cd /var/www/html/
[[email protected] html]# cp ~/opencart/upload/* . -rf

## 3. 根據目錄下的`install.txt`檔案即可完成配置和安裝)
## 3.1 修改config.php 檔案名
[[email protected] html]# mv config-dist.php config.php
[[email protected] html]# mv admin/config-dist.php admin/config.php
## 3.2 添加可寫權限
[[email protected] html]# chmod a+w config.php admin/config.php 
[[email protected] html]# chmod a+w /var/www/html/image/ -R
[[email protected] html]# chmod a+w /var/www/html/system/ -R
           
  • 進入安裝頁面

浏覽器輸入伺服器ip位址進入頁面安裝

可能會需要

systemctl restart httpd

重新開機httpd服務

半小時搭建電子商務網站--opencart
  • 進入pre-installation檢測頁面

    請根據檢測的結果,安裝相應的軟體包、php擴充包或者設定檔案權限

    如下圖顯示缺少了php擴充(修改請參考前面步驟,如

    yum install php-mcrypt -y

    ,修改後重新開機httpd服務

    systemctl restart httpd

    ,再重新整理頁面)!
    半小時搭建電子商務網站--opencart
    如下圖顯示缺少對應檔案或目錄的可寫權限(修改請參考前面步驟,如

    chmod a+w config.php admin/config.php

    ,修改後重新開機httpd服務

    systemctl restart httpd

    ,再重新整理頁面)!
    半小時搭建電子商務網站--opencart
    修改後的
    半小時搭建電子商務網站--opencart
  • 進入配置頁面

    填寫前面設定的資料庫名opencartdb,以及使用者名和密碼(opencart/opencart)

    如果一開始已經配置好了域名解析,hostname一欄填寫域名即可!

半小時搭建電子商務網站--opencart
  • 完成安裝後

    參考

    install.txt

## 删除安裝目錄
[[email protected] html]# rm -rf install/
## 由于安裝的是github上的compiled包,是以要拷貝vendor
[[email protected] ~]# cp -rf  ~/opencart/vendor/ /var/www/
[[email protected] www]# cd /var/www/ && ls 
cgi-bin  html  vendor
           
  • 輸入IP測試
半小時搭建電子商務網站--opencart

其他配置(防火牆,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  -j ACCEPT
## 3.2 啟動防火牆并設定開機啟動
[root@ss ~]# systemctl start iptables && systemctl enable iptables
           
  • ftp配置

    安裝vsftp,

    yum install vsftpd -y

    , 配置好後,浏覽器進入管理頁面(http://域名/admin/)進行設定,如下
半小時搭建電子商務網站--opencart

域名設定

  • 在阿裡雲雲解析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檔案,如下
[[email protected] ~]# systemctl restart httpd
[[email protected] ~]# vim /var/www/html/admin/config.php 
......
[[email protected] ~]# vim /var/www/html/config.php 
......
           
半小時搭建電子商務網站--opencart

問題

1. 位址欄域名變成了IP

解決方法見上

半小時搭建電子商務網站--opencart

2. 通路不了頁面

請確定防火牆的設定

繼續閱讀