Table of Contents

No table of contents

Cách thiết lập cơ sở dữ liệu từ xa để tối ưu hóa hiệu suất trang web với MySQL trên Ubuntu 20.04

Posted on: 5 tháng 4 năm 2023

Ubuntu

Giới thiệu

Khi ứng dụng hoặc trang web của bạn phát triển, có thể đến lúc bạn phát triển vượt xa thiết lập máy chủ hiện tại của mình. Nếu bạn đang lưu trữ máy chủ web và chương trình phụ trợ cơ sở dữ liệu trên cùng một máy, có thể nên tách hai chức năng này để mỗi chức năng có thể hoạt động trên phần cứng của riêng mình và chia sẻ tải phản hồi các yêu cầu của khách truy cập của bạn.

Trong hướng dẫn này, bạn sẽ cấu hình máy chủ cơ sở dữ liệu MySQL từ xa mà ứng dụng web của bạn có thể kết nối. WordPress được sử dụng làm ví dụ để có thứ gì đó hoạt động cùng, nhưng kỹ thuật này được áp dụng rộng rãi cho bất kỳ ứng dụng nào được hỗ trợ bởi MySQL.

Điều kiện tiên quyết

Trước khi bắt đầu hướng dẫn này, bạn sẽ cần:

  • Hai máy chủ Ubuntu 20.04. Mỗi người nên có một non-root user với đặc quyền sudo và bật tường lửa UFW, như được mô tả trong hướng dẫn Thiết lập máy chủ ban đầu với Ubuntu 20.04 của chúng tôi. Một trong những máy chủ này sẽ lưu trữ chương trình phụ trợ MySQL của bạn và sẽ được gọi là máy chủ cơ sở dữ liệu trong suốt hướng dẫn này. Cái kia sẽ kết nối với máy chủ cơ sở dữ liệu của bạn từ xa và hoạt động như máy chủ web của bạn; tương tự như vậy, nó sẽ được gọi là máy chủ web trong suốt hướng dẫn này.
  • Trên máy chủ cơ sở dữ liệu của bạn: Đã cài đặt MySQL. Làm theo Cách cài đặt MySQL trên Ubuntu 20.04 để thiết lập tính năng này.
  • Trên máy chủ web của bạn: Đã cài đặt Nginx và PHP. Hướng dẫn của chúng tôi Cách cài đặt Linux, Nginx, MySQL, PHP (LEMP stack) trong Ubuntu 20.04 sẽ hướng dẫn bạn thực hiện quy trình, nhưng lưu ý rằng bạn nên bỏ qua Bước 2 của hướng dẫn này, phần tập trung vào cài đặt MySQL, vì bạn sẽ cài đặt MySQL trên máy chủ cơ sở dữ liệu của bạn.
  • Tùy chọn (nhưng rất khuyến khích), chứng chỉ TLS/SSL từ Let's Encrypt được cài đặt trên máy chủ web của bạn. Bạn sẽ cần mua một tên miền và thiết lập các bản ghi DNS cho máy chủ của mình, nhưng bản thân các chứng chỉ này đều miễn phí. Hướng dẫn của chúng tôi Cách bảo mật Nginx bằng Let's Encrypt trên Ubuntu 20.04 sẽ chỉ cho bạn cách lấy các chứng chỉ này.

Bước 1 - Cấu hình MySQL để lắng nghe các kết nối từ xa trên máy chủ cơ sở dữ liệu

Lưu trữ dữ liệu của một người trên một máy chủ riêng biệt là một cách tốt để mở rộng một cách hiệu quả sau khi đạt đến mức trần hiệu suất của cấu hình một máy. Nó cũng cung cấp cấu trúc cơ bản cần thiết để cân bằng tải và mở rộng cơ sở hạ tầng của bạn hơn nữa sau này. Sau khi cài đặt MySQL bằng cách làm theo hướng dẫn điều kiện tiên quyết, bạn sẽ cần thay đổi một số giá trị cấu hình để cho phép kết nối từ các máy tính khác.

