Chủ Nhật, 5 tháng 6, 2016

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

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.

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.

Đầ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.localroot: Đườ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ó 2 cách để tạo database trong VVV tùy theo khả năng và nhu cầu của bạ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: localhostDatabase Name: $tên_databaseDatabase User:rootDatabase Password:root

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.

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 downloadDownloading 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-checkSuccess: 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 --admin_email=contact@thachpham.comSuccess: 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 viSuccess: 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.

.

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

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.

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.

Đầ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.localroot: Đườ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ó 2 cách để tạo database trong VVV tùy theo khả năng và nhu cầu của bạ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: localhostDatabase Name: $tên_databaseDatabase User:rootDatabase Password:root

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.

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 downloadDownloading 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-checkSuccess: 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 --admin_email=contact@thachpham.comSuccess: 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 viSuccess: 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.

.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

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

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.

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.

Đầ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.localroot: Đườ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ó 2 cách để tạo database trong VVV tùy theo khả năng và nhu cầu của bạ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: localhostDatabase Name: $tên_databaseDatabase User:rootDatabase Password:root

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.

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 downloadDownloading 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-checkSuccess: 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 --admin_email=contact@thachpham.comSuccess: 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 viSuccess: 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.

.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Thứ Bảy, 4 tháng 6, 2016

Tạo script Auto Site Setup cho VVV

Auto Site Setup của VVV là một trong những tính năng đặc trưng của nó dẫn đến nhiều lập trình viên rất thích sử dụng. Nói một cách dễ hiểu, nó sẽ giúp bạn tự cấu hình một kịch bản bằng Bash Script để cài đặt website theo ý muốn của mình. Do VVV được thiết kế đặc thù cho WordPress cộng thêm việc kết hợp với WP-CLI nên bạn có thể làm rất nhiều việc với tính năng này.

Chẳng hạn bạn muốn tạo ra một script riêng cho mình để cài một website WordPress được thiết lập riêng dành cho bạn như cài sẵn theme nào, cài sẵn plugin nào, thêm dữ liệu mẫu, nhập dữ liệu database,….hầu như bạn có thể làm mọi thứ, chỉ là bạn có biết hay không mà thôi.

Trong bài viết này mình sẽ hướng dẫn cách tạo ra một Auto Site Setup script cho VVV, và mình sẽ lấy ví dụ là cài một website WordPress sử dụng WooCommerce và có thêm dữ liệu mẫu cho WooCommerce.

Trước tiên bạn sẽ cần truy cập vào thư mục /vvv-tut/www tạo ra một thư mục tên bất kỳ, ở đây mình đặt tên là woocommerce-test.

Tạo thư mục woocommerce-testTạo thư mục woocommerce-test

Tiếp tục tại thư mục vừa tạo, bạn tạo thêm 3 tập tin như sau:

vvv-hosts: Khai báo tên miền tự động thêm vào tập tin hosts.vvv-nginx.conf: Khai báo cấu hình NGINX tự động thêm tên miền.vvv-init.sh: Bash Script cho quá trình cài đặt.

vvv-auto-site-setup-1

Ở tập tin này bạn chỉ cần đơn giản là khai báo tên miền mà bạn muốn nó tự động thêm vào tập tin hosts.

woocommerce-test.dev

Tập tin này sẽ chứa một đoạn thiết lập tên miền mới trong NGINX giống như cách chúng ta đã thêm tên miền vào VVV mà mình đã trình bày các bài viết trước.

