Cài đặt WordPress với LEMP trên Ubuntu 22.04

by toantv

Trước khi bắt đầu

WordPress, một trong những hệ thống quản lý nội dung (CMS) phổ biến nhất trên Internet hiện nay, cho phép người dùng thiết lập các blog và trang web linh hoạt sử dụng cơ sở dữ liệu MySQL với xử lý PHP. WordPress là một lựa chọn tuyệt vời để xây dựng và vận hành trang web một cách hiệu quả. Sau khi thiết lập ban đầu, hầu hết các hoạt động quản trị cho trang web WordPress có thể được thực hiện thông qua giao diện đồ họa của nó – những tính năng này và nhiều hơn nữa khiến WordPress trở thành một lựa chọn tuyệt vời cho các trang web được xây dựng để mở rộng.

Trong hướng dẫn này, bạn sẽ tập trung vào việc thiết lập một phiên bản WordPress trên một bộ công cụ LEMP (Linux, Nginx, MySQL và PHP) cho máy chủ Ubuntu 22.04.

Đảm bảo rằng bạn có quyền truy cập sudo vào máy chủ Linux vì các lệnh được sử dụng trong hướng dẫn này yêu cầu đặc quyền root.

Đảm bảo rằng bạn đã cài đặt công cụ LEMP tham khảo hướng dẫn cài đặt nó tại đây Cài đặt Linux, Nginx, MySQL, PHP (LEMP) Stack trên Ubuntu 22.04

Bước 1: Tạo cơ sở dữ liệu MySQL và người dùng cho WordPress

WordPress sử dụng MySQL để quản lý và lưu trữ thông tin trang web và người dùng. Mặc dù bạn đã cài đặt MySQL, hãy tạo một cơ sở dữ liệu và một người dùng để WordPress sử dụng.

Để bắt đầu, đăng nhập vào tài khoản root MySQL (quản trị). Nếu MySQL được cấu hình sử dụng plugin xác thực auth_socket (đây là giá trị mặc định), bạn có thể đăng nhập vào tài khoản quản trị MySQL bằng cách sử dụng sudo:

sudo mysql

Nếu bạn đã thay đổi phương thức xác thực để sử dụng mật khẩu cho tài khoản root MySQL, hãy sử dụng lệnh sau thay thế:

mysql -u root -p

Bạn sẽ được yêu cầu nhập mật khẩu bạn đã đặt cho tài khoản root MySQL.

Sau khi đăng nhập, tạo một cơ sở dữ liệu riêng mà WordPress có thể điều khiển. Bạn có thể đặt tên cho nó bất kỳ cái gì bạn muốn, nhưng trong hướng dẫn này, chúng tôi sẽ sử dụng “wordpress” . Bạn có thể tạo một cơ sở dữ liệu cho WordPress bằng cách nhập:

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 (;). Nếu bạn gặp lỗi, hãy kiểm tra xem dấu chấm phẩy có tồn tại hay không.

Tiếp theo, chúng ta sẽ tạo một tài khoản người dùng MySQL riêng biệt mà chúng ta sẽ sử dụng để làm việc trên cơ sở dữ liệu mới của chúng ta. Tạo cơ sở dữ liệu và tài khoản riêng cho mục đích cụ thể là một ý tưởng tốt về quản lý và bảo mật. Trong hướng dẫn này, chúng tôi sẽ sử dụng tên “wordpress” – bạn có thể thay đổi nếu bạn muốn.

Trong lệnh sau, bạn sẽ tạo một tài khoản, đặt mật khẩu và cấp quyền truy cập vào cơ sở dữ liệu bạn đã tạo. Hãy nhớ chọn một mật khẩu mạnh ở đây:

CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'Admin@123';

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';

Bây giờ bạn đã có một cơ sở dữ liệu và một tài khoản người dùng, mỗi cái được tạo ra đặc biệt cho WordPress.

Sau khi hoàn thành các tác vụ liên quan đến cơ sở dữ liệu, hãy thoát khỏi MySQL bằng cách gõ:

EXIT;

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