Hầu hết các thay đổi cấu hình của máy chủ MySQL có thể được thực hiện trong tệp mysqld.cnf, được lưu trữ trong thư mục /etc/mysql/mysql.conf.d/ theo mặc định. Mở tệp này trên máy chủ cơ sở dữ liệu của bạn với quyền root trong trình chỉnh sửa ưa thích của bạn. Ví dụ này sử dụng nano:

  1. sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Tệp này được chia thành các phần được biểu thị bằng nhãn trong ngoặc vuông ([]). Tìm phần có nhãn mysqld:

/etc/mysql/mysql.conf.d/mysqld.cnf
. . .
[mysqld]
. . .

Trong phần này, hãy tìm tham số có tên là bind-address. Điều này cho phần mềm cơ sở dữ liệu biết địa chỉ mạng nào sẽ lắng nghe các kết nối.

Theo mặc định, giá trị này được đặt thành 127.0.0.1, nghĩa là MySQL được cấu hình để chỉ tìm kiếm các kết nối cục bộ. Bạn cần thay đổi điều này để tham chiếu địa chỉ IP bên ngoài nơi có thể truy cập máy chủ của bạn.

Nếu cả hai máy chủ của bạn đều nằm trong trung tâm dữ liệu có khả năng kết nối mạng riêng, hãy sử dụng IP mạng riêng của máy chủ cơ sở dữ liệu của bạn. Nếu không, bạn có thể sử dụng địa chỉ IP công khai của nó:

/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
. . .
bind-address = db_server_ip

Vì bạn sẽ kết nối với cơ sở dữ liệu của mình qua internet, bạn nên yêu cầu các kết nối được mã hóa để giữ an toàn cho dữ liệu của mình. Nếu bạn không mã hóa kết nối MySQL của mình, bất kỳ ai trên mạng cũng có thể đánh hơi được thông tin nhạy cảm giữa web và máy chủ cơ sở dữ liệu của bạn. Để mã hóa các kết nối MySQL, hãy thêm dòng dưới đây vào sau dòng bind-address mà bạn vừa cập nhật:

/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
. . .
require_secure_transport = on
. . .

Lưu và đóng tệp khi bạn hoàn tất. Nếu bạn đang sử dụng nano, hãy thực hiện việc này bằng cách nhấn CTRL + X, Y, rồi ENTER.

Để kết nối SSL hoạt động, bạn sẽ cần tạo một số khóa và chứng chỉ. MySQL đi kèm với một lệnh sẽ tự động thiết lập những thứ này. Chạy lệnh sau để tạo các tệp cần thiết. Nó cũng làm cho máy chủ MySQL có thể đọc được chúng bằng cách chỉ định UID của người dùng mysql:

  1. sudo mysql_ssl_rsa_setup --uid=mysql

Để buộc MySQL cập nhật cấu hình và đọc thông tin SSL mới, hãy khởi động lại cơ sở dữ liệu:

  1. sudo systemctl restart mysql

Để xác nhận rằng máy chủ hiện đang lắng nghe trên giao diện bên ngoài, hãy chạy lệnh ss sau:

  1. sudo ss -plunt | grep mysqld
Output
tcp LISTEN 0 70 127.0.0.1:33060 0.0.0.0:* users:(("mysqld",pid=4053,fd=22)) tcp LISTEN 0 151 db_server_ip:3306 0.0.0.0:* users:(("mysqld",pid=4053,fd=24))

ss in số liệu thống kê về hệ thống mạng của máy chủ của bạn. Đầu ra này cho thấy rằng một quy trình có tên mysqld được gắn vào db_server_ip tại cổng 3306, cổng MySQL tiêu chuẩn, xác nhận rằng máy chủ đang lắng nghe trên giao diện thích hợp.

Tiếp theo, mở cổng đó trên tường lửa để cho phép lưu lượng truy cập qua:

  1. sudo ufw allow mysql

Đó là tất cả những thay đổi cấu hình bạn cần thực hiện đối với MySQL. Tiếp theo, bạn sẽ thiết lập cơ sở dữ liệu và một số hồ sơ người dùng, một trong số đó bạn sẽ sử dụng để truy cập máy chủ từ xa.

Bước 2 — Thiết lập cơ sở dữ liệu WordPress và thông tin xác thực từ xa trên máy chủ cơ sở dữ liệu

Mặc dù bản thân MySQL hiện đang lắng nghe trên một địa chỉ IP bên ngoài, nhưng hiện tại không có người dùng hoặc cơ sở dữ liệu được kích hoạt từ xa nào được định cấu hình. Tạo cơ sở dữ liệu cho WordPress và một cặp người dùng có thể truy cập cơ sở dữ liệu đó.

Bắt đầu bằng cách kết nối với MySQL với tư cách là root MySQL user:

  1. sudo mysql

Lưu ý: Nếu bạn đã bật xác thực mật khẩu, như được mô tả trong Bước 3 của hướng dẫn điều kiện tiên quyết về MySQL, thay vào đó, bạn sẽ cần sử dụng lệnh sau để truy cập MySQL shell:

  1. mysql -u root -p

Sau khi chạy lệnh này, bạn sẽ được yêu cầu nhập mật khẩu gốc MySQL của mình và sau khi nhập nó, bạn sẽ nhận được một lời nhắc mysql> mới.

Từ dấu nhắc MySQL, tạo cơ sở dữ liệu mà WordPress sẽ sử dụng. Có thể hữu ích nếu đặt cho cơ sở dữ liệu này một tên dễ nhận biết để bạn có thể dễ dàng xác định nó sau này. Ở đây, nó được đặt tên là wordpress:

  1. CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Bây giờ bạn đã tạo cơ sở dữ liệu của mình, tiếp theo bạn cần tạo một cặp người dùng. Tạo người dùng chỉ cục bộ cũng như người dùng từ xa được liên kết với địa chỉ IP của máy chủ web.

Trước tiên, hãy tạo người dùng cục bộ của bạn, local_db_user và làm cho tài khoản này chỉ khớp với các lần thử kết nối cục bộ bằng cách sử dụng localhost trong phần khai báo:

  1. CREATE USER 'local_db_user'@'localhost' IDENTIFIED BY 'password';

Sau đó cấp cho tài khoản này toàn quyền truy cập vào cơ sở dữ liệu wordpress:

  1. GRANT ALL PRIVILEGES ON wordpress.* TO 'local_db_user'@'localhost';

Người dùng này hiện có thể thực hiện bất kỳ thao tác nào trên cơ sở dữ liệu cho WordPress, nhưng không thể sử dụng tài khoản này từ xa vì tài khoản này chỉ khớp với các kết nối từ máy cục bộ. Lưu ý điều này, hãy tạo một tài khoản đồng hành phù hợp với các kết nối dành riêng từ máy chủ web của bạn. Đối với điều này, bạn sẽ cần địa chỉ IP của máy chủ web của mình.

Xin lưu ý rằng bạn phải sử dụng địa chỉ IP sử dụng cùng một mạng mà bạn đã định cấu hình trong tệp mysqld.cnf của mình. Điều này có nghĩa là nếu bạn đã chỉ định một IP mạng riêng trong tệp mysqld.cnf, bạn sẽ cần bao gồm IP riêng của máy chủ web của mình trong hai lệnh sau. Nếu bạn đã định cấu hình MySQL để sử dụng internet công cộng, thì bạn phải khớp điều đó với địa chỉ IP công cộng của máy chủ web.

  1. CREATE USER 'remote_user'@'web_server_ip' IDENTIFIED BY 'password';

Sau khi tạo tài khoản từ xa, hãy cấp cho nó các đặc quyền giống như người dùng cục bộ của bạn:

  1. GRANT ALL PRIVILEGES ON wordpress.* TO 'remote_user'@'web_server_ip';

Cuối cùng, xóa các đặc quyền để MySQL biết bắt đầu sử dụng chúng:

  1. FLUSH PRIVILEGES;

Sau đó thoát khỏi dấu nhắc MySQL bằng cách gõ:

  1. exit

Bây giờ bạn đã thiết lập cơ sở dữ liệu mới và người dùng được kích hoạt từ xa, bạn có thể chuyển sang kiểm tra xem bạn có thể kết nối với cơ sở dữ liệu từ máy chủ web của mình hay không.

Bước 3 — Kiểm tra kết nối từ xa và cục bộ

Trước khi tiếp tục, tốt nhất bạn nên xác minh rằng bạn có thể kết nối với cơ sở dữ liệu của mình từ cả máy cục bộ — máy chủ cơ sở dữ liệu — và từ máy chủ web của bạn.

