PrestaShop là một ứng dụng web thương mại điện tử mã nguồn mở được viết bằng khuôn khổ Symfony PHP. Nó cho phép bạn thiết kế, xây dựng và lưu trữ một cửa hàng trực tuyến để bán sản phẩm, nhận thanh toán và quản lý tất cả các khía cạnh liên quan. Nó đang được sử dụng bởi hơn 300.000 trang web khiến nó trở thành một trong những nền tảng thương mại điện tử phổ biến nhất. Nó hỗ trợ các mô-đun cho phép bạn mở rộng chức năng của nó hơn nữa. Bạn có thể tùy chỉnh nó bằng nhiều chủ đề chất lượng cao. Nó cung cấp các mẫu tùy chỉnh, cổng thanh toán an toàn, quản lý hàng tồn kho và các công cụ thân thiện với SEO để tối ưu hóa thứ hạng của công cụ tìm kiếm.
Trong hướng dẫn này, bạn sẽ học cách cài đặt Prestashop trên máy chủ Rocky Linux 9.
[*]
Cần có một số gói thiết yếu để chạy hướng dẫn và Prestashop. Một số trong số này sẽ có sẵn trên máy chủ của bạn.
Tường lửa hoạt động với các vùng khác nhau và vùng công cộng là vùng mặc định mà chúng ta sẽ sử dụng. Liệt kê tất cả các dịch vụ và cổng đang hoạt động trên tường lửa.
Nó sẽ hiển thị đầu ra sau.
Cho phép HTTP và HTTPS cổng.
Kiểm tra lại trạng thái của tường lửa.
Bạn sẽ thấy một đầu ra.
Tải lại tường lửa để kích hoạt các thay đổi.
Tạo và mở tệp
Dán mã sau vào đó.
Sau khi hoàn tất, hãy lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Cài đặt Nginx.
Xác minh cài đặt.
Bật và khởi động máy chủ Nginx dịch vụ.
Kiểm tra trạng thái dịch vụ.
Mở địa chỉ IP của máy chủ trong trình duyệt web của bạn. Bạn sẽ thấy trang sau, điều đó có nghĩa là máy chủ của bạn đã hoạt động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22574%22%20height=%22268%22%3E%3C/svg%3E
Bước đầu tiên là lấy kho lưu trữ Epel.
Tiếp theo, cài đặt kho lưu trữ Remi.
Kiểm tra PHP khả dụng streams.
Phiên bản mặc định là 8.1. Tại thời điểm viết hướng dẫn này, Prestashop tương thích với PHP 8.1. Do đó, hãy bật kho lưu trữ PHP 8.1 của Remi.
Cài đặt PHP và các tiện ích mở rộng của nó theo yêu cầu của Prestashop.
Kiểm tra phiên bản PHP đã cài đặt.
Kích hoạt và khởi động dịch vụ PHP-FPM.
Kiểm tra trạng thái của dịch vụ.
Bước đầu tiên là cài đặt kho lưu trữ phát hành Percona cho Rocky Linux.
Nếu bạn gặp lỗi sau, bạn có thể bỏ qua và tiếp tục vì nó không ảnh hưởng đến quá trình cài đặt. Khóa GPG vẫn sẽ được nhập sau đó.
Sau khi kho lưu trữ được cài đặt, hãy thiết lập kho lưu trữ Percona Server cho MySQL 8.0 bằng cách đưa ra lệnh sau.
Lệnh trên hỏi bạn có muốn tắt mô-đun MySQL mặc định không. Nhập
Cài đặt Percona Server cho MySQL 8.0.
Điều này sẽ cài đặt Percona Server và Client cho MySQL, đây là các gói cơ bản mà bạn cần hiện tại.
Xác minh cài đặt.
Khởi động dịch vụ MySQL.
Kiểm tra trạng thái của dịch vụ MySQL.
Percona tạo mật khẩu gốc tạm thời trong quá trình cài đặt. Lấy mật khẩu đó bằng lệnh sau.
Đăng nhập vào shell MySQL.
Chạy thiết lập bảo mật MySQL wizard.
Nhập mật khẩu gốc khi được nhắc.
Mật khẩu tạm thời đã hết hạn và bạn sẽ được nhắc đặt mật khẩu gốc mới. Chọn mật khẩu mạnh cho tài khoản gốc. Mật khẩu của bạn phải đáp ứng các yêu cầu của chính sách mật khẩu hiện tại, nghĩa là mật khẩu phải có một ký tự viết thường, một ký tự viết hoa, một số và một ký tự đặc biệt.
Tiếp theo, độ mạnh của mật khẩu sẽ được hiển thị và bạn sẽ được hỏi xem có muốn thay đổi mật khẩu hay không. Nhập
Nhập
Loại
Loại
Và cuối cùng, nhập
Vậy là xong. Lần tới khi bạn muốn đăng nhập vào shell MySQL, hãy sử dụng lệnh sau và nhập mật khẩu
Bạn sẽ nhận được shell MySQL sau nhắc nhở.
Nhập
Tạo cơ sở dữ liệu MySQL mới, người dùng cơ sở dữ liệu và mật khẩu cho cài đặt Prestashop của bạn.
Thay thế
Xóa các đặc quyền để đảm bảo chúng được lưu trong phiên hiện tại.
Thoát khỏi shell MySQL.
Prestashop có hai phiên bản - phiên bản Cơ bản có thương hiệu và phiên bản không có thương hiệu. Phiên bản có thương hiệu có sẵn trên trang web của Prestashop trong khi phiên bản không có thương hiệu có sẵn trên kho lưu trữ GitHub. Sự khác biệt giữa hai phiên bản là phiên bản có thương hiệu chứa các mô-đun bổ sung bao gồm bộ xử lý thanh toán, các mô-đun Facebook và Google để quảng cáo và SEO, cùng nhiều mô-đun khác để kết nối với Prestashop và mục đích phân tích.
Phiên bản cơ bản được phát hành sau phiên bản không có thương hiệu. Do đó, tại thời điểm viết hướng dẫn này, phiên bản mới nhất của phiên bản cơ bản có sẵn là 8.1.1 và phiên bản không có thương hiệu là 8.1.2. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng phiên bản có thương hiệu cơ bản. Bạn có thể sử dụng phiên bản không có thương hiệu nếu muốn. Quy trình cài đặt cho cả hai phiên bản đều giống hệt nhau.
Tải xuống phiên bản mới nhất bằng lệnh sau.
Bạn có thể lấy liên kết bằng cách truy cập trang tải xuống Prestashop, nhập email của bạn và tải xuống tệp. Phiên bản không có nhãn hiệu có thể được lấy từ trang Bản phát hành GitHub của Prestashop.
Giải nén tệp lưu trữ đã tải xuống.
Kho lưu trữ này có một tệp zip khác có tên
Thay đổi chủ sở hữu của thư mục Prestashop thành
Cài đặt Snapd.
Bật và khởi động dịch vụ Snap.
Cài đặt gói lõi Snap và đảm bảo rằng phiên bản Snapd của bạn là ngày.
Tạo các liên kết cần thiết để Snapd hoạt động.
Cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến
Kiểm tra xem Certbot có hoạt động bình thường không.
Chạy lệnh sau để tạo SSL Chứng chỉ.
Lệnh trên sẽ tải chứng chỉ xuống thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Bạn sẽ thấy
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Áp dụng chính sách.
Áp dụng chính sách để cho phép Nginx cấp quyền truy cập vào MariaDB.
Áp dụng chính sách cho phép kết nối đến các máy chủ bên ngoài. Điều này là cần thiết để gửi email.
Với MariaDB 10.11, bạn sẽ gặp phải một vấn đề khác là SELinux ngăn PHP-FPM kết nối với MariaDB. Vấn đề này có thể được giải quyết bằng cách cài đặt mô-đun SELinux. Bước đầu tiên là tạo tệp
Tạo tệp
Dán mã sau vào đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Bước tiếp theo là chuyển đổi tệp thành mô-đun chính sách bằng lệnh sau. Không sửa đổi tên tệp trong lệnh, nếu không, lệnh sẽ không hoạt động. Mô-đun được đặt tên là
Tiếp theo, chúng ta cần biên dịch mô-đun chính sách để tạo chính sách gói.
Bước cuối cùng là tải gói chính sách bằng lệnh
Để thiết lập kích thước tải tệp lên, hãy thay đổi giá trị của
Cấu hình giới hạn bộ nhớ của PHP tùy thuộc vào tài nguyên máy chủ và yêu cầu của bạn.
Mở tệp
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng
Tìm , ,
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Khởi động lại quy trình PHP-fpm. Hãy đảm bảo bạn đã cài đặt Nginx trước khi khởi động lại dịch vụ PHP, nếu không, dịch vụ sẽ không thành công vì không thể tìm thấy nhóm
Thay đổi nhóm thư mục phiên PHP thành Nginx.
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tạo và mở tệp
Dán mã sau vào đó. Thay thế
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh cấu hình Nginx của bạn.
Khởi động lại máy chủ Nginx.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22526%22%3E%3C/svg%3E
Nhấp vào Tiếp theo để chuyển sang trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22626%22%3E%3C/svg%3E
Bạn sẽ được hiển thị Giấy phép Prestashop. Đánh dấu vào nút Tôi đồng ý với các điều khoản và điều kiện trên để đồng ý với giấy phép và nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22615%22%20height=%22750%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được yêu cầu chia sẻ thông tin về cửa hàng. Đặt tên cho cửa hàng, quốc gia, múi giờ và loại cửa hàng của bạn, đồng thời bật tùy chọn SSL. Ngoài ra, hãy nhập tên tài khoản, địa chỉ email và mật khẩu của bạn để đăng nhập vào cửa hàng. Nhấp vào Tiếp theo khi bạn hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22519%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được hỏi có muốn thêm một số sản phẩm demo vào cửa hàng không. Chọn không nếu bạn không muốn. Ngoài ra, hãy chọn tùy chọn Cài đặt tất cả các mô-đun hoặc bạn có thể chọn các mô-đun bạn muốn cài đặt. Nhấp vào Tiếp theo khi bạn hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22687%22%3E%3C/svg%3E
Tiếp theo, nhập thông tin xác thực cơ sở dữ liệu mà chúng ta đã tạo ở bước 5. Giữ nguyên các tùy chọn khác. Nhấp vào tùy chọn Kiểm tra cơ sở dữ liệu để xác minh kết nối.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22721%22%3E%3C/svg%3E
Nhấp vào Tiếp theo khi kết nối thành công với cơ sở dữ liệu để chuyển sang trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22489%22%3E%3C/svg%3E
Tại đây bạn sẽ thấy tiến trình cài đặt Prestashop. Sau khi hoàn tất, nó sẽ tự động mở trang sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22612%22%3E%3C/svg%3E
Nhấp vào nút Quản lý cửa hàng của bạn để mở bảng điều khiển quản trị để thiết lập cửa hàng của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22531%22%20height=%22478%22%3E%3C/svg%3E
Tại đây, bạn sẽ nhận cảnh báo về việc xóa thư mục
Quay lại trang cuối cùng của trình cài đặt và mở lại URL. Nếu bạn nhận thấy, URL trang quản trị được ngẫu nhiên hóa. Điều này được thực hiện để cải thiện bảo mật. Mỗi lần cài đặt Prestashop sẽ có một URL quản trị khác nhau. Đối với hướng dẫn của chúng tôi, liên kết được tạo là
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22523%22%20height=%22632%22%3E%3C/svg%3E
Nhập thông tin tài khoản của bạn và nhấp vào nút ĐĂNG NHẬP để truy cập bảng điều khiển.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22515%22%3E%3C/svg%3E
Trang cửa hàng của Prestashop dành cho cài đặt mặc định sẽ trông như sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22610%22%20height=%22750%22%3E%3C/svg%3E
Bạn có thể bắt đầu sử dụng Prestashop từ đây.
Bước đầu tiên là đưa cửa hàng của bạn vào chế độ bảo trì. Nhấp vào Cấu hình >> Tham số cửa hàng >> Tùy chọn Chung từ menu bên trái trong trang quản trị. Chuyển sang tab bảo trì trên trang.
Vô hiệu hóa cửa hàng và thêm địa chỉ IP của bạn làm IP bảo trì bằng cách nhấp vào nút Thêm IP của tôi. Thao tác này sẽ đảm bảo bạn có thể truy cập vào cửa hàng ngay cả khi cửa hàng đang được bảo trì. Nhấp vào nút Lưu khi hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22606%22%3E%3C/svg%3E
Tiếp theo, mở trang Trình quản lý mô-đun trên bảng quản trị của bạn bằng cách chọn Cải thiện >> Mô-đun >> Tùy chọn Trình quản lý mô-đun ở phía bên trái.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22210%22%20height=%22643%22%3E%3C/svg%3E
Khi vào đó, hãy cài đặt mô-đun Nâng cấp 1 lần nhấp bằng cách nhấp vào nút Cài đặt. Sau khi cài đặt, hãy nhấp vào nút Cấu hình để mở trang mới, tại đó bạn cấu hình các thiết lập trước khi thực hiện nâng cấp.
Phần đầu tiên của trang liệt kê một số kiểm tra trước khi nâng cấp. Tất cả các kiểm tra phải được đáp ứng trước khi có thể thực hiện nâng cấp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22558%22%3E%3C/svg%3E
Cấu hình đầu tiên cho phép bạn chọn loại nâng cấp bạn muốn chạy. Vì chúng tôi đang sử dụng phiên bản cơ bản 8.1.1, nên phiên bản mã nguồn mở 8.1.2 có sẵn để nâng cấp. Bạn nên sử dụng các nhánh phụ/chính.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22672%22%3E%3C/svg%3E
Cuộn xuống trang đến Tùy chọn sao lưu, tại đây bạn có thể chọn Prestashop để sao lưu các tệp, cơ sở dữ liệu và hình ảnh. Các tính năng này đang trong giai đoạn thử nghiệm nhưng bạn vẫn nên đưa chúng vào.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22390%22%3E%3C/svg%3E
Tiếp theo, chọn tùy chọn nâng cấp cho nội dung bạn muốn giữ lại và nội dung bạn muốn nâng cấp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22484%22%3E%3C/svg%3E
Nhấp vào Nút Lưu trên mỗi phần để lưu các tùy chọn. Khi bạn đã hài lòng, hãy nhấp vào nút Nâng cấp Prestashop ngay! trên cùng một trang để nâng cấp cửa hàng của bạn. Nếu vì lý do nào đó, quá trình nâng cấp không thành công, bạn sẽ có cơ hội quay lại.
Trong hướng dẫn này, bạn sẽ học cách cài đặt Prestashop trên máy chủ Rocky Linux 9.
Điều kiện tiên quyết
-
Máy chủ chạy Rocky Linux 9 với tối thiểu 1 GB RAM.
-
Người dùng không phải root có quyền sudo.
-
Tên miền đủ điều kiện (FQDN) nhưprestashop.example.com
trỏ đến máy chủ của bạn.
-
Tài khoản SMTP có dịch vụ email như Amazon SES hoặc Mailgun.
-
Mọi thứ đã được cập nhật.
Mã:
$ sudo dnf update
Cần có một số gói thiết yếu để chạy hướng dẫn và Prestashop. Một số trong số này sẽ có sẵn trên máy chủ của bạn.
Mã:
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Rocky Linux sử dụng Tường lửa Firewalld. Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo firewall-cmd --state
running
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client ssh
Mã:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client http https ssh
Mã:
$ sudo firewall-cmd --reload
Bước 2 - Cài đặt Nginx
Rocky Linux 9 được tích hợp sẵn phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho lưu trữ Nginx chính thức.Tạo và mở tệp
/etc/yum.repos.d/nginx.repo
để chỉnh sửa.
Mã:
$ sudo nano /etc/yum.repos.d/nginx.repo
Mã:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Cài đặt Nginx.
Mã:
$ sudo dnf install nginx -y
Mã:
$ nginx -v
nginx version: nginx/1.24.0
Mã:
$ sudo systemctl enable nginx --now
Mã:
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled) Active: active (running) since Sat 2023-11-25 10:58:03 UTC; 5s ago Docs: http://nginx.org/en/docs/ Process: 4220 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 4222 (nginx) Tasks: 2 (limit: 10841) Memory: 1.9M CPU: 9ms CGroup: /system.slice/nginx.service ??4222 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??4223 "nginx: worker process"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22574%22%20height=%22268%22%3E%3C/svg%3E
Bước 3 - Cài đặt PHP và tiện ích mở rộng
Rocky Linux 9 được cài sẵn PHP 8.1 theo mặc định. Để luôn sử dụng phiên bản PHP mới nhất hoặc nếu bạn muốn cài đặt nhiều phiên bản PHP, chúng ta cần sử dụng kho lưu trữ REMI.Bước đầu tiên là lấy kho lưu trữ Epel.
Mã:
$ sudo dnf install epel-release -y
Mã:
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Mã:
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
php remi-8.3 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Mã:
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1
Mã:
$ sudo dnf install php php-bcmath php-cli php-curl php-common \ php-fpm php-gd php-gmp php-intl php-mbstring \ php-mysql php-opcache php-xml php-zip -y
Mã:
$ php --version
PHP 8.1.26 (cli) (built: Nov 21 2023 21:53:48) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.26, Copyright (c) Zend Technologies with Zend OPcache v8.1.26, Copyright (c), by Zend Technologies
Mã:
$ sudo systemctl enable php-fpm --now
Mã:
$ sudo systemctl status php-fpm
? php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled) Active: active (running) since Sat 2023-11-25 12:54:31 UTC; 2s ago Main PID: 6160 (php-fpm) Status: "Ready to handle connections" Tasks: 6 (limit: 10841) Memory: 15.2M CPU: 56ms CGroup: /system.slice/php-fpm.service ??6160 "php-fpm: master process (/etc/php-fpm.conf)" ??6161 "php-fpm: pool www" ??6162 "php-fpm: pool www" ??6163 "php-fpm: pool www" ??6164 "php-fpm: pool www" ??6165 "php-fpm: pool www"
Bước 4 - Cài đặt Percona MySQL Server
Prestashop yêu cầu máy chủ cơ sở dữ liệu MySQL để lưu trữ dữ liệu. Nhưng thay vì cài đặt MySQL, chúng tôi sẽ cài đặt máy chủ Percona MySQL. Nó hoạt động như một sự thay thế trực tiếp cho MySQL và cung cấp nhiều tính năng và bảo mật hơn.Bước đầu tiên là cài đặt kho lưu trữ phát hành Percona cho Rocky Linux.
Mã:
$ sudo dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
Mã:
error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-Percona: key 1 import failed.
Mã:
$ percona-release setup ps80
y
để tiếp tục. Nó sẽ vô hiệu hóa mô-đun cài đặt MySQL và kích hoạt mô-đun Percona MySQL.Cài đặt Percona Server cho MySQL 8.0.
Mã:
$ sudo dnf -y install percona-server-server
Xác minh cài đặt.
Mã:
$ mysql --version
mysql Ver 8.0.34-26 for Linux on x86_64 (Percona Server (GPL), Release 26, Revision 0fe62c85)
Mã:
$ sudo systemctl start mysqld
Mã:
$ sudo systemctl status mysqld
? mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled) Active: active (running) since Sun 2023-11-26 06:25:37 UTC; 7s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 6522 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 6598 (mysqld) Status: "Server is operational" Tasks: 39 (limit: 10841) Memory: 486.8M CPU: 8.131s CGroup: /system.slice/mysqld.service ??6598 /usr/sbin/mysqld
Nov 26 06:25:28 prestashop.example.com systemd[1]: Starting MySQL Server...
Nov 26 06:25:37 prestashop.example.com systemd[1]: Started MySQL Server.
Mã:
$ sudo grep "temporary password" /var/log/mysqld.log
2023-11-26T06:25:33.316696Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: (sDeLSgjs7pI
Mã:
$ sudo mysql -u root -p
Mã:
$ sudo mysql_secure_installation
Mã:
Securing the MySQL server deployment.
Enter password for user root:
Mã:
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
N
để tiếp tục.
Mã:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N ... skipping.
Y
để xóa người dùng ẩn danh.
Mã:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Y
để không cho phép đăng nhập root từ xa.
Mã:
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
Y
để xóa cơ sở dữ liệu thử nghiệm.
Mã:
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database...
Success. - Removing privileges on test database...
Success.
N
để tải lại bảng đặc quyền.
Mã:
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
root
khi được nhắc.
Mã:
$ sudo mysql -u root -p
Mã:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.34-26 Percona Server (GPL), Release 26, Revision 0fe62c85
Copyright (c) 2009-2023 Percona LLC and/or its affiliates
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
exit
để thoát khỏi shell.Bước 5 - Cấu hình Percona MySQL Server
Đăng nhập vào MySQL vỏ.
Mã:
$ sudo mysql -u root -p
Mã:
mysql> CREATE DATABASE prestashop COLLATE utf8mb4_general_ci;
mysql> CREATE USER 'prestauser'@'localhost' IDENTIFIED BY 'Your_password2';
mysql> GRANT ALL PRIVILEGES ON prestashop.* TO 'prestauser'@'localhost';
prestashop
, prestauser
và yourpassword
bằng thông tin đăng nhập bạn chọn. Chọn một mật khẩu mạnh và đảm bảo tuân thủ chính sách mật khẩu như mô tả ở trên.Xóa các đặc quyền để đảm bảo chúng được lưu trong phiên hiện tại.
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> exit
Bước 6 - Tải xuống Prestashop
Tạo thư mục cho Prestashop.
Mã:
$ sudo mkdir /var/www/html/prestashop -p
Phiên bản cơ bản được phát hành sau phiên bản không có thương hiệu. Do đó, tại thời điểm viết hướng dẫn này, phiên bản mới nhất của phiên bản cơ bản có sẵn là 8.1.1 và phiên bản không có thương hiệu là 8.1.2. Đối với hướng dẫn của chúng tôi, chúng tôi sẽ sử dụng phiên bản có thương hiệu cơ bản. Bạn có thể sử dụng phiên bản không có thương hiệu nếu muốn. Quy trình cài đặt cho cả hai phiên bản đều giống hệt nhau.
Tải xuống phiên bản mới nhất bằng lệnh sau.
Mã:
$ cd /tmp
$ wget https://assets.prestashop3.com/dst/edition/corporate/8.1.1/prestashop_edition_basic_version_8.1.1.zip
Giải nén tệp lưu trữ đã tải xuống.
Mã:
$ unzip prestashop_*.zip
prestashop.zip
chứa tất cả các tệp. Giải nén các tập tin vào thư mục Prestashop.
Mã:
$ sudo unzip prestashop.zip -d /var/www/html/prestashop
nginx
user.
Mã:
$ sudo chown -R nginx: /var/www/html/prestashop
Bước 7 - Cài đặt SSL
Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL. Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho mục đích đó. Vì Rocky Linux không đi kèm với nó, hãy cài đặt trình cài đặt Snapd. Nó yêu cầu kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux) để hoạt động. Nhưng vì chúng ta đã cài đặt nó ở bước 3, nên chúng ta có thể trực tiếp tiến hành.Cài đặt Snapd.
Mã:
$ sudo dnf install -y snapd
Mã:
$ sudo systemctl enable snapd --now
Mã:
$ sudo snap install core && sudo snap refresh core
Mã:
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.7.4
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d prestashop.example.com
/etc/letsencrypt/live/prestashop.example.com
trên máy chủ của bạn.Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo systemctl list-timers
snap.certbot.renew.service
là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
---------------------------------------------------------------------------------------------------------------------------
Sun 2023-11-26 17:12:40 UTC 1h 34min left Sun 2023-11-26 15:25:36 UTC 12min ago dnf-makecache.timer dnf-makecache.service
Sun 2023-11-26 17:48:00 UTC 2h 10min left - - snap.certbot.renew.timer snap.certbot.renew.service
Mon 2023-11-27 00:00:00 UTC 8h left Sun 2023-11-26 00:00:00 UTC 15h ago logrotate.timer logrotate.service
Mã:
$ sudo certbot renew --dry-run
Bước 8 - Cấu hình SELinux
Thay đổi ngữ cảnh bảo mật tệp cho Prestashop.
Mã:
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/prestashop(/.*)?"
Mã:
$ sudo restorecon -Rv /var/www/html/prestashop/
Mã:
$ sudo setsebool -P httpd_can_network_connect_db 1
Mã:
$ sudo setsebool -P httpd_can_network_connect 1
type enforcement
.Tạo tệp
my-phpfpm.te
trong thư mục gốc của bạn và mở tệp đó chỉnh sửa.
Mã:
$ cd ~
$ nano my-phpfpm.te
Mã:
module my-phpfpm 1.0;
require { type unconfined_service_t; type httpd_t; type httpd_sys_content_t; class dir write; class unix_stream_socket connectto;
}
#============= httpd_t ==============
#!!!! This avc is allowed in the current policy
allow httpd_t httpd_sys_content_t:dir write;
#!!!! This avc is allowed in the current policy
allow httpd_t unconfined_service_t:unix_stream_socket connectto;
Bước tiếp theo là chuyển đổi tệp thành mô-đun chính sách bằng lệnh sau. Không sửa đổi tên tệp trong lệnh, nếu không, lệnh sẽ không hoạt động. Mô-đun được đặt tên là
my-phpfpm
và tên tệp phải giống với tên mô-đun.
Mã:
$ sudo checkmodule -M -m -o my-phpfpm.mod my-phpfpm.te
Mã:
$ sudo semodule_package -o my-phpfpm.pp -m my-phpfpm.mod
semodule
cài đặt chính sách đã sử dụng.
Mã:
$ sudo semodule -i my-phpfpm.pp
Bước 9 - Cấu hình PHP-FPM
Mởphp.ini
cho chỉnh sửa.
Mã:
$ sudo nano /etc/php.ini
upload_max_filesize
và post_max_size
biến. Giá trị này quyết định kích thước tệp bạn có thể tải lên Prestashop. Theo mặc định, nó được đặt ở mức 10MB, đây là mức chúng ta sẽ cấu hình bằng PHP.
Mã:
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 16M/' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini
Mã:
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini
/etc/php-fpm.d/www.conf
.
Mã:
$ sudo nano /etc/php-fpm.d/www.conf
user=apache
và group=apache
trong tệp và thay đổi chúng thành nginx
.
Mã:
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...
listen.mode = 0660
các dòng trong tệp và thay đổi chúng như sau sau khi bỏ chú thích.
Mã:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Khởi động lại quy trình PHP-fpm. Hãy đảm bảo bạn đã cài đặt Nginx trước khi khởi động lại dịch vụ PHP, nếu không, dịch vụ sẽ không thành công vì không thể tìm thấy nhóm
nginx
.
Mã:
$ sudo systemctl restart php-fpm
Mã:
$ sudo chgrp -R nginx /var/lib/php/session
Bước 10 - Cấu hình Nginx
Mở tệp/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Tạo và mở tệp
/etc/nginx/conf.d/prestashop.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/prestashop.conf
prestashop.example.com
bằng tên miền của bạn. Đảm bảo giá trị của client_max_body_size
được đặt thành 10MB, đây là kích thước tải lên mặc định của tệp trong Prestashop. Đây là giá trị giống với giá trị chúng ta đã định cấu hình với PHP trước đó.Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh cấu hình Nginx của bạn.
Mã:
$ sudo nginx -t
Mã:
$ sudo systemctl restart nginx
Bước 11 - Cài đặt Prestashop
Truy cập URLhttps://prestashop.example.com
trong trình duyệt của bạn và bạn sẽ thấy màn hình cài đặt sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22526%22%3E%3C/svg%3E
Nhấp vào Tiếp theo để chuyển sang trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22626%22%3E%3C/svg%3E
Bạn sẽ được hiển thị Giấy phép Prestashop. Đánh dấu vào nút Tôi đồng ý với các điều khoản và điều kiện trên để đồng ý với giấy phép và nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22615%22%20height=%22750%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được yêu cầu chia sẻ thông tin về cửa hàng. Đặt tên cho cửa hàng, quốc gia, múi giờ và loại cửa hàng của bạn, đồng thời bật tùy chọn SSL. Ngoài ra, hãy nhập tên tài khoản, địa chỉ email và mật khẩu của bạn để đăng nhập vào cửa hàng. Nhấp vào Tiếp theo khi bạn hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22519%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được hỏi có muốn thêm một số sản phẩm demo vào cửa hàng không. Chọn không nếu bạn không muốn. Ngoài ra, hãy chọn tùy chọn Cài đặt tất cả các mô-đun hoặc bạn có thể chọn các mô-đun bạn muốn cài đặt. Nhấp vào Tiếp theo khi bạn hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22687%22%3E%3C/svg%3E
Tiếp theo, nhập thông tin xác thực cơ sở dữ liệu mà chúng ta đã tạo ở bước 5. Giữ nguyên các tùy chọn khác. Nhấp vào tùy chọn Kiểm tra cơ sở dữ liệu để xác minh kết nối.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22721%22%3E%3C/svg%3E
Nhấp vào Tiếp theo khi kết nối thành công với cơ sở dữ liệu để chuyển sang trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22489%22%3E%3C/svg%3E
Tại đây bạn sẽ thấy tiến trình cài đặt Prestashop. Sau khi hoàn tất, nó sẽ tự động mở trang sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22612%22%3E%3C/svg%3E
Nhấp vào nút Quản lý cửa hàng của bạn để mở bảng điều khiển quản trị để thiết lập cửa hàng của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22531%22%20height=%22478%22%3E%3C/svg%3E
Tại đây, bạn sẽ nhận cảnh báo về việc xóa thư mục
install
trước khi thử quản lý cửa hàng để cải thiện bảo mật. Đăng nhập lại vào trang web của bạn qua SSH và chạy lệnh sau.
Mã:
$ sudo rm -rf /var/www/html/petrashop/install
https://prestashop.example.com/admin705saygwpwquwnhixx1
. Bạn sẽ nhận được trang đăng nhập sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22523%22%20height=%22632%22%3E%3C/svg%3E
Nhập thông tin tài khoản của bạn và nhấp vào nút ĐĂNG NHẬP để truy cập bảng điều khiển.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22515%22%3E%3C/svg%3E
Trang cửa hàng của Prestashop dành cho cài đặt mặc định sẽ trông như sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22610%22%20height=%22750%22%3E%3C/svg%3E
Bạn có thể bắt đầu sử dụng Prestashop từ đây.
Bước 12 - Cập nhật Prestashop
Có một số cách để cập nhật Prestashop. Cách dễ nhất là sử dụng mô-đun trợ lý nâng cấp tích hợp sẵn. Cài đặt Prestashop của bạn được cung cấp kèm theo mô-đun.Bước đầu tiên là đưa cửa hàng của bạn vào chế độ bảo trì. Nhấp vào Cấu hình >> Tham số cửa hàng >> Tùy chọn Chung từ menu bên trái trong trang quản trị. Chuyển sang tab bảo trì trên trang.
Vô hiệu hóa cửa hàng và thêm địa chỉ IP của bạn làm IP bảo trì bằng cách nhấp vào nút Thêm IP của tôi. Thao tác này sẽ đảm bảo bạn có thể truy cập vào cửa hàng ngay cả khi cửa hàng đang được bảo trì. Nhấp vào nút Lưu khi hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22606%22%3E%3C/svg%3E
Tiếp theo, mở trang Trình quản lý mô-đun trên bảng quản trị của bạn bằng cách chọn Cải thiện >> Mô-đun >> Tùy chọn Trình quản lý mô-đun ở phía bên trái.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22210%22%20height=%22643%22%3E%3C/svg%3E
Khi vào đó, hãy cài đặt mô-đun Nâng cấp 1 lần nhấp bằng cách nhấp vào nút Cài đặt. Sau khi cài đặt, hãy nhấp vào nút Cấu hình để mở trang mới, tại đó bạn cấu hình các thiết lập trước khi thực hiện nâng cấp.
Phần đầu tiên của trang liệt kê một số kiểm tra trước khi nâng cấp. Tất cả các kiểm tra phải được đáp ứng trước khi có thể thực hiện nâng cấp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22558%22%3E%3C/svg%3E
Cấu hình đầu tiên cho phép bạn chọn loại nâng cấp bạn muốn chạy. Vì chúng tôi đang sử dụng phiên bản cơ bản 8.1.1, nên phiên bản mã nguồn mở 8.1.2 có sẵn để nâng cấp. Bạn nên sử dụng các nhánh phụ/chính.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22672%22%3E%3C/svg%3E
Cuộn xuống trang đến Tùy chọn sao lưu, tại đây bạn có thể chọn Prestashop để sao lưu các tệp, cơ sở dữ liệu và hình ảnh. Các tính năng này đang trong giai đoạn thử nghiệm nhưng bạn vẫn nên đưa chúng vào.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22390%22%3E%3C/svg%3E
Tiếp theo, chọn tùy chọn nâng cấp cho nội dung bạn muốn giữ lại và nội dung bạn muốn nâng cấp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22484%22%3E%3C/svg%3E
Nhấp vào Nút Lưu trên mỗi phần để lưu các tùy chọn. Khi bạn đã hài lòng, hãy nhấp vào nút Nâng cấp Prestashop ngay! trên cùng một trang để nâng cấp cửa hàng của bạn. Nếu vì lý do nào đó, quá trình nâng cấp không thành công, bạn sẽ có cơ hội quay lại.