Thứ sáu, 06/07/2018 | 00:00 GMT+7

Cài đặt WordPress với LAMP trên Ubuntu 18.04

WordPress là CMS (hệ thống quản lý nội dung) phổ biến hàng dầu trên internet. Nó cho phép bạn dễ dàng cài đặt các blog và trang web linh hoạt trên phần backend MySQL với PHP processor (bộ-xử-lý-PHP). WordPress đã được chấp nhận một cách đáng kinh ngạc và là một lựa chọn tuyệt vời để cài đặt và chạy trang web một cách nhanh chóng. Sau khi cài đặt, 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 user web.

Trong hướng dẫn này, ta sẽ tập trung vào việc cài đặt một version WordPress trên LAMP (Linux, Apache, MySQL và PHP) trên server Ubuntu 18.04.

Yêu cầu

Để hoàn thành hướng dẫn này, bạn cần truy cập vào server Ubuntu 18.04.

Bạn cần thực hiện các việc sau trước khi bắt đầu:

  • Tạo user sudo trên server : Ta sẽ hoàn thành các bước trong hướng dẫn này bằng cách sử dụng user không phải root có quyền sudo . Bạn có thể tạo user có quyền sudo theo hướng dẫn cài đặt server ban đầu Ubuntu 18.04 .
  • Cài đặt LAMP : WordPress cần web server, database và PHP để hoạt động chính xác. Cài đặt 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 bằng SSL : WordPress cung cấp nội dung động và xử lý xác thực và ủy quyền user. TLS / SSL là công nghệ cho phép bạn mã hóa lưu lượng truy cập từ trang web để kết nối của bạn được an toàn. Cách bạn cài đặt SSL sẽ phụ thuộc vào việc bạn có domain cho trang web hay không.
    • Nếu bạn có domain… cách dễ nhất để bảo mật trang web là với Let's Encrypt, cung cấp các certificate miễn phí, tin cậy. Làm theo hướng dẫn Hãy LetEncrypt với Apache để cài đặt điều này.
    • Nếu bạn không có domain… 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 certificate 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 domain. Làm theo hướng dẫn SSL tự ký dành cho Apache để cài đặt.

Khi bạn hoàn tất các bước cài đặt, hãy đăng nhập vào server với quyền là user sudo và tiếp tục.

Bước 1 - Tạo Database MySQL và User cho WordPress

WordPress sử dụng MySQL để quản lý và lưu trữ thông tin trang web và user. Ta đã cài đặt MySQL, nhưng ta cần tạo database và user cho WordPress sử dụng.

Để bắt đầu, hãy đăng nhập vào account root (quản trị) MySQL bằng cách ra lệnh sau:

  • mysql -u root -p

Bạn cần nhập password bạn đã đặt cho account root MySQL khi cài đặt.

Đầu tiên, ta có thể tạo một database riêng mà WordPress sẽ kiểm soát. Bạn có thể đặt tùy ý, nhưng ta dùng tên wordpress trong hướng dẫn này để đơn giản hóa. Tạo database cho WordPress bằng lệnh:

  • 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 không có thể gây lỗi.

Tiếp theo, tạo một account user MySQL riêng biệt mà ta sẽ sử dụng riêng để hoạt động trên database mới. Ta sẽ sử dụng tên wordpressuser trong hướng dẫn này, thay đổi nếu bạn muốn.

Ta tạo account, đặt password và cấp quyền truy cập vào database, thực hiện bằng lệnh lệnh sau, nhớ chọn một password mạnh:

  • GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

Đến đây bạn có một database và account user, account được tạo riêng cho WordPress. Áp dụng thay đổi:

  • FLUSH PRIVILEGES;

Thoát khỏi MySQL bằng lệnh:

  • EXIT;

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

Khi cài đặt LAMP, ta yêu cầu một thư viện mở rộng 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.

Ta có thể download 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 lệnh:

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

Lưu ý: Mỗi plugin WordPress có một số 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 để xem yêu cầu PHP. Chúng có thể được cài đặt với apt như đã trình bày ở trên.

Ta sẽ 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:

  • sudo systemctl restart apache2

Bước 3 - Điều chỉnh cấu hình của Apache để cho phép ghi đè và Rewrite .htaccess

Tiếp theo, ta sẽ thực hiện một vài điều chỉnh nhỏ đối với cấu hình Apache của bạn. Dựa trên các hướng dẫn ban đầu, bạn nên có file cấu hình cho trang web trong folder /etc/apache2/sites-available/ . Ta sẽ sử dụng /etc/apache2/sites-available/wordpress.conf làm ví dụ ở đây, bạn nên thay thế đường dẫn đến file cấu hình của bạn nếu cần.

Ngoài ra, ta sẽ sử dụng /var/www/wordpress làm folder root của cài đặt WordPress . Bạn nên sử dụng root web đượ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 000-default.conf (với /var/www/html làm root web của bạn). Điều này là đủ nếu bạn chỉ lưu trữ một trang web trên server 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 file cho mỗi trang web/domain.

Bật Overrides .htaccess

Hiện tại, việc sử dụng .htaccess bị vô hiệu hóa. WordPress và nhiều plugin WordPress sử dụng rộng rãi các file này để điều chỉnh trong folder đối với hành vi của web server.

Mở file cấu hình Apache cho trang web:

  • sudo nano /etc/apache2/sites-available/wordpress.conf

Để cho phép các .htaccess , ta cần đặt chỉ thị AllowOverride trong một khối Directory trỏ đến root document . Thêm khối văn bản sau vào khối VirtualHost trong file cấu hình của bạn, đảm bảo sử dụng đúng folder root của web:

/etc/apache2/sites-available/wordpress.conf
<Directory /var/www/wordpress/>     AllowOverride All </Directory> 

Khi hoàn tất, hãy lưu file.

Bật module rewrite

Tiếp theo, ta có thể bật mod_rewrite cần thiết cho các link web WordPress:

  • sudo a2enmod rewrite

Kích hoạt các thay đổi

Trước khi ta triển khai các thay đổi đã thực hiện, hãy kiểm tra đảm bảo ta không mắc bất kỳ lỗi cú pháp nào:

  • sudo apache2ctl configtest

Kết quả có thể có 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, chỉ cần thêm lệnh ServerName vào file cấu hình Apache chính (global) của bạn tại /etc/apache2/apache2.conf . ServerName có thể là domain hoặc địa chỉ IP của server. 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 . Miễn là kết quả chứa Syntax OK , bạn đã sẵn sàng.

Khởi động lại Apache để thực hiện các thay đổi:

  • sudo systemctl restart apache2

Tiếp theo, ta sẽ download và cài đặt WordPress.

Bước 4 - Download WordPress

Bây giờ phần mềm server đã được cấu hình, ta có thể download và cài đặt WordPress. Đặc biệt, vì lý do bảo mật, bạn nên tải version WordPress mới nhất từ trang web của họ.

Thay đổi thành một folder có thể ghi và sau đó download bằng lệnh:

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

Giải nén file zip để tạo cấu trúc folder WordPress:

  • tar xzvf latest.tar.gz

Ta sẽ chuyển các file này vào folder root trong giây lát. Trước khi thực hiện, ta có thể thêm một .htaccess giả để nó có sẵn cho WordPress sử dụng sau này.

Tạo file bằng lệnh:

  • touch /tmp/wordpress/.htaccess

Ta cũng sẽ sao chép file cấu hình mẫu sang tên file mà WordPress thực sự đọc:

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

Ta cũng có thể tạo folder upgrade để WordPress không gặp vấn đề quyền đọc ghi khi nó tự cập nhật sau này:

  • mkdir /tmp/wordpress/wp-content/upgrade

Bây giờ, ta có thể sao chép toàn bộ nội dung vào folder root . Dùng thêm một dấu . để copy cả file ẩn (như file ẩn .htaccess mà ta đã tạo):

  • sudo cp -a /tmp/wordpress/. /var/www/wordpress

Bước 5 - Cấu hình Folder WordPress

Trước khi cài đặt WordPress, ta cần điều chỉnh một số mục trong folder WordPress.

Điều chỉnh Quyền sở hữu và Quyền

Một trong những điều cần là cài đặt quyền và quyền sở hữu file hợp lý.

Ta sẽ bắt đầu bằng cách trao quyền sở hữu tất cả các file cho user và group www-data . Đây là user mà web server Apache chạy và Apache cần có khả năng đọc và ghi các file WordPress để chạy 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, ta sẽ chạy hai lệnh find để đặt các quyền chính xác trên các folder và file WordPress:

  • sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
  • sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

Một số plugin có thể yêu cầu chỉnh sửa bổ sung.

Cài đặt file cấu hình WordPress

Bây giờ, ta cần thực hiện một số thay đổi đối với file cấu hình WordPress.

Khi mở file, trình tự đầu tiê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 cài đặt . WordPress cung cấp một trình tạo an toàn cho các giá trị này. Chúng chỉ được sử dụng nội bộ trong code.

Để lấy các giá trị an toàn từ trình tạo khóa bí mật của 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 trông giống như sau:

Cảnh báo! quan trọng là dùng các giá trị duy nhất mỗi lần. KHÔNG sao chép các giá trị hiển thị bên dưới đây để gán cho bạn!

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à ta có thể copy paste trực tiếp vào file cấu hình để đặt khóa an toàn. Sao chép kết quả bạn nhận được và mở file cấu hình WordPress:

  • sudo nano /var/www/wordpress/wp-config.php

Tìm phần chứa các giá trị giả cho các cài đặt đó, trô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à paste 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, ta cần sửa đổi một số cài đặt kết nối database ở đầu file. Bạn cần điều chỉnh tên database, user database và password liên quan mà ta đã cấu hình trong MySQL.

Thay đổi khác mà ta cần thực hiện là đặt phương thức mà WordPress nên sử dụng để ghi vào hệ thống file. Vì ta đã cấp cho web server quyền ghi nơi cần thiết, ta có thể đặt phương thức hệ thống file thành “direct” như dưới đây.

Có thể thêm cài đặt kết nối database như dưới đây trong file:

/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 file khi 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 server đã hoàn tất, ta có thể hoàn tất cài đặt thông qua giao diện web.

Trong trình duyệt web, chuyển đến domain hoặc địa chỉ IP công cộng của server:

https://server_domain_or_IP 

Chọn ngôn ngữ bạn muốn sử dụng:

Lựa chọn ngôn ngữ WordPress

Tiếp theo, bạn sẽ đến trang cài đặt chính.

Chọn tên cho trang web WordPress của bạn và chọn tên user (không nên chọn thông tin như "admin" vì mục đích bảo mật). Password mạnh được tạo tự động. Lưu password này hoặc chọn một password mạnh thay thế.

Nhập địa chỉ email của bạn và chọn xem bạn có muốn chặn các công cụ tìm kiếm lập index trang web hay không:

Cài đặt cài đặt WordPress

Khi nhấp Tiếp theo, bạn sẽ được đưa đến một trang đăng nhập:

Dấu nhắc đăng nhập WordPress

Sau khi đăng nhập, bạn sẽ đến console quản trị WordPress:

Dấu nhắc đăng nhập WordPress

Kết luận

Tuyệt vời, bạn có thấy đẹp không, WordPress đã được cài đặt và sẵn sàng sử dụng! Một số bước tiếp theo thường là chọn cài đặt Link fix cứng cho bài đăng của bạn (có thể tìm thấy trong Settings > Permalinks ) hoặc chọn chủ đề mới (trong Giao Appearance > Themes ). Nếu đây là lần đầu tiên bạn sử dụng WordPress, hãy thoải mái khám phá giao diện để làm quen với CMS mới.



Các tin trước

Cài đặt và Sử dụng Docker với Ubuntu 18.04 2018-07-05

Cài đặt Firewall với UFW trên Ubuntu 18.04 2018-07-05

Tạo chứng chỉ Tự ký cho Apache trên Ubuntu 18-04 2018-07-05

Cài đặt MongoDB trên Ubuntu 18.04 2018-06-07

Cài đặt OpenVPN Server trên Ubuntu 18.04 2018-05-24

Cài đặt LEMP - Linux Nginx MySQL PHP trên Ubuntu 18 04 2018-05-23

Cài đặt và sử dụng PostgreSQL trên Ubuntu 18.04 2018-05-04

Cài đặt Linux Apache MySQL PHP (LAMP) trên Ubuntu 18 04 2018-04-27

Bảo mật cơ bản Ubuntu 18.04 2018-04-27

Cài đặt Apache Web Server trên Ubuntu 18.04 2018-04-27