Thứ Hai, 21 tháng 8, 2017

[Multisite] Cài đặt WordPress Multisite trên máy chủ dùng VPSSIM

Hiện nay người dùng máy chủ Linux cài đặt VPSSIM để quản lý máy chủ và chạy WordPress cũng khá nhiều nên mình sẽ hướng dẫn chi tiết cách cài đặt Multisite, cấu hình subdomain và tên miền riêng cho website con trên máy chủ Linux sử dụng VPSSIM.

Trước tiên, bạn cần có sẵn một máy chủ Linux cài đặt VPSSIM và đã cài một website WordPress vào đó. Về việc này bạn có thể tham khảo tại trang chủ của VPSSIM hoặc sử dụng menu vpssim -> 1 -> 3 để cài đặt nhé.

Trong bài viết này, mình sẽ có các tên miền sau, dĩ nhiên là tất cả phải được trỏ về IP máy chủ:

azdigi.info – Tên miền chính của websiteazdigi-dns.com – Tên miền riêng của website con dns.azdigi.infoazdigiweb.com – Tên iền riêng của website con web.azdigi.info

Do vậy khi làm theo hướng dẫn bạn nhớ đổi tên thành tên miền của bạn cho chính xác, đừng copy đại vào là không được đâu nhé.

Ngoài ra, trong bài viết mình sử dụng công cụ nano để sửa tập tin. Do vậy bạn hãy chắc chắn đã cài nano vào máy chủ nhé.

yum install nano -y

Để sub-domain hoạt động thì trong thiết lập DNS của tên miền chính phải có bản ghi loại A, tên là * và giá trị trỏ về IP của máy chủ.

Kích hoạt Multisite

Cũng giống như cách kích hoạt thông thường, ta sửa tập tin wp-config.php của website chính.

nano /home/azdigi.info/public_html/wp-config.php

Sau đó chèn đoạn sau vào dưới <>

define( 'WP_ALLOW_MULTISITE', true );

Nhấn Ctrl + O để lưu lại và Ctrl + X để thoát ra. Cái này mình không nhắc lại trong bài nữa nhé.

Sau đó đăng nhập vào wp-admin -> Tools -> Network Setup và thiết lập Multisite với kiểu sub-domain hoặc sub-directory tùy ý bạn.

Và thêm đoạn dưới đây vào wp-config.php:

define('MULTISITE', true);define('SUBDOMAIN_INSTALL', true);define('DOMAIN_CURRENT_SITE', 'azdigi.info');define('PATH_CURRENT_SITE', '/');define('SITE_ID_CURRENT_SITE', 1);define('BLOG_ID_CURRENT_SITE', 1);

Riêng phần .htaccess bạn bỏ qua, bây giờ hãy sửa tập tin cấu hình tên miền chính trên NGINX:

nano /etc/nginx/conf.d/azdigi.info.conf

Tìm phần:

server_name azdigi.info;

Thay thành:

server_name azdigi.info *.azdigi.info;

Lưu lại và khởi động lại NGINX:

service nginx restart

Ok hoàn tất cài đặt.

Bây giờ bạn có thể truy cập vào trang quản trị WordPress và tạo website con như hướng dẫn tại đây.

Nếu như bạn muốn thêm tên miền nào thành tên miền riêng cho website con thì bạn phải thiết lập VirtualHost của NGINX trỏ tên miền đó về cùng thư mục. Trước tiên các tên miền đó sẽ cần trỏ về IP của VPS, sau đó bạn sửa tập tin cấu hình tên miền chính của website trên NGINX:

nano /etc/nginx/conf.d/azdigi.info.conf

Tìm phần:

server_name azdigi.info *.azdigi.info;

Thay thành:

server_name azdigi.info *.azdigi.info azdigi-dns.com azdigiweb.com;

Trong đó azdigi-dns.com và azdigiweb.com là tên miền mình cần sử dụng cho website con. Và đừng quên restart lại NGINX nhé:

service nginx restart

Bây giờ bạn có thể cấu hình tên miền riêng bằng cách sửa tên miền của website con thành tên miền chính và sửa tập tin wp-config.php giống bài này.

Hoàn tất cài đặt.

Rất dễ dàng đúng không nào.

[Multisite] Cài đặt WordPress Multisite trên máy chủ dùng VPSSIM was last modified: Tháng Tư 29th, 2017 by Thạch Phạm.
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.

Hướng dẫn cài lại WordPress khi bị dính mã độc

