如何在Debian 9上安裝Zen Cart

 

Zen Cart是一個免費的開源電子商務內容管理和購物車平台。 該軟件是用PHP編程語言編寫的,通常安裝在Linux下的Apache / Nginx Web服務器,PHP和MySQL / MariaDB數據庫管理系統,也稱為LAMP或LEMP堆棧。 Zen Cart電子商務解決方案用於輕鬆為不同的企業創建在線商店,並宣傳和銷售服務和商品。

閱讀更多

在本指南中,我將向您展示如何在Debian 9上安裝和配置最新版Zen Cart,以便創建一個免費的在線購物商店。

要求

  • 在裸機或虛擬專用服務器上最小化安裝Debian 9服務器
  • 為您的某個系統網絡接口卡配置的靜態IP地址
  • 本地或遠程帳戶的sudo root權限或直接訪問root帳戶
  • 域名,私有或公共,具體取決於您的部署,並為Web服務配置了正確的DNS記錄。 如果沒有有效或註冊的域名,您可以執行安裝並通過服務器IP地址訪問網站
  • 如果您想使用網站註冊,評論審核和其他功能,您應該在您的場所正確配置正在運行的郵件服務器,並遠程訪問其IMAP和SMTP服務。

前要求

在開始從您自己的服務器中的源安裝和配置Zen Cart之前,首先要確保系統滿足編譯和安裝應用程序的所有軟件要求。 第一步,通過發出以下命令更新系統存儲庫和軟件包。

apt更新

升級

接下來,通過執行以下命令設置系統名稱(相應地替換主機名變量)。

hostnamectl set-hostname zencart

通過發出以下命令驗證計算機主機名和主機文件。

hostnamectl

cat / etc / hostname

主機名-s

主機名-f

在下一步中,執行以下命令以安裝一些必要的實用程序,這些實用程序將用於從命令行進一步管理系統。

apt install wget bash-completion zip unzip curl

最後,重新啟動Debian服務器以便應用內核更新並正確更改主機名。

systemctl重啟

安裝Apache和PHP

Zen Cart是一個基於Web的CMS電子商務平台,主要使用PHP服務器端編程語言編寫。 為了執行應用程序的PHP文件腳本,必須在系統中安裝Web服務器,例如Apache HTTP服務器和PHP處理網關。 為了安裝Apache Web服務器和PHP解釋器以及應用程序正常運行所需的所有必需PHP模塊,請在服務器控制台中發出以下命令。

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-curl php7.0-gd php7.0-mbstring php7.0-xml

安裝Apache和PHP後,測試Web服務器是否已啟動並正在運行,並通過以root權限發出以下命令來偵聽端口80上的網絡連接。

netstat -tlpn

如果默認情況下在Debian系統中未安裝netstat網絡實用程序,請執行以下命令進行安裝。

apt安裝網絡工具

通過檢查netstat命令輸出,您可以看到Apache Web服務器正在偵聽端口80上的傳入網絡連接。 對於相同的任務,您還可以使用ss命令,該命令默認在Debian 9中自動安裝。

ss- tulpn

配置防火牆

如果您的系統中啟用了防火牆,例如UFW防火牆應用程序,則應添加新規則以允許HTTP流量通過發出以下命令來通過防火牆。

ufw允許WWW

or

ufw允許80 / tcp

如果您使用iptables原始規則來管理Debian服務器中的防火牆規則,請添加以下規則以允許防火牆上的端口80入站流量,以便訪問者可以瀏覽在線商店。

apt-get install -y iptables-persistent

iptables -I INPUT -p tcp -destination-port 80 -j ACCEPT

systemctl iptables-persistent save

systemctl iptables-persistent reload

Configurae Apache和SSL / TLS

接下來,通過發出以下命令,啟用並應用電子商務應用程序所需的以下Apache模塊以正常運行。

a2enmod重寫過期env別名deflate mime

systemctl重啟apache2

