WordPress

I. Wordpress

1. Khái niệm

WordPress (WP, WordPress.org) là một hệ quản trị nội dung mã nguồn mở miễn phí viết bằng ngôn ngữ lập trình PHP đi cùng với cơ sở dữ liệu MySQL hoặc MariaDB. Thành phần chính bao gồm một kiến trúc plugin và một hệ thống template (được gọi là theme trong Wordpress). WordPress ban đầu được tạo ra như một hệ thống xuất bản blog nhưng sau đó đã phát triển thêm để hỗ trợ các nội dung web khác bao gồm danh sách gửi thư truyền thống, diễn đàn trực tuyến, phòng trưng bày phim ảnh, trang quản lý hội viên, hệ quản trị đào tạo (LMS) và cửa hàng trực tuyến. Thống kê tháng 10 năm 2021 cho thấy trong 10 triệu website hàng đầu có 42,8% sử dụng WordPress. WordPress là một trong những giải pháp hệ quản trị nội dung thông dụng nhất hiện nay. WordPress cũng được dùng cho các lĩnh vực ứng dụng khác như Bảng hiệu điện tử (PDS).

2. Lịch sử hình thành của wordpress

  • Theo thông tin từ WordPress.org, WordPress là sự kế thừa chính thức từ một công cụ viết blog được phát triển bởi lập trình viên người Pháp Michel Valdrighi có tên là b2/cafelog, ra mắt lần đầu tiên vào năm 2001.
  • b2/cafelog, thường được biết đến với cái tên đơn giản hơn là b2 hay cafelog là tiền thân của WordPress. b2/cafelog theo ước lượng đã được sử dụng ở khoảng 2000 blog trong tháng 5 năm 2003. Nó cũng được viết bằng ngôn ngữ lập trình PHP để dùng với MySQL bởi Michel Valdrighi, người đã trở thành nhà phát triển chính của WordPress hiện nay. Mặc dù WordPress là hậu duệ chính thức nhưng một dự án khác, b2evolution, cũng đang được song song phát triển.
  • Đến ngày 27 tháng 5 năm 2003, WordPress mới chính thức được phát hành phiên bản đầu tiên bởi Matt Mullenweg và Mike Little.
  • Đến nay, đã có hơn 75 triệu trang web sử dụng nền tảng WordPress, trong đó có các website nổi tiếng thế giới như: Coca Cola, CNN, BBC America, Sony Music, MTV News,...
  • Vào năm 2004, thời hạn cấp phép của gói sản phẩm cạnh tranh Movable Type bị thay đổi bởi Six Apart, và rất nhiều người dùng của nó chuyển sang sử dụng WordPress, tạo nên một bước ngoặt lớn trong sự phát triển và phổ biến của WordPress.
  • Năm 2007, WordPress giành giải thưởng Packt Open Source CMS. Năm 2009. WordPress dẫn đầu về mã nguồn CMS tốt nhất.
  • Vào ngày 06 tháng 12 năm 2018, WordPress ra mắt phiên bản 5.0 với cải tiến lớn, giới thiệu Trình soạn thảo block mang tên Gutenberg giúp tùy chỉnh bố cục bài viết phong phú và phức tạp hơn. Có nhiều cuộc tranh cãi về sự ra mắt của Gutenberg, bao gồm cả phong trào tách riêng đến từ nhiều lập trình viên không muốn sử dụng tính năng này.

3. Các phiên bản của wordpress

  • WordPress 1.0: Đây là phiên bản đầu tiên của WordPress, được phát hành vào ngày 27 tháng 5 năm 2003. Nó chỉ cung cấp các tính năng cơ bản cho việc tạo và quản lý blog.
  • WordPress 2.0: Phát hành vào ngày 31 tháng 12 năm 2005, phiên bản này đưa ra nhiều cải tiến và tính năng mới, bao gồm hỗ trợ đa ngôn ngữ, giao diện người dùng cải tiến và trình chỉnh sửa WYSIWYG (What You See Is What You Get).
  • WordPress 3.0: Được phát hành vào ngày 17 tháng 6 năm 2010, phiên bản này đưa ra tính năng quản lý menu tùy chỉnh, hỗ trợ đa site (Multisite) và một số cải tiến khác.
  • WordPress 3.5: Phát hành vào ngày 11 tháng 12 năm 2012, phiên bản này tập trung vào cải thiện trình đơn thả xuống (dropdown menu) và thêm khả năng tải lên và quản lý hình ảnh trong trình soạn thảo.
  • WordPress 4.0: Được phát hành vào ngày 4 tháng 9 năm 2014, phiên bản này tăng cường trải nghiệm người dùng với trình soạn thảo, bao gồm xem trước nhanh (live preview) của các thay đổi trong bài viết.
  • WordPress 5.0: Phát hành vào ngày 6 tháng 12 năm 2018, phiên bản này có tính năng quan trọng là trình soạn thảo Gutenberg, đem lại trải nghiệm soạn thảo trực quan với các khối nội dung.
  • WordPress 5.5: Phát hành vào ngày 11 tháng 8 năm 2020, phiên bản này tập trung vào tối ưu hóa hiệu suất, cải thiện tốc độ tải trang và tính năng tự động cập nhật các plugin và theme.
  • WordPress 6.0: Phát hành vào ngày 24 tháng 5 năm 2022, phiên bản này cải tiến cách viết của Gutenberg, nhiều lựa chọn khối từ chế độ xem danh sách, khóa khối, các cải tiến về hiệu suất...

4. Ưu và nhược điểm

4.1. Ưu điểm

  • Dễ sử dụng: WordPress có giao diện người dùng thân thiện và dễ sử dụng. Người dùng không cần có kiến thức lập trình sâu để tạo và quản lý trang web trên nền WordPress.
  • Đa dạng chủ đề và plugin: WordPress cung cấp một cộng đồng lớn và đa dạng với hàng ngàn chủ đề và plugin. Người dùng có thể dễ dàng tùy chỉnh giao diện và mở rộng tính năng của trang web.
  • Quản lý nội dung linh hoạt: WordPress cho phép người dùng dễ dàng tạo và quản lý bài viết, trang, hình ảnh và phương tiện khác. Giao diện người dùng trực quan giúp người dùng chỉnh sửa và cập nhật nội dung một cách dễ dàng.
  • Tối ưu hóa SEO: WordPress đi kèm với các công cụ và plugin tối ưu hóa SEO giúp người dùng cải thiện vị trí trang web trên các công cụ tìm kiếm.
  • Cộng đồng hỗ trợ: WordPress có một cộng đồng rộng lớn, với người dùng và nhà phát triển trên toàn thế giới. Người dùng có thể tìm kiếm hỗ trợ, tài liệu và tài nguyên từ cộng đồng này.
  • Hỗ trợ nhiều loại ngôn ngữ: WordPress hỗ trợ 52 ngôn ngữ trong đó có tiếng Việt.
  • Tiết kiệm chi phí: Có rất nhiều themes miễn phí và có sẵn để sử dụng, bạn có thể thiết kế một website riêng mà không tốn bất kỳ chi phí nào.

4.2. Nhược điểm

  • Bảo mật: Một trong những nhược điểm chung của các hệ thống CMS là vấn đề bảo mật. Do tính phổ biến của WordPress, trang web WordPress có thể trở thành mục tiêu của các cuộc tấn công và tấn công tìm kiếm lỗi.
  • Tùy chỉnh phức tạp: Mặc dù WordPress có giao diện người dùng dễ sử dụng, nhưng tùy chỉnh phức tạp hơn đòi hỏi hiểu biết về lập trình PHP, HTML và CSS. Điều này có thể làm cho việc tùy chỉnh trang web phức tạp hơn đối với người dùng không có kỹ năng lập trình.
  • Hiệu suất: Trang web WordPress có thể gặp vấn đề về hiệu suất nếu không được tối ưu hóa đúng cách. Các plugin không tối ưu hoặc mã nguồn không tối ưu có thể làm giảm tốc độ tải trang và hiệu suất của trang web.
  • Dễ bị phụ thuộc vào bên thứ ba: Sử dụng quá nhiều plugin và chủ đề bên thứ ba có thể làm cho trang web trở nên phụ thuộc vào các bên khác. Nếu một plugin hoặc chủ đề không được cập nhật hoặc hỗ trợ nữa, có thể gây ra vấn đề cho trang web.
  • Phù hợp với doanh nghiệp nhỏ: Có hiệu suất thấp trong việc xử lý các cơ sở dữ liệu dung lượng lớn nên không phù hợp với các doanh nghiệp có dung lượng máy chủ lớn.

II. Cài đặt wordpress

1. Yêu cầu

Máy đã cài Mysql hoặc MariaDB, Nginx hoặc Apache2

2. Cài đặt wordpress sử dụng nginx với mô hình cài toàn bộ trên 1 server

  • B1: Đăng nhập vào mysql:
mysql -u root -p
  • B2: Tạo database và user để sử dụng wordpress:
create database wordpress;
create user "wpuser"@"localhost" identified by "Redhat@Server123";
grant all privileges on wordpress.* to "wpuser"@"localhost";
flush privileges;
exit
  • B3: Cài đặt php
sudo apt install php7.4 php7.4-gd php7.4-mysql php7.4-zip php7.4-fpm -y
  • B4: Cài đặt wordpress
wget https://wordpress.org/latest.zip
  • B5: Giải nén file latest.zip
sudo apt install unzip
unzip latest.zip

Sau khi giải nén thì trên máy sẽ có thêm folder là wordpress

  • B6: Di chuyển file
cd wordpress
sudo cp -r * /var/www/html
sudo chown -R www-data:www-data /var/www/html/
  • B7: Reset nginx
sudo systemctl restart nginx
  • B8: Đổi tên file default
cd /etc/nginx/sites-enabled/
sudo mv default wordpress
  • B9: Thay đổi thông số trong file wordpress
sudo nano wordpress

Thêm những dòng sau index index.php index.html index.htm index.nginx-debian.html; try_files $uri $uri/ /index.php?$args; Và bỏ comment những dòng sau: location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; }

  • B10: Reset nginx và thử
sudo systemctl restart nginx
sudo nginx -t

Sau khi vào được wordpress thì chúng ta nhập thông tin như phần mysql trên là xong.

3. Cài đặt wordpress sử dụng nginx với mô hình tách phần database ra 1 server khác

3.1. Trên máy database

  • B1: Thay đổi file cấu hình mysql: Đầu tiên ta vào file mysqld.cnf để chỉnh sửa:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Tiếp theo ta sửa như sau:

bind-address = 0.0.0.0
  • B2: Đăng nhập vào mysql:
mysql -u root -p
  • B3: Tạo database và user để sử dụng wordpress:
create database wordpress;
create user "wpuser"@"localhost" identified by "Redhat@Server123";
grant all privileges on wordpress.* to "wpuser"@"localhost";
create user "wpuser"@"ipweb" identified by "Redhat@Server123";
grant all privileges on wordpress.* to "wpuser"@"ipweb";
flush privileges;
exit
  • B4: Thử đăng nhập vào người dùng:
mysql -u wpuser -p
status;
exit

3.2. Trên máy web:

  • B1: Cài đặt nginx và php:
sudo apt-get update
sudo apt-get install -y nginx mysql-server php7.4 php7.4-gd php7.4-mysql php7.4-zip php7.4-fpm
  • B2: Đăng nhập vào mysql bằng tài khoản trên:
mysql -u wpuser -h ipdb -p
status;
exit
  • B3: Cài đặt wordpress
wget https://wordpress.org/latest.zip
  • B4: Giải nén file latest.zip
sudo apt install unzip
unzip latest.zip

Sau khi giải nén thì trên máy sẽ có thêm folder là wordpress

  • B5: Di chuyển file
cd wordpress
sudo cp -r * /var/www/html
sudo chown -R www-data:www-data /var/www/html/
  • B6: Reset nginx
sudo systemctl restart nginx
  • B7: Di chuyển đến thư mục html và chỉnh sửa file cấu hình wp-config.php:
cd /var/www/html/
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

Sau đó chỉnh sửa file như dưới:

/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wpuser');

/** MySQL database password */
define('DB_PASSWORD', 'Redhat@Server123');

/** MySQL hostname */
define('DB_HOST', 'ipdb');

Sau khi cấu hình xong thì ta vào web bằng ip và đăng nhập là xong.