Cách cài đặt Magento trên CentOS 8

theanh

Administrator
Nhân viên
Magento là một trong những nền tảng thương mại điện tử mã nguồn mở phổ biến nhất cho phép bạn thiết lập các trang web thương mại điện tử và cửa hàng trực tuyến trong vài phút. Nó được viết bằng PHP, dựa trên Zend Framework và sử dụng mô hình cơ sở dữ liệu Entity Attribute Value (EAV) để lưu trữ dữ liệu. Nó đi kèm với một giao diện đơn giản và thân thiện với người dùng cho phép bạn tùy chỉnh cửa hàng trực tuyến của mình và bán sản phẩm và dịch vụ của mình một cách dễ dàng.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt nền tảng thương mại điện tử Magento trên CentOS 8 với SSL miễn phí Let's Encrypt.

Yêu cầu​

  • Một máy chủ chạy CentOS 8 với 2 GB RAM.
  • 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 LEMP Server​

Trước tiên, hãy cài đặt máy chủ web Nginx, máy chủ cơ sở dữ liệu MariaDB, PHP và các thư viện PHP cần thiết khác bằng cách chạy lệnh sau:
Mã:
dnf install nginx mariadb-server php php-cli php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip unzip git -y
Sau khi tất cả các gói được cài đặt, hãy khởi động dịch vụ Nginx, MariaDB và PHP-FPM và cho phép chúng khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start nginx
 systemctl start mariadb
 systemctl start php-fpm
 systemctl enable nginx
 systemctl enable mariadb
 systemctl enable php-fpm
Tiếp theo, bạn sẽ cần chỉnh sửa tệp php.ini và điều chỉnh một số cài đặt:
Mã:
nano /etc/php.ini
Thay đổi các dòng sau:
Mã:
memory_limit =512Mupload_max_filesize = 200Mzlib.output_compression = Onmax_execution_time = 300date.timezone = Asia/Kolkata
Lưu và đóng tệp khi bạn hoàn tất.

Cấu hình Cơ sở dữ liệu​

