WordPress là một công nghệ mã nguồn mở cực kỳ phổ biến để tạo các trang web và blog trên internet hiện nay. Được sử dụng bởi 63% trong số 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 chiếm 36% trong số 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 thiết lập 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ị phiên bản Wordpress trên máy chủ đám mây không được quản lý thông qua dòng lệnh. Mặc dù phương pháp này yêu cầu nhiều bước hơn so với cài đặt WordPress làm sẵn, nhưng nó cung cấp cho quản trị viên 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 tùy chọn khác phù hợp hơn. Là phần mềm nguồn mở, WordPress có thể được tải xuống và cài đặt miễn phí, nhưng để có sẵn trên web, bạn có thể cần phải mua cơ sở hạ tầng đám mây và một tên miền. Tiếp tục làm theo hướng dẫn này nếu bạn quan tâm đến việc cài đặt phía máy chủ và thiết lập trang web WordPress.
Hướng dẫn này sẽ sử dụng LAMP stack (Linux, Apache, MySQL và PHP), đây là một tùy chọn cho kiến trúc máy chủ hỗ trợ WordPress bằng cách cung cấp hệ điều hành Linux, máy chủ web Apache, cơ sở dữ liệu MySQL và ngôn ngữ lập trình PHP. Chúng tôi sẽ cài đặt và thiết lập WordPress qua LAMP trên máy chủ Linux Ubuntu 20.04.
Để hoàn thành hướng dẫn này, bạn sẽ cần truy cập vào máy chủ Ubuntu 20.04 và sẽ cần hoàn thành các bước sau trước khi bắt đầu hướng dẫn này:
sudo
user.Khi bạn hoàn tất các bước thiết lập, hãy đăng nhập vào máy chủ của bạn với tư cách sudo
user và tiếp tục bên dưới.
Bước đầu tiên mà chúng tôi sẽ thực hiện là bước chuẩn bị. WordPress sử dụng MySQL để quản lý và lưu trữ thông tin trang web và người dùng. Chúng tôi đã cài đặt MySQL, nhưng chúng tôi cần tạo cơ sở dữ liệu và người dùng để WordPress sử dụng.
Để bắt đầu, hãy đăng nhập vào tài khoản gốc MySQL (quản trị) bằng cách đưa ra lệnh này (lưu ý rằng đây không phải là root user của máy chủ của bạn):
- mysql -u root -p
Bạn sẽ được nhắc nhập mật khẩu mà bạn đã đặt cho tài khoản gốc MySQL khi cài đặt phần mềm.
Lưu ý: Nếu bạn không thể truy cập cơ sở dữ liệu MySQL của mình thông qua root, với tư cách là sudo
user, bạn có thể cập nhật mật khẩu của root user bằng cách đăng nhập vào cơ sở dữ liệu như sau:
- sudo mysql -u root
Khi bạn nhận được lời nhắc của MySQL, bạn có thể cập nhật mật khẩu của root user. Tại đây, thay thế new_password bằng một mật khẩu mạnh do bạn chọn.
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
Bây giờ bạn có thể gõ EXIT;
và có thể đăng nhập lại vào cơ sở dữ liệu thông qua mật khẩu bằng lệnh sau:
- mysql -u root -p
Trong cơ sở dữ liệu, chúng ta có thể tạo một cơ sở dữ liệu độc quyền để WordPress kiểm soát. Bạn có thể gọi đây là bất cứ điều gì bạn muốn, nhưng chúng tôi sẽ sử dụng tên wordpress trong hướng dẫn này. Tạo cơ sở dữ liệu cho WordPress bằng cách gõ:
- 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 rằng điều này có mặt nếu bạn đang gặp phải bất kỳ sự cố nào.
Tiếp theo, chúng tôi sẽ tạo một tài khoản người dùng MySQL riêng mà chúng tôi sẽ sử dụng riêng để vận hành cơ sở dữ liệu mới của mình. Việc tạo cơ sở dữ liệu và tài khoản cụ thể có thể hỗ trợ chúng tôi từ quan điểm quản lý và bảo mật. Chúng tôi sẽ sử dụng tên wordpressuser trong hướng dẫn này, nhưng vui lòng sử dụng bất kỳ tên nào phù hợp với bạn.
Chúng tôi sẽ tạo tài khoản này, đặt mật khẩu và cấp quyền truy cập vào cơ sở dữ liệu mà chúng tôi đã tạo. Chúng ta có thể làm điều này bằng cách gõ lệnh dưới đây. Hãy nhớ chọn một mật khẩu mạnh ở đây cho người dùng cơ sở dữ liệu của bạn nơi chúng tôi có password
:
- CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Tiếp theo, hãy cho cơ sở dữ liệu biết rằng wordpressuser của chúng ta phải có toàn quyền truy cập vào cơ sở dữ liệu mà chúng ta đã thiết lập:
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'%';
Bây giờ bạn có một cơ sở dữ liệu và tài khoản người dùng, mỗi tài khoản được tạo riêng cho WordPress. Chúng tôi cần xóa các đặc quyền để phiên bản hiện tại của MySQL biết về những thay đổi gần đây mà chúng tôi đã thực hiện:
- FLUSH PRIVILEGES;
Thoát khỏi MySQL bằng cách gõ:
- EXIT;
Trong bước tiếp theo, chúng tôi sẽ đặt một số nền tảng cho các plugin WordPress bằng cách tải xuống các tiện ích mở rộng PHP cho máy chủ của chúng tôi.
Khi thiết lập LAMP stack của chúng tôi, chúng tôi chỉ yêu cầu một bộ tiện ích mở rộng rất 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.
Chúng tôi có thể tải xuống và cài đặt một số tiện ích mở rộng PHP phổ biến nhất để sử dụng với WordPress bằng cách nhập:
- 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 chúng tôi.
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 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 với apt
như đã trình bày ở trên.
Chúng tôi sẽ cần khởi động lại Apache để tải các tiện ích mở rộng mới này, chúng tôi sẽ thực hiện nhiều cấu hình hơn trên Apache trong phần tiếp theo, vì vậy bạn có thể đợi cho đến lúc đó 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
Tiếp theo, chúng tôi sẽ thực hiện một số điều chỉnh nhỏ đối với cấu hình Apache của mình. Dựa trên các hướng dẫn về điều kiệ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/apache2/sites-available/
.
Trong hướng dẫn này, chúng tôi 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 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 bản 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. Nếu bạn đã làm theo hướng dẫn LAMP của chúng tôi, thì đó có thể là tên miền 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à gốc web 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 hơn 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.
Với các đường dẫn của chúng tôi đã được xác định, chúng tôi 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 thư mục.
Hiện tại, việc sử dụng tệp .htaccess
bị vô hiệu hóa. WordPress và nhiều plugin WordPress sử dụng rộng rãi các tệp này để điều chỉnh trong thư mục đối với hành vi của máy chủ web.
Mở tệp cấu hình Apache cho trang web của bạn bằng trình soạn thảo văn bản như nano.
- sudo nano /etc/apache2/sites-available/wordpress.conf
Để cho phép các tệp .htaccess
, chúng tôi cần đặt lệnh AllowOverride
trong khối Directory
trỏ đến gốc tài liệu của chúng tôi. Thêm khối văn bản sau vào khối VirtualHost
trong tệp cấu hình của bạn, đảm bảo sử dụng đúng thư mục gốc của web:
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Khi bạn hoàn tất, hãy lưu và đóng tệp. Trong nano, bạn có thể thực hiện việc này bằng cách nhấn CTRL
và X
cùng nhau, rồi Y
, rồi ENTER
.
Tiếp theo, chúng tôi có thể kích hoạt mod_rewrite
để có thể sử dụng tính năng permalink của WordPress:
- sudo a2enmod rewrite
Điều này cho phép bạn có nhiều liên kết cố định dễ đọc hơn đối với các bài đăng của mình, 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 mô-đun được chỉ định trong cấu hình Apache.
Trước khi chúng tôi triển khai các thay đổi đã thực hiện, hãy kiểm tra để đảm bảo rằng chúng tôi không mắc phải bất kỳ lỗi cú pháp nào bằng cách chạy thử nghiệm sau.
- sudo apache2ctl configtest
Bạn có thể nhận được đầu ra như sau:
OutputAH00558: 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 chặn dòng trên cùng, chỉ cần thêm một lệnh ServerName
vào tệp cấu hình Apache (toàn cầu) chính của bạn tại /etc/apache2/apache2.conf
. ServerName
có thể là tên 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. Đảm bảo khởi động lại ngay bây giờ 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, chúng tôi sẽ tải xuống và thiết lập chính WordPress.
Bây giờ phần mềm máy chủ của chúng tôi đã được thiết lập cấu hình, chúng tôi có thể tải xuống và thiết lập WordPress. Vì lý do bảo mật cụ thể, bạn nên tải phiên bản WordPress mới nhất từ trang web của họ.
Thay đổi thành một thư mục có thể ghi (chúng tôi khuyên dùng một thư mục tạm thời như /tmp
) và tải xuống bản phát hành đã nén.
- cd /tmp
- 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:
- tar xzvf latest.tar.gz
Chúng tôi sẽ 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. Trước khi thực hiện, chúng ta có thể thêm tệp .htaccess
giả để tệp này có sẵn cho WordPress sử dụng sau này.
Tạo tệp bằng cách gõ:
- touch /tmp/wordpress/.htaccess
Chúng tôi cũng sẽ sao chép tệp cấu hình mẫu vào tên tệp mà WordPress đọc:
- cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Chúng tôi cũng có thể tạo thư mục upgrade
để WordPress không gặp phải các sự cố 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ờ, chúng ta 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 tài liệu. Chúng tôi đang sử dụng một dấu chấm ở cuối thư mục nguồn để cho biết rằng mọi thứ trong thư mục sẽ được sao chép, bao gồm các tệp ẩn (như tệp .htaccess
mà chúng tôi đã tạo):
- sudo cp -a /tmp/wordpress/. /var/www/wordpress
Đảm bảo rằng bạn thay thế thư mục /var/www/wordpress
bằng thư mục bạn đã thiết lập trên máy chủ của mình.
Trước khi chúng tôi thực hiện thiết lập WordPress dựa trên web, chúng tôi cần điều chỉnh một số mục trong thư mục WordPress của mình.
Một bước quan trọng mà chúng ta cần hoàn thành là thiết lập quyền và quyền sở hữu tệp hợp lý.
Chúng tôi sẽ bắt đầu bằng cách trao quyền sở hữu tất cả các tệp cho người dùng và nhóm www-data. Đâ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 bằng lệnh chown
cho phép bạn sửa đổi quyền sở hữu tệp. Hãy chắc chắn trỏ đến thư mục có liên quan của máy chủ của bạn.
- sudo chown -R www-data:www-data /var/www/wordpress
Tiếp theo, chúng tôi sẽ chạy hai lệnh find
để đặt 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 {} \;
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 ý rằng một số plugin và quy trình có thể yêu cầu chỉnh sửa bổ sung.
Bây giờ, chúng ta cần thực hiện một số thay đổi đối với tệp cấu hình chính của WordPress.
Khi chúng tôi mở tệp, nhiệm vụ đầu tiên của chúng tôi 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 chúng tôi. 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 tìm ra các giá trị tốt. 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:
- 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 đầu ra 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ị bên dưới!
Outputdefine('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à chúng ta 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ờ.
Tiếp theo, mở tệp cấu hình WordPress:
- sudo nano /var/www/wordpress/wp-config.php
Tìm phần chứa các giá trị ví dụ cho các cài đặt đó.
. . .
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:
. . .
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, chúng tôi sẽ 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 đã thiết lập cấu hình trong MySQL.
Một thay đổi khác mà chúng ta cần thực hiện là đặt phương thức mà WordPress sẽ sử dụng để ghi vào hệ thống tệp. Vì chúng tôi đã cấp cho máy chủ web quyền ghi ở nơi cần ghi, nên chúng tôi có thể đặt phương thức hệ thống tệp thành “direct” một cách rõ ràng. Việc không đặt cài đặt này với cài đặt hiện tại của chúng tôi sẽ dẫn đến việc WordPress nhắc nhập thông tin đăng nhập FTP khi chúng tôi thực hiện một số hành động.
Bạn có thể thêm cài đặt này bên dưới 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:
. . .
// ** 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 và đóng tệp khi bạn hoàn tất.
Bây giờ cấu hình máy chủ đã hoàn tất, chúng ta 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, hãy điều hướng đến tên miền hoặc địa chỉ IP công cộng của máy chủ của bạn:
https://server_domain_or_IP
Select the language you would like to use:
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:
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:
Khi bạn đăng nhập, bạn sẽ được đưa đến bảng điều khiển quản trị WordPress:
Tại thời điểm này, bạn có thể bắt đầu thiết kế trang web WordPress của mình! 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.
Xin chúc mừng, WordPress hiện đã được cài đặt và sẵn sàng để sử dụng!
Tại thời điểm này, bạn có thể muốn bắt đầu làm như sau:
Settings > Permalinks
.Appearance > Themes
.Plugins > Add New
.Users > Add New
.Bạn có thể tìm 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 máy chủ khác nhau, tự động hóa cài đặt WordPress 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 chúng tôi.