Apr
27
2011

Cài đặt nhiều WordPress trên cùng 1 database

Bài viết gốc có tên là Multiple wordpress installation using a single dabase của tác giả Teli Adam. Thực ra nghe thì có vẻ hoa mĩ nhưng thực tế đây là một cách làm không mới (nhưng không phải ai cũng biết). Trong bài viết này tôi sẽ hướng dẫn các bạn cài đặt nhiều blog sử dụng WordPress trên cùng 1 database. Với cách làm này bạn có thể sử dụng để cài đặt nhiều dạng website khác nhau trên cùng 1 database cũng được (điều này sẽ có lời nếu hosting của bạn chỉ có 1 database).

Bạn có bao nhiêu blog sử dụng WordPress ?

Bạn có bao nhiêu blog sử dụng WordPress ?

Do tiền bạc có giới hạn thường rơi đúng cái tuổi “sinh viên ham chơi” nên nhiều bạn khó mà sắm cho mình nhiều hosting, nhiều domain trong khi như cầu “nghịch” WordPress thì nhiều. Tôi lấy một ví dụ đơn giản: bạn cần làm 1 website : bạn cần 1 WordPress, bạn cần design 1 giao diện mới mà không muốn làm ảnh hưởng người dùng của mình: bạn lại cần thêm 1 wordpress nữa, cần viết plugin ? => lại thêm 1 wordpress, có người yêu phân bì “tại sao anh có web còn em thì không ?” => lại có thêm 1 cái wordpress site nữa …. Xin đừng cười, chuyện này tôi biết là có thực :D

Những trường hợp thế này dường như đưa blogger vào chỗ phí tiền nếu như bạn không biết tận dụng sức mạnh của database mình đang có. Có một điều tôi phải nói rõ với bạn đó là chúng ta đang nói về việc cài đặt WordPress theo kiểu manual. Các cài đặt theo kiểu next, next không cho phép bạn thay đổi thiết lập các tiền tố phía trước tên table nên sẽ gây khó khăn cho bạn.

Trong quá trình cài đặt WordPress (bản đầu tiên không nói đến nếu bạn đã lỡ cài đặt trước đó rồi, chúng ta đang nói về bản WordPress thứ 2 chạy trên cùng database), bạn cứ cài đặt bình thường cho đến khi file wp-config.php được hệ thống cài đặt là bạn phải tạo và lưu file này xuống, bạn nhất thiết phải thiết lập lại giá trị $table_prefix sang một giá trị dạng chuối khác thay vì dùng ‘wp_’ như mặc định. Tôi có hệ thống website nhiều và tôi thường sử dụng domain của website làm tiền tố (prefix) để muốn tìm website nào tôi chỉ cần tìm theo tiền tố phía trước. Thêm vào đó nó cũng giúp sắp xếp các table dùng cho 1 website chung lại với nhau giúp quá trình tìm kiếm dễ dàng hơn.

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each a unique
 * prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';

Đây có lẽ là tut đơn giản nhưng ứng dụng khá nhiều. Chúc các bạn thành công.

Bài có liên quan

Bài viết liên quan

Tác giả: Nguyễn Duy Nhân

Một blogger ... cùi bắp! Đơn giản: tôi muốn ghi lại những gì xảy ra xung quanh, cả công việc lẫn cuộc sống và chia sẻ với các bạn đọc. Nếu bạn cảm thấy bài viết có nhiều điểm không chính xác, hãy comment và chia sẻ để tôi còn được học hỏi từ những góp ý của bạn.

22 bình luận + Bình luận ngay

  • Step by step được không bác, em cũng rơi vào tình trạng con bồ em thấy em có blog nên đua đòi làm thêm một cái. Rồi nó dở chứng phải có thêm 1 cái chung cho cả 2 nữa. Em là newbie WordPress nên đọc bài của bác cũng chưa hiểu được bao nhiêu. :D

  • Nghĩa là host free thường chỉ cho tạo 1 database nên phải tận dụng như cách của bác nhân. Em hồi trước cũng vậy nhưng giờ host có vô số database. Quản lý dễ hơn.

    • Không những lý do freehost bắt buộc bạn phải kết hợp database mà ngay cả trường hợp bạn muốn tích hợp 2 source code lại với nhau cũng phải nghĩ đến vấn đề này. Mình đã từng làm 1 số dự án tích hợp diễn đàn vào 1 wordpress, nếu không để chúng nó chung 1 database thì không thể select table của database khác được :)

  • Hôm trước em cũng thắc mắc vấn đề này
    Hôm nay vào thấy bài viết của bác Nhân
    Thank bác nhiều

    • Tiện thể Bác Nhân cho em hỏi
      trong wp có thư file error_log
      file đó có tác dụng gì. nó rất nặng
      Mỗi lần chuyển host hay back up rất khó chịu

      • Nó ghi lại các lỗi trong quá trình blog chạy bác ah. Nếu chuyển host bác chỉ việc CHMOD lại 777 để nó có thể ghi log là được thôi.

        • Em có thể xóa cái file này không
          Vì tiền ít nên host không đc ngon
          Nên cũng thay đổi liên tục
          Mỗi lần up lên đợi lâu quá

  • Xóa có ảnh hưởng gì không anh
    làm sao để sau này nó k xuất hiện nữa

  • Bác Nhân cho em hỏi tí
    Có thể chạy 2 website wp ở hai host khác nhau mà dùng chung DB không
    VD ben này comment thì bên kia cũng có comment
    Mong có câu trả lời càng sớm càng tốt. em đagn cần gấp. thank

    • Bác Nhân ơi
      trả lời giùm em câu này :((

      • Được ! Khai báo IP về 1 DB chung thay vì khai báo localhost như bình thường :)

        • Có nghĩa là chỗ “localhost” mình đổi thành IP của host chưa data hả bác >:D<

  • Về vấn đề này em cũng có mấy thắc mắc nhỏ muốn hỏi anh nhưng đợt này anh busy quá nên em vẫn chưa hỏi đc :(

  • cho hỏi là em có mua một domain nhưng muốn chạy trên nhiều free hosting được không ? vì xài chùa hosting nên bị hạn chế nhiều thứ, em muốn cài thêm free hosting nữa có đựoc không? có bị ảnh hưởng hay mất dữ liệu không ạ ?

    cám ơn anh trước nha

    • Không ! Mỗi domain chính chỉ trỏ đến 1 hosting mà thôi. Nếu bạn muốn chạy nhiều hosting thì bạn có thể tạo subdomain và mỗi subdomain trỏ tới một hosting khác nhau.

  • Bác Nhân có thể nói rõ về cái đoạn “Khai báo IP về 1 DB chung thay vì khai báo localhost như bình thường” được không?

    Giả sử em muốn tạo 1 website đa ngôn ngữ ví dụ như tiếng Việt thì là mydomain.com/vi còn tiếng Anh thì là mydomain.com/en. Em định sử dụng 2 source (1 source được Việt hóa, source còn lại thì không) và cho sử dụng một database.

    Không biết như thế được không bác nhỉ :D .

    • Cài đặt WordPress bình thường cho cái thứ nhất. Cái thứ 2 vẫn cài đặt nhưng đổi đoạn prefix lại thành wp1_ hoặc cái gì đó tùy bạn miễn sao không trùng với cái wp_ mặc định của cái trước. Thông tin kết nối database vẫn là thông tin kết nối database kia.

      • Như anh nói vẫn là sử dụng 1 luồng dữ liệu, ở đây em muốn là có 2 source nhưng mà sử dụng 1 luồng dữ liệu, tức là trong trường hợp này em muốn dùng cùng 1 database, khi đăng bài ở trang này thì trang kia cũng được đăng bài đó anh?

  • Cài đặt nhiều website trên 1 database chỉ là gộp các table của những database khác nhau vào chung 1 database, trường hợp nếu các database khác nhau thì quá bình thường ko sợ dụng độ tên table, còn nếu cùng loại mã nguồn thì thêm prefix nữa là ok! :)

  • Dear,

    mình đã mua hosting bên byethost rồi. Trước đây mình xài free hosting bên đó, bây giờ chuyển sang cái đã mua phải cài đặt lại như thế nào ? bạn có biết không ? chuyển database ra sao, và cách trỏ vào nameserver thế nào ? vì mình không vào được FTP và cpanel.

    cám ơn nhiều

  • Oh, thanks you very much ^^! Mày mò cả buổi, gặp được tut của bạn, mừng hơn vớ được vàng! :D
    Chúc bạn ngày mới tốt lành và Blog ngày càng mạnh!!! =))

Mạng xã hội