最後,通過HTTP協議訪問Debian計算機IP地址或域名或服務器FQDN,測試Apache Web服務器默認網頁是否可以顯示在客戶端的瀏覽器中,如下圖所示。 如果您不知道您的機器IP地址,請執行ifconfig或'ip a'命令以顯示您的服務器的IP地址。

http://yourdomain.tld

Apache默認頁面

要通過HTTPS協議安裝和訪問Zen Cart Web管理面板和前端網站,以保護客戶端的流量,請發出以下命令以啟用Apache Web服務器SSL模塊和SSL站點配置文件。

a2enmod ssl

a2ensite default-ssl.conf

接下來,使用文本編輯器打開Apache默認SSL站點配置文件,並通過在DocumentRoot指令之後添加以下代碼行來啟用URL重寫規則,如以下示例所示:

nano /etc/apache2/sites-enabled/default-ssl.conf

SSL站點配置文件摘錄:

選項+ FollowSymlinks AllowOverride全部需要全部授予

此外,對VirtualHost行進行以下更改,如下面的摘錄所示:

SSL Vhost

關閉SSL Apache文件並打開/etc/apache2/sites-enabled/000-default.conf文件進行編輯,並添加與SSL配置文件相同的URL重寫規則。 在DocumentRoot語句之後插入代碼行,如以下示例所示。

 選項+ FollowSymlinks AllowOverride全部需要全部授予

vhost中的目錄設置

最後,重新啟動Apache守護程序以應用到目前為止配置的所有規則,並通過HTTP協議訪問您的域。 因為您在安裝時使用Apache發出的自動自簽名證書對,所以應在瀏覽器中顯示錯誤警告。

systemctl重啟apache2

https://yourdomain.tld

SSL頁面

接受有關不受信任證書的警告,以便繼續並重定向到Apache默認網頁。

Apache默認頁面

如果UFW防火牆應用程序阻止傳入網絡連接到HTTPS端口,則應添加新規則以允許HTTPS流量通過發出以下命令來通過防火牆。

允許'WWW Full'

or

ufw允許443 / tcp

如果iptables是為在網絡級別保護Debian系統而安裝的默認防火牆應用程序,請添加以下規則以允許防火牆中的端口443入站流量,以便訪問者可以瀏覽您的域名。

iptables -I INPUT -p tcp -destination-port 443 -j ACCEPT

systemctl iptables-persistent save

systemctl iptables-persistent reload

在下一步中,我們需要對PHP默認配置文件進行一些進一步的更改,以確保啟用以下PHP變量並正確配置PHP時區設置並匹配系統的地理位置。 打開/etc/php/7.0/apache2/php.ini文件進行編輯,並確保以下行設置如下。 此外,最初,備份PHP配置文件。

cp /etc/php/7.0/apache2/php.ini{,.backup}

nano /etc/php/7.0/apache2/php.ini

搜索,編輯和更改以下變量 php.ini中 配置文件:

file_uploads =在memory_limit上= 128 M upload_max_file_size = 64M post_max_size = 64M date.timezone =歐洲/倫敦

將post_max_size和upload_max_file_size變量增加為適合支持大型文件附件,並根據PHP文檔提供的時區列表,在以下鏈接http://php.net/manual/en中相應地將time.zone變量替換為您的物理時間。 /timezones.php

如果您想通過可用於PHP7的OPCache插件來提高網站頁面的加載速度,請在PHP解釋器配置文件的底部附加以下OPCache設置,詳情如下:

opcache.enable = 1 opcache.enable_cli = 1 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 10000 opcache.memory_consumption = 128 opcache.save_comments = 1 opcache.revalidate_freq = 1

關閉php.ini配置文件並驗證PHP配置文件的結束,以通過發出以下命令檢查變量是否已正確添加。

tail /etc/php/7.0/apache2/php.ini

完成上述所有更改後,重新啟動apache守護程序以通過發出以下命令來應用新更改。

systemctl重啟apache2

最後,通過執行以下命令創建PHP信息文件,並通過訪問以下URL中的瀏覽器訪問PHP信息腳本文件來檢查PHP時區是否已正確配置,如下圖所示。 向下滾動到日期設置以檢查php時區配置。

迴聲'| 發球區/var/www/html/info.php

https://yourdomain.tld/info.php

picture6-8129791

Zen Cart電子商務Web應用程序在RDBMS數據庫中存儲不同的配置,例如用戶,會話,聯繫人,產品,目錄等。 在本指南中,我們將配置Zen Cart應用程序以將MariaDB數據庫用作後端。 發出以下命令以安裝MariaDB數據庫和訪問mysql數據庫所需的PHP模塊。

apt install mariadb-server mariadb-client php7.0-mysql

安裝MariaDB後,驗證守護程序是否正在運行,並通過運行netstat命令偵聽localhost端口3306上的連接。

netstat -tlpn | grep mysql

然後,通過發出以下命令登錄MySQL控制台並保護MariaDB root帳戶。

mysql -h localhost

使用mysql; update user set plugin =''where user ='root'; 沖洗特權; 出口

在下一步中,通過執行Debian拉伸存儲庫中的安裝包提供的腳本mysql_secure_installation來保護MariaDB。 運行腳本時會詢問一系列旨在保護MariaDB數據庫的問題,例如:更改MySQL root密碼,刪除匿名用戶,禁用遠程root登錄和刪除測試數據庫。 通過發出以下命令來執行腳本,並確保為所有問題鍵入yes以完全保護MySQL守護程序。 使用以下腳本輸出摘錄作為指南。

sudo mysql_secure_installation

注意:建議在生產中使用所有MariaDB服務器運行此腳本的所有部分! 請仔細閱讀每一步! 為了登錄MariaDB以保護它,我們需要root用戶的當前密碼。 如果您剛剛安裝了MariaDB,並且尚未設置root密碼,則密碼將為空,因此您只需按Enter鍵即可。 輸入root的當前密碼(輸入none):確定,成功使用密碼,繼續...設置root密碼可確保沒有適當的授權,任何人都無法登錄MariaDB root用戶。 您已經設置了root密碼,因此您可以安全地回答'n'。 更改root密碼? [是/否] y新密碼:重新輸入新密碼:密碼更新成功! 重新加載權限表......成功! 默認情況下,MariaDB安裝具有匿名用戶,允許任何人登錄MariaDB而無需為其創建用戶帳戶。 這僅用於測試,並使安裝更順暢。 您應該在進入生產環境之前將其刪除。 刪除匿名用戶? [是/否]你......成功! 通常,只允許root用戶從'localhost'連接。 這可以確保有人無法猜測來自網絡的root密碼。 禁止遠程登錄? [是/否]你......成功! 默認情況下,MariaDB附帶一個名為“test”的數據庫,任何人都可以訪問。 這也僅用於測試,應在進入生產環境之前刪除。 刪除測試數據庫並訪問它? [是/否] y  - 刪除測試數據庫......成功!  - 刪除測試數據庫的權限...... ...成功! 重新加載權限表將確保到目前為止所做的所有更改都將立即生效。 現在重新加載權限表? [是/否]你......成功! 清理......一切都完成了! 如果您已完成上述所有步驟,那麼您的MariaDB安裝現在應該是安全的。 感謝您使用MariaDB!

為了測試MariaDB安全性,請嘗試從沒有root密碼的控制台登錄數據庫。 如果沒有為root帳戶提供密碼,則應拒絕訪問數據庫,如以下命令摘錄所示:

[email protected]:〜# mysql -h localhost -u root

輸入密碼:ERROR 1045(28000):用戶'root'@'localhost'的訪問被拒絕(使用密碼:NO)

如果提供了密碼,則應將登錄過程授予MySQL控制台,如命令示例所示:

[email protected]:〜#mysql -h localhost -u root -p