Sẽ cập nhật video sau.

Việc website WordPress bị dính mã độc bởi việc sử dụng theme/plugin không rõ nguồn gốc (nếu không muốn nói là dùng lậu) hoặc đặt mật khẩu đơn giản dễ đoán là chuyện quá đỗi bình thường của chúng ta.

Hiện nay khi website bị dính mã độc thì thường là có 3 kịch bản thường gặp như sau:

Trang chủ bị đổi thành một trang cảnh báo là đã bị hack kèm theo nhạc hoành tráng. Website âm thầm gửi đi các email lừa đảo, spam liên tục trên host mà chủ nhân không hề hay biết. Website chứa các đường liên kết ẩn quảng cáo các dịch vụ thuốc kích dục, cờ bạc, phishing scam.

Và khi website bạn bị rơi vào các trường hợp này, các nhà cung cấp Hosting sẽ khóa lại. Nếu bạn dùng VPS thì sẽ bị cảnh báo hoặc khóa nếu rơi vào kịch bản số 1 và tên miền bị rơi vào sổ đen không sớm cũng muộn, lúc này website sẽ bị tụt thứ hạng ở máy tìm kiếm, khi truy cập bằng Google Chrome sẽ có cảnh báo màu đỏ rằng website này rất nguy hiểm.

Thế nhưng để website không bị hack cũng không phải khó, chỉ cần bạn dùng sản phẩm có bản quyền đầy đủ, đặt mật khẩu phức tạp (lưu vô Lastpass chẳng hạn) và thiết lập iThemes Security là được. Nếu bạn dùng Hosting thì nên chọn các đơn vị cung cấp hosting sử dụng CloudLinux như AZDIGI, StableHost, A2Hosting, Hawkhost,…mà sử dụng để tránh bị nhiễm mã độc từ anh bạn hàng xóm.

Chúng ta hay lên các trang mạng hỏi công cụ quét mã độc khi bị rơi vào các trường hợp này, thế nhưng tin buồn dành cho bạn là không có công cụ nào giúp bạn gỡ mã độc miễn phí cả, mình thề đấy. Chỉ duy nhất có 1 dịch vụ gỡ mã độc mà mình biết và sử dụng qua rồi đó là Sucuri Antivirus với giá rất đắt đỏ và bạn phải chấp nhận nếu cần gỡ mã độc hoàn toàn. Thế nhưng sau khi gỡ xong, chưa chắc website đã thật sự sạch sẽ mà chỉ duy nhất có 1 cách: Cài lại từ đầu.

Cài website lại từ đầu là cách duy nhất cũng là tốt nhất để website của bạn trở nên sạch sẽ. Cài website lại không có nghĩa là bạn sẽ viết lại nội dung hay sản phẩm vì các dữ liệu này sẽ lưu vô database, nhưng tin vui là không có mã độc nào đính kèm vô database của bạn cả. Cài website lại nghĩa là chúng ta sẽ lấy dữ liệu mềm lưu trong database ở website cũ, sau đó cài website mới và nhập các dữ liệu này vào, rồi cài lại plugin và theme từ đầu với nguồn gốc rõ ràng hơn.

Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách làm việc này.

Bây giờ bạn hãy tiến hành cài đặt một website WordPress mới trên host hoặc localhost và sử dụng một tên miền khác để chạy website này nhằm đảm bảo bạn vừa truy cập vào website mới và cả website cũ để tiện kiểm tra, đối chiếu.

Sau đó mở tập tin wp-config.php của website mới và chèn đoạn sau vào dưới <>

define('WP_HOME','http://example.com');define('WP_SITEURL','http://example.com');

Thay example.com thành địa chỉ của website mới nhé.

Đầu tiên hãy truy cập phpMyAdmin để export dữ liệu của database website đang sử dụng ra và tải về máy. Nếu host bạn không có phpMyAdmin, thì có thể dùng plugin BackWPUp để backup database và tải về, chỉ cần database thôi nhé.

Tham khảo: Xuất dữ liệu database trong phpMyAdmin

Kế tiếp là hãy mang các thư mục chứa hình ảnh upload trong /wp-content/uploads/ như 2017, 2016, 2015, 2014,…về máy. Lưu ý là chỉ các thư mục chứa hình ảnh upload, các thư mục khác không cần lấy về để đảm bảo an toàn. Nếu bạn dùng Hosting thì có thể vào File Manager dùng tính năng Compress để nén các thư mục này lại và tải về. Hoặc nếu bạn cài website mới trên cùng host thì không cần tải mà chỉ cần copy dữ liệu các thư mục này vào /wp-content/uploads/ ở thư mục website mới.

Bây giờ bạn hãy truy cập vào phpMyAdmin tại host (hoặc localhost) đang chạy website mới và tìm tên database của website đó, sau đó ấn Nhập (Import) và tải lên tập tin .sql mà bạn có được ở bước 1.

Lỗi khi import database

Nếu bạn gặp lỗi khi import database thì hãy tạo một database mới hoàn toàn và import vào database mới. Sau đó thiết lập website sử dụng database mới nhé.

Sau khi nhập xong, bạn hãy xem tên bảng dữ liệu có tiền tố là wp_ hay một tiền tố khác. Nếu bạn sử dụng tên tiền tố khác với wp_ thì hãy mở tập tin wp-config.php ở website mới, tìm $table_prefix và thay wp_ thành tiền tố của bảng database. Ví dụ mình có bảng tên 38dug_options trong cơ sở dữ liệu thì sẽ thay thành:

$table_prefix = '38dug_';

Sau đó hãy tải các thư mục hình ảnh trong website cũ đang chạy trên host (wp-content/uploads) vào thư mục wp-content/uploads ở website mới để đảm bảo hình ảnh không bị mất.

Để kiểm tra, bạn có thể truy cập vào phần Media Library trên website mới để xem đã có hiển thị hình ảnh đầy đủ hay chưa. Nếu hình ảnh hiển thị ra bình thường thì đã hoàn tất.

Bây giờ bước còn lại của bạn là hãy cài lại theme trên website. Nếu bạn dùng theme trả phí thì tốt nhất nên mua bản quyền theme đó để đảm bảo hơn, được cập nhật phiên bản mới thường xuyên nếu có lổ hổng bảo mật xảy ra.

Về bước này chắc mình không cần nói qua rồi, khi cài theme nếu theme đó yêu cầu cài thêm plugin gì bạn có thể cài vào vì các plugin đi theo theme cũng rất đảm bảo nên bạn có thể hoàn toàn yên tâm.

Khi bạn đã thiết lập website hoàn tất và bắt đầu sử dụng. Hãy tiến hành truy cập vào website cũ và xóa toàn bộ dữ liệu trên host đi, sau đó chuyển mã nguồn của website bạn mới làm lên host vào thư mục của website chính. Về bước này, bạn làm giống như việc chuyển host của một website bình thường bao gồm 2 bước:

Backup và khôi phục mã nguồn website mới lên host. Backup database và khôi phục database trên host.

Tham khảo:

Sau khi chuyển hoàn tất, hãy mở tập tin wp-config.php của website mới trên host và sửa lại WP_HOME, WP_SITEURL thành địa chỉ website chính. Ví dụ:

define('WP_HOME','http://example.com');define('WP_SITEURL','http://example.com');

Việc này sẽ đảm bảo bạn có thể truy cập vào website mới theo tên miền chính của website.

Bây giờ bạn hãy đăng nhập vào website mới trên host và cài plugin Better Search Replace, sau đó vào mục Tools -> Better Search Replace và tìm tên miền cũ trong tất cả bảng database và đổi sang tên miền mới, bỏ chọn Run as dry run như hình dưới.

Như vậy tất cả các liên kết trong website đang sử dụng tên miền cũ sẽ được đổi thành tên miền mới mà không cần phải làm thủ công.

Ngay sau khi website đã hoạt động hoàn tất, hãy tiến hành thiết lập bảo mật cho website. Bạn hãy xem qua serie Bảo mật WordPress toàn tập và làm theo các bước để tăng sự an toàn của website.

Và quan trọng nhất là không sử dụng các plugin/theme được chia sẻ không rõ nguồn gốc vì điều này là nguyên nhân của 90% trường hợp bị mã độc mà mình từng biết đến. Nếu bạn không cài cái gì lạ vào website, mật khẩu quản trị phức tạp, thiết lập plugin bảo mật tốt thì bạn sẽ không cần quan tâm đến các giải pháp bảo mật nào nữa.

Chúc website của bạn sớm được phục hồi và hoạt động ổn định.

Hướng dẫn cài lại WordPress khi bị dính mã độc was last modified: Tháng Sáu 20th, 2017 by Thạch Phạm.
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.