Trước tiên, hãy kiểm tra kết nối cục bộ từ máy chủ cơ sở dữ liệu của bạn bằng cách thử đăng nhập bằng tài khoản mới của bạn:

  1. mysql -u local_db_user -p

Khi được nhắc, hãy nhập mật khẩu mà bạn đã thiết lập cho tài khoản này.

Nếu bạn nhận được lời nhắc MySQL, thì kết nối cục bộ đã thành công. Bạn có thể thoát ra lần nữa bằng cách gõ:

  1. exit

Tiếp theo, đăng nhập vào máy chủ web của bạn để kiểm tra các kết nối từ xa:

  1. ssh remote_user@web_server_ip

Bạn sẽ cần cài đặt một số công cụ máy khách cho MySQL trên máy chủ web của mình để truy cập cơ sở dữ liệu từ xa. Trước tiên, hãy cập nhật bộ đệm gói cục bộ của bạn nếu gần đây bạn chưa thực hiện:

  1. sudo apt update

Sau đó cài đặt các tiện ích máy khách MySQL:

  1. sudo apt install mysql-client

Sau đó, kết nối với máy chủ cơ sở dữ liệu của bạn bằng cú pháp sau:

  1. mysql -u remote_user -h db_server_ip -p

Một lần nữa, bạn phải đảm bảo rằng bạn đang sử dụng đúng địa chỉ IP cho máy chủ cơ sở dữ liệu. Nếu bạn đã định cấu hình MySQL để nghe trên mạng riêng, hãy nhập IP mạng riêng của cơ sở dữ liệu của bạn. Nếu không, hãy nhập địa chỉ IP công cộng của máy chủ cơ sở dữ liệu của bạn.

Bạn sẽ được yêu cầu nhập mật khẩu cho tài khoản remote_user của mình. Sau khi nhập nó và nếu mọi thứ hoạt động như mong đợi, bạn sẽ được đưa đến dấu nhắc MySQL. Xác minh rằng kết nối đang sử dụng SSL bằng lệnh sau:

  1. status

Nếu kết nối thực sự đang sử dụng SSL, dòng SSL: sẽ cho biết điều này, như được hiển thị ở đây:

Output
-------------- mysql Ver 8.0.29-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu)) Connection id: 14 Current database: Current user: remote_user@web_server_ip SSL: Cipher in use is TLS_AES_256_GCM_SHA384 Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 8.0.29-0ubuntu0.20.04.2 (Ubuntu) Protocol version: 10 Connection: db_server_ip via TCP/IP Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 TCP port: 3306 Binary data as: Hexadecimal Uptime: 1 hour 8 min 28 sec Threads: 2 Questions: 69 Slow queries: 0 Opens: 206 Flush tables: 3 Open tables: 125 Queries per second avg: 0.016 --------------

Sau khi xác minh rằng bạn có thể kết nối từ xa, hãy thoát khỏi lời nhắc:

  1. exit

Bạn đã xác minh quyền truy cập cục bộ và quyền truy cập từ máy chủ web, nhưng bạn chưa xác minh rằng các kết nối khác sẽ bị từ chối. Để kiểm tra thêm, hãy thử làm điều tương tự từ máy chủ thứ ba mà bạn không định cấu hình tài khoản người dùng cụ thể để đảm bảo rằng máy chủ khác này không được cấp quyền truy cập.

Lưu ý rằng trước khi chạy lệnh sau để thử kết nối, bạn có thể phải cài đặt các tiện ích máy khách MySQL như bạn đã làm trước đây:

  1. mysql -u wordpressuser -h db_server_ip -p

Điều này sẽ không hoàn thành thành công và sẽ đưa ra một lỗi tương tự như sau:

Output
ERROR 1130 (HY000): Host '203.0.113.12' is not allowed to connect to this MySQL server

Điều này được mong đợi, vì bạn chưa tạo người dùng MySQL được phép kết nối từ máy chủ này và cũng mong muốn, vì bạn muốn chắc chắn rằng máy chủ cơ sở dữ liệu của bạn sẽ từ chối quyền truy cập trái phép của người dùng vào máy chủ MySQL của bạn.

Sau khi kiểm tra thành công kết nối từ xa, bạn có thể tiến hành cài đặt WordPress trên máy chủ web của mình.

Bước 4 — Chuẩn bị Máy chủ Web để Cài đặt Wordpress

Nếu bạn đã làm theo hướng dẫn điều kiện tiên quyết, bạn nên cài đặt cả Nginx và PHP. WordPress và nhiều plugin của nó tận dụng nhiều phần mở rộng PHP bổ sung. Trước khi cài đặt Wordpress trên máy chủ web của bạn, hãy chuẩn bị máy chủ của bạn bằng cách cài đặt một số tiện ích mở rộng PHP này để sử dụng với Wordpress:

  1. sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

Lưu ý: Mỗi plugin WordPress có bộ yêu cầu riêng. Một số có thể yêu cầu cài đặt các gói mở rộng PHP bổ sung. 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 bằng apt như trong ví dụ trước.

Khi bạn cài đặt xong các tiện ích mở rộng, hãy khởi động lại quy trình PHP-FPM để bộ xử lý PHP đang chạy có thể tận dụng các tính năng mới được cài đặt:

  1. sudo systemctl restart php7.4-fpm

Tiếp theo, thực hiện một vài điều chỉnh đối với tệp khối máy chủ Nginx của bạn. Dựa trên các hướng dẫn tiên quyết, bạn nên có một tệp cấu hình cho trang web của mình trong thư mục /etc/nginx/sites-available/. Nó cũng phải được định cấu hình để phản hồi tên miền hoặc địa chỉ IP của máy chủ của bạn và được bảo vệ bằng chứng chỉ TLS/SSL. /etc/nginx/sites-available/your_domain được sử dụng một thư mục ví dụ ở đây. Thay thế đường dẫn đến tệp cấu hình của bạn khi thích hợp.

Ngoài ra, /var/www/your_domain sẽ được sử dụng làm thư mục gốc trong ví dụ cài đặt WordPress này. Một lần nữa, hãy sử dụng gốc tài liệu được chỉ định trong cấu hình của riêng bạn.

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

Mở tệp khối máy chủ của trang web của bạn bằng trình chỉnh sửa ưa thích của bạn. Ví dụ này sử dụng nano:

  1. sudo nano /etc/nginx/sites-available/your_domain

Trong khối máy chủ này, hãy thêm một vài khối vị trí. Bắt đầu bằng cách tạo các khối vị trí đối sánh chính xác cho các yêu cầu tới /favicon.ico/robots.txt, cả hai yêu cầu này bạn đều không muốn ghi lại.

Bạn sẽ làm điều này bằng cách sử dụng một vị trí biểu thức chính quy để khớp với bất kỳ yêu cầu nào đối với tệp tĩnh, tắt ghi nhật ký cho các yêu cầu này và sẽ đánh dấu chúng là có khả năng lưu vào bộ nhớ đệm cao vì đây thường là những tài nguyên đắt tiền để phân phát. Bạn có thể điều chỉnh danh sách tệp tĩnh này để chứa bất kỳ phần mở rộng tệp nào khác mà trang web của bạn có thể sử dụng:

/etc/nginx/sites-available/your_domain
server {
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.html index.htm index.php;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
    . . .
}

Bên trong khối location / hiện có, bạn có thể điều chỉnh danh sách try_files. Trước tiên, hãy nhận xét cài đặt mặc định bằng cách thêm vào dòng đầu tiên một dấu thăng (#). Sau đó thêm các dòng sau:

/etc/nginx/sites-available/your_domain
server {
    . . .
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }
    . . .
}

Với dòng mới này trong cấu hình của bạn, thay vì trả về lỗi 404 làm tùy chọn mặc định, quyền kiểm soát được chuyển đến tệp index.php cùng với các đối số yêu cầu.

Nhìn chung, phần trên cùng của tệp của bạn phải tương tự như sau:

/etc/nginx/sites-available/your_domain
server {
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.html index.htm index.php;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }

    location / {
       # try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }

  ...
}

Khi bạn hoàn tất, hãy lưu và đóng tệp.

Kiểm tra cấu hình của bạn để tìm lỗi cú pháp bằng cách nhập:

  1. sudo nginx -t

