Fast Byte - Thuê VPS Giá Rẻ
Hướng dẫn chung

Hướng Dẫn Cài Đặt PostgreSQL Trên Ubuntu Từ Số 0 Đến A-Z Cho Người Mới

Hướng dẫn cài đặt và sử dụng PostgreSQL trên Ubuntu dưới đây dành cho người mới đang cần dựng một hệ quản trị cơ sở dữ liệu mạnh mẽ trên máy chủ nhưng chưa biết bắt đầu từ đâu. Bạn sẽ lần lượt cài PostgreSQL bằng apt, quản lý role và database, rồi tạo bảng […]

Ảnh đại diện Thanh Lam NguyễnThanh Lam Nguyễn19 phút đọc

Hướng dẫn cài đặt và sử dụng PostgreSQL trên Ubuntu dưới đây dành cho người mới đang cần dựng một hệ quản trị cơ sở dữ liệu mạnh mẽ trên máy chủ nhưng chưa biết bắt đầu từ đâu. Bạn sẽ lần lượt cài PostgreSQL bằng apt, quản lý role và database, rồi tạo bảng và thao tác dữ liệu SQL theo từng bước chi tiết. Toàn bộ thao tác đều chạy tốt trên dịch vụ thuê VPS giá rẻ tại ThueVPSGiaRe.vn, nên bạn có thể thực hành ngay hôm nay.

PostgreSQL là gì? Vì sao nên cài trên Ubuntu?

PostgreSQL (còn gọi là Postgres) là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở, cung cấp cài đặt đầy đủ ngôn ngữ truy vấn SQL, nổi bật với độ tin cậy cao, tuân thủ chuẩn và nhiều tính năng nâng cao như transaction bền vững hay khả năng xử lý đồng thời mà không cần khóa đọc. Nhờ vậy, đây là lựa chọn phổ biến cho cả dự án nhỏ lẫn lớn. Bản hướng dẫn gốc của DigitalOcean thực hiện trực tiếp trên Ubuntu 20.04, nên bạn hoàn toàn có thể áp dụng cho VPS Linux chạy cùng hệ điều hành này.

PostgreSQL là gì

So với các hệ quản trị khác như MySQL, PostgreSQL được đánh giá là “hướng đối tượng – quan hệ” (object-relational), tức là hỗ trợ nhiều kiểu dữ liệu và ràng buộc linh hoạt hơn. Một số điểm bạn cần nắm trước khi bắt đầu:

  • Mã nguồn mở, miễn phí: Cài đặt nhanh ngay từ kho apt của Ubuntu, không cần thêm repo ngoài.
  • Quản lý bằng “roles”: PostgreSQL không phân biệt cứng giữa “user” và “role” mà dùng khái niệm role linh hoạt cho việc xác thực, phân quyền.
  • Phù hợp thực hành trên VPS: Toàn bộ lệnh trong bài chạy bằng terminal, nên một máy chủ với quyền root đầy đủ là đủ điều kiện để học.

Chuẩn bị gì trước khi cài đặt PostgreSQL trên Ubuntu?

Trước khi đi vào từng câu lệnh, bạn cần đảm bảo môi trường máy chủ đã được thiết lập đúng quy chuẩn. Điều này giúp ngăn ngừa các lỗi phân quyền cũng như hạn chế lỗ hổng bảo mật khi triển khai cơ sở dữ liệu trên môi trường thực tế.

Bước 1: Cài đặt PostgreSQL trên Ubuntu bằng apt

Ubuntu 20.04 mặc định đã đưa PostgreSQL vào kho phần mềm của hệ điều hành, nên bạn có thể cài đặt trực tiếp bằng công cụ quản lý gói apt mà không cần cấu hình thêm gì. Nếu chưa quen thao tác trên terminal, bạn nên xem qua bộ lệnh Linux cơ bản để thao tác mượt hơn.

Cài Đặt PostgreSQL Trên Ubuntu

Đầu tiên, làm mới chỉ mục gói cục bộ của máy chủ:

sudo apt update

Sau đó, cài gói Postgres cùng gói -contrib – gói này bổ sung thêm một số tiện ích và chức năng hỗ trợ:

sudo apt install postgresql postgresql-contrib

Sau khi cài đặt xong, phần mềm đã sẵn sàng và được vận hành như một dịch vụ trên hệ thống. Ở bước tiếp theo, chúng ta sẽ tìm hiểu cách PostgreSQL quản lý người dùng và cơ sở dữ liệu trước khi đăng nhập vào hệ quản trị này.

Bước 2: Làm việc với Roles và Databases trong PostgreSQL

Mặc định, PostgreSQL dùng khái niệm gọi là “roles” (vai trò) để xử lý xác thực và phân quyền. Roles có phần giống các tài khoản kiểu Unix, nhưng Postgres không phân biệt giữa user và role thông thường mà dùng khái niệm linh hoạt hơn. Nếu bạn đã từng làm việc với database trên các hệ quản trị khác, hãy lưu ý cách vận hành của PostgreSQL ở phần này vì nó khác biệt khá rõ.

Khi cài đặt, Postgres được cấu hình để dùng peer authentication, nghĩa là gắn role PostgreSQL với một tài khoản hệ thống Unix/Linux trùng tên. Cụ thể: một role tên “sammy” chỉ có thể đăng nhập nếu máy chủ tồn tại tài khoản Linux tên “sammy”. Quy trình cài đặt cũng tạo sẵn tài khoản hệ thống tên postgres, gắn với role mặc định postgres.

Để dùng Postgres, bạn sẽ đăng nhập vào tài khoản này:

sudo -i -u postgres

Giờ bạn có thể truy cập Postgres prompt ngay lập tức bằng lệnh:

psql

Lệnh này sẽ đưa bạn vào PostgreSQL prompt, nơi bạn có thể tương tác trực tiếp với hệ quản trị cơ sở dữ liệu. Để thoát khỏi PostgreSQL prompt, gõ:

\q

Lệnh trên đưa bạn về command prompt của tài khoản Linux postgres. Để quay lại user hệ thống thông thường của mình, gõ exit. Ngoài ra, bạn cũng có thể chạy lệnh Postgres trực tiếp bằng sudo mà không cần chuyển tài khoản, bằng cách mở prompt như sau:

sudo -u postgres psql

Bước 3: Tạo role mới trong PostgreSQL

Tại thời điểm này, hệ thống chỉ có role postgres được cấu hình. Bạn có thể tạo role mới từ dòng lệnh bằng tiện ích createuser – đây là cách chuẩn để tạo user trong SQL phía PostgreSQL mà không cần gõ câu lệnh tạo thủ công. Cờ --interactive sẽ hỏi tên role mới và hỏi xem role đó có được cấp quyền superuser hay không.

Nếu bạn đang đăng nhập bằng tài khoản postgres, gõ lệnh sau để tạo user mới:

createuser –interactive

Nếu muốn dùng sudo cho từng lệnh mà không chuyển tài khoản, gõ:

sudo -u postgres createuser –interactive

Script sẽ hỏi một số lựa chọn và dựa vào câu trả lời của bạn, thực thi đúng các lệnh Postgres để tạo user theo yêu cầu. Ví dụ:

Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y

Bạn có thể kiểm soát nhiều hơn bằng cách truyền thêm các cờ bổ sung; xem danh sách tùy chọn qua trang hướng dẫn:

man createuser

Lúc này hệ thống đã có một role mới, nhưng role này chưa có database riêng để làm việc. Bước tiếp theo sẽ xử lý phần đó.

Bước 4: Tạo database mới trong PostgreSQL

Role sammy vừa tạo vẫn chưa có database, nên bạn cần tạo một database để role này có không gian làm việc. Lệnh dùng để tạo database là createdb, tương tự như cách tạo role ở trên.

Nếu bạn đang đăng nhập bằng tài khoản postgres, tạo database tên sammy bằng lệnh:

createdb sammy

Nếu bạn muốn dùng sudo cho từng lệnh mà không cần chuyển tài khoản, gõ:

sudo -u postgres createdb sammy

Vậy là role và database cùng tên đã sẵn sàng. Bước kế tiếp sẽ hướng dẫn cách đăng nhập vào Postgres prompt bằng chính role này.

Bước 5: Mở Postgres prompt với role mới

Để đăng nhập bằng cơ chế xác thực peer, bạn cần một tài khoản Linux trùng tên với role PostgreSQL và database vừa tạo. Nếu chưa có user Linux tương ứng, hãy tạo một tài khoản bằng lệnh adduser. Lưu ý bạn phải chạy lệnh này từ tài khoản không phải root nhưng có quyền sudo (nghĩa là không phải đăng nhập bằng user postgres):

sudo adduser sammy

Khi tài khoản mới đã sẵn sàng, bạn có thể chuyển sang tài khoản đó và kết nối vào database:

sudo -i -u sammy
psql

Hoặc làm gọn trong một dòng:

sudo -u sammy psql

Lệnh này sẽ tự động đăng nhập bạn vào hệ thống. Nếu muốn kết nối tới một database khác, bạn chỉ định tên database như sau:

psql -d postgres

Sau khi đăng nhập, kiểm tra thông tin kết nối hiện tại bằng lệnh:

\conninfo

You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Cách này rất hữu ích khi bạn cần kết nối tới các database không phải mặc định. Đến đây, phần cấu hình account và database đã hoàn tất – bạn có thể bắt đầu thực hành với bảng dữ liệu thực tế.

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

VPS cấu hình vừa đủ – làm lab PostgreSQL không tốn kém

Bạn vừa cài PostgreSQL chỉ cần một máy chủ Ubuntu ổn định, quyền root đầy đủ và chi phí thấp để thực hành lâu dài. VPS giá rẻ của Fast Byte hỗ trợ cài đặt Ubuntu 20.04, ổ SSD NVMe U.2 giúp phản hồi truy vấn nhanh và CPU Intel Gold đủ dùng cho database thử nghiệm hoặc ứng dụng nhỏ. Chọn gói vừa sức, tiết kiệm ngân sách mà vẫn có môi trường riêng để luyện tập toàn bộ lệnh trong bài.

Tham khảo VPS giá rẻ

Bước 6: Tạo bảng trong PostgreSQL

Bây giờ bạn đã biết cách kết nối vào hệ thống PostgreSQL, có thể bắt đầu học các tác vụ quản trị cơ bản. Cú pháp tổng quát để tạo bảng như sau:

CREATE TABLE table_name (
    column_name1 col_type (field_length) column_constraints,
    column_name2 col_type (field_length) column_constraints,
    column_name3 col_type (field_length) column_constraints
);

Các lệnh này đặt tên cho bảng, đồng thời định nghĩa các cột, kiểu dữ liệu của cột, độ dài tối đa của trường dữ liệu và các ràng buộc (constraints) tùy chọn cho từng cột. Để minh họa, hãy tạo bảng sau:

CREATE TABLE playground (
    equip_id serial PRIMARY KEY,
    type varchar (50) NOT NULL,
    color varchar (25) NOT NULL,
    location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')),
    install_date date
);

Các lệnh trên tạo bảng quản lý thiết bị sân chơi với các đặc điểm đáng chú ý sau:

  • equip_id: Kiểu serial – số nguyên tự tăng, được khai báo là PRIMARY KEY (khóa chính) của bảng.
  • type và color: Hai cột kiểu varchar với độ dài tối đa lần lượt 50 và 25, đều có ràng buộc NOT NULL – không được để trống.
  • location: Cột varchar(25) kèm ràng buộc check, chỉ cho phép giá trị là một trong tám hướng: north, south, west, east, northeast, southeast, southwest, northwest.
  • install_date: Cột kiểu date, ghi nhận ngày lắp đặt thiết bị.
  • Ràng buộc cấp bảng: Với bảng playground, ta chưa thêm ràng buộc ở cấp bảng, tuy nhiên bạn hoàn toàn có thể thêm nếu muốn.

Để kiểm tra bảng vừa tạo, dùng lệnh \d – lệnh này hiển thị toàn bộ các quan hệ (relation) bao gồm bảng, sequence và index:

\d

        List of relations
 Schema |    Name    | Type  |  Owner   
--------+------------+-------+----------
 public | playground | table | postgres
(1 row)

Bảng playground đã xuất hiện ở đây, bên cạnh đó còn có một đối tượng tên playground_pkey – đây là ràng buộc (constraint) mà PostgreSQL tự sinh ra phục vụ kiểu serial. Nếu chỉ muốn liệt kê bảng, dùng lệnh:

\dt

         List of relations
 Schema |    Name    | Type  |  Owner   
--------+------------+-------+----------
 public | playground | table | postgres
(1 row)

Bước 7: Thêm, truy vấn và xóa dữ liệu trong bảng

Đã có bảng, giờ bạn có thể chèn dữ liệu vào. Ví dụ dưới đây thêm một chiếc cầu trượt (slide) và một chiếc xích đu (swing): gọi tên bảng muốn thêm dữ liệu, liệt kê tên cột, sau đó cung cấp dữ liệu cho từng cột:

INSERT INTO playground (type, color, location, install_date) VALUES (‘slide’, ‘blue’, ‘south’, ‘2017-04-28’);
INSERT INTO playground (type, color, location, install_date) VALUES (‘swing’, ‘yellow’, ‘northwest’, ‘2018-08-16’);

Có một vài lỗi phổ biến bạn cần tránh. Thứ nhất, không cần bọc tên cột và giá trị trong dấu ngoặc kép – tên cột và giá trị như trên là đủ. Thứ hai, đừng quên dấu chấm phẩy ở cuối mỗi câu lệnh. Sau khi thêm dữ liệu, truy xuất lại toàn bộ thông tin bằng lệnh:

SELECT * FROM playground;

 type  | color  | location  | install_date 
-------+--------+-----------+--------------
 slide | blue   | south     | 2017-04-28
 swing | yellow | northwest | 2018-08-16
(2 rows)

Bạn có thể thấy cột equip_id đã được điền tự động và toàn bộ dữ liệu khác được tổ chức đúng như thiết kế. Nếu chiếc cầu trượt bị hỏng và bạn phải loại bỏ nó khỏi danh sách, hãy xóa dòng dữ liệu tương ứng bằng lệnh:

DELETE FROM playground WHERE type = ‘slide’;

Truy vấn lại bảng để kiểm tra:

SELECT * FROM playground;

 type  | color  | location  | install_date 
-------+--------+-----------+--------------
 swing | yellow | northwest | 2018-08-16
(1 row)

Bước 8: Thêm và xóa cột trong bảng

Nếu nhu cầu thay đổi và bạn cần theo dõi thêm thông tin như ngày bảo trì gần nhất của thiết bị, bạn có thể thêm cột mới vào bảng hiện có bằng lệnh ALTER TABLE:

ALTER TABLE playground ADD last_maint date;

Truy vấn lại thông tin bảng, bạn sẽ thấy cột mới đã được thêm vào (nhưng chưa có dữ liệu nào được nhập):

SELECT * FROM playground;

 type  | color  | location  | install_date | last_maint 
-------+--------+-----------+--------------+------------
 swing | yellow | northwest | 2018-08-16   | 
(1 row)

Khi không cần nữa, bạn xóa cột bằng cú pháp đối xứng:

ALTER TABLE playground DROP last_maint;

Lệnh này xóa cột last_maint cùng toàn bộ dữ liệu nằm trong nó, nhưng giữ nguyên mọi dữ liệu khác của bảng. Đây là thao tác đáng nhớ nếu bạn cần điều chỉnh cấu trúc bảng mà không muốn tạo lại từ đầu.

Bước 9: Xóa bảng trong PostgreSQL

Khi muốn xóa hẳn một bảng, bạn dùng lệnh DROP TABLE. Trước khi thực hiện, hãy chắc chắn bạn đã sao lưu (backup) dữ liệu VPS nếu trong bảng còn giá trị cần giữ, vì thao tác này không thể hoàn tác. Xóa bảng playground bằng lệnh:

DROP TABLE playground;

Lệnh này xóa bảng cùng toàn bộ dữ liệu bên trong. Xác nhận bảng đã bị xóa bằng cách liệt kê lại:

\dt

Did not find any relations.

Kết quả “Did not find any relations” xác nhận bảng đã được gỡ bỏ hoàn toàn khỏi database.

Tổng hợp lệnh PostgreSQL thường dùng trong bài

Toàn bộ hướng dẫn cài đặt và sử dụng PostgreSQL trên Ubuntu phía trên xoay quanh một nhóm lệnh lặp lại liên tục. Bảng dưới đây tổng hợp lại để bạn tra cứu nhanh khi thực hành:

Lệnh Chức năng
sudo apt install postgresql postgresql-contrib Cài PostgreSQL cùng các tiện ích bổ sung trên Ubuntu 20.04.
sudo -i -u postgres → psql Chuyển sang tài khoản postgres và mở PostgreSQL prompt.
\q Thoát khỏi PostgreSQL prompt.
sudo -u postgres createuser –interactive Tạo role mới, hệ thống sẽ hỏi tên role và quyền superuser.
sudo -u postgres createdb tên_db Tạo database mới.
\conninfo Hiển thị thông tin kết nối hiện tại (database, user, port).
\d / \dt Liệt kê các quan hệ (bảng, sequence, index) / chỉ liệt kê bảng.
CREATE TABLE … Tạo bảng mới với cột, kiểu dữ liệu và ràng buộc.
INSERT INTO … VALUES … Thêm dòng dữ liệu vào bảng.
SELECT * FROM … Truy vấn dữ liệu trong bảng.
DELETE FROM … WHERE … Xóa dòng dữ liệu thỏa điều kiện.
ALTER TABLE … ADD / DROP Thêm hoặc xóa cột trong bảng.
DROP TABLE … Xóa hẳn bảng cùng toàn bộ dữ liệu.

Các sự cố thường gặp và cách khắc phục lỗi PostgreSQL trên Ubuntu

Trong quá trình vận hành, bạn sẽ bắt gặp một số thông báo lỗi lặp lại nhiều lần. Tin tốt là hầu hết đều có nguyên nhân rõ ràng và cách xử lý nhanh. Bảng dưới đây tóm tắt các lỗi phổ biến nhất khi chạy PostgreSQL trên Ubuntu 20.04:

Thông báo / hiện tượng Nguyên nhân thường gặp Cách xử lý nhanh
Peer authentication failed for user “postgres” User Linux hiện tại không có role trùng tên. Chạy lệnh sudo -u postgres psql.
FATAL: role “sammy” does not exist Chưa tạo role tương ứng. Chạy createuser --interactive.
FATAL: database “sammy” does not exist Database chưa được tạo. Chạy createdb sammy.
Connection refused / không kết nối được cổng 5432 Dịch vụ PostgreSQL chưa chạy hoặc dừng đột ngột. Kiểm tra rồi khởi động lại dịch vụ.
Password authentication failed Sai mật khẩu hoặc phương thức xác thực trong pg_hba.conf không khớp. Đổi mật khẩu role, rà soát pg_hba.conf.
Dịch vụ không khởi động sau khi sửa cấu hình Lỗi cú pháp trong postgresql.conf. Đọc log để tìm dòng sai và sửa lại.

Kiểm tra và khởi động lại dịch vụ PostgreSQL

Khi không kết nối được vào database, việc đầu tiên là xem trạng thái dịch vụ:

sudo systemctl status postgresql

Nếu dịch vụ đang “inactive” hoặc “failed”, hãy khởi động lại:

sudo systemctl start postgresql

Để xác nhận PostgreSQL đang lắng nghe trên cổng 5432, dùng lệnh ss trong Linux để kiểm tra cổng và kết nối:

ss -ltnp | grep 5432

Đọc log khi PostgreSQL gặp lỗi

Log là nguồn thông tin quý giá nhất khi xử lý sự cố. Trên Ubuntu 20.04, log của PostgreSQL 12 nằm tại /var/log/postgresql/postgresql-12-main.log. Xem 50 dòng gần nhất bằng lệnh:

sudo tail -n 50 /var/log/postgresql/postgresql-12-main.log

Lỗi khi kết nối tới PostgreSQL từ máy khác

Mặc định PostgreSQL chỉ lắng nghe kết nối nội bộ (localhost). Nếu ứng dụng ở máy khác cần truy cập, bạn phải mở file /etc/postgresql/12/main/postgresql.conf, đổi listen_addresses thành '*', đồng thời thêm rule host tương ứng vào file pg_hba.conf cùng thư mục, rồi restart dịch vụ.

Đừng quên mở cổng 5432 trên tường lửa bằng cách tham khảo hướng dẫn thiết lập tường lửa UFW trên Ubuntu và cách mở port trên VPS. Nếu sau khi xử lý máy chủ vẫn chậm hoặc treo, hãy xem quy trình xử lý VPS đầy tài nguyên vì nguyên nhân có thể nằm ở tầng hạ tầng chứ không phải PostgreSQL.

Câu hỏi thường gặp (FAQ)

Nên chọn PostgreSQL hay MySQL cho dự án của mình?

Cả hai đều là hệ quản trị cơ sở dữ liệu quan hệ, nhưng PostgreSQL cung cấp nhiều kiểu dữ liệu và ràng buộc nâng cao hơn (như serial, check constraint bạn thấy trong bài), phù hợp khi cần tính chuẩn và linh hoạt. Nếu bạn đang cân nhắc giữa hai hệ này, hãy đọc bài so sánh về MySQL để hiểu rõ hơn ưu nhược điểm của từng lựa chọn trước khi quyết định.

Vì sao phải tạo user Linux trùng tên với role PostgreSQL?

Vì mặc định Postgres dùng peer authentication, gắn trực tiếp role với tài khoản hệ thống cùng tên. Đây chính là lý do ở Bước 5 bạn phải chạy adduser sammy trước khi đăng nhập bằng role sammy. Nếu không tạo user Linux tương ứng, việc đăng nhập bằng role đó qua cơ chế mặc định sẽ không diễn ra như mong đợi.

Làm sao liệt kê toàn bộ database đang có trên máy chủ?

Trong PostgreSQL prompt, dùng lệnh meta \l để xem danh sách toàn bộ database. Tương tự, \dt liệt kê bảng và \conninfo hiển thị thông tin kết nối – các lệnh này được dùng xuyên suốt trong bài hướng dẫn ở trên.

Có nên chạy PostgreSQL trên VPS giá rẻ không?

Hoàn toàn có thể cho nhu cầu học tập, phát triển và ứng dụng quy mô nhỏ. Điều quan trọng là chọn cấu hình hợp lý: ưu tiên ổ SSD tốc độ cao để truy vấn nhanh và RAM vừa đủ cho workload thực tế. Với môi trường sản xuất, bạn nên giám sát tài nguyên thường xuyên và lên kế hoạch mở rộng khi dữ liệu tăng lên.

Qua bài viết này, bạn đã hoàn thành trọn bộ quy trình cài đặt và sử dụng PostgreSQL trên Ubuntu: cài phần mềm bằng apt, nắm cơ chế roles – databases, tạo role và database riêng, đăng nhập bằng role mới, rồi thực hành đầy đủ các thao tác CREATE TABLE, INSERT, SELECT, DELETE, ALTER TABLE và DROP TABLE.

Ba điều quan trọng cần ghi nhớ: PostgreSQL quản lý quyền bằng role trùng tên user Linux, dấu chấm phẩy kết thúc mọi câu lệnh SQL, và luôn kiểm tra lại kết quả bằng \d, \dt sau mỗi thao tác. Khi cần một môi trường thực hành riêng tư và ổn định, đừng ngần ngại khởi động cùng một chiếc VPS cấu hình vừa đủ để đi tiếp từ cơ bản đến nâng cao.

Cần một VPS giá rẻ để bắt đầu?

Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.

Xem bảng giá VPS

Lưu ý quan trọng: Nội dung bài viết chỉ mang tính tham khảo. Các lệnh và cấu hình có thể thay đổi tùy theo phiên bản hệ điều hành (Ubuntu 20.04 hoặc mới hơn), phiên bản PostgreSQL và môi trường thực tế của bạn. Trước khi áp dụng cho máy chủ đang chạy thật, bạn nên kiểm thử trên môi trường thử nghiệm, sao lưu đầy đủ dữ liệu và tự đánh giá rủi ro liên quan. Fast Byte không chịu trách nhiệm cho các sự cố phát sinh từ việc thực hiện lệnh trong bài trên hệ thống production.

Chia sẻ: Facebook LinkedIn
Quay lại trang blog

Bài viết liên quan

Cách Cài Đặt Node.js Và npm Trên Ubuntu
Hướng dẫn chung

3 Cách Cài Đặt Node.js Và npm Trên Ubuntu Nhanh, Không Lỗi, Chuẩn Kỹ Thuật 2026

Việc cài đặt Node.js và npm trên Ubuntu là bước khởi đầu quan trọng nhưng thường khiến nhiều lập trình viên bối rối do chọn sai kho phần mềm, dẫn đến phiên bản Node.js bị lỗi thời hoặc xung đột quyền hạn khi quản lý package. Dưới đây, ThueVPSGiaRe.vn sẽ hướng dẫn bạn cách cài […]

Thanh Lam Nguyễn
Đọc bài viết