Khi thiết lập bộ công cụ LEMP, chỉ cần một tập hợp rất nhỏ các phần mở rộng để PHP có thể giao tiếp với MySQL. WordPress và nhiều plugin của nó sử dụng các phần mở rộng PHP bổ sung, và bạn sẽ sử dụng một số phần mở rộng khác trong hướng dẫn này.

Hãy tải xuống 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 cách gõ:

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

Khi bạn hoàn tất việc cài đặt các phần mở rộng, khởi động lại service PHP-FPM để máy chủ PHP đang chạy có thể tận dụng các tính năng mới được cài đặt: (Trong khuôn khổ bài viết này chúng tôi cài đặt php8.1-fpm)

sudo systemctl restart php8.1-fpm

Bước 3: Cài đặt Nginx

Tham khảo hướng dẫn cài đặt Nginx tại bài viết Cài đặt Linux, Nginx, MySQL, PHP (LEMP) Stack trên Ubuntu 22.04

Tiếp theo, mở một tệp cấu hình mới trong thư mục sites-available của Nginx bằng trình chỉnh sửa dòng lệnh mà bạn thích. Ở đây, chúng ta sẽ sử dụng vi:

sudo vi /etc/nginx/sites-available/toantranvan.com

Output

server {
    listen 80;
    server_name toantranvan.com www.toantranvan.com;
    root /var/www/toantranvan.com;

    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
     }

    location ~ /\.ht {
        deny all;
    }

}

Bạn có thể kiểm tra cấu hình của mình để tìm lỗi cú pháp bằng cách chạy lệnh sau:

sudo nginx -t

Tải lại Nginx để áp dụng các thay đổi:

sudo systemctl reload nginx

Bước 4: Downloading WordPress

Bây giờ khi phần mềm máy chủ của bạn đã được cấu hình, hãy tải xuống và cài đặt WordPress. Vì lý do bảo mật, luôn khuyến nghị lấy phiên bản mới nhất của WordPress trực tiếp từ trang web của dự án.

Chuyển đến một thư mục có quyền ghi và sau đó tải xuống phiên bản nén bằng cách gõ:

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

Giải nén tệp vừa tải về

tar xzvf latest.tar.gz

Sao chép tệp cấu hình mẫu sang tên tệp mà WordPress sẽ đọc:

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

Sao chép toàn bộ nội dung của thư mục wordpress vào thư mục root trang web của chúng ta.

sudo cp -a /tmp/wordpress/. /var/www/toantranvan.com

Gán quyền sở hữu cho người dùng và nhóm www-data.

sudo chown -R www-data:www-data /var/www/toantranvan.com

Bước 5: Thiết lập tệp cấu hình WordPress

Tiếp theo, chúng ta sẽ thay đổi một số thông tin trong tệp cấu hình chính của WordPress.

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

Để lấy các giá trị an toàn từ công cụ tạo khóa bí mật của WordPress, gõ:

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

Output

define('AUTH_KEY',         '{TbP=wx.m6G~B|uHgEiq*%:w5lFiko@sGws?ULS+U4P398jg|$W oj,RW]zq/^S[');
define('SECURE_AUTH_KEY',  '@$<06pR<P46t<*_zLMOXIy?${&fBcK?j=7`6T6m!e~m3Q?_fv|_Pa_$p,w=g0[.S');
define('LOGGED_IN_KEY',    '[1m{p#!&UG/I}IaAG-m:c&qUMj|;3m:@L-{5{cBOgRup2#XPUy04D(os$^@3a.]F');
define('NONCE_KEY',        ']oI4FcW++7=7e%H}/6pkrI$xlWtrak%`-d6*A%+u8y^2;|tevo A.yEzV.N+;Z;O');
define('AUTH_SALT',        '`T5~hiA3nrsa|mH6FrDNEx7`mnD[nLC3@xf@m&~/a#|sajQgp+[8lGMkin&]oY+X');
define('SECURE_AUTH_SALT', 'y!Z@ER=)@:if-r`vLu;BPPPZk7z1h*34lV!zv[l+JZ kQIM@jaL9$h5X*H{S/o|;');
define('LOGGED_IN_SALT',   'q#^-2ji4R.i#j[>GIi47edj0|XUoLP C^.yd3-E[W>WU{6T9r+qMNpM*+sR$z_+g');
define('NONCE_SALT',       'wo<>S2B5C^&%q{7kq|vJd#d[}X-k7,`qmA+rDl:IIdlUDs[(pYzA*-_!,|PA,fw2');

Bây giờ, hãy mở tệp cấu hình WordPress:

sudo vi /var/www/toantranvan.com/wp-config.php

Tìm phần chứa các giá trị giả cho các cài đặt đó. Nó sẽ trông giống như thế này:

. . .

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 giá trị có sẵn đó thay bằng giá trị mà bạn đã get được ở trên

. . .

define('AUTH_KEY',         '{TbP=wx.m6G~B|uHgEiq*%:w5lFiko@sGws?ULS+U4P398jg|$W oj,RW]zq/^S[');
define('SECURE_AUTH_KEY',  '@$<06pR<P46t<*_zLMOXIy?${&fBcK?j=7`6T6m!e~m3Q?_fv|_Pa_$p,w=g0[.S');
define('LOGGED_IN_KEY',    '[1m{p#!&UG/I}IaAG-m:c&qUMj|;3m:@L-{5{cBOgRup2#XPUy04D(os$^@3a.]F');
define('NONCE_KEY',        ']oI4FcW++7=7e%H}/6pkrI$xlWtrak%`-d6*A%+u8y^2;|tevo A.yEzV.N+;Z;O');
define('AUTH_SALT',        '`T5~hiA3nrsa|mH6FrDNEx7`mnD[nLC3@xf@m&~/a#|sajQgp+[8lGMkin&]oY+X');
define('SECURE_AUTH_SALT', 'y!Z@ER=)@:if-r`vLu;BPPPZk7z1h*34lV!zv[l+JZ kQIM@jaL9$h5X*H{S/o|;');
define('LOGGED_IN_SALT',   'q#^-2ji4R.i#j[>GIi47edj0|XUoLP C^.yd3-E[W>WU{6T9r+qMNpM*+sR$z_+g');
define('NONCE_SALT',       'wo<>S2B5C^&%q{7kq|vJd#d[}X-k7,`qmA+rDl:IIdlUDs[(pYzA*-_!,|PA,fw2');

. . .

Tiếp theo, hãy sửa đổi một số thiết lập kết nối cơ sở dữ liệu ở đầu tệp. Bạn sẽ cần điều chỉnh tên cơ sở dữ liệu, người dùng cơ sở dữ liệu và mật khẩu liên quan đã được cấu hình trong MySQL.

. . .

define( 'DB_NAME', 'wordpress' );

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

/** MySQL database password */
define( 'DB_PASSWORD', 'Admin@123' );

. . .

define( 'FS_METHOD', 'direct' );

Lưu và đóng tệp khi bạn hoàn tất.

Bước 6: Hoàn thành cài đặt qua giao diện web

Bây giờ cấu hình máy chủ đã hoàn tất, bạn có thể hoàn thành quá trình cài đặt thông qua giao diện web của WordPress.

Trong trình duyệt web của bạn, truy cập vào tên miền máy chủ hoặc địa chỉ IP của bạn:

http://server_domain_or_IP/

Next

Khi bạn nhấp vào tiếp theo, bạn sẽ được chuyển đến một trang yêu cầu đăng nhập:

Sau khi bạn đăng nhập, bạn sẽ được chuyển đến bảng điều khiển quản trị WordPress:

Tổng kết

WordPress đã được cài đặt và sẵn sàng sử dụng! Một số bước tiếp theo phổ biến là chọn cài đặt liên kết cố định cho bài viết của bạn (có thể tìm thấy trong Settings > Permalinks) hoặc chọn một chủ đề mới (trong Appearance > Themes). Nếu đây là lần đầu bạn sử dụng WordPress, hãy khám phá giao diện một chút để làm quen với hệ thống quản lý nội dung mới của bạn.

Related Posts

Leave a Comment