Nếu không có lỗi nào được báo cáo, hãy tải lại Nginx bằng cách nhập:

  1. sudo systemctl reload nginx

Sau khi chuẩn bị máy chủ web của bạn, bây giờ bạn đã sẵn sàng để cài đặt Wordpress.

Bước 5 – Cài đặt WordPress trên Máy chủ Web

Để chứng minh khả năng của máy chủ MySQL có khả năng từ xa mới của bạn, bạn sẽ trải qua quá trình cài đặt và định cấu hình WordPress — hệ thống quản lý nội dung phổ biến — trên máy chủ web của bạn. Với phần mềm máy chủ của bạn được định cấu hình, bạn có thể tải xuống Wordpress. Vì lý do bảo mật, bạn nên tải phiên bản WordPress mới nhất trực tiếp từ trang web của dự án.

Đầu tiên, thay đổi thành một thư mục có thể ghi (khuyên dùng tạm thời như /tmp):

  1. cd /tmp

Điều này thay đổi thư mục làm việc của bạn thành thư mục tạm thời. Sau đó, nhập lệnh sau để tải xuống phiên bản WordPress mới nhất dưới dạng tệp nén:

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

Giải nén tệp nén để tạo cấu trúc thư mục WordPress:

  1. tar xzvf latest.tar.gz

Bạn sẽ di chuyển các tệp này vào thư mục gốc của tài liệu trong giây lát, nhưng trước khi thực hiện, hãy sao chép tệp cấu hình mẫu sang tên tệp mà WordPress đọc:

  1. 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 vào gốc tài liệu của bạn. Cờ -a sẽ đảm bảo các quyền của bạn được duy trì và một dấu chấm ở cuối thư mục nguồn của bạn để cho biết rằng mọi thứ trong thư mục sẽ được sao chép (bao gồm cả các tệp ẩn):

  1. sudo cp -a /tmp/wordpress/. /var/www/your_domain

Với các tệp của bạn tại chỗ, hãy chỉ định quyền sở hữu cho người dùng và nhóm www-data. Đây là người dùng và nhóm mà Nginx điều hành và Nginx sẽ cần có khả năng đọc và ghi các tệp WordPress để phục vụ trang web và thực hiện cập nhật tự động:

  1. sudo chown -R www-data:www-data /var/www/your_domain

Các tệp WordPress của bạn hiện nằm trong thư mục gốc của tài liệu của máy chủ và có quyền sở hữu chính xác. Bây giờ, bạn đã sẵn sàng để định cấu hình Wordpress.

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

Khi bạn mở tệp cấu hình Wordpress, bạn sẽ bắt đầu bằng cách điều chỉnh một số khóa bí mật để cung cấp một số bảo mật cho quá trình cài đặt của mình. 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 tự mình tìm ra các giá trị. Chúng chỉ được sử dụng 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ị an toàn từ trình tạo khóa bí mật WordPress, hãy nhập:

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

Bạn sẽ nhận được các giá trị duy nhất giống với đầu ra tương tự như sau:

Cảnh báo! Điều quan trọng là mỗi lần bạn yêu cầu các giá trị duy nhất của riêng mình. Không sao chép các giá trị hiển thị ở đây!

Output
define('AUTH_KEY', 'L4|2Yh(giOtMLHg3#] DO NOT COPY THESE VALUES %G00o|te^5YG@)'); define('SECURE_AUTH_KEY', 'DCs-k+MwB90/-E(=!/ DO NOT COPY THESE VALUES +WBzDq:7U[#Wn9'); define('LOGGED_IN_KEY', '*0kP!|VS.K=;#fPMlO DO NOT COPY THESE VALUES +&[%8xF*,18c @'); define('NONCE_KEY', 'fmFPF?UJi&(j-{8=$- DO NOT COPY THESE VALUES CCZ?Q+_~1ZU~;G'); define('AUTH_SALT', '@qA7f}2utTEFNdnbEa DO NOT COPY THESE VALUES t}Vw+8=K%20s=a'); define('SECURE_AUTH_SALT', '%BW6s+d:7K?-`C%zw4 DO NOT COPY THESE VALUES 70U}PO1ejW+7|8'); define('LOGGED_IN_SALT', '-l>F:-dbcWof%4kKmj DO NOT COPY THESE VALUES 8Ypslin3~d|wLD'); define('NONCE_SALT', '4J(<`4&&F (WiK9K#] DO NOT COPY THESE VALUES ^ZikS`es#Fo:V6');

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

Mở tệp cấu hình WordPress:

  1. sudo nano /var/www/your_domain/wp-config.php

Tìm phần chứa các giá trị ví dụ cho các cài đặt đó:

/var/www/your_domain/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 những dòng đó và dán vào các giá trị bạn đã sao chép từ dòng lệnh:

/var/www/your_domain/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, sửa đổi một số cài đặt kết nối cơ sở dữ liệu ở đầu tệp. Bạn sẽ phải đ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 định cấu hình trong MySQL.

Nhập thông tin kết nối cho cơ sở dữ liệu từ xa của bạn. Hãy nhớ sử dụng cùng một địa chỉ IP và thông tin xác thực mà bạn đã sử dụng trong quá trình kiểm tra cơ sở dữ liệu từ xa trước đó:

/var/www/your_domain/wp-config.php
. . .
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

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

/** MySQL database password */
define('DB_PASSWORD', 'remote_user_password');

/** MySQL hostname */
define('DB_HOST', 'db_server_ip');
. . .

Và cuối cùng, theo dòng define( 'DB_COLLATE', '' ); này, hãy thêm dòng được đánh dấu này để yêu cầu WordPress sử dụng kết nối SSL với cơ sở dữ liệu MySQL của bạn:

[label var/www/your_domain/wp-config.php
]
...
define( 'DB_COLLATE', '' );

define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
...

Lưu và đóng tập tin.

Với cấu hình của bạn được thiết lập, WordPress đã được cài đặt và bạn đã sẵn sàng chạy qua quy trình thiết lập dựa trên web của nó.

Bước 7 — Thiết lập Wordpress qua Giao diện Web

WordPress có quy trình thiết lập dựa trên web. Khi bạn duyệt qua nó, nó sẽ hỏi một số câu hỏi và cài đặt tất cả các bảng nó cần trong cơ sở dữ liệu của bạn. Tại đây, bạn sẽ thực hiện các bước thiết lập WordPress ban đầu, bạn có thể sử dụng bước này làm điểm bắt đầu để xây dựng trang web tùy chỉnh của riêng mình sử dụng phụ trợ cơ sở dữ liệu từ xa.

Điều hướng đến tên miền (hoặc địa chỉ IP công cộng) được liên kết với máy chủ web của bạn cùng với dấu /wp-admin:

http://your_domain.com/wp-admin

Bạn sẽ được nhắc chọn ngôn ngữ bạn muốn sử dụng:

description image

Tiếp theo, bạn sẽ đến trang thiết lập chính.

Chọn tên cho trang web WordPress của bạn và chọn tên người dùng. Bạn nên chọn một cái gì đó độc đáo và tránh những tên người dùng phổ biến như “admin” vì mục đích bảo mật. Một mật khẩu mạnh được tạo tự động. Lưu mật khẩu này hoặc chọn một mật khẩu 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ác công cụ tìm kiếm lập chỉ mục trang web của mình hay không:

description image

Khi bạn đã gửi thông tin của mình, bạn sẽ cần đăng nhập vào giao diện quản trị viên WordPress bằng tài khoản bạn vừa tạo. Sau đó, bạn sẽ được đưa đến bảng điều khiển nơi bạn có thể tùy chỉnh trang web WordPress mới của mình.

Kết luận

Bằng cách làm theo hướng dẫn này, bạn đã thiết lập cơ sở dữ liệu MySQL để chấp nhận các kết nối được bảo vệ bằng SSL từ bản cài đặt Wordpress từ xa. Các lệnh và kỹ thuật được sử dụng trong hướng dẫn này có thể áp dụng cho bất kỳ ứng dụng web nào được viết bằng bất kỳ ngôn ngữ lập trình nào, nhưng các chi tiết triển khai cụ thể sẽ khác nhau. Tham khảo tài liệu cơ sở dữ liệu của ứng dụng hoặc ngôn ngữ của bạn để biết thêm thông tin.

0 replies