[Multisite] Sử dụng domain riêng cho website con

Mặc định mỗi website con trong mạng WordPress Multisite chỉ có 2 định dạng là subdomain hoặc subdirectory. Tuy nhiên chúng ta vẫn có giải pháp sử dụng tên domain cho từng website như một website riêng thật sự mà không cần dùng plugin nào.

Trước khi thiết lập domain riêng cho website con, bạn cần phải trỏ domain về host và thêm nó vào trong host ở cùng thư mục website. Dưới đây là các cách thêm domain vào host ở từng môi trường khác nhau.

Đối với host dùng cPanel

Nếu bạn dùng host sử dụng cPanel thì hãy tìm mục Aliases (giao diện mới) hoặc Parked Domain (giao diện cũ) và thêm domain cần sử dụng cho website con vào. Lưu ý mã nguồn của website phải nằm ở thư mục public_html.

Nếu mã nguồn nằm ở một thư mục con trong public_html, hãy vào phần Addon Domain và thêm domain vào, thiết lập thư mục vào đúng thư mục đang chứa mã nguồn website.

Đối với VestaCP

Nếu bạn dùng máy chủ riêng với VestaCP thì hãy sửa website trên VestaCP và điền tên miền cần làm tên miền riêng cho website con ở mục Aliases.

Đối với EasyEngine

Nếu bạn dùng EasyEngine thì hãy gõ lệnh ee site edit domain.com và nhập domain cần thêm vào mục server_name. Sau đó nhớ khởi động lại NGINX.

Bây giờ bạn hãy mở tập tin wp-config.php trên host ra và tìm đoạn sau:

define('SUBDOMAIN_INSTALL', true);

Sửa true thành false.

Sau đó thêm đoạn sau vào dưới nó:

define( ‘COOKIE_DOMAIN’, $_SERVER['HTTP_HOST'] );Bây giờ chúng ta truy cập vào My Sites -> Network Admin -> Sites và tìm website con cần sửa tên miền, chọn Edit.

Sau đó sửa Site Address (URL) thành tên miền riêng và lưu lại.

Bây giờ thử truy cập vào tên miền riêng nhé.

Khi sử dụng domain cho website con thì do bản chất các domain website con là alias của domain chính nên domain chính và các domain phụ thêm vào phải chung chứng chỉ SSL nếu bạn cần sử dụng giao thức HTTPS cho các website con.

Nếu bạn dùng Let’s Encrypt tự cài thì có thể tạo chứng chỉ cho nhiều domain với lệnh giống như dưới đây:

/opt/le/letsencrypt-auto certonly --standalone -d thachpham.net -d thachpham.info

Nếu bạn đã có chứng chỉ sẵn rồi và cần thêm domain vào thì dùng lệnh giống dưới đây:

/opt/le/letsencrypt-auto certonly --standalone --agree-tos \--email [email protected] \--expand -d thachpham.net,www.thachpham.net,thachpham.info,www.thachpham.info

Nếu bạn dùng host cPanel có hỗ trợ Let’s Encrypt như host tại AZDIGI thì bạn vào mục Let’s Encrypt SSL và ấn nút Reissue hoặc Issue và chọn các alias cần tạo chứng chỉ chung là được.

Khi dùng SSL, hãy nhớ vào Admin Network -> Sites -> All Sites -> Edit website cần thiết lập -> Settings và chọn đường dẫn là https như hình dưới.

Nhìn chung cách sử dụng domain riêng cho các website con có thể thiết lập hơi rối một chút nhưng cũng không khó để làm, ngoài ra mình cũng đã thử nghiệm với giao thức HTTPS và nó hoàn toàn hoạt động rất tốt.

Ở bài sau mình sẽ giới thiệu qua một số plugin rất hay dành cho WordPress Multisite mà bạn có thể cài vào sử dụng.

[Multisite] Sử dụng domain riêng cho website con was last modified: Tháng Tám 3rd, 2017 by Thạch Phạm.
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 nhiều giao diện trên một website WordPress

Trên một số trang tin tức lớn như kenh14, vnexpress,…chúng ta có thể thấy mỗi một chuyên mục đều có một giao diện khác nhau. Trong thời gian cách đây khá lâu blog mình đã có một bài viết nói về việc sử dụng nhiều giao diện khác nhau cho Post – Page nhưng cách này có vẻ hơi khó và cũng chưa hoàn thiện lắm.

Dĩ nhiên cách dễ nhất là sử dụng các plugin có sẵn nhưng thời gian qua lại không có plugin nào hỗ trợ việc này. Nói như thế không có nghĩa là không có vì bây giờ đã có một plugin miễn phí giúp chúng ta có thể dễ dàng sử dụng nhiều giao diện khác nhau cho trang bất kỳ, có thể tùy biến menu và widget trên từng giao diện, plugin đó chính là Multiple Themes.

Một điều tuyệt vời của plugin này là cho phép chúng ta sử dụng một giao diện bất kỳ cho một đường dẫn bất kỳ chứ không phải chỉ gói gọn vào category, tag, post hay page. Nó cho phép chúng ta sử dụng một giao diện khác dựa trên truy vấn hoặc một truy vấn nào đó với giá trị nào đó. Ví dụ mình có thể áp dụng một giao diện đặc biệt dành cho các trang tìm kiếm với truy vấn là https://thachpham.com/?s=.

Hoặc nếu bạn đang sử dụng một số Parked Domain khác trỏ về website chính, plugin cũng có thể cho phép thiết lập các giao diện riêng dành cho các đường dẫn định danh này (Alias).

Chuẩn bị sẵn giao diện

Để sử dụng plugin này, giao diện của bạn phải được upload sẵn lên website tại thư mục /wp-content/themes/ hoặc tải về từ thư viện WordPress Themes.

Sau khi cài plugin Multiple Themes hoàn tất, chúng ta sẽ tiến hành thiết lập tại Settings -> Multiple Themes plugin.

Tại đây chúng ta sẽ có các phần bao gồm:

Settings: thiết lập cơ bản để chọn theme cho trang chủ, các trang con.Site Aliases: Thiết lập các tên miền aliases để hỗ trợ plugin xác định đường dẫn, nếu bạn có sử dụng thêm parked domain để trỏ về website chính.Advanced Settings: Thiết lập theme cho toàn trang, toàn post hay toàn page.Theme Options: Hướng dẫn thiết lập menu, widget cho plugin này.System Information: Thông tin hệ thống host đang chạy website.Help: Hướng dẫn gửi yêu cầu hỗ trợ đến tác giả.

Nhìn chung là vậy, ở dưới mình sẽ hướng dẫn một số case cơ bản khi dùng plugin này.

Để thiết lập một giao diện dùng riêng cho trang chủ, chúng ta sẽ vào phần Settings của plugin này và tìm mục Select Theme for Site Home, ở đây bạn sẽ chọn giao diện cần sử dụng cho trang chủ.

Như vậy nghĩa là mình sẽ sử dụng giao diện Hueman cho trang chủ. Ở đây plugin sẽ không phân biệt trang chủ bạn là một trang tĩnh hay danh sách các bài viết mới nhất, miễn đường dẫn là domain-của-bạn.ltd là nó nhận đây là trang chủ.

Ví dụ bạn muốn thiết lập giao diện riêng cho một category thì cũng vào mục Settings của plugin này và tìm mục For An Individual Page, Post or other non-Admin page, sau đó thêm đường dẫn của trang tại phần URL of Page, Post, Prefix or other và chọn giao diện cần kích hoạt.

Bạn có thể dùng URL bất kỳ, kể cả một post hay một page nào đó.

Sau khi thiết lập giao diện của một trang bất kỳ mà bạn không có nhu cầu sử dụng nữa, chúng ta có thể xóa đi trong mục Settings, tại phần Current Theme Selection Entries và đánh dấu mục Delete vào trang cần xóa rồi ấn Change là hoàn tất.

Để thiết lập giao diện riêng cho tất cả Post hoặc Page còn lại (ngoại trừ các trang đã thiết lập giao diện riêng), bạn có thể truy cập vào mục Advanced Settings của plugin này và tìm phần Select Theme for All Pages để thiết lập giao diện cho tất cả page, và mục Select Theme for All Posts để thiết lập giao diện cho tất cả post.

Khi sử dụng plugin này, bạn nên thiết lập giao diện sử dụng cho các trang còn lại thay vì sử dụng theme kích hoạt ở Appearance -> Themes, lý do chút nữa ở phần dưới mình sẽ nói sau. Để thiết lập phần này bạn vào phần Advanced Settings của nó và tìm phần Theme for Everything.

Trên mỗi giao diện đều có cách thiết lập Menu, Widget khác nhau nên khi sử dụng plugin này, chúng ta cần phải thiết lập các phần này cho toàn bộ theme để đảm bảo giao diện hiển thị ra như ý muốn.

