Bagisto là phần mềm thương mại điện tử miễn phí và mã nguồn mở được viết bằng framework Laravel PHP và sử dụng Vue.js - một framework JavaScript tiến bộ. Bagisto là một phần mềm thương mại điện tử được thiết kế riêng cho phép bạn xây dựng cửa hàng trực tuyến của mình trong thời gian ngắn. Phần mềm này nhanh, phản hồi tốt, giao diện đẹp và dễ sử dụng. Bagisto là một framework thương mại điện tử cung cấp nhiều ngôn ngữ cho nhiều loại ngôn ngữ khác nhau, nhiều loại tiền tệ, hỗ trợ nhiều chủ đề cửa hàng và cũng cung cấp một hệ thống kho đa cửa hàng.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Bagisto eCommerce trên Debian 11 Bullseye. Chúng tôi sẽ sử dụng PHP-FPM, máy chủ web Nginx và cơ sở dữ liệu MariaDB.
Trước khi bắt đầu cài đặt các gói, hãy cập nhật kho lưu trữ của bạn bằng lệnh sau.
Bây giờ hãy cài đặt PHP-FPM, máy chủ web Nginx và cơ sở dữ liệu MariaDB bằng lệnh apt bên dưới.
Sau khi cài đặt tất cả các gói hoàn tất, hãy chỉnh sửa cấu hình PHP 'php.ini' bằng trình soạn thảo nano.
Bây giờ hãy thay đổi tùy chọn sau với môi trường hiện tại của bạn.
Tiếp theo, hãy khởi động lại dịch vụ PHP-FPM để áp dụng cấu hình mới.
Và bạn đã hoàn tất cài đặt LEMP Stack cơ bản sẽ được sử dụng cho Bagisto eCommerce.
Chạy lệnh 'mysql_secure_installation' bên dưới.
Bây giờ bạn sẽ được hỏi một số câu hỏi:
Và bạn đã hoàn tất triển khai bảo mật cơ bản của cơ sở dữ liệu MariaDB.
Đăng nhập vào shell MariaDB với tư cách là người dùng 'root' bằng lệnh sau.
Bây giờ hãy chạy truy vấn sau để tạo cơ sở dữ liệu mới 'basgisto' và người dùng 'bagistouser' với mật khẩu 'BagistoPassword'.
Tiếp theo, cho phép người dùng cơ sở dữ liệu 'bagistouser' truy cập và ghi vào cơ sở dữ liệu 'bagisto', sau đó tải lại tất cả các đặc quyền của bảng. Điều này là cần thiết để áp dụng các thay đổi mới trên các đặc quyền của MariaDB.
Bây giờ hãy nhập 'exit' để đăng xuất khỏi MariaDB Shell. Và bạn đã tạo một cơ sở dữ liệu và người dùng mới để cài đặt Bagisto.
Chạy lệnh 'php' bên dưới để tải xuống tập lệnh cài đặt cho Composer. Ngoài ra, lệnh này sẽ xác minh tập lệnh cài đặt. Đảm bảo bạn nhận được thông báo 'Trình cài đặt đã xác minh' trên màn hình.
Bây giờ, hãy chạy tập lệnh cài đặt 'composer-setup.php' để cài đặt Composer, sau đó xóa tập lệnh 'composer-setup.php'.
Tập lệnh cài đặt sẽ tải xuống tệp nhị phân 'composer.phar'. Di chuyển và đổi tên 'composer.phar' thành '/usr/local/bin/composer'.
Để xác minh cài đặt Composer, hãy chạy lệnh 'composer' bên dưới.
Bạn sẽ nhận được phiên bản đầu ra của Composer như ảnh chụp màn hình bên dưới.
Bây giờ bạn đã cài đặt Composer trên máy chủ của mình, bạn đã sẵn sàng cài đặt Bagisto eCommerce bằng Composer.
Tạo các thư mục mới '.cache' và '.config' trong thư mục '/var/www/' và thay đổi quyền sở hữu của cả hai thư mục thành 'www-data'. Điều này sẽ được sử dụng để lưu trữ bộ nhớ đệm và cấu hình cho Composer.
Tiếp theo, tạo thư mục '/var/www/project' và thay đổi quyền sở hữu thành 'www-data'. Bạn sẽ cài đặt Bagisto eCommerce trên thư mục này.
Di chuyển thư mục làm việc hiện tại của bạn đến '/var/www/project' và chạy lệnh Composer bên dưới để tải xuống và cài đặt mã nguồn Bagisto và tất cả các phụ thuộc PHP bổ sung.
Khi quá trình tải xuống hoàn tất, bạn sẽ nhận được đầu ra sau.
Tiếp theo, di chuyển đến thư mục '/var/www/project/bagisto' và chỉnh sửa tệp '.env' bằng trình chỉnh sửa nano.
Thay đổi giá trị 'APP_NAME' bằng thông tin của riêng bạn và 'APP_ENV' thành 'production'.
Thay đổi 'APP_DEBUG' thành 'false' và nhập URL cài đặt của bạn vào 'APP_URL'.
Nhập cơ sở dữ liệu chi tiết cho cài đặt Bagisto của bạn như bên dưới.
Lưu cấu hình và thoát.
Bây giờ, hãy cài đặt Bagisto eCommerce bằng lệnh sau.
Bạn sẽ được yêu cầu xác nhận chạy lệnh cài đặt. Nhập 'có' để xác nhận.
Nhập 'có' để có thể triển khai Bagisto eCommerce trong môi trường sản xuất.
Khi quá trình cài đặt hoàn tất, bạn sẽ nhận được tên người dùng và mật khẩu quản trị mặc định cho cài đặt Bagisto của mình.
Cuối cùng, bạn có thể chạy lệnh sau để đảm bảo quyền sở hữu thư mục cài đặt Bagisto '/var/www/project/bagisto' thuộc về 'www-data'.
Bây giờ bạn đã hoàn tất cài đặt Bagisto eCommerce. Tiếp tục bước tiếp theo để thiết lập máy chủ web Nginx.
Tạo cấu hình khối máy chủ mới 'bagisto' bằng trình chỉnh sửa nano.
Sao chép và dán cấu hình sau. Đảm bảo thay đổi URL và đường dẫn của chứng chỉ SSL bằng chứng chỉ của riêng bạn.
Lưu tệp cấu hình và thoát.
Tiếp theo, kích hoạt khối máy chủ 'bagisto' bằng lệnh sau, sau đó xác minh cấu hình Nginx.
Nếu bạn không gặp lỗi, bạn sẽ thấy thông báo đầu ra như 'Cú pháp OK'.
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng cấu hình máy chủ ảo mới.
Bây giờ bạn đã hoàn tất cấu hình Nginx cho Bagisto eCommerce và giờ đã sẵn sàng để truy cập dưới tên miền của bạn.
https://www.example.io/
Bạn sẽ thấy trang chủ mặc định của Bagisto eCommerce như bên dưới.
Tiếp theo, hãy mở một tab mới và truy cập trang quản trị của cài đặt Bagisto eCommerce của bạn.
https://www.example.io/admin
Nhập người dùng mặc định của Bagisto là 'admin' và mật khẩu 'admin123' rồi nhấp vào 'Đăng nhập'.
Và bạn sẽ nhận được bảng điều khiển quản trị của Bagisto eCommerce.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Bagisto eCommerce trên Debian 11 Bullseye. Chúng tôi sẽ sử dụng PHP-FPM, máy chủ web Nginx và cơ sở dữ liệu MariaDB.
Điều kiện tiên quyết
- Phiên bản mới nhất của Debian 11 Bullseye.
- Người dùng có quyền root/sudo.
- Tên miền trỏ đến địa chỉ IP máy chủ của bạn.
Cài đặt LEMP Stack
Đầu tiên, bạn sẽ cài đặt LEMP Stack trên máy chủ Debian của mình. Phiên bản hiện tại của Bagisto eCommerce yêu cầu PHP 7.4 trở lên, MariaDB 10.2.17 trở lên và máy chủ web Nginx.Trước khi bắt đầu cài đặt các gói, hãy cập nhật kho lưu trữ của bạn bằng lệnh sau.
Mã:
sudo apt update
Mã:
sudo apt install nginx-full mariadb-server php-fpm php-cli php-common php-zip php-mysql php-gd php-intl php-curl php-imap php-mbstring php-xml php-json libpcre3 git unzip -y
Mã:
sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini
Mã:
memory_limit = 512M
max_execution_time = 360
date.timezone = America/Toronto
Mã:
sudo systemctl restart php7.4-fpm
Thiết lập mật khẩu gốc MariaDB
Sau khi bạn đã cài đặt LAMP Stack trên máy chủ Debian, bạn sẽ thiết lập mật khẩu gốc cho cơ sở dữ liệu MariaDB. Cách được khuyến nghị để thiết lập mật khẩu gốc MariaDB là sử dụng công cụ dòng lệnh 'mysql_secure_installation'.Chạy lệnh 'mysql_secure_installation' bên dưới.
Mã:
mysql_secure_installation
- Nhấn ENTER để thiết lập mật khẩu gốc cho MariaDB.
- Nhập 'Y' để chuyển đổi xác thực người dùng gốc bằng phương pháp 'unix_socket_authentication'.
- Nhập 'Y' để thiết lập mật khẩu gốc MariaDB, sau đó nhập mật khẩu của bạn và lặp lại.
- Nhập 'Y' để xóa người dùng ẩn danh MariaDB.
- Nhập 'Y' để tắt đăng nhập từ xa cho người dùng gốc.
- Gõ 'Y' một lần nữa để xóa cơ sở dữ liệu mặc định 'test' với tất cả các đặc quyền trên đó.
- Gõ 'Y' để tải lại tất cả các đặc quyền của bảng để áp dụng các thay đổi mới.
Và bạn đã hoàn tất triển khai bảo mật cơ bản của cơ sở dữ liệu MariaDB.
Thiết lập cơ sở dữ liệu và người dùng mới cho Bagiosto
Sau khi bạn đã định cấu hình cơ sở dữ liệu MariaDB, bây giờ bạn sẽ tạo cơ sở dữ liệu và người dùng mới cho Bagisto eCommerce. Bạn sẽ cần đăng nhập vào shell MariaDB để tạo cơ sở dữ liệu và người dùng mới.Đăng nhập vào shell MariaDB với tư cách là người dùng 'root' bằng lệnh sau.
Mã:
mysql -u root -p
Mã:
CREATE DATABASE bagisto;
CREATE USER bagistouser@localhost IDENTIFIED BY 'BagistoPassword';
Mã:
GRANT ALL ON bagisto.* TO bagistouser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
Cài đặt Công cụ Composer
Trong bước này, bạn sẽ cài đặt Composer trên hệ thống Debian của mình. Composer là cần thiết để cài đặt Bagisto eCommerce.Chạy lệnh 'php' bên dưới để tải xuống tập lệnh cài đặt cho Composer. Ngoài ra, lệnh này sẽ xác minh tập lệnh cài đặt. Đảm bảo bạn nhận được thông báo 'Trình cài đặt đã xác minh' trên màn hình.
Mã:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Trình cài đặt đã xác minh'; } else { echo 'Trình cài đặt bị hỏng'; unlink('composer-setup.php'); } echo PHP_EOL;"
Bây giờ, hãy chạy tập lệnh cài đặt 'composer-setup.php' để cài đặt Composer, sau đó xóa tập lệnh 'composer-setup.php'.
Mã:
php composer-setup.php
php -r "unlink('composer-setup.php');"
Mã:
sudo mv composer.phar /usr/local/bin/composer
Để xác minh cài đặt Composer, hãy chạy lệnh 'composer' bên dưới.
Mã:
sudo -u www-data composer --version
Bây giờ bạn đã cài đặt Composer trên máy chủ của mình, bạn đã sẵn sàng cài đặt Bagisto eCommerce bằng Composer.
Cài đặt Bagisto eCommerce bằng Composer
Trong bước này, bạn sẽ cài đặt Bagisto eCommerce theo cách thủ công thông qua Composer.Tạo các thư mục mới '.cache' và '.config' trong thư mục '/var/www/' và thay đổi quyền sở hữu của cả hai thư mục thành 'www-data'. Điều này sẽ được sử dụng để lưu trữ bộ nhớ đệm và cấu hình cho Composer.
Mã:
mkdir -p /var/www/{.cache,.config}
sudo chown -R www-data:www-data /var/www/{.cache,.config}
Mã:
mkdir -p /var/www/project; sudo chown -R www-data:www-data /var/www/project
Mã:
cd /var/www/project
sudo -u www-data composer create-project bagisto/bagisto
Tiếp theo, di chuyển đến thư mục '/var/www/project/bagisto' và chỉnh sửa tệp '.env' bằng trình chỉnh sửa nano.
Mã:
cd /var/www/project/bagisto
sudo nano .env
Mã:
APP_NAME=Bagisto
APP_ENV=production
Mã:
APP_DEBUG=false
APP_URL=https://www.example.io
Mã:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bagisto
DB_USERNAME=bagistouser
DB_PASSWORD=BagistoPassword
DB_PREFIX=
Bây giờ, hãy cài đặt Bagisto eCommerce bằng lệnh sau.
Mã:
sudo -u www-data php artisan bagisto:install
Nhập 'có' để có thể triển khai Bagisto eCommerce trong môi trường sản xuất.
Khi quá trình cài đặt hoàn tất, bạn sẽ nhận được tên người dùng và mật khẩu quản trị mặc định cho cài đặt Bagisto của mình.
Cuối cùng, bạn có thể chạy lệnh sau để đảm bảo quyền sở hữu thư mục cài đặt Bagisto '/var/www/project/bagisto' thuộc về 'www-data'.
Mã:
sudo chown -R www-data:www-data /var/www/project/bagisto
Thiết lập máy chủ web Nginx
Trong bước này, bạn sẽ tạo một khối máy chủ Nginx mới cho Bagisto eCommerce. Máy chủ web Nginx là một trong những giải pháp tốt nhất để xử lý CMS phức tạp như thương mại điện tử vì nó nhẹ và nhanh.Tạo cấu hình khối máy chủ mới 'bagisto' bằng trình chỉnh sửa nano.
Mã:
sudo nano /etc/nginx/sites-available/bagisto
Mã:
server {
listen 80;
server_name example.io;
return 302 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name example.io;
root /var/www/bagisto/public;
index index.php;
ssl_certificate /etc/letsencrypt/live/example.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.io/privkey.pem;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1; # Yêu cầu nginx >= 1.1.0
ssl_session_timeout 10 phút;
ssl_session_cache shared:SSL:10 phút;
ssl_session_tickets tắt; # Yêu cầu nginx >= 1.5.9
# ssl_stapling bật; # Yêu cầu nginx >= 1.3.7
# ssl_stapling_verify on; # Yêu cầu nginx => 1.3.7
trình phân giải 8.8.8.8 8.8.4.4 hợp lệ=300 giây;
trình phân giải_hết_thời_gian_hết_5 giây;
thêm_tiêu_đề Tùy_chọn_khung_XUẤT_BỎ;
thêm_tiêu_đề Tùy_chọn_loại_nội_dung_XS không_niff;
thêm_tiêu_đề Bảo_vệ_XSS "1; chế_độ=chặn";
nhật_ký_truy_cập /var/log/nginx/example.com.access.log;
nhật_ký_lỗi /var/log/nginx/example.com.error.log;
kích_thước_body_tối_đa_khách_hàng 100M;
tắt lập chỉ mục tự động;
vị_trí / {
tệp_thử $uri /index.php$is_args$args;
}
vị_trí ~ \.php$ {
bao gồm snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}
Tiếp theo, kích hoạt khối máy chủ 'bagisto' bằng lệnh sau, sau đó xác minh cấu hình Nginx.
Mã:
sudo ln -s /etc/nginx/sites-available/bagisto /etc/nginx/sites-enabled/
sudo nginx -t
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng cấu hình máy chủ ảo mới.
Mã:
sudo systemctl restart nginx
Xác minh Bagisto eCommerce
Để xác minh cài đặt Bagisto eCommerce, hãy mở trình duyệt web của bạn và nhập tên miền cài đặt của bạn vào thanh địa chỉ.https://www.example.io/
Bạn sẽ thấy trang chủ mặc định của Bagisto eCommerce như bên dưới.
Tiếp theo, hãy mở một tab mới và truy cập trang quản trị của cài đặt Bagisto eCommerce của bạn.
https://www.example.io/admin
Nhập người dùng mặc định của Bagisto là 'admin' và mật khẩu 'admin123' rồi nhấp vào 'Đăng nhập'.
Và bạn sẽ nhận được bảng điều khiển quản trị của Bagisto eCommerce.