Trang chủ WordpressWordpress Development Thêm tên miền và database vào VVV và cài WordPress

Thêm tên miền và database vào VVV và cài WordPress

bởi Thạch Phạm

Sau khi cài xong VVV trên Vagrant chúng ta đã có một máy ảo để chạy WordPress thật oách xà lách với một số website WordPress được cài mặc định. Trong bài hướng dẫn này mình sẽ hướng dẫn bạn chi tiết cách thêm một tên miền ảo vào máy ảo và cách thêm một database, cài WordPress dựa vào workflow của VVV.

Tổng quan về quy trình thêm domain vào VVV

Mặc định, thư mục /vvv-tut/config/nginx-config/ sẽ chứa các thiết lập NGINX, bao gồm các thiết lập tạo virtualhost (một cách nói khác chỉ việc thêm tên miền vào webserver). Trong đó, mọi thiết lập trong thư mục nginx-config/sites sẽ được tự động sử dụng nên chúng ta muốn thêm tên miền nào thì cứ tạo ra các tập tin cấu hình cho tên miền cần thêm vào ở đó là được.

Cách thêm tên miền vào VVV sử dụng NGINX

Đầu tiên bạn hãy truy cập vào thư mục /vvv-tut/config/nginx-config/sites và copy tập tin local-nginx-example.conf-sample ra một tập tin khác và đổi tên thành tên_nào_đó.conf, ví dụ mình đặt là thachpham.local.conf để phân biệt với các tập tin khác là tập tin này sẽ dành cho việc cấu hình tên miền thachpham.local. Nói chung bạn có thể sử dụng bất kỳ tên nào, miễn là đuôi mở rộng phải là .conf.

them-domain-vvv-01

Sau đó mở tập tin đó lên và để ý đoạn code sau:

server {
 # Determines the port number that nginx will listen to for this
 # server configuration. 80 is the default http port.
 listen 80;

 # Listen for HTTPS requests as well
 listen 443 ssl;

 # Tells nginx what domain name should trigger this configuration. If
 # you would like multiple domains or subdomains, they can be space
 # delimited here. See http://nginx.org/en/docs/http/server_names.html
 server_name testserver.com;

 # Tells nginx which directory the files for this domain are located
 root /srv/www/wordpress-local;

 # Includes a basic WordPress configuration to help with the common
 # rules needed by a web server to deal with WordPress properly.
 include /etc/nginx/nginx-wp-common.conf;
}

Trong đó, dòng 12 và 15 là hai dòng mà bạn sẽ sửa lại. Cụ thể:

  • server_name: tên miền cần thêm vào. Bạn nên sử dụng một tên miền ảo, ví dụ: thachpham.local
  • root: Đường dẫn tới thư mục chứa website trên máy ảo. Lưu ý /srv/www/ tương ứng với thư mục /vvv/www/ trên máy tính của bạn.

Ví dụ mình muốn thêm tên miền thachpham.local và lưu code vào thư mục /vvv/www/thachpham.local thì sẽ sửa như sau:

server {
 # Determines the port number that nginx will listen to for this
 # server configuration. 80 is the default http port.
 listen 80;

 # Listen for HTTPS requests as well
 listen 443 ssl;

 # Tells nginx what domain name should trigger this configuration. If
 # you would like multiple domains or subdomains, they can be space
 # delimited here. See http://nginx.org/en/docs/http/server_names.html
 server_name thachpham.local;

 # Tells nginx which directory the files for this domain are located
 root /srv/www/thachpham.local;

 # Includes a basic WordPress configuration to help with the common
 # rules needed by a web server to deal with WordPress properly.
 include /etc/nginx/nginx-wp-common.conf;
}

Cuối cùng bạn vào thư mục /vvv/www và tạo thêm một thư mục tương ứng với tên thư mục đã thiết lập ở root.

them-domain-vvv-02

Sau đó hãy mở tập tin /vvv-tut/www/vvv-hosts và thêm một dòng khai báo domain bạn cần thêm vào. Ví dụ: thachpham.local.

them-domain-vvv-03

Cuối cùng là gõ lệnh vagrant provision trong thư mục vvv-tut, bạn có thể sẽ đợi khoảng 5 – 10 phút để nó re-build lại VVV.

Ok, bây giờ thì hãy thử truy cập vào tên miền của bạn đi nào. Nếu nó ra trang lỗi 403 thì đã thành công, nó báo lỗi 403 là vì bạn chưa có tập tin index ở trong đó.

Cách tạo database trong VVV

Có 2 cách để tạo database trong VVV tùy theo khả năng và nhu cầu của bạn.

Cách 1. Đơn giản

Cách đơn giản nhất là bạn hãy vào phpMyAdmin theo đường dẫn http://vvv.dev/database-admin/ và đăng nhập với tài khoản root/root và tạo database ở đó.

them-database-vvv-01

Rồi bạn sử dụng thông tin database sau để kết nối:

  • Database host: localhost
  • Database Name: $tên_database
  • Database User:root
  • Database Password:root

Cách 2. Sử dụng mysql-init

Cách này chúng ta sẽ thiết lập một lệnh SQL để tạo database mỗi khi chúng ta gõ lệnh vagrant provision. Cách này sẽ có một lợi thế là linh hoạt hơn đối với những bạn biết sử dụng lệnh SQL.

Bạn copy tập tin /vvv/database/init-custom.sql.sample sang một tập tin init-custom.sql cùng thư mục theo cấu trúc /vvv/database/init-custom.sql.

Sau đó mình mở tập tin đó lên và khai báo lệnh tạo database:

CREATE DATABASE IF NOT EXISTS `thachpham_local`;
GRANT ALL PRIVILEGES ON `thachpham_local`.* TO 'root'@'localhost' IDENTIFIED BY 'mật khẩu root (mặc định là root)';

Lệnh trên có nghĩa là nó sẽ kiểm tra xem server của bạn đã có database nào tên là thachpham_local chưa. Nếu chưa nó sẽ tạo ra database với tên đó và cấp quyền cho user root sở hữu nó (thực ra là user root có toàn quyền trên mọi database rồi hehe).

Bạn có thể thêm nhiều dòng như thế nếu cần tạo nhiều database khác nhau.

Sau đó lưu lại và chạy lệnh vagrant provision.

Bây giờ thì vào phpMyAdmin kiểm tra thử xem.

Rồi làm gì nữa?

Bây giờ mình có domain riêng rồi, biết thư mục chứa dữ liệu của domain rồi, có thông tin database đầy đủ rồi, làm gì nữa? À chắc không làm gì đâu, để đó chơi vậy á. Giỡn chơi thôi, chứ bây giờ bạn đã có thể cài bất cứ ứng dụng PHP & MySQL vào rồi đó. Nhưng ở đây mình sẽ nói qua về cách sử dụng WP CLI để cài đặt WordPress nhanh, bạn nên học cách sử dụng WP CLI càng sớm càng tốt vì nó rất có lợi sau này.

Trước tiên truy cập lệnh vào thư mục website cần cài đặt:

$ wp core download
Downloading WordPress 4.3.1 (en_US)...
Success: WordPress downloaded.

Sau đó tạo tập tin config với thông tin database của bạn.

$ wp core config --dbname=thachpham_local --dbuser=root --dbpass=root --skip-check
Success: Generated wp-config.php file.

Cuối cùng là cài đặt với các thông tin tùy chỉnh:

$ wp core install --url=http://thachpham.local --title="Thach Pham Local" --admin_user=admin --admin_password=123456 [email protected]
Success: WordPress installed successfully.

Và nếu thích, mình thiết lập nó sang tiếng Việt luôn:

$ wp core language install vi && wp core language activate vi
Success: Language installed.
Success: Language activated.

Và import dữ liệu mẫu cho nó oách. Nhưng trước tiên phải cài plugin WP Importer trước.

$ wp plugin install wordpress-importer --activate

Sau đó là tải tập tin dữ liệu mẫu xml rồi cho nó import vào.

$ curl -OL https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml && wp import theme-unit-test-data.xml --authors=create && rm -rf theme-unit-test-data.xml

Sẵn tiện cài cái theme khác vào cho nó đẹp mắt nhỉ.

$ wp theme install hueman --activate

Ok, tạm thời bây giờ chúng ta đã có một website WordPress khá oke mà nãy giờ chúng ta còn chưa chạm tay vào bảng điều khiển của nó nữa. Sound interesting? Nhưng chưa hết, ở bài sau mình sẽ chia sẻ thêm về cách tạo một script tự động cài đặt website trong VVV theo ý muốn của mình. Ở đó bạn có thể tự thiết lập nó sửa tập tin hosts, tự tạo database và tự thực thi các lệnh wp-cli hoặc là dùng bất cứ gì để setup website.

Có thể bạn quan tâm

Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng.