Cách cài đặt Magento trên Debian 11

theanh

Administrator
Nhân viên
Magento là một ứng dụng thương mại điện tử miễn phí và mã nguồn mở cho phép bạn lưu trữ cửa hàng trực tuyến của mình. Nó được viết bằng PHP và sử dụng khung Zend. Nó linh hoạt và có thể mở rộng quy mô, phù hợp với các cửa hàng nhỏ, vừa và lớn. Nó cho phép bạn lưu trữ hệ thống giỏ hàng trực tuyến đầy đủ chức năng mà không cần bất kỳ kiến thức lập trình nào. Nó được sử dụng bởi hàng nghìn cửa hàng trực tuyến do tính đơn giản và thân thiện với người dùng.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Magento2 trên Debian 11.

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

  • Một máy chủ chạy Debian 11.
  • 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ài đặt Apache, PHP và các tiện ích mở rộng bắt buộc khác​

Trước tiên, bạn sẽ cần cài đặt Apache, PHP và các tiện ích mở rộng PHP cần thiết 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 php libapache2-mod-php php-common php-gmp php-curl php-soap php-bcmath php-intl php-mbstring php-xmlrpc php-mysql php-gd php-xml php-cli php-zip -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à thay đổi một số cài đặt mặc định:
Mã:
nano /etc/php/7.4/apache2/php.ini
Thay đổi các mục sau values:
Mã:
file_uploads = Bậtallow_url_fopen = Bậtshort_open_tag = Bậtmemory_limit = 512Mupload_max_filesize = 128Mmax_execution_time = 3600
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

Cài đặt và cấu hình MySQL Server​

Magento2 sử dụng MariaDB hoặc MySQL làm cơ sở dữ liệu phụ trợ. Theo mặc định, MariaDB phiên bản 10.5 được bao gồm trong kho lưu trữ mặc định của Debian 11, không được Magento2 hỗ trợ. Vì vậy, bạn sẽ cần cài đặt MySQL Server 8 vào máy chủ của mình.

Đầu tiên, tải xuống tệp gói MySQL bằng lệnh sau:
Mã:
wget https://repo.mysql.com//mysql-apt-config_0.8.18-1_all.deb
Tiếp theo, cài đặt bằng lệnh sau:
Mã:
apt install ./mysql-apt-config_0.8.18-1_all.deb -y
Bạn sẽ được yêu cầu chọn phiên bản MySQL mà bạn muốn cài đặt:



Chọn MySQL Server 8 và nhấp vào nút OK.

Tiếp theo, cập nhật kho lưu trữ và cài đặt máy chủ MySQL 8 bằng lệnh sau:
Mã:
apt-get update -y
apt-get install mysql-server -y
Sau khi MySQL được cài đặt, hãy kết nối với MySQL bằng lệnh sau:
Mã:
mysql -u root -p
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho Magento2 bằng lệnh sau:
Mã:
mysql> CREATE DATABASE magento2;
mysql> CREATE USER 'magento2'@'localhost' IDENTIFIED BY 'password';
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu Magento2:
Mã:
mysql> GRANT ALL PRIVILEGES ON magento2.* TO 'magento2'@'localhost';
Tiếp theo, xóa các quyền và thoát khỏi MySQL bằng lệnh sau:
Mã:
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt Composer​

Composer là trình quản lý phụ thuộc cho PHP được sử dụng để quản lý các phụ thuộc PHP cần thiết cho dự án của bạn.

Trước tiên, hãy cài đặt công cụ dòng lệnh curl bằng lệnh sau:
Mã:
apt-get install curl -y
Tiếp theo, hãy cài đặt Composer bằng lệnh sau:
Mã:
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
Bạn sẽ nhận được kết quả sau:
Mã:
Tất cả các thiết lập đều chính xác khi sử dụng ComposerĐang tải xuống...Composer (phiên bản 2.1.12) đã được cài đặt thành công vào: /usr/local/bin/composerSử dụng: php /usr/local/bin/composer
Tiếp theo, hãy xác minh phiên bản Composer bằng lệnh sau:
Mã:
composer --version
Bạn sẽ thấy kết quả sau:
Mã:
Composer phiên bản 2.1.12 2021-11-09 16:02:04

Cài đặt Magento2​

Tiếp theo, hãy thay đổi thư mục thành thư mục gốc web Apache và tải xuống phiên bản Magento2 mới nhất bằng lệnh sau:
Mã:
cd /var/www/html
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition magento2
Bạn sẽ được yêu cầu cung cấp tên người dùng và mật khẩu tài khoản Magento của mình như hiển thị bên dưới:
Mã:
Tạo dự án "magento/project-community-edition" tại "./magento2"Cảnh báo từ repo.magento.com: Bạn chưa cung cấp khóa xác thực Magento. Để biết hướng dẫn, hãy truy cập https://devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Yêu cầu xác thực (repo.magento.com): Tên người dùng: a6b333ad41629bac913eaabb9b8e053c Mật khẩu:
Sử dụng Khóa công khai làm tên người dùng và Khóa riêng tư làm mật khẩu, sau đó nhấn phím Enter. Bạn sẽ nhận được kết quả sau:
Mã:
Bạn có muốn lưu trữ thông tin xác thực cho repo.magento.com trong /root/.config/composer/auth.json không? [Yn] YCài đặt magento/project-community-edition (2.4.3-p1) - Tải xuống magento/project-community-edition (2.4.3-p1) - Cài đặt magento/project-community-edition (2.4.3-p1): Giải nén kho lưu trữĐã tạo dự án trong /var/www/html/magento2Đang tải kho lưu trữ composer với thông tin gói
Tiếp theo, thiết lập quyền và quyền sở hữu thích hợp cho Magento2 và các thư mục khác:
Mã:
chown -R www-data:www-data /var/www/html/magento2/
cd /var/www/html/magento2
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . 
chmod u+x bin/magento
Tiếp theo, vô hiệu hóa mô-đun Elasticsearch bằng lệnh sau:
Mã:
php bin/magento module:disable {Magento_Elasticsearch,Magento_InventoryElasticsearch,Magento_Elasticsearch6,Magento_Elasticsearch7}
Bạn sẽ nhận được kết quả sau:
Mã:
Các mô-đun sau đã bị vô hiệu hóa:- Magento_Elasticsearch- Magento_Elasticsearch6- Magento_InventoryElasticsearch- Magento_Elasticsearch7Đã xóa bộ nhớ đệm thành công.Đã xóa các lớp đã tạo thành công. Vui lòng chạy lệnh 'setup:di:compile' để tạo các lớp.Thông tin: Một số mô-đun có thể yêu cầu xóa các tệp chế độ xem tĩnh. Để thực hiện việc này, hãy chạy 'module:disable' với tùy chọn --clear-static-content để xóa chúng.
Tiếp theo, cài đặt Magento2 bằng lệnh sau:
Mã:
bin/magento setup:install --base-url=http://magento.example.com --db-host=localhost --db-name=magento2 --db-user=magento2 --db-password=password --admin-firstname=admin --admin-lastname=admin [emailprotected] --admin-user=admin --admin-password=Secure@password123 --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1
Sau khi Magento2 đã được cài đặt, bạn sẽ thấy kết quả sau:
Mã:
Module 'Vertex_AddressValidation':[Progress: 1363 / 1370]Module 'Yotpo_Yotpo':[Tiến trình: 1364 / 1370]Bật bộ nhớ đệm:Trạng thái hiện tại:layout: 1block_html: 1full_page: 1[Tiến trình: 1365 / 1370]Đang cài đặt người dùng quản trị...[Tiến trình: 1366 / 1370]Xóa bộ nhớ đệm:Đã xóa bộ nhớ đệm thành công[Tiến trình: 1367 / 1370]Tắt chế độ bảo trì:[Tiến trình: 1368 / 1370]Kiểm tra quyền tệp sau khi cài đặt...Để bảo mật, hãy xóa quyền ghi khỏi các thư mục này: '/var/www/html/magento2/app/etc'[Tiến trình: 1369 / 1370]Ghi ngày cài đặt...[Tiến trình: 1370 / 1370][THÀNH CÔNG]: Hoàn tất cài đặt Magento.[THÀNH CÔNG]: URI quản trị Magento: /admin_fgadpxKhông có gì để nhập.
Lưu ý: Vui lòng ghi nhớ URI quản trị Magento2 từ đầu ra ở trên. Bạn sẽ cần sử dụng nó để truy cập giao diện web Magento.

Tiếp theo, tắt xác thực hai yếu tố Magento2, xóa bộ nhớ đệm và cài đặt Cron bằng các lệnh sau:
Mã:
sudo -u www-data bin/magento module:disable Magento_TwoFactorAuth
sudo -u www-data bin/magento cache:flush
sudo -u www-data bin/magento cron:install
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Tạo tệp cấu hình máy chủ ảo Apache​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache cho Magento2. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/magento2.conf
Thêm các dòng sau:
Mã:
 ServerAdmin [emailprotected] DocumentRoot /var/www/html/magento2/ ServerName magento.example.com  Options FollowSymlinks AllowOverride All Require all granted  ErrorLog ${APACHE_LOG_DIR}/magento2_error.log CustomLog ${APACHE_LOG_DIR}/magento2_access.log combined
Lưu và đóng tệp, sau đó kích hoạt máy chủ ảo Magento và mô-đun viết lại Apache bằng lệnh sau:
Mã:
a2ensite magento2.conf
a2enmod rewrite
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 trạng thái Apache bằng lệnh sau:
Mã:
systemctl status apache2
Bạn sẽ thấy kết quả sau:
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2021-11-20 06:00:59 UTC; 4 giây trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 18394 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) PID chính: 18398 (apache2) Nhiệm vụ: 6 (giới hạn: 4679) Bộ nhớ: 15,1M CPU: 99ms CGroup: /system.slice/apache2.service ??18398 /usr/sbin/apache2 -k start ??18399 /usr/sbin/apache2 -k start ??18400 /usr/sbin/apache2 -k start ??18401 /usr/sbin/apache2 -k start ??18402 /usr/sbin/apache2 -k start ??18403 /usr/sbin/apache2 -k start20 tháng 11 06:00:59 debian11 systemd[1]: Đang khởi động Máy chủ Apache HTTP...

Truy cập Giao diện Web Magento2​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện quản trị Magento2 bằng URL http://magento.example.com/admin_fgadpx. Bạn sẽ thấy trang đăng nhập Magento2:



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


Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Magento2 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 bằng Magento. 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