Magento là gì ?
Magento là nền tảng thương mại điện tử cấp doanh nghiệp hàng đầu được xây dựng trên công nghệ mã nguồn mở 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.
Cài đặt Magento:
Tạo cơ sở dữ liệu MySQL
Nếu bạn đã cài đặt MySQL hoặc MariaDB trên máy chủ của mình, bạn có thể bỏ qua bước này, nếu không, bạn có thể cài đặt gói máy chủ MySQL 5.7 từ kho lưu trữ mặc định của Ubuntu bằng cách nhập:
sudo apt install mysql-server mysql-client
Nhập “y” để tiếp tục
Đăng nhập vào MySQL shell bằng lệnh sau:
sudo mysql
Từ bên trong MySQL shell, hãy chạy câu lệnh SQL sau để tạo một cơ sở dữ liệu mới có tên magento:
CREATE DATABASE magento;
Tiếp theo, tạo một tài khoản người dùng MySQL có tên magentovà cấp các quyền cần thiết cho người dùng bằng cách chạy lệnh sau:
GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Sau khi hoàn tất, hãy thoát khỏi bảng điều khiển MySQL bằng cách nhập:
EXIT;
Tạo người dùng hệ thống
Tạo người dùng và nhóm mới, người này sẽ là chủ sở hữu hệ thống tệp Magento, để đơn giản, chúng tôi sẽ đặt tên cho người dùng magento:
sudo useradd -m -U -r -d /opt/magento magento
Thêm
www-data người dùng vào magentonhóm và thay đổi quyền của thư mục
/opt/magento để Nginx có thể truy cập cài đặt Magento:
sudo usermod -a -G magento www-data
sudo chmod 750 /opt/magento
Cài đặt và cấu hình PHP
Chạy lệnh sau để cài đặt PHP và tất cả các mô-đun PHP bắt buộc:
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
Nhấp “y” để tiếp tục
Dịch vụ PHP-FPM sẽ tự động bắt đầu sau khi quá trình cài đặt hoàn tất, bạn có thể xác minh nó bằng cách in trạng thái dịch vụ:
sudo systemctl status php7.2-fpm
Đặt các tùy chọn PHP được yêu cầu và đề xuất bằng cách chỉnh sửa tệp php.ini với sed ::
sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.4/fpm/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.4/fpm/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.4/fpm/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.4/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.4/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
Tiếp theo, chúng ta cần tạo một nhóm FPM cho người dùng magento.
Tạo và thêm đoạn code này vào file
magento.conf
sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
[magento]
user = magento
group = www-data
listen.owner = magento
listen.group = www-data
listen = /var/run/php/php7.2-fpm-magento.sock
pm = ondemand
pm.max_children = 50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /
Khởi động lại dịch vụ PHP-FPM để các thay đổi có hiệu lực:
systemctl restart php7.2-fpm
Xác minh xem socket PHP đã được tạo thành công hay chưa bằng cách chạy lệnh
ls sau :
ls -al /var/run/php/php7.2-fpm-magento.sock
Cài đặt Composer
Dùng lệnh sau để cài đặt:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Xác minh cài đặt bằng cách kiểm tra phiên bản:
composer --version
Cài đặt Magento
Chuyển qua user mageto:
sudo su - magento
Bắt đầu cài đặt bằng cách tải các tệp magento xuống thư mục
/ opt / magento / public_html:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
Thay đổi sang thư mục
~/public_html Magento :
cd ~/public_html
Chạy lệnh sau để bắt đầu cài đặt:
php bin/magento setup:install --base-url=https://example.com/ \
--base-url-secure=https://example.com/ \
--admin-firstname="John" \
--admin-lastname="Doe" \
--admin-email="john@example.com" \
--admin-user="john" \
--admin-password="j0hnP4ssvv0rD" \
--db-name="magento" \
--db-host="localhost" \
--db-user="magento" \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--db-password="change-with-strong-password"
Tạo crontab Magento
Magento sử dụng cron job để lên lịch các tác vụ như lập chỉ mục lại, thông báo, sơ đồ trang web, email và hơn thế nữa.
Để tạo crontab Magento, hãy chạy lệnh sau với tư cách người dùng magento:
php ~/public_html/bin/magento cron:install
Xác minh rằng crontab đã được cài đặt bằng cách nhập:
crontab -l
Định cấu hình Nginx
Chuyển sang người dùng sudo của bạn, mở trình soạn thảo văn bản của bạn và tạo tệp sau:
sudo nano /etc/nginx/sites-available/example.com
upstream fastcgi_backend {
server unix:/var/run/php/php7.2-fpm-magento.sock;
}
server {
listen 80;
server_name example.com www.example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
set $MAGE_ROOT /opt/magento/public_html;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
include /opt/magento/public_html/nginx.conf.sample;
}
Trước khi khởi động lại dịch vụ Nginx, hãy kiểm tra để đảm bảo rằng không có lỗi cú pháp:
sudo nginx -t
Cuối cùng, khởi động lại dịch vụ Nginx bằng cách gõ:
sudo systemctl restart nginx
Xác minh cài đặt
Mở trình duyệt của bạn, nhập tên miền của bạn và giả sử cài đặt thành công, một màn hình tương tự như sau sẽ xuất hiện:
Phần kết:
Ở trên mình đã hướng dẫn các bạn cài đặt Magento 2 trên Ubuntu 18.04