Cách cài đặt Magento với Nginx trên Ubuntu 15.10

theanh

Administrator
Nhân viên
Magento là một phần mềm thương mại điện tử mã nguồn mở và hệ thống quản lý nội dung cho các trang web thương mại điện tử dựa trên PHP Zend Framework. Nó sử dụng MySQL hoặc MariaDB làm cơ sở dữ liệu phụ trợ. Quá trình phát triển Magento đã được Varien bắt đầu vào năm 2008.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Magento 2 với Nginx, PHP-FPM và MariaDB làm cơ sở dữ liệu. Tôi sẽ sử dụng ubuntu 15.10 (Wily Werewolf) làm cơ sở cho quá trình cài đặt. Nếu bạn chưa có thiết lập máy chủ tối thiểu, vui lòng xem hướng dẫn này để có thiết lập cơ bản phù hợp.

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

  • Ubuntu 15.10 - 64 bit.
  • Quyền root.

Bước 1 - Cài đặt Nginx​

Đăng nhập vào máy chủ Ubuntu của bạn bằng tài khoản root (ví dụ: qua SSH) và cập nhật kho lưu trữ.
Mã:
sudo su
apt-get cập nhật
Sau đó cài đặt Nginx:
Mã:
apt-get install nginx -y
Kiểm tra xem nginx đã được cài đặt đúng chưa bằng cách kiểm tra cổng:
Mã:
netstat -plntu | grep 80

Bước 2 - Cài đặt và cấu hình PHP-FPM​

Trong bước này, chúng ta sẽ cài đặt PHP 5.6 ở chế độ PHP-FPM. Ngoài ra, chúng tôi sẽ cài đặt các tiện ích mở rộng PHP sau đây mà magento yêu cầu.
  • php-gd
  • php-mhash
  • php-mcrypt
  • php-xsl
  • php-pear
  • php-soap
Cài đặt các gói bằng lệnh apt bên dưới:
Mã:
apt-get install php5-fpm php5-mhash php5-mcrypt php5-curl php5-cli php5-mysql php5-gd php5-xsl php5-json php5-intl php-pear php5-dev php5-common php-soap libcurl3 curl -y
Chúng ta phải bật tiện ích mở rộng php5-mcrypt theo cách thủ công bằng cách tạo liên kết tượng trưng trong thư mục conf.d.
Mã:
cd /etc/php5/fpm/conf.d
sudo ln -s ../../mods-available/mcrypt.ini

cd /etc/php5/cli/conf.d
sudo ln -s ../../mods-available/mcrypt.ini
Bây giờ hãy chỉnh sửa các tệp php.ini cho fpm và cli.
Mã:
vim /etc/php5/fpm/php.ini
vim /etc/php5/cli/php.ini
và tăng giới hạn bộ nhớ và thời gian thực thi php và bật nén zlib bằng cách thêm các dòng sau vào cuối các tệp:
Mã:
memory_limit = 512M
max_execution_time = 1800
zlib.output_compression = On
Lưu và thoát.

Khởi động lại dịch vụ PHP-FPM để áp dụng các thay đổi cấu hình:
Mã:
systemctl restart php5-fpm

Bước 3 - Cài đặt và cấu hình MariaDB​

Tôi sẽ sử dụng MariaDB thay vì MySQL ở đây. Cài đặt MariaDB bằng lệnh apt:
Mã:
apt-get install mariadb-server mariadb-client -y
Đặt mật khẩu người dùng gốc MariaDB bằng lệnh này:
Mã:
mysqladmin -u root password mypassword
Sau đó kết nối với shell MySQL (shell MariaDB được khởi động bằng lệnh MySQL) bằng mật khẩu gốc của bạn, tạo một cơ sở dữ liệu có tên 'magentodb' và một người dùng 'magentouser' với mật khẩu 'magentouser@'. Vui lòng chọn mật khẩu an toàn cho 'magentouser' trên máy chủ của bạn chứ không phải mật khẩu 'magentouser@' mà tôi đã sử dụng trong ví dụ này!

Đăng nhập vào shell MySQL:
Mã:
mysql -u root -p
Trong shell MySQL, hãy chạy các lệnh sau:
Mã:
create database magentodb;
create user magentouser@localhost defined by 'magentouser@';
grant all privileges on magentodb.* to magentouser@localhost defined by 'magentouser@';
flush privileges;
\q


Database created and configure.


Bước 4 - Cài đặt và cấu hình Magento 2​

Chúng tôi sẽ cài đặt Magento trong thư mục '/var/www/magento2'. Đối với cài đặt Magento, chúng ta cần PHP composer.

Cài đặt php composer​

Vào thư mục gốc, tải xuống tệp cài đặt composer bằng curl và chạy tệp đó để cài đặt composer.
Mã:
cd ~/
curl -sS https://getcomposer.org/installer | php
Di chuyển tệp 'composer.phar' vào thư mục bin của máy chủ và đổi tên thành composer để có thể thực thi dễ dàng:
Mã:
mv composer.phar /usr/bin/composer
Bây giờ hãy xác minh rằng lệnh composer đang hoạt động:
Mã:
composer -v

- Tải xuống và giải nén Magento 2​

Truy cập thư mục web '/var/www/' và tải xuống Magento từ kho lưu trữ Github của nó, sau đó giải nén tệp tar.gz đã tải xuống:
Mã:
cd /var/www/
wget https://github.com/magento/magento2/archive/2.0.0.tar.gz
tar -xzvf 2.0.0.tar-gz
mv magento2-2.0.0/ magento2/
Xong.

- Cấu hình Khóa Magento​

Đăng ký tài khoản trên trang web Magento repo.magento.com. Tài khoản này là bắt buộc để sử dụng Magento và cửa hàng Magento composer. Khi bạn đã đăng ký, hãy chuyển đến Tab 'Tài khoản của tôi > Nhà phát triển > Khóa bảo mật', sau đó tạo khóa của bạn.


- Cấu hình Mã thông báo Github​

Đảm bảo rằng bạn đã đăng ký tại github.com. Tạo mã thông báo truy cập GitHub bằng cách nhấp vào hồ sơ hàng đầu của bạn, đi đến 'Cài đặt > Personal Access Tokens' và nhấp vào 'Tạo token mới'.


- Cài đặt thành phần của bên thứ ba cho Magento​

Vào thư mục cài đặt Magento 2 '/var/www/magento2' và chạy lệnh composer:
Mã:
cd /var/www/magento2/
composer install -v
Bạn sẽ được yêu cầu xác thực Magento, sử dụng khóa công khai làm tên người dùng và khóa riêng làm mật khẩu.

Sau đó, bạn sẽ được yêu cầu nhập mã thông báo GitHub, dán mã thông báo đó và nhấn 'enter' để tiếp tục thành phần của bên thứ ba.


- Cấu hình Nginx Virtualhost​

Magento cung cấp cấu hình máy chủ ảo Nginx có sẵn, vì vậy chúng ta chỉ cần đưa nó vào cấu hình.

Đi đến thư mục máy chủ ảo Nginx và tạo tệp mới có tên là magento:
Mã:
cd /etc/nginx/sites-available/
vim magento
Dán cấu hình bên dưới:
Mã:
upstream fastcgi_backend { server unix:/var/run/php5-fpm.sock;}server { listen 80; server_name www.newmagento.com; set $MAGE_ROOT /var/www/magento2; set $MAGE_MODE developer; include /var/www/magento2/nginx.conf.sample;}
Thay thế www.newmagento.com bằng tên miền của trang web mà cửa hàng của bạn sẽ sử dụng.

Lưu và thoát.

Bây giờ hãy kích hoạt máy chủ ảo và khởi động lại Nginx:
Mã:
ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
systemctl restart nginx

- Cài đặt Magento​

Chúng ta sẽ cài đặt magento trên dòng lệnh. Trong thư mục Magento '/var/www/magento2/' có tệp nhị phân có tên 'magento' được sử dụng để cài đặt và quản lý magento. Chạy lệnh:
Mã:
bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
--db-name="magentodb" \
--db-user="magentouser" \
--db-password="magentouser@" \
--language="en_US" \
--currency="USD" \
--timezone="America/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://www.newmagento.com" \
--base-url-secure="https://www.newmagento.com" \
--admin-user=adminuser \
--admin-password=admin123@ \
[emailprotected] \
--admin-firstname=admin \
--admin-lastname=user \
--cleanup-database
backend-frontname = trang quản trị cho trang web magento của chúng tôi, chúng tôi sử dụng 'adminlogin'.
Key = khóa magento của chúng tôi, chúng tôi có thể tạo khóa này hoặc tìm khóa này ngẫu nhiên trên http://randomkeygen.com/ v.v.
Base-url = đảm bảo khóa này giống với cấu hình máy chủ ảo.



Khi kết thúc quy trình cài đặt, bạn sẽ thấy những dòng này:
Mã:
[SUCCESS]: Hoàn tất cài đặt Magento.[THÀNH CÔNG]: URI quản trị Magento: /adminlogin
Trước khi chúng ta kiểm tra cài đặt Magento, hãy đảm bảo chủ sở hữu thư mục web là 'www-data', sau đó khởi động lại nginx.
Mã:
cd /var/www/magento2/
chown -R www-data .
Mã:
systemctl restart nginx
Bây giờ hãy mở miền Magento trong trình duyệt của bạn:


Trong trường hợp của tôi, tên là: www.newmagento.com.



Thử đăng nhập vào bảng điều khiển quản trị Magento:


www.newmagento.com/adminlogin



Lưu ý:

Nếu bạn gặp lỗi về trình lập chỉ mục và cronjob của Magento, thì bạn có thể giải quyết bằng cách thêm lệnh sau cronjob tới máy chủ của bạn:
Mã:
crontab -u www-data -e
Thêm các dòng sau:
Mã:
*/1 * * * * php -c /etc/php5/cli/php.ini /var/www/magento2/bin/magento cron:run*/1 * * * * php -c /etc/php5/cli/php.ini /var/www/magento2/update/cron.php*/1 * * * * php -c /etc/php5/cli/php.ini /var/www/magento2/bin/magento setup:cron:run
Lưu và thoát.

Magento 2 với Nginx và PHP-FPM trên Ubuntu 15.10 hiện đã được cài đặt.

Kết luận​

Magento là một nền tảng thương mại điện tử mã nguồn mở dựa trên PHP Zend Framework. Đây là một phần mềm thương mại điện tử phức tạp giúp bạn kinh doanh trực tuyến. Magento sử dụng kiến trúc MVC (Model-View-Controller) và MySQL hoặc MariaDB làm cơ sở dữ liệu. Magento dễ cài đặt, chúng ta có thể cài đặt bằng máy chủ web Nginx hoặc Apache. Magento đã trở thành một trong những phần mềm thương mại điện tử phổ biến nhất trên internet và được nhiều trang web cửa hàng thành công trên toàn thế giới sử dụng.
 
Back
Bên trên