Theo mặc định, MariaDB không được bảo mật nên trước tiên bạn cần bảo mật nó. Chạy tập lệnh sau để bảo mật MariaDB:
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):Đặt mật khẩu root? [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 root đăng nhập 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
Sau khi hoàn tất, hãy đă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 của bạn khi được nhắc, sau đó tạo cơ sở dữ liệu và người dùng cho Magento như hiển thị bên dưới:
Mã:
MariaDB [(none)]> CREATE DATABASE magentodb;
 MariaDB [(none)]> GRANT ALL ON magentodb.* TO magento@localhost IDENTIFIED BY 'password';
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> xóa các đặc quyền;
 MariaDB [(none)]> exit;

Cấu hình PHP-FPM cho Magento​

Tiếp theo, bạn sẽ cần cấu hình nhóm PHP-FPM cho phiên bản Magento của mình. Bạn có thể cấu hình bằng cách tạo tệp sau:
Mã:
nano /etc/php-fpm.d/magento.conf
Thêm các dòng sau:
Mã:
[magento]user = nginxgroup = nginxlisten.owner = nginxlisten.group = nginxlisten = /run/php-fpm/magento.sockpm = ondemandpm.max_children = 50pm.process_idle_timeout = 10 giâypm.max_requests = 500chdir = /
Lưu và đóng tệp sau đó khởi động lại dịch vụ PHP-FPM để triển khai các thay đổi:
Mã:
systemctl restart php-fpm

Tải xuống Magento​

Đầu tiên, hãy tải xuống phiên bản Magento mới nhất từ kho lưu trữ Git bằng lệnh sau:
Mã:
cd /var/www/html
 wget https://github.com/magento/magento2/archive/2.3.zip
Sau khi tải xuống, hãy giải nén tệp đã tải xuống như hiển thị bên dưới:
Mã:
unzip 2.3.zip
Tiếp theo, di chuyển thư mục đã giải nén đến magento2 như hiển thị bên dưới:
Mã:
mv magento2-2.3 magento2
Tiếp theo, bạn sẽ cần cài đặt Composer để cài đặt các phụ thuộc PHP cho Magento.

Bạn có thể cài đặt Composer bằng lệnh sau:
Mã:
curl -sS https://getcomposer.org/installer | php
 mv composer.phar /usr/local/bin/composer
Tiếp theo, hãy thay đổi thư mục thành magento2 và cài đặt tất cả các phụ thuộc Magento bằng lệnh sau:
Mã:
cd /var/www/html/magento2
 composer update
 composer install
Tiếp theo, bạn sẽ cần tạo crontab Magento để lên lịch các tác vụ. Bạn có thể tạo nó bằng lệnh sau:
Mã:
./bin/magento cron:install
Bạn có thể xác minh crontab bằng lệnh sau:
Mã:
crontab -l
Bạn sẽ nhận được kết quả sau:
Mã:
#~ MAGENTO START f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log* * * * * /usr/bin/php /var/www/html/magento2/bin/magento thiết lập:cron:run >> /var/www/html/magento2/var/log/setup.cron.log#~ MAGENTO END f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f
Tiếp theo, cấp quyền thích hợp cho thư mục magento2:
Mã:
chown -R nginx:nginx /var/www/html/magento2
 chmod -R 755 /var/www/html/magento2

Cấu hình Nginx cho Magento​

Tiếp theo, bạn sẽ cần tạo tệp máy chủ ảo Nginx cho Magento. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/magento.conf
Thêm các dòng sau:
Mã:
upstream fastcgi_backend { server unix:/run/php-fpm/magento.sock;}server { listen 80; server_name magento.linuxbuz.com; set $MAGE_ROOT /var/www/html/magento2; set $MAGE_MODE developer; access_log /var/log/nginx/magento-access.log; error_log /var/log/nginx/magento-error.log; include /var/www/html/magento2/nginx.conf.sample;}
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại Nginx và dịch vụ PHP-FPM để triển khai các thay đổi:
Mã:
systemctl restart php-fpm
 systemctl restart nginx

Cấu hình SELinux và Tường lửa​

Theo mặc định, SELinux được bật trong CentOS 8. Vì vậy, bạn sẽ cần cấu hình SELinux để Magento hoạt động chính xác.

Bạn có thể cấu hình SELinux bằng lệnh sau:
Mã:
semanage permissive -a httpd_t
Tiếp theo, bạn sẽ cần tạo một quy tắc tường lửa để cho phép dịch vụ HTTP và HTTPS từ các mạng bên ngoài. Bạn có thể cho phép bằng lệnh sau:
Mã:
firewall-cmd --permanent --add-service=http
Mã:
firewall-cmd --permanent --add-service=https
 firewall-cmd --reload

Bảo mật Magento bằng Let's Encrypt SSL​

Magento hiện đã được cài đặt và cấu hình. Đã đến lúc bảo mật bằng Let's Encrypt SSL miễn phí.

Để thực hiện, bạn sẽ cần tải xuống máy khách certbot trên máy chủ của mình. Bạn có thể tải xuống và thiết lập quyền chính xác bằng cách chạy lệnh sau:
Mã:
wget https://dl.eff.org/certbot-auto
 mv certbot-auto /usr/local/bin/certbot-auto
 chown root /usr/local/bin/certbot-auto
 chmod 0755 /usr/local/bin/certbot-auto
Bây giờ, hãy chạy lệnh sau để lấy và cài đặt chứng chỉ SSL cho trang web Magento của bạn.
Mã:
certbot-auto --nginx -d magento.linuxbuz.com
Lệnh trên trước tiên sẽ cài đặt tất cả các phụ thuộc bắt buộc như được hiển thị bên dưới:
Mã:
Đã cài đặt: gcc-8.2.1-3.5.el8.x86_64 mod_ssl-1:2.4.37-12.module_el8.0.0+185+5908b0db.x86_64 python3-virtualenv-15.1.0-18.module_el8.0.0+33+0a10c0e1.noarch python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 redhat-rpm-config-116-1.el8.0.1.noarch augeas-libs-1.10.1-8.el8.x86_64 libffi-devel-3.1-18.el8.x86_64 openssl-devel-1:1.1.1-8.el8.x86_64 annobin-8.64-1.el8.x86_64 cpp-8.2.1-3.5.el8.x86_64 dwz-0.12-9.el8.x86_64 efi-srpm-macros-3-2.el8.noarch ghc-srpm-macros-1.4.2-7.el8.noarch go-srpm-macros-2-16.el8.noarch isl-0.16.1-6.el8.x86_64 libmpc-1.0.2-9.el8.x86_64 ocaml-srpm-macros-5-4.el8.noarch openblas-srpm-macros-2-2.el8.noarch Perl-srpm-macros-1-25.el8.noarch nền tảng-python-devel-3.6.8-2.el8_0.0.1.x86_64 python-rpm-macros-3-37.el8.noarch python-srpm-macros-3-37.el8.noarch python3-rpm-generators-5-4.el8.noarch python3-rpm-macros-3-37.el8.noarch qt5-srpm-macros-5.11.1-2.el8.noarch Rust-srpm-macros-5-2.el8.noarch glibc-devel-2.28-42.el8.1.x86_64 glibc-headers-2.28-42.el8.1.x86_64 kernel-headers-4.18.0-80.11.2.el8_0.x86_64 keyutils-libs-devel-1.5.10-6.el8.x86_64 krb5-devel-1.16.1-22.el8.x86_64 libcom_err-devel-1.44.3-2.el8.x86_64 libkadm5-1.16.1-22.el8.x86_64 libselinux-devel-2.8-6.el8.x86_64 libsepol-devel-2.8-2.el8.x86_64 libverto-devel-0.3.0-5.el8.x86_64 libxcrypt-devel-4.1.1-4.el8.x86_64 pcre2-devel-10.32-1.el8.x86_64 pcre2-utf16-10.32-1.el8.x86_64 pcre2-utf32-10.32-1.el8.x86_64 zlib-devel-1.2.11-10.el8.x86_64Hoàn tất!Đang tạo môi trường ảo...Đang cài đặt các gói Python...Cài đặt thành công.
Sau khi tất cả các phụ thuộc được cài đặt, bạn sẽ được yêu cầu cung cấp địa chỉ email và đồng ý với điều khoản dịch vụ như được 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 nginx, Installer nginxNhậ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: ALưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho magento.linuxbuz.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/conf.d/magento.conf
Tiếp theo, bạn sẽ cần chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Mã:
Vui 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] sau đó [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn Enter để cài đặt chứng chỉ SSL Let's Encrypt cho tên miền của bạn như hiển thị bên dưới:
Mã:
Chuyển hướng tất cả lưu lượng trên cổng 80 sang ssl trong /etc/nginx/conf.d/magento.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://magento.linuxbuz.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=magento.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -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/magento.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 23-03-2020. Để 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-auto với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot-auto 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

Truy cập Magento​

Magento hiện đã được cài đặt và định cấu hình. Đã đến lúc truy cập trình hướng dẫn cài đặt Magento.

Mở trình duyệt web của bạn và nhập URL https://magento.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang Chào mừng Magento:



Nhấp vào nút Đồng ý và Thiết lập Magento. Bạn sẽ thấy trình hướng dẫn kiểm tra mức độ sẵn sàng của Magento:



Bây giờ, hãy nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Bây giờ, hãy cung cấp URL cửa hàng Magento và quản trị viên của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Chọn múi giờ, tiền tệ, ngôn ngữ mong muốn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Bây giờ, hãy cung cấp tên người dùng, mật khẩu quản trị viên Magento của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Cài đặt Ngay để bắt đầu cài đặt Magento. Sau khi quá trình cài đặt hoàn tất thành công. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vào nút Địa chỉ cửa hàng của bạn. Bạn sẽ thấy cửa hàng Magento của mình ở trang sau:



Để truy cập vào giao diện Magento Admin, hãy nhập URL https://magento.linuxbuz.com/admin_1teqss trên trình duyệt web của bạn. Bạn sẽ được chuyển hướng đến trang Magento Login:



Cung cấp tên người dùng, mật khẩu quản trị Magento của bạn và nhấp vào nút Đăng nhập vào. Bạn sẽ thấy giao diện quản trị Magento của mình ở trang sau:



Vậy là xong. Magento của bạn hiện đã được bảo mật bằng SSL miễn phí Let's Encrypt.
 
Back
Bên trên