輸入密碼:歡迎使用MariaDB監視器。 命令以;結尾; 或g。 您的MariaDB連接ID是15服務器版本:10.1.26-MariaDB-0 + deb9u1 Debian 9.1版權所有(c)2000、2017,Oracle,MariaDB Corporation Ab等。 輸入“幫助;” 或“ h”尋求幫助。 鍵入“ c”以清除當前輸入語句。 MariaDB [(無)]> 出口
再見

接下來,通過發出以下命令,登錄MariaDB數據庫控制台,為Zen Cart應用程序創建數據庫,並為用戶提供用於管理應用程序數據庫的密碼。 相應地替換數據庫名稱,用戶和密碼。

mysql -u root -p

創建數據庫zencart; 在zencart。*上將SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX,DROP授予由'password1'標識的'zencart_user'@'localhost'; 同花順特權; 出口

要應用到目前為止所做的所有更改,請重新啟動MySQL和Apache守護程序,並通過發出以下命令驗證守護程序是否正在運行。

systemctl重啟mysql apache2

systemctl status mysql apache2

安裝Zen Cart

完成電子商務在線商店安裝的所有系統要求後,請訪問SourceForge Zen Cart官方下載頁面 https://sourceforge.net/projects/zencart/files/ 並在wget實用程序的幫助下下載最新的zip包壓縮存檔,如以下示例所示。

wget https://downloads.sourceforge.net/project/zencart/CURRENT%20-%20Zen%20Cart%201.5.x%20Series/zen-cart-v1.5.5f-12312017b.zip

zip存檔下載完成後,直接解壓縮Zen Cart zip壓縮存檔,並通過發出以下命令列出解壓縮的文件。 此外,刪除Apache Web服務器安裝到webroot路徑的默認index.html文件,並刪除之前創建的info.php文件。

rm /var/www/html/index.html

rm /var/www/html/info.php

解壓縮zen-cart-v1.5.5f-12312017b.zip

ls

Zen Cart的安裝文件位於解壓縮的zen-cart目錄中的當前工作目錄中。 發出ls命令查看zen-cart目錄文件。 通過發出以下命令,將zen-cart-v1目錄的所有內容複製到Web服務器文檔根路徑。

ls -al zen-cart-v [tab]

cp -rf zen-cart-v1.5.5e-03082017 / * / var / www / html /

將目錄更改為Web服務器文檔根目錄並發出以下命令以創建Zen Cart應用程序寫入存儲設置所需的配置文件。

cd / var / www / html /

cp包含/ dist-configure.php包含/ configure.php

cp admin / includes / dist-configure.php admin / includes / configure.php

接下來,執行以下命令以向Apache運行時用戶授予對Web根路徑的完全寫入權限。 使用ls命令列出位於/ var / www / html /目錄中的應用程序安裝文件的權限。

chown -R www-data:www-data / var / www / html /

ls -al / var / www / html /

ZenCart解壓縮

現在,通過打開瀏覽器並通過HTTPS協議導航服務器的IP地址或域名或服務器FQDN,繼續Zen Cart在線商店安裝過程。 在第一個安裝屏幕上,Zen Cart安裝程序將向您顯示與您正在查看該頁面有關的問題列表的摘要。 由於尚未安裝該應用程序,請點擊“單擊此處”鏈接以啟動安裝過程,如下圖所示。

https://yourdomain.tld

ZenCart網絡安裝程序

在下一個安裝屏幕中,安裝程序將對服務器PHP設置和已安裝的PHP擴展執行一系列預安裝檢查,以確定是否滿足安裝Zen Cart電子商務應用程序的所有系統要求。 它還將檢查Apache HTTP運行時用戶是否可以從webroot路徑寫入一系列目錄,如下圖所示。 查看完所有系統檢查檢查後,點擊“繼續”按鈕繼續安裝過程。

系統檢查在下一個屏幕上,設置您的Zen Cart在線商店。 首先,選中“許可協議”複選框,並驗證管理服務器域URL地址,以通過HTTPS應用程序協議重定向到您的域名。 接下來,選中在Catalog(Storefront)設置中為Storefront啟用SSL並驗證域URL地址。 在最後一個字段中,驗證商店物理路徑是否與您的Web服務器文檔根路徑匹配,然後單擊“繼續”按鈕繼續安裝過程。

