Magento là một ứng dụng web thương mại điện tử miễn phí và mã nguồn mở cho phép bạn tạo một cửa hàng thương mại điện tử đầy đủ chức năng trong vài phút. Nó được viết bằng PHP và kết hợp các tính năng mạnh mẽ với tính linh hoạt và giao diện thân thiện với người dùng. Đây là một trong những giải pháp phổ biến nhất cho các cửa hàng trực tuyến tự lưu trữ do tính đơn giản và bảng quản trị mạnh mẽ của nó. Nó đi kèm với một bộ tính năng phong phú bao gồm Quản lý trang web, SEO, Quản lý danh mục, Duyệt sản phẩm và danh mục, Quản lý đơn hàng, Thanh toán, Khuyến mãi và Công cụ chuyển đổi, cùng nhiều tính năng khác.
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 với Apache và Let's Encrypt SSL trên Ubuntu 20.04.
Trước tiên, hãy cài đặt máy chủ web Apache và máy chủ MariaDB bằng lệnh sau:
Phiên bản mới nhất của Magento chỉ tương thích với PHP 7.1.3+ và 7.2.x. Vì vậy, bạn sẽ cần cài đặt các phiên bản PHP được hỗ trợ với các tiện ích mở rộng bắt buộc trong máy chủ của mình.
Theo mặc định, Ubuntu 20.04 đi kèm với phiên bản PHP 7.4. Vì vậy, bạn sẽ cần thêm Ondrej PPA vào hệ thống của mình để cài đặt các phiên bản PHP khác.
Bạn có thể thêm Ondrej PHP PPA bằng lệnh sau:
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt PHP với các tiện ích mở rộng cần thiết khác bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Sau khi MariaDB được bảo mật, hãy đăng nhập vào shell MariaDB:
Cung cấp mật khẩu gốc MariaDB của bạn rồi tạo cơ sở dữ liệu và người dùng cho Magento:
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu Magento bằng lệnh sau:
Tiếp theo, xóa các đặc quyền và thoát khỏi shell 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, 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, cấp quyền sở hữu và quyền hợp lệ cho thư mục magento:
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, sau đó bật máy chủ ảo Magento và mô-đun ghi đè Apache bằng lệnh sau:
Cuối cùng, khởi động lại dịch vụ Apache để triển khai các thay đổi:
Lúc này, máy chủ web Apache được cấu hình để phục vụ Magento.
Sau khi Certbot được cài đặt, hãy chạy lệnh sau để tải xuống và cài đặt Let's Encrypt SSL cho trang web của bạn:
Bạn sẽ được yêu cầu cung cấp email hợp lệ và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, bạn sẽ được yêu cầu chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không:
Nhập 2 và nhấn Enter để hoàn tất quá trình cài đặt.
Bây giờ, hãy 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 trình hướng dẫn cài đặt dựa trên web Magento:
Nhấp vào nút Đồng ý và Thiết lập Magento. Bạn sẽ thấy màn hình Sẵn sàng của Magento:
Nhấp vào nút Bắt đầu Sẵn sàng Kiểm tra. Sau khi hoàn tất kiểm tra Sẵn sàng, bạn sẽ thấy màn hình sau:
Nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình Thiết lập cơ sở dữ liệu:
Cung cấp tên cơ sở dữ liệu Magento, 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. Bạn sẽ thấy trình hướng dẫn cấu hình web Magento:
Cung cấp Cửa hàng Magento và địa chỉ Quản trị viên, Bật HTTPS và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình tùy chỉnh Cửa hàng:
Đặt Múi giờ, Tiền tệ, Ngôn ngữ ưa thích và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình tạo người dùng quản trị:
Cung cấp tên người dùng quản trị, email, mật khẩu và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:
Nhấp vào nút Cài đặt Ngay để bắt đầu cài đặt. Sau khi cài đặt thành công, bạn sẽ thấy màn hình sau:
Nhấp vào địa chỉ quản trị Magento. Bạn sẽ thấy trang quản trị Magento:
Cung cấp tên người dùng, mật khẩu quản trị Magento và nhấp vào nút Đăng nhập vào. Bạn sẽ thấy bảng điều khiển Magento trong màn hình sau:
Bạn cũng có thể truy cập cửa hàng Magento bằng URL https://magento.linuxbuz.com. Bạn sẽ thấy màn hình sau:
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 với Apache và Let's Encrypt SSL trên Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04 với 4 GB RAM.
- Một tên miền hợp lệ được trỏ đến 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
Magento chạy trên máy chủ web, được viết bằng PHP và sử dụng MariaDB làm cơ sở dữ liệu. Vì vậy, bạn sẽ cần cài đặt một ngăn xếp LAMP trong máy chủ của mình.Trước tiên, hãy cài đặt máy chủ web Apache và máy chủ MariaDB bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server mariadb-client -y
Theo mặc định, Ubuntu 20.04 đi kèm với phiên bản PHP 7.4. Vì vậy, bạn sẽ cần thêm Ondrej PPA vào hệ thống của mình để cài đặt các phiên bản PHP khác.
Bạn có thể thêm Ondrej PHP PPA bằng lệnh sau:
Mã:
apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php
Mã:
apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y
Cấu hình Cơ sở dữ liệu MariaDB
Theo mặc định, MariaDB không được bảo mật. Vì vậy, bạn nên bảo mật và đặt mật khẩu gốc MariaDB. Bạn có thể thực hiện bằng lệnh sau:
Mã:
mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có):Đặt mật khẩu root? [C/N] CMật khẩu mới:Nhập lại mật khẩu mới:Xóa người dùng ẩn danh? [C/N] CKhông cho phép đăng nhập root từ xa? [C/N] CXóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [C/N] CTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y
Mã:
mysql -u root -p
Mã:
MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';
Mã:
MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Tải xuống Magento
Tại thời điểm viết hướng dẫn này, phiên bản Magento mới nhất là 2.3.5. Bạn có thể tải xuống từ trang tải xuống chính thức của Magento.Sau khi tải xuống, 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:
Mã:
mkdir /var/www/html/magento
tar -xvjf magento-ce* -C /var/www/html/magento/
Mã:
chown -R www-data:www-data /var/www/html/magento/
chmod -R 755 /var/www/html/magento/
Cấu hình Apache cho Magento
Tiếp theo, hãy tạo tệp cấu hình máy chủ ảo Apache mới để phục vụ Magento trang web.
Mã:
nano /etc/apache2/sites-available/magento.conf
Mã:
ServerAdmin [emailprotected] DocumentRoot /var/www/html/magento/ ServerName magento.linuxbuz.com Tùy chọn Chỉ mục FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
Mã:
a2ensite magento.conf
a2enmod rewrite
Mã:
systemctl restart apache2
Bảo mật Magento bằng Let's Encrypt SSL
Luôn là một ý tưởng hay khi bảo mật trang web của bạn bằng Let's Encrypt SSL miễn phí. Trước tiên, hãy cài đặt ứng dụng khách Certbot trên máy chủ của bạn để tải xuống và cấu hình Let's Encrypt SSL cho trang web của bạn.
Mã:
apt-get install certbot python3-certbot-apache -y
Mã:
certbot --apache -d magento.linuxbuz.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 tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có sẵn lòng chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và là 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 của chúng tôimã 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)ó/(K)o: CNhậ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...Đang dọn dẹp các thử tháchTạo vhost SSL tại /etc/apache2/sites-available/magento-le-ssl.confĐã bật mô-đun Apache socache_shmcbĐã bật mô-đun Apache sslTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/magento-le-ssl.confBật trang web khả dụng: /etc/apache2/sites-available/magento-le-ssl.conf
Mã:
Vui lòng chọn có chuyển hướng HTTP hay không lưu lượng truy cập đến HTTPS, 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] rồi [enter] (nhấn 'c' để hủy): 2
Mã:
Chuyển hướng vhost trong /etc/apache2/sites-enabled/magento.conf sang ssl vhost trong /etc/apache2/sites-available/magento-le-ssl.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 2020-08-11. Để 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" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot của bạn tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng do Certbot thu được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - 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 trang web Magento
Lúc này, trang web Magento của bạn được bảo mật bằng Let's Encrypt SSL.Bây giờ, hãy 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 trình hướng dẫn cài đặt dựa trên web Magento:
Nhấp vào nút Đồng ý và Thiết lập Magento. Bạn sẽ thấy màn hình Sẵn sàng của Magento:
Nhấp vào nút Bắt đầu Sẵn sàng Kiểm tra. Sau khi hoàn tất kiểm tra Sẵn sàng, bạn sẽ thấy màn hình sau:
Nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình Thiết lập cơ sở dữ liệu:
Cung cấp tên cơ sở dữ liệu Magento, 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. Bạn sẽ thấy trình hướng dẫn cấu hình web Magento:
Cung cấp Cửa hàng Magento và địa chỉ Quản trị viên, Bật HTTPS và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình tùy chỉnh Cửa hàng:
Đặt Múi giờ, Tiền tệ, Ngôn ngữ ưa thích và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình tạo người dùng quản trị:
Cung cấp tên người dùng quản trị, email, mật khẩu và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:
Nhấp vào nút Cài đặt Ngay để bắt đầu cài đặt. Sau khi cài đặt thành công, bạn sẽ thấy màn hình sau:
Nhấp vào địa chỉ quản trị Magento. Bạn sẽ thấy trang quản trị Magento:
Cung cấp tên người dùng, mật khẩu quản trị Magento và nhấp vào nút Đăng nhập vào. Bạn sẽ thấy bảng điều khiển Magento trong màn hình sau:
Bạn cũng có thể truy cập cửa hàng Magento bằng URL https://magento.linuxbuz.com. Bạn sẽ thấy màn hình sau: