huong-dan-cai-dat-composer-tren-ubuntu-20-04

Composer là một công cụ để quản lý phụ thuộc phổ biến trong PHP. Composer cho phép bạn khai báo các thư viện mà dự án của bạn phụ thuộc vào và nó sẽ quản lý việc cài đặt, cập nhật chúng cho bạn. Composer cũng thường được sử dụng để bắt đầu các dự án mới dựa trên các PHP frameworks phổ biến như Laravel, Codeigniter. Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt Composer trên Ubuntu 20.04.

Về xây dựng môi trường để code trên Ubuntu, các bạn có thể tham khảm thêm một số bài viết:

Bước 1: Cài đặt PHP và các package bổ sung

Composer yêu cầu phải có:

  • php-cli để thực thi các tập lệnh PHP trong dòng lệnh.
  • unzip để giải nén các lưu trữ.

Trước khi cài đặt các package, chúng ta cần cập nhật các thông tin mới nhất của các package. Thực hiện command dưới:

sudo apt update
sudo apt update
Cập nhật thông tin mới nhất của các package.

Tiếp theo, thực hiện command dưới để cài đặt các package php-cliunzip:

sudo apt install php-cli unzip

Bạn sẽ nhận được lời nhắc xác nhận cài đặt, hãy gõ Y rồi ENTER.

cài đặt composer trên ubuntu 20.04 bước 1.1
Cài đặt php-cli và unzip

Sau khi đã cài đặt các package bổ sung cần thiết, chúng ta có thể bắt đầu cài đặt Composer.

Bước 2: Tải và cài đặt Composer trên Ubuntu 20.04

Composer cung cấp một script cài đặt viết bằng PHP. Chúng ta cần tải nó, xác minh rằng tập tin đã tải là nguyên vẹn sau đó có thể tiến hành cài đặt Composer.

Đảm bảo rằng thư mục đang làm việc là home, sau đó sử dụng curl để download file cài đặt Composer:

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
Thực hiện download load file cài đặt Composer
Thực hiện download load file cài đặt Composer

Nếu máy tính của bạn chưa cài đặt curl, hãy thực hiện command dưới đây trước khi thực hiện command phía trên nhé:

sudo apt install curl
cai dat curl

Tiếp theo, chúng ta cần xác minh tính nguyên viện của file cài đặt vừa tải về. Chúng ta thực hiện bằng cách so sánh hàm băm SHA-384 của file vừa tải về có khớp với hàm băm của Composer cung cấp tại trang https://composer.github.io/pubkeys.html hay không.

Để thuận tiện cho việc xác minh, bạn có thể thực hiện command dưới đây để lấy mã băm mới nhất theo từ trang Composer và lưu nó vào một biến trong SHELL:

HASH=curl -sS https://composer.github.io/installer.sig

Nếu bạn muốn xác nhận giá trị nhận được, bạn có thể thực hiện command:

echo $HASH

Lệnh trên sẽ hiển thị ra cho bạn chuỗi băm đã lấy được. Bạn có thể tham khảo ảnh dưới:

Tải file cài đặt Composer
Tải file cài đặt Composer

Tiếp theo, thực thi tiếp command dưới đây để xác nhận tính nguyên vẹn của file composer-setup.php đã tải về ở trên.

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Bạn sẽ thấy kết quả trả về là: Installer verified. Nếu kết quả trả về là Installer corrupt, bạn cần tải lại script cài đặt và thực hiện kiểm tra lại lần nữa. Lặp lại đến khi script cài đặt được xác minh (Mã trên trả về Installer verified) thì bạn có thể tiếp tục thực hiện tiếp các bước dưới.

Script cài đặt được xác minh tính nguyên vẹn
Script cài đặt được xác minh tính nguyên vẹn

Để cài đặt Composer và sử dụng từ bất kỳ đâu trên hệ thống, sử dụng command dưới đây để lưu nó vào trong thư mục /usr/local/bin.

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Bạn sẽ thấy thông báo cài đặt thành công như ảnh dưới.

Cài đặt Composer trên Ubuntu 20.04 thành công
Cài đặt Composer trên Ubuntu 20.04 thành công

Bạn có thể kiểm tra xem bạn đã cài đặt Composer thành công chưa bằng cách thực hiện command:

composer

Nếu kết quả trả về tương tự ảnh dưới tức là bạn đã cài đặt thành công Composer rồi đó.

Xác nhận cài đặt Composer thành công
Xác nhận cài đặt Composer thành công

Kết luận

Trên đây, mình đã hướng dẫn các bạn cài đặt Composer trên hệ điều hành Ubuntu 20.04. Trong quá trình thực hiện, nếu bạn gặp phải vấn đề gì thì hãy để lại bình luận bên dưới để mọi người giúp đỡ nhé!

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments