PrestaShop là một giỏ hàng mã nguồn mở được viết bằng PHP dùng để tạo và quản lý doanh nghiệp trực tuyến của bạn. Nó cung cấp một giao diện đơn giản và dễ sử dụng giúp bạn khởi chạy cửa hàng trực tuyến của mình trong thời gian tối thiểu. Nó cung cấp rất nhiều tính năng bao gồm giao diện thân thiện với người dùng, nhiều cổng thanh toán (PayPal, Google Checkout), thiết kế phản hồi trên thiết bị di động, hỗ trợ miễn phí, đa ngôn ngữ, phân tích, báo cáo và nhiều hơn nữa.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt PrestaShop với Apache và chứng chỉ SSL Let's Encrypt miễn phí trên CentOS 8.
Sau khi cài đặt tất cả các gói cần thiết, hãy chỉnh sửa tệp php.ini và thay đổi một số cài đặt mặc định:
Thay đổi các dòng sau:
Lưu và đóng tệp, sau đó khởi động dịch vụ Apache và MariaDB và cho phép chúng khởi động khi khởi động lại hệ thống:
Lúc này, máy chủ LAMP đã được cài đặt trên máy chủ của bạn.
Đầu tiên, hãy đăng nhập vào MariaDB bằng lệnh sau:
Sau khi đăng nhập, hãy tạo một cơ sở dữ liệu và người dùng bằng lệnh sau:
Tiếp theo, cấp tất cả các quyền cho prestashopdb bằng lệnh sau:
Tiếp theo, xóa quyền và thoát khỏi MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống vào thư mục gốc web Apache bằng lệnh sau:
Tiếp theo, đặt quyền sở hữu thích hợp cho thư mục prestashop bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Tiếp theo, xác minh trạng thái của dịch vụ Apache bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, tải lại tường lửa để áp dụng các thay đổi:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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:
Đồng ý với Thỏa thuận cấp phép và 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 quốc gia, thông tin tài khoản và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Cung cấp tên cơ sở dữ liệu, tên người dùng cơ sở dữ liệu, mật khẩu và nhấp vào nút Tiếp theo. Sau khi quá trình 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. Bạn sẽ thấy trang sau:
Bây giờ, hãy xóa thư mục cài đặt bằng lệnh sau:
Tiếp theo, hãy nhấp vào URL quản trị PrestaShop. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển PrestaShop ở trang sau:
Tiếp theo, hãy lấy và cài đặt chứng chỉ SSL cho tên miền lets của bạn bằng lệnh sau:
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ụ:
Bây giờ bạn có thể truy cập trang web của mình một cách an toàn bằng URL https://prestashop.example.com. Nếu bạn muốn chuyển hướng theo thiết bị, hãy xem tại đây.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt PrestaShop với Apache và chứng chỉ SSL Let's Encrypt miễn phí trên CentOS 8.
Điều kiện tiên quyết
- Một máy chủ chạy CentOS 8.
- Một tên miền hợp lệ được trỏ bằng 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ủa bạn.
Cài đặt Máy chủ LAMP
Trước khi bắt đầu, máy chủ LAMP phải được cài đặt trong máy chủ của bạn. Nếu chưa cài đặt, bạn có thể cài đặt nó cùng với các tiện ích mở rộng PHP khác bằng lệnh sau:
Mã:
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
Mã:
nano /etc/php.ini
Mã:
max_input_vars = 3000post_max_size = 64Mupload_max_filesize = 64Mmax_execution_time = 600memory_limit = 256Mdate.timezone = Asia/Kolkata
Mã:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Tạo cơ sở dữ liệu cho PrestaShop
PrestaShop sử dụng cơ sở dữ liệu MySQL/MariaDB để lưu trữ dữ liệu của họ. Vì vậy, bạn sẽ cần tạo một cơ sở dữ liệu và người dùng cho PrestaShop.Đầu tiên, hãy đăng nhập vào MariaDB bằng lệnh sau:
Mã:
mysql
Mã:
MariaDB [(none)]> CREATE DATABASE prestashopdb;
MariaDB [(none)]> CREATE USER 'prestashopuser'@'localhost' IDENTIFIED BY 'securepassword';
Mã:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON prestashopdb. * ĐẾN 'prestashopuser'@'localhost';
Mã:
MariaDB [(none)]> XÓA QUYỀN;
MariaDB [(none)]> EXIT;
Cài đặt PrestaShop
Tiếp theo, bạn sẽ cần tải xuống phiên bản mới nhất của PrestaShop từ trang tải xuống chính thức của họ. Bạn có thể tải xuống bằng lệnh sau:
Mã:
wget https://download.prestashop.com/download/releases/prestashop_1.7.7.3.zip
Mã:
unzip prestashop_1.7.7.3.zip -d /var/www/html/prestashop
Mã:
chown -R apache:apache /var/www/html/prestashop
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 nó bằng lệnh sau:
Mã:
nano /etc/httpd/conf.d/prestashop.conf
Mã:
ServerAdmin [emailprotected] ServerName prestashop.example.com DocumentRoot /var/www/html/prestashop Options +FollowSymlinks AllowOverride All Require all granted ErrorLog /var/log/httpd/prestashop-error_log CustomLog /var/log/httpd/prestashop-access_log common
Mã:
systemctl restart httpd
Mã:
systemctl status httpd
Mã:
? httpd.service - Máy chủ HTTP Apache Đã tải: đã tải (/usr/lib/systemd/system/httpd.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, 2021-04-07 01:04:19 EDT; 2 giờ 2 phút trước Tài liệu: man:httpd.service(8) PID chính: 47841 (httpd) Trạng thái: "Tổng số yêu cầu: 313; Công nhân nhàn rỗi/bận rộn 100/0; Yêu cầu/giây: 0,0425; Số byte được phục vụ/giây: 1,2KB/giây" Nhiệm vụ: 278 (giới hạn: 12524) Bộ nhớ: 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 -DFOREGROUND07/04 01:04:19 centos8 systemd[1]: Đã dừng Máy chủ Apache HTTP.07/04 01:04:19 centos8 systemd[1]: Đang khởi động Máy chủ Apache HTTP...
Cấu hình Tường lửa
Tiếp theo, bạn sẽ cần cho phép các cổng 80 và 443 đi qua tường lửa. Bạn có thể cho phép chúng bằng lệnh sau:
Mã:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
Mã:
firewall-cmd --reload
Truy cập PrestaShop
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web PrestaShop bằng URL . Bạn sẽ được chuyển hướng đến 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:
Đồng ý với Thỏa thuận cấp phép và 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 quốc gia, thông tin tài khoản và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:
Cung cấp tên cơ sở dữ liệu, tên người dùng cơ sở dữ liệu, mật khẩu và nhấp vào nút Tiếp theo. Sau khi quá trình 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. Bạn sẽ thấy trang sau:
Bây giờ, hãy xóa thư mục cài đặt bằng lệnh sau:
Mã:
rm -rf /var/www/html/prestashop/install
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển PrestaShop ở trang sau:
Bảo mật PrestaShop với Let's Encrypt SSL
Tiếp theo, bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt Let's Encrypt SSL cho PrestaShop. Bạn có thể cài đặt bằng lệnh sau:
Mã:
dnf install letsencrypt python3-certbot-apache
Mã:
certbot --apache -d prestashop.example.com
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. Bạn có đồng ý không?- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)es/(K)o: C- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có đồng ý, sau khi chứng chỉ đầu tiên của bạn được cấp thành công,chia sẻ địa chỉ email của bạn với Electronic Frontier Foundation, mộtđối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc mã hóa web,tin tức EFF, các chiến dịch và cách hỗ trợ tự do kỹ thuật số của chúng tôi.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)es/(K)o: CĐã đăng ký tài khoản.Yêu cầu chứng chỉ cho prestashop.example.comThực hiện các thử thách sau:Thử thách http-01 cho prestashop.example.comĐang chờ xác minh.Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/httpd/conf.d/prestashop.confĐang chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/httpd/conf.d/prestashop.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://prestashop.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Đăng ký danh sách gửi thư EFF (email: [emailprotected]).LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/prestashop.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/prestashop.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 09-06-2021. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* các chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le