如何使用Apache安裝PrestaShop並在CentOS 8上加密SSL

如何使用Apache安裝PrestaShop並在CentOS 8上加密SSL

PrestaShop是一個用PHP編寫的開源購物車,用於創建和管理在線業務。它提供了一個簡單易用的界面,可幫助您在最短的時間內啟動在線商店。它提供了一個用戶友好的界面,多個支付網關(PayPal,Google Checkout),移動響應設計,免費支持,多語言,分析,報告等等。

在本文中,我將向您展示如何使用Apache安裝PrestaShop以及如何在CentOS 8上安裝免費的Let’s Encrypt SSL證書。

先決條件

  • 運行CentOS的服務器8。
  • 指向服務器IP的有效域名。
  • 服務器具有root密碼。

安裝LAMP服務器

開始之前,您需要在服務器上安裝LAMP服務器。如果尚未安裝,則可以使用以下命令將其與其他PHP擴展一起安裝:

dnf install httpd mariadb-server php php-cli php-bcmath php-mysqli php-gd php-pdo php-xmlrpc php-intl php-posix php-json php-curl php-zip unzip -y

安裝所有必需的軟件包後,編輯php.ini文件並更改一些默認設置。

nano /etc/php.ini

更改以下行。

max_input_vars = 3000
post_max_size = 64M
upload_max_filesize = 64M
max_execution_time = 600
memory_limit = 256M
date.timezone = Asia/Kolkata

保存並關閉文件,然後啟動Apache和MariaDB服務,以便可以在系統重新啟動時啟動它們。

systemctl start httpdsystemctl start mariadbsystemctl enable httpdsystemctl enable mariadb

此時,LAMP服務器將安裝在服務器上。

創建一個PrestaShop數據庫

PrestaShop使用MySQL / MariaDB數據庫存儲您的數據。因此,您需要為PrestaShop創建數據庫和suer。

首先,使用以下命令登錄MariaDB:

mysql

登錄後,使用以下命令創建數據庫和用戶。

MariaDB [(none)]> CREATE DATABASE prestashopdb;MariaDB [(none)]> CREATE USER 'prestashopuser'@'localhost' IDENTIFIED BY 'securepassword';

然後使用以下命令將所有特權授予prestashopdb:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON prestashopdb. * TO 'prestashopuser'@'localhost';

然後刷新特權並使用以下命令退出MariaDB:

MariaDB [(none)]> FLUSH PRIVILEGES;MariaDB [(none)]> EXIT;

完成後,您可以繼續下一步。

安裝PrestaShop

接下來,您需要從官方下載頁面下載最新版本的PrestaShop。您可以使用以下命令下載它。

wget https://download.prestashop.com/download/releases/prestashop_1.7.7.3.zip

下載完成後,使用以下命令將下載的文件解壓縮到Apache Web根目錄中。

unzip prestashop_1.7.7.3.zip -d /var/www/html/prestashop

然後,使用以下命令設置prestashop目錄的適當所有權。

chown -R apache:apache /var/www/html/prestashop

完成後,您可以繼續下一步。

為PrestaShop配置Apache

接下來,您需要為PrestaShop創建一個Apache虛擬主機配置文件。您可以使用以下命令創建它。

nano /etc/httpd/conf.d/prestashop.conf

添加以下行。

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName prestashop.example.com
    DocumentRoot /var/www/html/prestashop

    <Directory /var/www/html/prestashop>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/prestashop-error_log
    CustomLog /var/log/httpd/prestashop-access_log common
</VirtualHost>

完成後,保存並關閉文件。然後重新啟動Apache服務以應用更改。

systemctl restart httpd

然後使用以下命令檢查Apache服務的狀態:

systemctl status httpd

您應該獲得以下輸出:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Wed 2021-04-07 01:04:19 EDT; 2h 2min ago
     Docs: man:httpd.service(8)
 Main PID: 47841 (httpd)
   Status: "Total requests: 313; Idle/Busy workers 100/0;Requests/sec: 0.0425; Bytes served/sec: 1.2KB/sec"
    Tasks: 278 (limit: 12524)
   Memory: 35.9M
   CGroup: /system.slice/httpd.service
           ??47841 /usr/sbin/httpd -DFOREGROUND
           ??47843 /usr/sbin/httpd -DFOREGROUND
           ??47844 /usr/sbin/httpd -DFOREGROUND
           ??47845 /usr/sbin/httpd -DFOREGROUND
           ??47846 /usr/sbin/httpd -DFOREGROUND
           ??48061 /usr/sbin/httpd -DFOREGROUND

Apr 07 01:04:19 centos8 systemd[1]: Stopped The Apache HTTP Server.
Apr 07 01:04:19 centos8 systemd[1]: Starting The Apache HTTP Server...

完成後,您可以繼續下一步。

配置防火牆

接下來,您需要允許端口80和443通過防火牆。您可以使用以下命令允許它們:

firewall-cmd --zone=public --permanent --add-service=httpfirewall-cmd --zone=public --permanent --add-service=https

然後重新加載防火牆以應用您的更改。

firewall-cmd --reload

完成後,您可以繼續下一步。

前往PrestaShop

然後打開Web瀏覽器並使用URL訪問PrestaShop Web界面。 http://prestashop.example.com..您將被重定向到下一頁。

選擇一種語言

選擇一種語言, 下一個 按鈕。顯示下一頁。

許可協議

接受許可協議,然後單擊 下一個 按鈕。顯示下一頁。

店鋪詳情

管理員帳號

輸入商店名稱,國家/地區信息,帳戶信息, 下一個 按鈕。顯示下一頁:廣告

數據庫配置

輸入數據庫名稱,數據庫用戶名和密碼,然後單擊。 下一個 按鈕。安裝完成後,將顯示下一頁。

Prestashop安裝成功完成

請點擊 管理您的商店 按鈕。顯示下一頁。

刪除安裝程序

然後使用以下命令刪除安裝文件夾:

rm -rf /var/www/html/prestashop/install

然後點擊 PrestaShop管理網址..顯示下一頁。

Prestashop管理員登錄

輸入管理員用戶名和密碼,然後單擊 登錄 按鈕。 PrestaShop儀錶板顯示在下一頁上。

Prestashop儀錶板

讓我們加密SSL保護PrestaShop

接下來,您需要安裝Certbot客戶端並安裝“讓我們為PrestaShop加密SSL”。您可以使用以下命令進行安裝。

dnf install letsencrypt python3-certbot-apache

然後,使用以下命令獲取並安裝let域的SSL證書。

certbot --apache -d prestashop.example.com

系統將要求您輸入電子郵件地址並同意使用條款。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for prestashop.example.com
Performing the following challenges:
http-01 challenge for prestashop.example.com
Waiting for verification.
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/prestashop.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/prestashop.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://prestashop.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: [email protected]).


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/prestashop.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/prestashop.example.com/privkey.pem
   Your certificate will expire on 2021-06-09. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

您現在可以使用URL安全地訪問您的網站。 https://prestashop.example.com。

結論

恭喜!您已經使用Apache和Let’s Encrypt SSL在CentOS 8上成功安裝了PrestaShop。您現在可以將產品添加到PrestaShop並開始在線銷售。如有任何疑問,請隨時與我們聯繫。

Sidebar