系統設置

在下一個安裝屏幕中,添加之前為Zen Cart數據庫創建的MySQL數據庫地址,名稱和憑據。 不選中Load Demo Data並選擇數據庫字符集為UTF8,前綴為zen_。 選擇“文件的SQL緩存方法”,然後單擊“繼續”按鈕以移至下一個安裝階段。

數據庫設置

接下來,為您的Zen Cart在線商店添加管理員超級用戶帳戶,並為管理員帳戶添加電子郵件地址。 確保記下管理存儲密碼和管理目錄名稱,然後單擊繼續按鈕開始安裝過程。

管理員設置

安裝完成後,安裝程序將顯示兩個按鈕,用於訪問Zen Cart Backed Administration面板,該面板將用於管理您的在線商店,以及Storefront商店鏈接,該鏈接將顯示給您的客戶。

設置完成

要訪問您的在線商店,首先點擊轉到您的店面按鈕,您的電子商務應用程序的前端將顯示在您的瀏覽器中,如下面的屏幕截圖所示。 您還可以通過HTTPS協議導航到您的服務器IP地址或域名來訪問商店前端。

https://www.yourdomain.tld

ZenCart已安裝

在登錄到您的商店支持的管理面板之前,首先,返回到服務器控制台並發出以下命令以刪除Zen Cart安裝目錄。

rm -rf / var / www / html / zc_install /

要管理您的Zen Cart在線商店,請點擊Admin Backend鏈接,該鏈接會將您重定向到商店後端。 使用在安裝過程中配置的管理憑據登錄Zen Cart後端面板,如下面的屏幕截圖所示。
您還可以通過HTTPS協議導航到您的服務器IP地址或域名,訪問Zen Cart管理員Web面板,以便在安裝過程中配置管理目錄URL地址隨機字符串。
https://yourdomain.tld/random_string/login.php

ZenCart登錄登錄到Zen Cart支持的管理面板後,使用您自己的商店詳細信息完成初始設置嚮導,並使用更新按鈕上的git寫入更改,如以下屏幕截圖所示。

ZenCart初始設置嚮導

為了保護Zen Cart應用程序,請返回服務器控制台並發出以下命令以更改includes / configure.php文件的權限,並將admin目錄中的configure.php文件更改為root帳戶所有。

chown root:root /var/www/html/includes/configure.php

chown root:root /var/www/html/brOil-QUl-cHain/includes/configure.php

最後,為了強制訪問者瀏覽Zen Cart前端網站並通過HTTPS協議安全地訪問後端界面,該協議加密服務器和客戶端瀏覽器之間的流量,返回到服務器終端並通過發出以下命令創建新的.htaccess文件命令。

納米/var/www/html/.htaccess

更改PHP設置以匹配您自己的服務器資源,並添加HTTPS重定向規則,如下所示.htaccess文件摘錄:

#修改PHP設置
php_flag register_globals關閉php_flag magic_quotes_gpc關閉php_value max_execution_time 200 php_value max_input_time 200 php_value upload_max_filesize 999M
php_value post_max_size 999M
#重定向到HTTPS

RewriteEngine敘述在
RewriteCond%{HTTPS}關閉
RewriteRule(。*)https://%{SERVER_NAME} / $ 1 [R,L]

就這樣! 您已在Debian 9.2中成功安裝並配置了Zen Cart電子商務應用程序。 但是,由於Apache HTTP服務器使用不受信任的自簽名證書來加密服務器和訪問者瀏覽器之間的流量,因此將始終生成警告消息並在其瀏覽器中顯示。 此警告對您的在線商店業務不利。 在這種情況下,您應購買由可信證書頒發機構頒發的證書,或從Let's Encrypt CA獲取免費證書對。

有關Zen Cart應用程序的其他自定義配置,請訪問以下地址的文檔頁面: https://www.zen-cart.com/wiki/index.php/Main_Page

資源

相關文章