Bạn vào mục Appearance -> Customize trong trang quản trị.

Sau đó chọn giao diện cần thiết lập tại phần Active Theme bằng cách ấn vào nút Change. Nếu giao diện đang kích hoạt là giao diện cần thiết lập thì thôi.

Sau đó tìm phần Menus và gán menu vào thôi.

Xem thêm: Hướng dẫn sử dụng Menus trong WordPress

Cũng giống như thiết lập menu, bạn vào Appearance -> Customize.

Sau đó chọn giao diện cần thiết lập.

Và cuối cùng là chọn Widgets để thêm widget vào giao diện.

Xem thêm: Hướng dẫn sử dụng Widget trong WordPress

Với các giao diện có Theme Option (các tùy chọn đi kèm với theme) sử dụng tính năng Customize có sẵn của WordPress thì quá dễ rồi, chúng ta có thể sử dụng cách giống như trên để thiết lập cho từng theme.

Một vài trường hợp giao diện có phần Theme Option riêng biệt như thế này chẳng hạn.

Vậy thì ta chỉ còn một cách là kích hoạt giao diện cần sửa Theme Options lên tại mục Appearance -> Themes và sau đó truy cập vào phần Theme Option của giao diện đó mà chỉnh sửa.

Để làm phần này thì bạn nên thiết lập giao diện mặc định của toàn trang tại phần Advanced Settings -> Theme for Everything để khi kích hoạt giao diện của trang sẽ không bị ảnh hưởng.

Lưu ý khi kích hoạt giao diện

Khi kích hoạt giao diện thì các thiết lập Menus, Widgets của từng giao diện mà ta đã thiết lập trước đó có thể bị mất, vì vậy hãy lưu ý khi sử dụng. Tốt nhất là nên sử dụng các giao diện sử dụng toàn bộ là Customize hết.

Sau khi tìm hiểu nhiều giải pháp khác nhau thì mình thấy đây là plugin sử dụng nhiều giao diện cho website WordPress ổn định và dễ sử dụng nhất hiện tại, ít gặp rắc rối hơn bởi vì WordPress mặc định không hỗ trợ nên việc sử dụng nhiều giao diện cùng lúc có thể sẽ hơi rắc rối và nhiều lỗi, quan trọng là giải pháp nào ít lỗi hơn thôi.

Hy vọng plugin này sẽ giúp được nhiều bạn.

Sử dụng nhiều giao diện trên một website WordPress was last modified: Tháng Ba 21st, 2017 by Thạch Phạm.
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.

[Multisite] Tạo website con và cài plugin/theme

https://www.youtube.com/watch?v=beJWq8MVAUc

Sau khi đã kích hoạt xong tính năng Multisite trên WordPress ở bài trước, bây giờ chúng ta có thể bắt đầu tạo ra các website con và bắt đầu làm quen với khu vực trong trang quản trị các website.

Khi đã kích hoạt tính năng Multisite lên bạn phải truy cập vào trang quản trị riêng của nó để tạo website, cài theme và plugin cũng như chỉnh sửa các thiết lập. Để truy cập vào phần này bạn vào liên kết My Sites -> Network Admin -> Dashboard.

Tại đây bạn sẽ tìm thấy một số mục quản lý chính, có lẽ mình không cần giải thích chi tiết qua vì chỉ có vài chức năng thôi.

Để tạo website con, bạn tìm mục Sites -> Add New. Tại đây bạn sẽ nhập tên của website, đường dẫn, email của người quản trị và ngôn ngữ của website.

Sau đó để truy cập vào trang quản trị riêng cho website con vừa tạo bạn có thể vào mục Sites -> All Sites và ấn nút Dashboard của website cần truy cập.

và trong trang quản trị của website con, bạn có thể làm tất cả mọi việc như một website riêng ngoại trừ cài mới plugin và theme vì việc này sẽ làm ở website mẹ.

Website con trong WordPress Multisite không thể tự cài plugin và theme nên bạn sẽ cần cài đặt ở trang Network Admin rồi mới kích hoạt riêng cho từng website con.

Chúng ta quay lại trang My Sites -> Network Admin -> Dashboard để cài theme và cài plugin như thông thường. Sau khi cài xong bạn phải kích hoạt bằng cách chọn Network Enable thì các website con mới có thể dùng được.