server { listen 80; server_name woocommerce-test.dev; # The {vvv_path_to_folder} token gets replaced # with the folder containing this, e.g. if this # folder is /srv/www/foo/ and you have a root # value of `{vvv_path_to_folder}/htdocs` this # will be auto-magically transformed to # `/srv/www/foo/htdocs`. root {vvv_path_to_folder}; include /etc/nginx/nginx-wp-common.conf;}

Lưu ý, phần {vvv_path_to_folder} nó sẽ tượng trưng cho đường dẫn thư mục hiện tại mà tập tin này đang được lưu, tức là thư mục /vvv/www/woocommerce-test và bạn nên để nguyên nó. Phần còn lại là sửa lại server_name thành tên miền bạn cần thêm.

PS: Hãy tự gõ lại 100% vì copy và paste có thể sẽ gây lỗi cú pháp.

# Welcomeecho "Dang cai dat WooCommerce Test"# Tao databasemysql -u root -proot -e "CREATE DATABASE IF NOT EXISTS woocommerce_test"mysql -u root -proot -e "GRANT ALL PRIVILEGES ON woocommerce_test .* TO wp@localhost IDENTIFIED BY 'wp';"# Download WordPressecho "Download phien ban WordPress moi nhat"svn checkout http://svn.automattic.com/wordpress/trunk/ .# Configwp core config --allow-root --dbname="woocommerce_test" --dbuser=wp --dbpass=wp --dbhost="localhost"wp core install --allow-root --url=woocommerce-test.dev --title="Woocommerce Test" --admin_user=admin --admin_password=password --admin_email=contact@thachpham.com# Cai dat pluginwp plugin install wordpress-importer --allow-root --activatewp plugin install woocommerce --allow-root --activate# Import du lieu mauecho "Dang nap du lieu mau"wp import wp-content/plugins/woocommerce/dummy-data/dummy-data.xml --allow-root --authors=create# Ket thucecho "Ket thuc cai dat WooCommerce"

Bạn chịu khó đọc kỹ các comment của mình trong đó nhé.

Bây giờ hãy lưu lại và gõ lệnh vagrant provision để tái tạo lại và setup cái script của bạn đã khai báo.

Nếu nó chạy xong mà không gặp lỗi gì như bên dưới thì nó đã cài xong rồi.

vvv-auto-site-setup-2

Bây giờ bạn có thể thử truy cập vào website woocommerce-test.dev để xem thành quả nhé. Nếu vào mà không được thì kiểm tra lại kết quả output của lệnh vagrant provision xem có lỗi nào không, và kiểm tra tập tin hosts ở máy tính đã được khai báo tên miền woocommerce-test.dev chưa.

Nếu bạn lưu lại thư mục chứa script tự cài đặt của mình lại và gửi cho bạn bè, hoặc tái sử dụng sau này thì chỉ cần copy nó vào thư mục /vvv/www rồi chạy lệnh vagrant provision là được.

Thế bạn đã thấy chức năng này tiện lợi chưa nào? Nhưng nó có vẻ hơi rườm rà đúng không? và quan trọng là nó không hoạt động tốt ở Windows, nhưng không sao, ở bài sau mình sẽ hướng dẫn bạn thêm một công cụ khác dùng kèm với VVV để tạo website WordPress nhanh chóng trên máy ảo.

.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Cài đặt Vagrant và VVV trên Mac OS X

Trong bài này mình sẽ hướng dẫn chi tiết cách cài đặt Vagrant và công cụ VVV cho Vagrant trên hệ điều hành Mac OS để chúng ta bắt đầu tạo máy ảo chạy WordPress chuyên nghiệp.

Nếu bạn đã cài VirtualBox rồi thì có thể bỏ qua, nếu chưa cài VirtualBox thì vào đường dẫn https://www.virtualbox.org/wiki/Downloads và tải về gói cài đặt tương ứng.

tai-virtualbox-01

Sau đó chạy file cài đặt và cài đặt nó như phần mềm bình thường.

Sau khi cài VirtualBox xong thì bạn mới cài Vagrant nhé, trước tiên bạn vào https://www.vagrantup.com/downloads.html và tải về gói cài đặt Vagrant cho hệ điều hành tương ứng với bạn.

tai-vagrant

Và dĩ nhiên, mở lên rồi cài đặt.

Cài xong Vagrant hãy khởi động lại máy.

Trước tiên, bạn tạo một thư mục ở bất kỳ đâu để lưu lại gói VVV và bạn phải nhớ nó vì muốn sử dụng bạn phải truy cập vào đó, bạn cũng xác định là không cần chuyển thư mục về sau vì có thể nó sẽ xảy ra một số lỗi liên quan đến đường dẫn.

Ở đây mình sẽ chọn vị trí đắc địa là /Users/tên_user để tạo. Mình tạo một thư mục tên vvv-tut cho nó dễ nhận biết.

Tạo thư mục vvv-tutTạo thư mục vvv-tut

Sau đó mở trình Terminal của hệ điều hành lên và gõ lần lượt hai plugin của Vagrant sau:

$ vagrant plugin install vagrant-hostsupdater$ vagrant plugin install vagrant-triggers

Trong đó,

vagrant-hostupdater: Plugin hỗ trợ tự sửa file hosts trên máy tính khi thêm domain vào máy ảo trong Vagrant.vagrant-triggers: Để có thể tự động hóa các thao tác như tạo database, nhập dữ liệu database có sẵn,….

Tóm lại là bạn phải cài 2 plugin này để nó hoạt động tốt.

cai-dat-vvv-02

Sau đó sao chép mã nguồn VVV về thư mục vvv-tut với lệnh sau:

$ git clone git://github.com/Varying-Vagrant-Vagrants/VVV.git .

Kết quả:

vvv-auto-site-setup-3

Cuối cùng là cũng ngay tại thư mục vvv-tut, bạn gõ lệnh vagrant up để nó bắt đầu cài đặt VVV lần đầu tiên. Lần đầu tiên nó cài khá lâu vì phải tải nhiều thứ về máy nên bạn đi ăn trưa đi rồi quay lại là xong.

Và đây là thông báo sau khi cài xong (mình vừa ngủ 1 giấc xong):

Thông báo sau khi chạy lệnh vagrant-upThông báo sau khi chạy lệnh vagrant-up

Bây giờ bạn hãy thử truy cập vào các đường dẫn sau nhé, nếu nó hiển thị ra website thì thành công:

http://vvv.dev – Trang chính của VVV, nơi hiển thị một số liên kết quan trọng.http://local.wordpress.dev – Website mẫu cài bản ổn định chính thức của WordPress.http://src.wordpress-develop.dev – Website mẫu cài bản beta mới nhất của WordPress.http://build.wordpress-develop.dev – Bản WordPress được build ra bằng Grunt phục vụ việc đóng góp phát triển mã nguồn. Xem thêm

Nếu bạn vào các website đó không được thì hãy gõ lệnh vagrant provision trong thư mục vvv-tut để nó tái tạo lại.

Tài khoản root MySQL

Bạn có thể dùng nó để đăng nhập vào phpMyAdmin theo đường dẫn http://vvv.dev/database-admin/

Tài khoản đăng nhập các website WordPress cài sẵn

Username: adminPassword: password

Tài khoản MySQL cho các website WordPress cài sẵn

Thông tin cơ bản của website WordPress cài sẵn

WordPress Stable

Đường dẫn trên máy tính: $vvv/www/wordpress-defaultĐường dẫn trên máy ảo: /srv/www/wordpress-defaultURL: http://local.wordpress.devDB Name: wordpress_default

WordPress Trunk

Đường dẫn trên máy tính: $vvv/www/wordpress-trunkĐường dẫn trên máy ảo: /srv/www/wordpress-trunkURL: http://local.wordpress-trunk.devDB Name: wordpress_trunk

WordPress Develop

Đường dẫn trên máy tính: $vvv/www/wordpress-developĐường dẫn trên máy ảo: /srv/www/wordpress-develop/src URL: http://src.wordpress-develop.dev/build URL: http://build.wordpress-develop.devDB Name: wordpress_developDB Name: wordpress_unit_tests

Trong đó, $vvv đại diện cho đường dẫn thư mục mà bạn đang cài vvv vào.

Mặc định máy ảo VVV đã được thiết lập cố định một số thông tin như địa chỉ IP nội bộ tĩnh, số lượng CPU được sử dụng, dung lượng RAM. Nếu bạn muốn sửa nó thì có thể sửa tập tin /vvv/Vagrantfile.

Sửa số lượng CPU

Bạn tìm tới dòng sau để sửa số 1 thành số lượng nhân CPU mà bạn mong muốn cho máy ảo này sử dụng. Lưu ý là con số này phải nhỏ hơn số nhân CPU mà máy bạn đang có.

v.customize ["modifyvm", :id, "--cpus", 1]

Sửa dung lượng RAM

Bạn tìm đến dòng này và sửa:

v.customize ["modifyvm", :id, "--memory", 1024]

Vậy thôi, các thông tin khác bạn nên để nguyên.

Sau khi sửa xong nhớ ấn lệnh vagrant reload để nạp thiết lập mới cho máy ảo.

vagrant halt – Shutdown máy ảo.vagrant reload – Khởi động lại máy ảo.vagrant destroy – Không nên dùng, xóa luôn máy ảo.

Xem thêm: https://docs.vagrantup.com/v2/cli/

Trong bài này chúng ta đã cài đặt thành công VVV và Vagrant, từ đó nó đã chạy được rồi. Tiếp tục ở bài sau, mình sẽ trình bày cách mà chúng ta thêm một tên miền mới (dĩ nhiên là tên miền ảo), thêm database mới và thử tự cài một website WordPress mới trên VVV nhé.

.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Sử dụng Variable VV cho VVV để cài WordPress nhanh

Nhìn vào tiêu đề bài viết có thể nó hơi rối một xíu cho bạn vì toàn chữ V không. Nhưng Variable VV (bản mới do bradp fork lại) là tên gọi một công cụ sử dụng kèm với VVV để tạo website WordPress mới nhanh hơn và linh hoạt hơn. Bạn không cần phải tự viết script Auto Site Setup, không cần sửa lại file hosts, không cần gì cả, chỉ chạy một số dòng lệnh mà thôi.

Nếu bạn nào dùng OS X thì có thể dùng homebrew để cài.

$ brew install bradp/vv/vv

Sau đó truy cập vào thư mục /vvv-tut/ và gõ lệnh vv --help, nó sẽ hỏi bạn đây có phải là thư mục cài VVV không, ấn Y và Enter.

Bạn clone source VV về máy và copy vào thư mục /bin/bash

$ git clone https://github.com/bradp/vv && mv vv /bin/bash/vv

Sau đó truy cập vào thư mục chứa VVV và gõ lệnh vv --help, nó sẽ hỏi bạn đây có phải là thư mục cài VVV không, ấn Y và Enter.

Để thêm một website mới, bạn sử dụng lệnh vv create. Với lệnh này, nó sẽ làm các việc như:

Khởi động lại Vagrant với lệnh vagrant halt. Tạo thư mục chứa website tại thư mục www của VVV. Trong đó nó sẽ bao gồm các tập tin cấu hình auto site setup như vvv-init.sh, vvv-hosts và wp-cli.yml. Khởi động lại kèm theo tái tạo lại Vagrant với lệnh vagrant up –provision.

Hãy thử nhé, trước tiên bạn cần truy cập lệnh vào thư mục /vvv-tut/ và bây giờ chúng ta cần tạo ra một website tên là thachpham-test.dev. Mình gõ lệnh vv create trước.

$ vv create

Nó sẽ hỏi các thông tin sau:

Name of new site directory: Tên thư mục cần đặt để nó tạo trong thư mục www.Domain to use: Tên miền cần sử dụng cho thư mục đó.WordPress version to install: Loại phiên bản WordPress cần cài đặt, bạn có hai lựa chọn là trunk (bản beta được commit liên tục) hoặc để trống nếu cần sử dụng bản ổn định mới nhất.Install as multisite? (y/N): Bạn có muốn cài WordPress Multisite không, gõ y hoặc n.Git repo to clone as wp-content: Địa chỉ kho chứa git đang chứa dữ liệu wp-content mà bạn muốn nó tích hợp vào. Bỏ trống để bỏ qua.Local SQL file to import for database: Đường dẫn tới tập tin .sql trên máy nếu bạn cần nhập dữ liệu SQL có sẵn vào. Bỏ trống để bỏ qua.Remove default themes and plugins? (y/N): Tùy chọn xóa theme và plugin mặc định.Add sample content to site (y/N): Tùy chọn nhập dữ liệu mẫu vào website.Enable WP_DEBUG and WP_DEBUG_LOG (y/N): Tùy chọn bật tính năng WP_DEBUG và WP_DEBUG_LOG.

Cuối cùng nó sẽ bạn có muốn tiếp tục không, ấn Y rồi Enter.

them-website-vv-01

Sau đó dùng lệnh này để khởi động lại Vagrant và tái tạo lại.

$ vagrant halt && vagrant up --provision

Cuối cùng là hãy thử truy cập vào website mà bạn đã tạo ra bằng Variable VV xem sao nhé.

Để xóa đi website đã cài trong VV bạn cũng thao tác đơn giản bằng lệnh vv delete, ví dụ:

$ vv delte thachpham-test.dev

Cách sử dụng Variable VV cũng đơn giản như vậy thôi nhưng ít ra nó cũng giúp bạn thêm website dễ dàng hơn vào VVV thay vì chúng ta phải làm thủ công như những bài hướng dẫn trước phải không nào. Hy vọng đây là một lựa chọn mới thú vị hơn để bạn dễ dàng cài đặt các website hỗ trợ làm việc trên máy ảo tiện lợi hơn.

.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

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

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.

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.

Đầ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.localroot: Đườ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ó 2 cách để tạo database trong VVV tùy theo khả năng và nhu cầu của bạ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: localhostDatabase Name: $tên_databaseDatabase User:rootDatabase Password:root

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.

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 downloadDownloading 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-checkSuccess: 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 --admin_email=contact@thachpham.comSuccess: 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 viSuccess: 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.

.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Giới thiệu Varying Vagrant-Vagrants

Nếu bạn đã từng đi tìm hiểu nhiều giải pháp về việc thiết lập một môi trường development cho lập trình viên WordPress thì có thể đã từng nghe đến Varying Vagrant-Vagrants (xin gọi vắn tắt là VVV). Còn nếu bạn chưa biết nó là gì thì bạn có thể xem qua vì biết đâu nó chính là thứ bạn cần?

vvv-vagrant

Vagrant mình đã từng giới thiệu qua về nó như là một công cụ hỗ trợ quản lý máy ảo ở VirtualBox/VMWare tốt hơn, dễ sử dụng hơn và có khả năng tái sử dụng rất tốt. Vagrant hiện tại đã quá nổi tiếng như là một giải pháp tạo máy ảo để phát triển ứng dụng, hoặc đơn giản hơn thì phục vụ nhu cầu học tập Linux cho nhiều người.

Còn VVV mà mình đang nói ở trong bài này là một bộ công cụ (nói đúng hơn là một box trong Vagrant) hỗ trợ lập trình viên xây dựng một môi trường ảo hóa phục vụ riêng cho việc lập trình với WordPress. Cụ thể là nó sẽ giúp bạn xây dựng một webserver chuẩn sử dụng NGINX (hoặc Apache) và tích hợp sẵn nhiều công cụ hỗ trợ việc lập trình nhanh chóng hơn. Không cần phải cài đặt gì nhiều, chỉ việc download bộ cài của VVV vào thư mục Vagrant rồi gõ lệnh “vagrant up” và tận hưởng đi.

Ngoài ra, nó còn giúp bạn quản lý và thêm nhiều website nhanh chóng vào máy ảo, có thể tự viết thêm bash script để thiết lập auto site setup của VVV để rút ngắn thời gian tối đa việc thao tác trên máy ảo, tập trung vào việc viết code.

Đây là câu hỏi mà mình tiên lượng được sẽ có người hỏi khi mình giới thiệu VVV. Và dĩ nhiên phải có lý do riêng của nó mà các lập trình viên thích chọn VVV hơn là một ứng dụng tạo localhost thông thường.

Như bạn biết các chương trình hỗ trợ tạo localhost đều áp dụng mô hình webserver LAMP (Linux, Apache, MySQL và PHP). Điều này thật thiệt thòi nếu như bạn cần một localhost chạy LEMP (Linux, NGINX, MySQL/MariaDB và PHP-FPM). Và ở VVV và Vagrant, do nó là một máy ảo Linux độc lập nên bạn có thể tinh chỉnh lại phần mềm nào được cài lên đây, không phụ thuộc vào bất cứ giới hạn nào ở các chương trình localhost khác.

Trong VVV, nó đã cài sẵn cho bạn những phần mềm mà các lập trình viên WordPress thường rất cần như WP-CLI, Composer, Memcached, PHP XDebug, Git, Subversion, Mailcatcher,…nên hầu như nếu bạn đang làm việc lập trình WordPress thì không cần tinh chỉnh cài đặt gì thêm khi sử dụng VVV.

Còn nếu bạn dùng localhost thông thường, trường hợp bạn sử dụng Linux thì không sao nhưng nếu bạn sử dụng Windows thì đôi lúc có một số ứng dụng mà bạn muốn cài đặt cũng rườm rà phết đấy.

Nói cách khác là do VVV chạy trên một máy ảo độc lập nên bạn có tinh chỉnh phần mềm hỗ trợ gì trên đó cũng không lo nó ảnh hưởng đến các thiết lập khác trên máy của bạn.

Tính năng Auto Site Setup là một sức mạnh tiềm tàng của nó, bạn có thể tự thiết lập một script tự cài đặt một website mới của mình như tạo database, cài WordPress, thêm các dữ liệu mẫu, cài sẵn plugin, bla bla,…. Bằng việc ứng dụng sự linh hoạt của bash script và sự mềm dẻo của WP-CLI thì bạn có thể tạo ra một website ở localhost với các thiết lập mong muốn trong tít tắt mà không cần chạm vào bảng điều khiển của WordPress.

Một tính năng tuyệt vời của Vagrant là bạn có thể push cái máy ảo của mình lên các dịch vụ máy chủ ảo thông dụng như Amacon EC2, Microsoft Azure, Google Cloud Machine,….mà không cần cài đặt thêm gì trên máy chủ của bạn. Hoặc nếu bạn không chuyên nghiệp tới mức dùng các dịch vụ xa xỉ đó thì bạn có thể push nó lên host của bạn thông qua FTP hoặc dịch vụ miễn phí HashiCorp’s Atlas.

“vagrant push” và bùm, bạn đã có một liên kết vào website của bạn và gửi nó cho khách hàng/bạn bè ở phương xa xem.

Và với VVV bạn cũng có thể làm được như thế theo cách riêng của nó, cách gì mình sẽ có nói sau.

Mình không quen khi nói rằng chỉ có những người chuyên nghiệp mới dùng VVV, mà chỉ là nó không phải thích hợp cho nhiều người. Về chắc chắn thì nó dĩ nhiên là khó hơn việc bạn làm việc trên localhost thông thường rồi, nhưng bù lại bạn sẽ làm nhanh hơn nếu biết sử dụng nó.

Nếu bạn cảm thấy quá xa lạ với Linux, với các thiết lập webserver, không thoải mái khi thao tác với các dòng lệnh thì VVV có thể làm bạn bực mình thêm và hãy thứ lỗi cho mình về điều đó. Do vậy, lúc này bạn có thể tiếp tục với workflow dùng localhost thông thường.

Nhưng nếu bạn vẫn muốn tìm hiểu thêm một cái gì đó mới mẻ, có vẻ “thời đại” một xíu thì cứ thử xem bài viết và video của serie này xem, dẫu sao biết thêm nhiều thứ cũng không có gì gọi là vô ích.

Ứng dụng VVV cho Vagrant là một box đã có sẵn các phần mềm sau:

Ubuntu 14.04 LTS (Trusty Tahr)WordPress DevelopWordPress StableWordPress TrunkWP-CLI (master branch)nginx (mainline version)mysql 5.5.xphp-fpm 5.5.xmemcachedPHP memcache extensionPHP xdebug extensionPHP imagick extensionPHPUnitack-grepgitsubversionngrepdos2unixComposerphpMemcachedAdminphpMyAdminOpcache StatusWebgrindNodeJsgrunt-cliMailcatcher

Nếu bạn cảm thấy tò mò về VVV và muốn thử trải nghiệm nó thì hãy ấn qua xem bài kế tiếp trong serie này nhé, ở đó mình sẽ có hướng dẫn chi tiết cách cài Vagrant và VVV trên Mac.

.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.