Giới thiệu
WordPress là hệ thống quản lý nội dung (CMS) phổ biến nhất trên internet. Nó cho phép bạn thiết lập các blog và trang web linh hoạt trên phần phụ trợ MySQL với xử lý PHP. WordPress đã được chứng kiến sự chấp nhận đáng kinh ngạc và là một lựa chọn tuyệt vời để thiết lập và chạy trang web một cách nhanh chóng. Sau khi thiết lập, hầu hết tất cả các quản trị có thể được thực hiện thông qua giao diện người dùng web.
Trong hướng dẫn này, bạn sẽ thiết lập một phiên bản WordPress trên ngăn xếp LAMP (Linux, Apache, MySQL và PHP) trên máy chủ Ubuntu 18.04.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn sẽ cần:
- Truy cập vào máy chủ Ubuntu 18.04 với
sudo
người sử dụng: Bạn sẽ hoàn thành các bước trong hướng dẫn này bằng cách sử dụng người dùng không phải root vớisudo
đặc quyền. Bạn có thể tạo người dùng vớisudo
đặc quyền bằng cách làm theo hướng dẫn thiết lập máy chủ ban đầu Ubuntu 18.04 của chúng tôi. - Cài đặt ngăn xếp LAMP: WordPress sẽ cần một máy chủ web, một cơ sở dữ liệu và PHP để hoạt động chính xác. Thiết lập ngăn xếp LAMP (Linux, Apache, MySQL và PHP) đáp ứng tất cả các yêu cầu này. Làm theo hướng dẫn này để cài đặt và cấu hình phần mềm này.
- Bảo mật trang web của bạn bằng SSL: WordPress cung cấp nội dung động và xử lý xác thực và ủy quyền người dùng. 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 mình để kết nối của bạn được an toàn. Cách bạn thiết lập SSL sẽ phụ thuộc vào việc bạn có tên miền cho trang web của mình hay không.
- Nếu bạn có một tên miền… một cách để bảo mật trang web của bạn là với Let's Encrypt, cung cấp các chứng chỉ miễn phí, đáng tin cậy. Làm theo hướng dẫn Hãy mã hóa Apache của chúng tôi để thiết lập điều này.
- Nếu bạn không có miền… 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 chứng chỉ 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 miền. Làm theo hướng dẫn SSL tự ký của chúng tôi dành cho Apache để thiết lập.
Khi bạn hoàn thành các điều kiện tiên quyết, hãy đăng nhập vào máy chủ của bạn với tư cách là sudo
người dùng và tiếp tục đến Bước 1.
Bước 1 – Tạo Cơ sở dữ liệu MySQL và Người dùng cho WordPress
Bước đầu tiên bạn sẽ làm là chuẩn bị. Mặc dù MySQL đã được cài đặt, bạn vẫn cần tạo cơ sở dữ liệu để quản lý và lưu trữ thông tin người dùng để WordPress sử dụng. Để bắt đầu, hãy đăng nhập vào tài khoản gốc (quản trị) MySQL bằng cách ra lệnh sau:
You will be prompted for the password you set for the MySQL root account when you installed the software.
However, if you have password authentication enabled for your root user, you can run the following command and enter your password information when prompted:
From there, you'll create a new database that WordPress will control. You can call this whatever you would like, but we will be using wordpress in this guide as an example. Create the database for WordPress by writing the following:
- CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Ghi chú: 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 hiện có nếu bạn đang gặp phải bất kỳ sự cố nào.
Tiếp theo, bạn sẽ tạo một tài khoản người dùng MySQL riêng biệt mà bạn sẽ sử dụng riêng để hoạt động trên cơ sở dữ liệu mới. Tạo cơ sở dữ liệu và tài khoản một chức năng là một ý tưởng hay từ quan điểm quản lý và bảo mật. Chúng tôi sẽ sử dụng tên wordpressuser như một ví dụ trong hướng dẫn này. Hãy thay đổi điều này nếu bạn muốn.
Bạn có thể tạo tài khoản này, đặt mật khẩu cho nó, rồi cấp cho nó quyền truy cập vào cơ sở dữ liệu mà bạn đã tạo tất cả bằng cách chạy lệnh sau. Hãy nhớ chọn một mật khẩu mạnh tại đây cho người dùng cơ sở dữ liệu của bạn:
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
Sau khi tạo người dùng này, hãy xóa các đặc quyền để đảm bảo rằng phiên bản MySQL hiện tại biết về những thay đổi gần đây mà bạn đã thực hiện:
Exit out of MySQL:
You now have a database and user account in MySQL, each made specifically for WordPress.
Step 2 – Installing Additional PHP Extensions
When setting up your LAMP stack, the process only required a minimal set of extensions to get PHP to communicate with MySQL. WordPress and many of its plugins leverage additional PHP extensions.
First, update your package list:
Next download and install some of the most popular PHP extensions for use with WordPress:
- sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
Ghi chú: 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.
Khởi động lại Apache để tải các phần mở rộng mới này trong phần tiếp theo. Nếu bạn đang quay lại đây để cài đặt các plugin bổ sung, bạn có thể khởi động lại Apache ngay bây giờ:
- sudo systemctl restart apache2
Trong bước tiếp theo, bạn sẽ thực hiện một số điều chỉnh đối với cấu hình Apache của mình.
Bước 3 - Điều chỉnh cấu hình của Apache để cho phép ghi đè và ghi lại .htaccess
WordPress mặc định sử dụng .htaccess
để quản lý các tính năng nhất định của trang web của bạn, chẳng hạn như liên kết cố định, plugin và chuyển hướng. Máy chủ web Apache sử dụng .htaccess
các tệp cấu hình để tạo các quy tắc cho máy chủ web tuân theo. Tuy nhiên, Apache vô hiệu hóa việc sử dụng .htaccess
theo mặc định, vì vậy bạn sẽ cần cập nhật tệp máy chủ ảo Apache cho trang web của mình để kích hoạt chúng.
Để bật, hãy mở tệp máy chủ ảo cho trang web của bạn:
- sudo nano /etc/apache2/sites-available/wordpress.conf
Ghi chú: Đối với hướng dẫn này, chúng tôi sẽ sử dụng /etc/apache2/sites-available/wordpress.conf
như một ví dụ, nhưng bạn nên thay thế đường dẫn đến tệp cấu hình của mình nếu thích hợp.
Ngoài ra, chúng tôi sẽ sử dụng /var/www/wordpress
làm thư mục gốc của cài đặt WordPress của chúng tôi. Bạn nên sử dụng gốc web được chỉ định trong cấu hình của riêng bạn.
Cũng có thể bạn đang sử dụng 000-default.conf
cấu hình mặc định (với /var/www/html
làm gốc 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 máy chủ này. Nếu không, tốt nhất bạn nên chia cấu hình cần thiết thành các phần hợp lý, một tệp cho mỗi trang web.
Khi bạn đã mở tệp này, bạn sẽ nhận thấy rằng việc sử dụng .htaccess
tệp bị vô hiệu hóa. Cho phép .htaccess
các tệp, bạn cần thiết lập AllowOverride
chỉ thị trong một Directory
chặn trỏ đến gốc tài liệu của bạn. Thêm khối văn bản sau vào bên trong VirtualHost
trong tệp cấu hình của bạn. Đảm bảo rằng bạn sử dụng thư mục gốc web của riêng mình thay cho ví dụ được đánh dấu:
/etc/apache2/sites-available/wordpress.conf
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Khi bạn hoàn tất, hãy lưu và đóng tệp. Nếu bạn đang sử dụng nano
, bạn có thể thoát bằng cách nhấn CTRL + X
sau đó Y
và ENTER
.
Tiếp theo, bật mod_rewrite
để bạn có thể sử dụng tính năng liên kết cố định của WordPress:
After, you'll enable those changes by testing the configuration. But before you implement the changes, check to make sure there aren't any syntax errors:
- sudo apache2ctl configtest
Đầu ra có thể có một thông báo giống 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, hãy thêm một ServerName
chỉ thị cho tệp cấu hình Apache chính (toàn cầu) của bạn tại /etc/apache2/apache2.conf
. Các ServerName
có thể là miền hoặc địa chỉ IP của máy chủ 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 của bạn. Miễn là đầu ra chứa Syntax OK
, bạn đã sẵn sàng để tiếp tục.
Khởi động lại Apache để thực hiện các thay đổi:
- sudo systemctl restart apache2
Tiếp theo, bạn sẽ tải xuống và thiết lập WordPress.
Bước 4 - Tải xuống WordPress
Bây giờ 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 và thiết lập WordPress. Vì lý do bảo mật, bạn nên tải phiên bản WordPress mới nhất từ trang web của họ.
Đầu tiên hãy thay đổi thành một thư mục có thể ghi:
Then download the compressed release by running the following:
- curl -O https://wordpress.org/latest.tar.gz
Giải nén tệp nén để tạo cấu trúc thư mục WordPress:
You'll be moving these files into your document root momentarily. Before you do, add an empty .htaccess
để nó sẽ có sẵn cho WordPress để sử dụng sau này.
Tạo tệp bằng cách chạy như sau:
- touch /tmp/wordpress/.htaccess
Sau đó, tạo một bản sao của tệp cấu hình mẫu và đặt tên cho nó wp-config.php
, tên tệp mà WordPress thực sự đọc:
- cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Cuối cùng, tạo upgrade
thư mục, để WordPress không gặp phải các 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 của nó:
- mkdir /tmp/wordpress/wp-content/upgrade
Bây giờ bạn có thể sao chép toàn bộ nội dung của thư mục vào thư mục gốc của mình. Sử dụng 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 (như .htaccess
tệp bạn đã tạo). Một lần nữa, hãy sử dụng tên của gốc tài liệu thực tế của bạn thay cho ví dụ được đánh dấu:
- sudo cp -a /tmp/wordpress/. /var/www/wordpress
Tiếp theo, bạn sẽ cần điều chỉnh và định cấu hình các mục trong thư mục WordPress của mình.
Bước 5 - Định cấu hình Thư mục WordPress
Trước khi bắt đầu thiết lập WordPress dựa trên web, bạn cần điều chỉnh một số mục trong thư mục WordPress của mình.
Điều chỉnh Quyền sở hữu và Quyền
Một trong những điều lớn bạn cần hoàn thành là thiết lập quyền và quyền sở hữu tệp hợp lý.
Bắt đầu bằng cách cấp quyền sở hữu tất cả các tệp cho www-data người dùng và nhóm. Đây là người dùng mà máy chủ web Apache chạy và Apache 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.
Cập nhật quyền sở hữu với chown
:
- sudo chown -R www-data:www-data /var/www/wordpress
Tiếp theo chạy hai find
các lệnh để đặt các quyền chính xác trên các thư mục và tệp WordPress:
- sudo find /var/www/wordpress/ -type d -exec chmod 750 {} ;
- sudo find /var/www/wordpress/ -type f -exec chmod 640 {} ;
Đây phải là những quyền hợp lý được đặt để bắt đầu. Một số plugin và quy trình có thể yêu cầu chỉnh sửa bổ sung.
Thiết lập tệp cấu hình WordPress
Bây giờ, bạn cần thực hiện một số thay đổi đối với tệp cấu hình WordPress chính.
Khi bạn mở tệp, công việc đầu tiên của bạn sẽ là đ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. 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ị an toàn từ trình tạo khóa bí mật của WordPress, hãy chạy như sau:
- curl -s https://api.wordpress.org/secret-key/1.1/salt/
Bạn sẽ nhận được các giá trị duy nhất trông giống như sau:
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. Làm KHÔNG PHẢI sao chép các giá trị được hiển thị trong ví dụ bên dưới.
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à 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.
Bây giờ, hãy mở tệp cấu hình WordPress. Đảm bảo rằng đường dẫn tệp phù hợp với thông tin gốc tài liệu của riêng bạn như được đánh dấu trong phần sau:
- sudo nano /var/www/wordpress/wp-config.php
Tìm phần chứa các giá trị trống cho các cài đặt đó. Nó sẽ trông giống như sau:
/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, bạn cần sửa đổi một số cài đặt kết nối cơ sở dữ liệu ở đầu tệp. Bạn 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 mà bạn đã định cấu hình trong MySQL.
Thay đổi khác là đặt phương thức mà WordPress nên sử dụng để ghi vào hệ thống tệp. Vì bạn đã cấp cho máy chủ web quyền ghi ở nơi nó cần, nên bạn có thể đặt rõ ràng phương thức hệ thống tệp thành "trực tiếp". Không thiết lập cài đặt này với cài đặt hiện tại của bạn sẽ dẫn đến việc WordPress nhắc thông tin đăng nhập FTP khi thực hiện một số hành động.
Cài đặt này có thể được thêm vào sau cài đặt kết nối cơ sở dữ liệu hoặc bất kỳ nơi nào khác trong tệp:
/var/www/wordpress/wp-config.php
. . .
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
. . .
define('FS_METHOD', 'direct');
Lưu và đóng tệp 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 máy chủ đã hoàn tất, bạn có thể hoàn tất cài đặt thông qua giao diện web.
Trong trình duyệt web của bạn, điều hướng đến tên miền hoặc địa chỉ IP công cộng của máy chủ:
https://server_domain_or_IP
Chọn ngôn ngữ bạn muốn sử dụng:
Tiếp theo, bạn sẽ được chuyển đế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 không nên chọn một cái gì đó như “quản trị viên” vì mục đích bảo 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ản các công cụ tìm kiếm lập chỉ mục trang web của mình hay không:
Khi bạn nhấp vào phía trước, bạn sẽ được đưa đến trang nhắc bạn đăng nhập:
Sau khi đăng nhập, bạn sẽ được đưa đến bảng điều khiển quản trị WordPress:
Từ đó, bạn có thể bắt đầu sử dụng và tùy chỉnh trang web WordPress của mình.
Phần kết luận
WordPress hiện đã được cài đặt thành công 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 đăng 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 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.
.