Cách cài đặt Prestashop với Apache và Let's Encrypt SSL trên Debian 11

theanh

Administrator
Nhân viên
PrestaShop là giải pháp thương mại điện tử miễn phí, mã nguồn mở, hiệu quả và sáng tạo giúp bạn bán sản phẩm trực tuyến. Đây là CMS thương mại điện tử mạnh mẽ và có khả năng thích ứng, cung cấp mọi tính năng cần thiết để tạo cửa hàng trực tuyến. Với PrestaShop, bạn có thể quản lý hàng tồn kho, danh mục sản phẩm, vận chuyển, lập hóa đơn và nhiều tính năng khác. Nó cung cấp hơn 5000 mô-đun, chủ đề và hỗ trợ nhiều hệ thống cổng thanh toán khác nhau như PayPal, Google Checkout, v.v.

Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt PrestaShop với máy chủ web Apache và Let's Encrypt SSL trên Debian 11.

Điều kiện tiên quyết​

  • Một máy chủ đang chạy Debian 11.
  • Một tên miền hợp lệ được trỏ đến IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình trên máy chủ.

Cài đặt Apache, MariaDB và PHP​

Trước tiên, bạn sẽ cần cài đặt Apache, MariaDB, PHP và các tiện ích mở rộng PHP khác vào máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server libapache2-mod-php php php-gd php-mbstring php-mysql php-curl php-xml php-cli php-intl php-zip unzip -y
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và điều chỉnh một số cài đặt:
Mã:
nano /etc/php/7.4/apache2/php.ini
Thay đổi các dòng sau:
Mã:
memory_limit = 256Mpost_max_size = 64Mupload_max_filesize = 32Mdate.timezone = UTC
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl restart apache2

Tạo Cơ sở dữ liệu cho PrestaShop​

Trước tiên, bạn sẽ cần bảo mật cài đặt MariaDB và đặt mật khẩu gốc MariaDB. Bạn có thể thực hiện bằng cách chạy tập lệnh mysql_secure_installation:
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không):Chuyển sang xác thực unix_socket [Y/n] YĐổi mật khẩu gốc? [Y/n] YMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [Y/n] YKhông cho phép đăng nhập root từ xa? [Y/n] YXóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] YTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Tiếp theo, đăng nhập vào shell MariaDB bằng lệnh sau:
Mã:
mysql -u root -p
Cung cấp mật khẩu root MariaDB của bạn rồi tạo người dùng và cơ sở dữ liệu cho PrestaShop bằng lệnh sau:
Mã:
MariaDB [(none)]> CREATE DATABASE prestadb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON prestadb.* TO 'prestauser'@'localhost' IDENTIFIED BY 'yourpass';
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> QUYỀN XẢY RA;
MariaDB [(không có)]> EXIT;

Tải xuống PrestaShop​

Tiếp theo, hãy truy cập trang web PrestaShop và tải xuống phiên bản PrestaShop mới nhất bằng lệnh sau:
Mã:
wget https://download.prestashop.com/download/releases/prestashop_1.7.7.7.zip
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
unzip prestashop_1.7.7.7.zip
Tiếp theo, giải nén PrestaShop một lần nữa bên trong thư mục gốc web Apache bằng lệnh sau:
Mã:
unzip prestashop.zip -d /var/www/html/prestashop
Tiếp theo, hãy thiết lập quyền sở hữu và quyền thích hợp cho thư mục PrestaShop:
Mã:
chown -R www-data:www-data /var/www/html/prestashop/ 
chmod -R 755 /var/www/html/prestashop
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình Apache cho PrestaShop​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache cho PrestaShop. Bạn có thể tạo tệp này bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/prestashop.conf
Thêm các dòng sau:
Mã:
 ServerAdmin [emailprotected] ServerName presta.example.com DocumentRoot /var/www/html/prestashop  Options FollowSymlinks AllowOverride All Require all granted  ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined
Lưu và đóng tệp sau đó bật mô-đun ghi đè Apache và kích hoạt máy chủ ảo Apache bằng lệnh sau:
Mã:
a2enmod rewrite
a2ensite prestashop
Cuối cùng, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl restart apache2
Bạn cũng có thể kiểm tra dịch vụ Apache bằng lệnh sau:
Mã:
systemctl status apache2
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2021-08-27 06:15:23 UTC; 5 phút trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 17540 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) PID chính: 14330 (apache2) Nhiệm vụ: 6 (giới hạn: 2341) Bộ nhớ: 16,5M CPU: 332ms CGroup: /system.slice/apache2.service ??14330 /usr/sbin/apache2 -k start ??17544 /usr/sbin/apache2 -k start ??17545 /usr/sbin/apache2 -k start ??17546 /usr/sbin/apache2 -k start ??17547 /usr/sbin/apache2 -k start ??17548 /usr/sbin/apache2 -k start27 tháng 8 06:15:23 debian11 systemd[1]: Khởi động Máy chủ Apache HTTP...

Truy cập Giao diện người dùng web PrestaShop​

Lúc này, PrestaShop đã được cài đặt và cấu hình. Bây giờ bạn có thể truy cập bằng URL . Bạn sẽ thấy trang sau:



Chọn ngôn ngữ của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Chấp nhận các điều khoản và điều kiện, sau đó nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Cung cấp tên cửa hàng, thông tin chi tiết về tài khoản quản trị viên và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Cung cấp cài đặt cơ sở dữ liệu của bạn và nhấp vào nút Tiếp theo để bắt đầu cài đặt. Sau khi cài đặt hoàn tất, bạn sẽ thấy trang sau:



Nhấp vào nút Quản lý cửa hàng của bạn. Bạn sẽ thấy trang sau:



Tiếp theo, mở terminal và xóa thư mục cài đặt:
Mã:
rm -rf /var/www/html/prestashop/install
Bây giờ, hãy truy cập giao diện quản trị PrestaShop bằng URL hiển thị ở màn hình trước. Bạn sẽ thấy màn hình đăng nhập PrestaShop:



Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển PrestaShop trên trang sau:


Bảo mật PrestaShop với Let's Encrypt SSL​

Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot Let's Encrypt để tải xuống và cài đặt chứng chỉ SSL cho tên miền của mình.

Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
Sau khi cài đặt, bạn có thể chạy lệnh sau để cài đặt Chứng chỉ Let's Encrypt cho tên miền prestashop.example.com của mình.
Mã:
certbot --apache -d presta.example.com
Trong quá trình cài đặt, bạn sẽ được yêu cầu cung cấp địa chỉ email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator apache, Installer apacheNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận phát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)ó: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho prestashop.example.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/prestashop-le-ssl.confTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/prestashop-le-ssl.confBật trang web khả dụng: /etc/apache2/sites-available/prestashop-le-ssl.confVui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Tiếp theo, nhập 2 và nhấn Enter để tải xuống và cài đặt chứng chỉ SSL miễn phí cho tên miền của bạn. Sau khi quá trình cài đặt hoàn tất thành công. Bạn sẽ nhận được kết quả sau:
Mã:
Enabled Apache rewrite moduleĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/prestashop.conf đến ssl vhost trong /etc/apache2/sites-available/prestashop-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://prestashop.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=prestashop.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Kết luận​

Trong hướng dẫn trên, chúng tôi đã giải thích cách cài đặt PrestaShop với Apache và chứng chỉ SSL Let's Encrypt trên Debian 11. Bây giờ bạn có thể dễ dàng lưu trữ cửa hàng trực tuyến của mình với PrestaShop. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên