Thứ ba, 30/06/2020 | 00:00 GMT+7

Cách cài đặt WordPress trên Ubuntu 20.04 với LAMP

WordPress là một công nghệ open-souce cực kỳ phổ biến để tạo trang web và blog trên internet hiện nay. Được sử dụng bởi 63% tất cả các trang web sử dụng hệ thống quản lý nội dung (CMS), các trang web WordPress đại diện cho 36% tất cả các trang web hiện đang trực tuyến.

Có nhiều cách tiếp cận khác nhau để truy cập vào WordPress và một số quy trình cài đặt phức tạp hơn những quy trình khác. Hướng dẫn này dành cho những ai muốn cài đặt và quản trị version Wordpress trên server cloud không được quản lý thông qua dòng lệnh. Mặc dù cách tiếp cận này yêu cầu nhiều bước hơn so với cài đặt WordPress được tạo sẵn, nhưng nó cung cấp cho administrator quyền kiểm soát tốt hơn đối với môi trường WordPress của họ.

Tùy thuộc vào nhu cầu và mục tiêu của bạn, bạn có thể tìm thấy các phương án khác phù hợp hơn. Là phần mềm nguồn mở, WordPress có thể được download và cài đặt miễn phí, nhưng để có sẵn trên web, bạn có thể cần mua cơ sở hạ tầng cloud và domain . Tiếp tục làm theo hướng dẫn này nếu bạn muốn làm việc thông qua cài đặt phía server và cài đặt trang web WordPress.

Hướng dẫn này sẽ sử dụng LAMP ( L inux, A pache, M ySQL và P HP), là một tùy chọn cho kiến trúc server hỗ trợ WordPress bằng cách cung cấp hệ điều hành Linux, web server Apache, database MySQL và PHP ngôn ngữ lập trình. Ta sẽ cài đặt và cài đặt WordPress qua LAMP trên server Linux Ubuntu 20.04.

Yêu cầu

Để hoàn thành hướng dẫn này, bạn cần truy cập vào server Ubuntu 20.04 và cần hoàn thành các bước sau trước khi bắt đầu hướng dẫn này:

  • Cài đặt server của bạn theo hướng dẫn cài đặt server ban đầu Ubuntu 20.04 của ta và đảm bảo bạn có user sudo không phải root.
  • Cài đặt LAMP theo hướng dẫn LAMP của ta để cài đặt và cấu hình phần mềm này.
  • Bảo mật trang web : WordPress nhận thông tin đầu vào của user và lưu trữ dữ liệu user , vì vậy điều quan trọng là nó phải có một lớp bảo mật. TLS / SSL là công nghệ cho phép bạn mã hóa lưu lượng truy cập từ trang web của bạn để kết nối của bạn và user của bạn được an toàn. Dưới đây là hai tùy chọn có sẵn cho bạn để đáp ứng yêu cầu này:
    • Nếu bạn có domain … bạn có thể bảo mật trang web của bạn bằng Let's Encrypt, cung cấp các certificate miễn phí, tin cậy . Làm theo hướng dẫn Hãy mã hóa Apache của ta để cài đặt điều này.
    • Nếu bạn không có domain … và bạn chỉ đang sử dụng cấu hình này để thử nghiệm hoặc sử dụng cá nhân, bạn có thể sử dụng certificate tự ký thay thế. Điều này cung cấp cùng một loại mã hóa, nhưng không có xác thực domain . Làm theo hướng dẫn SSL tự ký của ta cho Apache để cài đặt .

Khi bạn hoàn tất các bước cài đặt , hãy đăng nhập vào server của bạn với quyền là user sudo của bạn và tiếp tục bên dưới.

Bước 1 - Tạo Database MySQL và User cho WordPress

Bước đầu tiên mà ta sẽ thực hiện là một bước chuẩn bị. WordPress sử dụng MySQL để quản lý và lưu trữ thông tin trang web và user . Ta đã cài đặt MySQL, nhưng ta cần tạo database và user cho WordPress để sử dụng.

Để bắt đầu, hãy đăng nhập vào account root (quản trị) MySQL bằng cách ra lệnh này ( lưu ý đây không phải là user root của server của bạn):

  • mysql -u root -p

Bạn sẽ được yêu cầu nhập password bạn đã đặt cho account root MySQL khi cài đặt .

Lưu ý : Nếu bạn không thể truy cập database MySQL của bạn thông qua root, với quyền là user sudo bạn có thể cập nhật password của user root bằng cách đăng nhập vào database như sau:

  • sudo mysql -u root

Sau khi nhận được dấu nhắc MySQL, bạn có thể cập nhật password của user root . Tại đây, hãy thay thế new_password bằng một password mạnh mà bạn chọn.

  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

Đến đây bạn có thể gõ EXIT; và có thể đăng nhập lại vào database thông qua password bằng lệnh sau:

  • mysql -u root -p

 

Trong database , ta có thể tạo một database độc quyền cho WordPress để kiểm soát. Bạn có thể đặt tùy ý , nhưng ta sẽ sử dụng tên wordpress trong hướng dẫn này. Tạo database cho WordPress bằng lệnh :

  • CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Lưu ý: Mọi câu lệnh MySQL phải kết thúc bằng dấu chấm phẩy ( ; ). Kiểm tra đảm bảo điều này có sẵn nếu bạn đang gặp sự cố nào .

Tiếp theo, ta sẽ tạo một account user MySQL riêng biệt mà ta sẽ sử dụng riêng để vận hành database mới của bạn . Việc tạo database và account cụ thể có thể hỗ trợ ta từ quan điểm quản lý và bảo mật. Ta sẽ sử dụng tên wordpressuser trong hướng dẫn này, nhưng hãy thoải mái sử dụng bất kỳ tên nào phù hợp với bạn.

Ta sẽ tạo account này, đặt password và cấp quyền truy cập vào database ta đã tạo. Ta có thể thực hiện việc này bằng lệnh lệnh sau. Hãy nhớ chọn một password mạnh tại đây cho user database của bạn nơi ta có password :

  • CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

Tiếp theo, hãy cho database biết rằng user wordpress của ta phải có toàn quyền truy cập vào database mà ta đã cài đặt :

  • GRANT ALL ON wordpress.* TO 'wordpressuser'@'%';

Đến đây bạn có một database và account user , mỗi account được tạo riêng cho WordPress. Ta cần xóa các quyền để version hiện tại của MySQL biết về những thay đổi gần đây mà ta đã thực hiện:

  • FLUSH PRIVILEGES;

Thoát khỏi MySQL bằng lệnh :

  • EXIT;

Trong bước tiếp theo, ta sẽ đặt một số nền tảng cho các plugin WordPress bằng cách download các phần mở rộng PHP cho server của ta .

Bước 2 - Cài đặt các phần mở rộng PHP bổ sung

Khi cài đặt LAMP của ta , ta chỉ yêu cầu một thư viện mở rộng tối thiểu để PHP có thể giao tiếp với MySQL. WordPress và nhiều plugin của nó tận dụng các phần mở rộng PHP bổ sung.

Ta có thể download và cài đặt một số phần mở rộng PHP phổ biến nhất để sử dụng với WordPress bằng lệnh :

  • sudo apt update
  • sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

Điều này sẽ đặt nền tảng cho việc cài đặt các plugin bổ sung vào trang web WordPress của ta .

Lưu ý: Mỗi plugin WordPress có một bộ yêu cầu riêng. Một số có thể yêu cầu cài đặt thêm các gói PHP. Kiểm tra tài liệu plugin của bạn để khám phá các yêu cầu PHP của nó. Nếu chúng có sẵn, chúng có thể được cài đặt với apt như đã trình bày ở trên.

Ta cần khởi động lại Apache để tải các phần mở rộng mới này, ta sẽ thực hiện thêm các cấu hình trên Apache trong phần tiếp theo, vì vậy bạn có thể đợi cho đến khi đó hoặc khởi động lại ngay bây giờ để hoàn tất quá trình mở rộng PHP.

  • sudo systemctl restart apache2

Bước 3 - Điều chỉnh cấu hình của Apache để cho phép overrides và ghi lại .htaccess

Tiếp theo, ta sẽ thực hiện một vài điều chỉnh nhỏ đối với cấu hình Apache của bạn . Dựa trên các hướng dẫn yêu cầu , bạn nên có file cấu hình cho trang web của bạn trong folder /etc/apache2/sites-available/ .

Trong hướng dẫn này, ta sẽ sử dụng /etc/apache2/sites-available/ wordpress .conf làm ví dụ ở đây, nhưng bạn nên thay thế đường dẫn đến file cấu hình của bạn nếu thích hợp. Ngoài ra, ta sẽ sử dụng /var/www/ wordpress làm folder root của cài đặt WordPress của ta . Bạn nên sử dụng root web được chỉ định trong cấu hình của bạn . Nếu bạn đã làm theo hướng dẫn LAMP của ta , đó có thể là domain của bạn thay vì wordpress trong cả hai trường hợp này.

Lưu ý: Có thể bạn đang sử dụng cấu hình mặc định 000-default.conf (với /var/www/html làm root web của bạn). Điều này có thể sử dụng nếu bạn chỉ lưu trữ một trang web trên server này. Nếu không, tốt hơn nên chia cấu hình cần thiết thành các phần hợp lý, một file cho mỗi trang web.

Với các đường dẫn của ta được xác định, ta có thể chuyển sang làm việc với .htaccess để Apache có thể xử lý các thay đổi cấu hình trên cơ sở từng folder .

Bật overrides .htaccess

Hiện tại, việc sử dụng .htaccess bị vô hiệu hóa. WordPress và nhiều plugin WordPress sử dụng rộng rãi các file này để điều chỉnh trong folder đối với hành vi của web server .

Mở file cấu hình Apache cho trang web bằng editor như nano.

  • sudo nano /etc/apache2/sites-available/wordpress.conf

Để cho phép các .htaccess , ta cần đặt chỉ thị AllowOverride bên trong khối Directory trỏ đến root tài liệu của ta . Thêm khối văn bản sau vào trong khối VirtualHost trong file cấu hình của bạn, đảm bảo sử dụng đúng folder root của web:

/etc/apache2/sites-available/wordpress.conf
<Directory /var/www/wordpress/>     AllowOverride All </Directory> 

Khi bạn hoàn tất, hãy lưu file . Trong nano, bạn có thể thực hiện việc này bằng cách nhấn tổ hợp CTRLX , sau đó nhấn Y , rồi ENTER .

Bật module ghi lại

Tiếp theo, ta có thể bật mod_rewrite để có thể sử dụng tính năng liên kết cố định của WordPress:

  • sudo a2enmod rewrite

Điều này cho phép bạn có nhiều liên kết cố định mà con người có thể đọc được vào các bài đăng của bạn, như hai ví dụ sau:

http://example.com/2012/post-name/ http://example.com/2012/12/30/post-name 

Lệnh a2enmod gọi một tập lệnh cho phép module được chỉ định trong cấu hình Apache.

Kích hoạt các thay đổi

Trước khi ta áp dụng các thay đổi mà ta đã thực hiện, hãy kiểm tra đảm bảo rằng ta không mắc phải bất kỳ lỗi cú pháp nào bằng cách chạy kiểm tra sau.

  • sudo apache2ctl configtest

Bạn có thể nhận được kết quả như sau:

Output
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK 

Nếu bạn muốn loại bỏ dòng trên cùng, chỉ cần thêm chỉ thị ServerName vào file cấu hình Apache chính ( global ) của bạn tại /etc/apache2/apache2.conf . ServerName có thể là domain hoặc địa chỉ IP của server của bạn. Tuy nhiên, đây chỉ là một thông báo và không ảnh hưởng đến chức năng của trang web . Miễn là kết quả chứa Syntax OK , bạn đã sẵn sàng tiếp tục.

Khởi động lại Apache để áp dụng các thay đổi . Đảm bảo khởi động lại ngay cả khi bạn đã khởi động lại trước đó trong hướng dẫn này.

  • sudo systemctl restart apache2

Tiếp theo, ta sẽ download và cài đặt chính WordPress.

Bước 4 - Download WordPress

Bây giờ phần mềm server của ta đã được cấu hình , ta có thể download và cài đặt WordPress. Đặc biệt, vì lý do bảo mật, bạn nên tải version WordPress mới nhất từ trang web của họ.

Thay đổi thành folder có thể ghi ( ta đề xuất một folder tạm thời như /tmp ) và download bản phát hành nén.

  • cd /tmp
  • curl -O https://wordpress.org/latest.tar.gz

Extract file nén để tạo cấu trúc folder WordPress:

  • tar xzvf latest.tar.gz

Ta sẽ chuyển các file này vào folder root của ta trong giây lát. Trước khi thực hiện, ta có thể thêm một .htaccess giả để nó có sẵn cho WordPress sử dụng sau này.

Tạo file bằng lệnh :

  • touch /tmp/wordpress/.htaccess

Ta cũng sẽ sao chép file cấu hình mẫu sang tên file mà WordPress đọc:

  • cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Ta cũng có thể tạo folder upgrade để WordPress không gặp vấn đề về quyền khi cố gắng tự thực hiện việc này sau khi cập nhật phần mềm:

  • mkdir /tmp/wordpress/wp-content/upgrade

Bây giờ, ta có thể sao chép toàn bộ nội dung của folder vào folder root . Ta đang sử dụng một dấu chấm ở cuối folder nguồn của bạn để cho biết mọi thứ trong folder nên được sao chép, bao gồm cả các file ẩn (như .htaccess mà ta đã tạo):

  • sudo cp -a /tmp/wordpress/. /var/www/wordpress

Đảm bảo rằng bạn thay thế folder /var/www/ wordpress bằng folder bạn đã cài đặt trên server của bạn .

Bước 5 - Cấu hình Thư mục WordPress

Trước khi ta cài đặt WordPress dựa trên web, ta cần điều chỉnh một số mục trong folder WordPress của bạn .

Điều chỉnh Quyền sở hữu và Quyền

Một bước quan trọng mà ta cần hoàn thành là cài đặt quyền và quyền sở hữu file hợp lý.

Ta sẽ bắt đầu bằng cách trao quyền sở hữu tất cả các file cho user và group www-data . Đây là user mà web server Apache chạy và Apache cần có khả năng đọc và ghi các file WordPress để phục vụ trang web và thực hiện cập nhật tự động.

Cập nhật quyền sở hữu bằng lệnh chown cho phép bạn sửa đổi quyền sở hữu file . Đảm bảo trỏ đến folder liên quan của server của bạn.

  • sudo chown -R www-data:www-data /var/www/wordpress

Tiếp theo, ta sẽ chạy hai lệnh find để đặt các quyền chính xác trên các folder và file WordPress:

  • sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
  • sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

Các quyền này sẽ giúp bạn làm việc hiệu quả với WordPress, nhưng lưu ý một số plugin và quy trình có thể yêu cầu chỉnh sửa bổ sung.

Cài đặt file cấu hình WordPress

Bây giờ, ta cần thực hiện một số thay đổi đối với file cấu hình WordPress chính.

Khi ta mở file , nhiệm vụ đầu tiên của ta sẽ là điều chỉnh một số khóa bí mật để cung cấp mức độ bảo mật cho cài đặt của ta . WordPress cung cấp một trình tạo an toàn cho các giá trị này để bạn không phải cố gắng tự mình đưa ra các giá trị tốt. Chúng chỉ được sử dụng trong nội bộ, vì vậy sẽ không ảnh hưởng đến khả năng sử dụng khi có các giá trị phức tạp, an toàn ở đây.

Để lấy các giá trị bảo mật từ trình tạo khóa bí mật của WordPress, hãy nhập:

  • curl -s https://api.wordpress.org/secret-key/1.1/salt/

Bạn sẽ nhận lại các giá trị duy nhất giống với kết quả tương tự như khối bên dưới.

Cảnh báo! Điều quan trọng là bạn yêu cầu các giá trị duy nhất mỗi lần. KHÔNG sao chép các giá trị dưới đây!

Output
define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H'); define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3'); define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88'); define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g'); define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-'); define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY'); define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|'); define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%'); 

Đây là những dòng cấu hình mà ta có thể dán trực tiếp vào file cấu hình của bạn để đặt khóa an toàn. Sao chép kết quả bạn nhận được bây giờ.

Tiếp theo, mở file cấu hình WordPress:

  • sudo nano /var/www/wordpress/wp-config.php

Tìm phần chứa các giá trị mẫu cho các cài đặt đó.

/var/www/wordpress/wp-config.php
. . .  define('AUTH_KEY',         'put your unique phrase here'); define('SECURE_AUTH_KEY',  'put your unique phrase here'); define('LOGGED_IN_KEY',    'put your unique phrase here'); define('NONCE_KEY',        'put your unique phrase here'); define('AUTH_SALT',        'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT',   'put your unique phrase here'); define('NONCE_SALT',       'put your unique phrase here');  . . . 

Xóa các dòng đó và dán các giá trị bạn đã sao chép từ dòng lệnh:

/var/www/wordpress/wp-config.php
. . .  define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE'); define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE'); define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE'); define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE'); define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE'); define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE'); define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE'); define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');  . . . 

Tiếp theo, ta sẽ sửa đổi một số cài đặt kết nối database ở đầu file . Bạn cần điều chỉnh tên database , user database và password liên quan mà bạn đã cấu hình trong MySQL.

Một thay đổi khác mà ta cần thực hiện là đặt phương thức mà WordPress nên sử dụng để ghi vào hệ thống file . Vì ta đã cấp cho web server quyền ghi ở nơi nó cần, ta có thể đặt phương thức hệ thống file thành “direct” một cách rõ ràng. Không cài đặt cài đặt này với cài đặt hiện tại của ta sẽ dẫn đến việc WordPress nhắc nhập thông tin đăng nhập FTP khi ta thực hiện một số hành động.

Có thể thêm cài đặt này bên dưới cài đặt kết nối database hoặc bất kỳ nơi nào khác trong file :

/var/www/wordpress/wp-config.php
. . .  // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'wordpress' );  /** MySQL database username */ define( 'DB_USER', 'wordpressuser' );  /** MySQL database password */ define( 'DB_PASSWORD', 'password' );  /** MySQL hostname */ define( 'DB_HOST', 'localhost' );  /** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' );  /** The Database Collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' );   . . .  define('FS_METHOD', 'direct'); 

Lưu file khi bạn hoàn tất.

Bước 6 - Hoàn tất cài đặt thông qua giao diện web

Bây giờ cấu hình server đã hoàn tất, ta có thể hoàn tất cài đặt thông qua giao diện web.

Trong trình duyệt web , chuyển đến domain hoặc địa chỉ IP công cộng của server :

https://server_domain_or_IP 

Chọn ngôn ngữ bạn muốn sử dụng:

Lựa chọn ngôn ngữ WordPress

Tiếp theo, bạn sẽ đến trang cài đặt chính.

Chọn tên cho trang WordPress của bạn và chọn tên user . Bạn nên chọn một cái gì đó độc đáo và tránh những tên user phổ biến như "admin" vì mục đích bảo mật. Mật khẩu mạnh được tạo tự động. Lưu password này hoặc chọn một password mạnh thay thế.

Nhập địa chỉ email của bạn và chọn xem bạn có muốn ngăn cản các công cụ tìm kiếm lập index trang web của bạn hay không:

Cài đặt  cài đặt  WordPress

Khi bạn nhấp vào phía trước, bạn sẽ được đưa đến một trang nhắc bạn đăng nhập:

 Dấu nhắc  đăng nhập WordPress

Sau khi đăng nhập, bạn sẽ được đưa đến console quản trị WordPress:

 Dấu nhắc  đăng nhập WordPress

Đến đây, bạn có thể bắt đầu thiết kế trang web WordPress của bạn ! Nếu đây là lần đầu tiên bạn sử dụng WordPress, hãy khám phá giao diện một chút để làm quen với CMS mới của bạn.

Kết luận

Xin chúc mừng, WordPress hiện đã được cài đặt và sẵn sàng sử dụng!

Đến đây, bạn có thể cần bắt đầu làm như sau:

  • Chọn cài đặt liên kết cố định của bạn cho các bài đăng WordPress, bạn có thể tìm thấy Settings > Permalinks trong Settings > Permalinks .
  • Chọn một chủ đề mới trong Giao Appearance > Themes .
  • Cài đặt các plugin mới để tăng chức năng trang web trong Plugins > Add New .
  • Nếu bạn định cộng tác với những người khác, bạn cũng có thể cần thêm user bổ sung vào lúc này trong Users > Add New .

Bạn có thể tìm thấy các tài nguyên bổ sung cho các cách thay thế để cài đặt WordPress, tìm hiểu cách cài đặt WordPress trên các bản phân phối server khác nhau, tự động hóa cài đặt WordPress của bạn và mở rộng quy mô trang web WordPress của bạn bằng cách xem thẻ Cộng đồng WordPress của ta .


Tags:

Các tin liên quan

Cách cài đặt và cấu hình Zabbix để giám sát an toàn server từ xa trên Ubuntu 20.04
2020-06-30
Cách thiết lập ứng dụng Node.js để sản xuất trên Ubuntu 20.04
2020-06-30
Cài đặt Elasticsearch, Logstash và Kibana (Elastic Stack) trên Ubuntu 20.04
2020-06-23
Cách cài đặt TensorFlow trên Ubuntu 20.04
2020-06-23
Cách tạo người dùng mới hỗ trợ Sudo trên Ubuntu 20.04 [Quickstart]
2020-06-22
Cách cài đặt Prosody trên Ubuntu 18.04
2020-06-15
Cách tạo nhóm lưu trữ dự phòng bằng GlusterFS trên Ubuntu 20.04
2020-06-15
Cách tạo lưu trữ dự phòng bằng GlusterFS trên Ubuntu 18.04
2020-06-12
Cách cài đặt và sử dụng TimescaleDB trên Ubuntu 20.04
2020-06-09
Cách thiết lập trang web phát triển Jekyll trên Ubuntu 20.04
2020-06-05