Sau đó bạn truy cập vào website con và sẽ sử dụng được các theme mà chúng ta đã kích hoạt.

Đối với plugin thì khác một chút, bạn chỉ cần cài vào thôi và website nào muốn sử dụng bạn có thể vào trang quản trị của từng website để kích hoạt lên chứ không cần kích hoạt ngay tại trang Network Admin.

Nếu bạn nhấp vào nút Network Enable vào theme mà mình đã hướng dẫn ở trên thì toàn bộ các website trong mạng sẽ đều có thể dùng theme đó. Tuy nhiên chúng ta có thể kích hoạt riêng một theme nào đó cho một website chỉ định.

Để làm việc này bạn vào mục Sites -> All Sites và nhấp vào nút Edit của website cần thiết lập.

Sau đó tìm mục Themes và nhấp nút Enable cho theme cần kích hoạt riêng với website này.

Quá đơn giản phải không nào và hiện nay tính năng Multisite của WordPress hoạt động khá chuẩn và dễ dàng chứ không như trước đây nữa nên việc cài đặt theme và plugin vào cũng dễ hơn, không cần thiết plugin hay theme phải hỗ trợ Multisite mới cài được.

Ở bài viết tiếp theo mình sẽ hướng dẫn qua cách sử dụng tên miền riêng cho từng website trong mạng.

[Multisite] Tạo website con và cài plugin/theme was last modified: Tháng Tư 22nd, 2017 by Thạch Phạm.
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.

Chủ Nhật, 20 tháng 8, 2017

Lỗi 0-day của WordPress 4.7.4 và nó có nguy hại không?

Hôm nay có thể bạn đã từng nghe qua thông báo của mọi người rằng WordPress phiên bản 4.7.4 được phát hiện một lỗi 0-day (CVE-2017-8295) giúp tin tặc có thể lấy mật khẩu của người quản trị cao nhất là admin thông qua việc reset mật khẩu không cần cấp quyền vào email của chủ sỡ hữu.

Về chi tiết lỗi này bạn có thể tham khảo diễn giải chi tiết tại https://exploitbox.io/vuln/WordPress-Exploit-4-7-Unauth-Password-Reset-0day-CVE-2017-8295.html.

Tuy nhiên trong bài viết này mình sẽ giải thích thêm và chúng ta có thể biết rằng bạn có nguy cơ bị khai thác hay không, từ đó mới áp dụng cách cài plugin chặn reset mật khẩu.

Theo ExplotItBox, đầu tiên tin tặc sẽ gửi một truy vấn HTTP tới website thông qua địa chỉ IP, nghĩa là website của bạn phải truy cập được thông qua IP. Nếu bạn nào dùng Shared Hosting sử dụng cPanel bản mới nhất thì không cần lo lắng nữa vì trước đây lâu lắm rồi họ đã có một bản vá về lỗi 0-day trên Linux, và với Shared Hosting bạn cũng không thể truy cập vào website thông qua IP.

-----[ HTTP Request ]----POST /wp/wordpress/wp-login.php?action=lostpassword HTTP/1.1Host: injected-attackers-mxserver.comContent-Type: application/x-www-form-urlencodedContent-Length: 56user_login=admin&redirect_to=&wp-submit=Get+New+PasswordỞ đoạn trên, tin tặc sẽ ghim địa chỉ máy chủ email của họ vào, và trên Apache thì SERVER_NAME sẽ tự động thay thế bằng giá trị HOST trong truy vấn trên, tức là địa chỉ máy chủ email của tin tặc.

Khi đó, người quản trị sẽ nhận 1 email như sau:

Subject: [CompanyX WP] Password ResetReturn-Path: <[email protected]>From: WordPress <[email protected]>Message-ID: <[email protected]>X-Priority: 3MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitSomeone requested that the password be reset for the following account:http://companyX-wp/wp/wordpress/Username: adminIf this was a mistake, just ignore this email and nothing will happen. To reset your password, visit the following address:

Bạn sẽ thấy phần Return-Path sẽ chứa giá trị mà WordPress tự điền vào giá trị SERVER_NAME, tức là [email protected] và kể cả Message-ID cũng chứa một địa chỉ của tin tặc.

Như vậy là đã rõ, nếu hệ thống hoặc người dùng vô tình phản hồi email này, thì tin tặc sẽ nhận chính cái nội dung email chứa khóa khôi phục mật khẩu quản trị. Như vậy ta sẽ có 3 trường hợp như sau:

Một số email của người quản trị có tính năng tự động trả lời email kèm nội dung email được trả lời. Tin tặc sẽ gửi một lượng lớn email khiến máy chủ của người dùng bị ngập lụt dung lượng sử dụng hay đại loại vậy khiến email không thể gửi đi và phản hồi ngược lại. Nếu người dùng quản trị dùng email của Gmail hay các nhà cung cấp mail khác, tin tặc sẽ phải gửi một lượng lớn truy vấn như trên để nhà cung cấp chặn địa chỉ máy chủ tin tặc, từ đó email không thể gửi đi và phản hồi ngược lại.

Suy xét ra thì lỗi này sẽ nghiêm trọng và bạn có thể bị ảnh hưởng nếu:

Bạn đang dùng webserver Apache và có thể truy cập vào website thông qua IP. Nghĩa là không tạo virtualhost ấy. Tin tặc phải biết được tên đăng nhập của người quản trị. Tập tin wp-login.php phải được truy cập trực tiếp. Một số plugin ẩn đường dẫn đăng nhập như iThemes Security sẽ tự động chặn truy cập trực tiếp qua tập tin này. Ví dụ: https://thachpham.com/wp-login.php. Người quản trị phải dùng email tự host thì sẽ may ra có nguy cơ, còn Gmail hay gì đó thì phải gửi một lượng email cực lớn cùng lúc họ mới chặn một máy chủ gửi đi.

Như vậy nếu bạn thỏa mãn các điều kiện trên thì có thể phòng chống bằng cách cài plugin Disable Password Reset để chặn chức năng quên mật khẩu đi. Còn nếu không thì lỗi này cũng không thật sự quá nguy hiểm như chúng ta tưởng tượng. Tuy nhiên trong tương lai, WordPress sẽ ra một bản vá để chúng ta yên tâm hơn.

Lỗi 0-day của WordPress 4.7.4 và nó có nguy hại không? was last modified: Tháng Năm 5th, 2017 by Thạch Phạm.
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.

Bắt đầu viết lại sau nửa năm tạm dừng

Chào các độc giả thân mến,

Kể từ tháng 8/2016 tới nay blog mình hầu như không có cập nhật thêm nội dung mới, điều này có thể sẽ làm cho các độc giả không hài lòng vì không có thêm nội dung mới để theo dõi trên blog mình vốn xưa nay rất ít khi nào ngưng một thời gian dài như vậy. Thế nhưng điều gì cũng có nguyên nhân của nó, mình ngừng viết không phải chán viết hay không muốn phát triển nữa mà lý do cơ bản nhất chắc hẳn ai cũng biết là mình tập trung cho AZDIGI trong giai đoạn đầu mới thành lập vốn rất cần sự đầu tư thời gian và khá vất vả trong thời gian đầu, những ai đã từng khởi nghiệp chắc cũng đều rõ việc này.

Nay công ty của mình đã trở nên ổn định và mình lại tiếp tục quay lại viết bài như bình thường. Thực tình mà nói sau nhiều tháng không viết thì ý tưởng viết bài có thể bằng trở thành vài trang giấy (1 ý tưởng là 1 dòng tương ứng với tiêu đề bài viết), bản thân cũng rất nhớ lại cảm giác tìm tòi, viết lách như trước kia nên mình có thể khẳng định rằng blog thachpham.com vẫn luôn phát triển tốt dù là như thế nào.

Hy vọng với sự vắng bóng một thời gian dài như vậy các độc giả có thể hoàn toàn thông cảm được và tiếp tục theo dõi các bài viết mới trên blog như trước đây. Mình luôn cố gắng nhất có thể để tiếp tục tạo ra những nội dung bài viết có giá trị, thiết thực nhằm cung cấp cho các độc giả.

Nhân tiện đây mình cũng muốn thông báo nhẹ một chút về tin vui có vẻ hơi cá nhân một chút là vào tháng 8 hoặc 9/2017 mình sẽ tiếp tục về Việt Nam để…cưới vợ, ahihi.

Thôi mở đầu sự quay lại tiếp tục viết tới đây thôi, giờ mình đây lên các kế hoạch cho các serie sắp tới đây.

Chúc sức khỏe toàn thể các độc giả.

Thân mến,

Thạch

Bắt đầu viết lại sau nửa năm tạm dừng was last modified: Tháng Ba 20th, 2017 by Thạch Phạm.
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.