Bagaimana cara membuat multisite dengan pengguna dan node yang dibagikan? [Tutup]

21

Saya ingin membuat multisite dengan Drupal 7: Setiap situs berfungsi secara terpisah tetapi pengguna, dan node harus dibagi di antara situs.

Bagaimana saya mencapainya?

kiamlaluno
sumber

Jawaban:

17

Anda dapat mengubah pengaturan untuk akses ke database yang terkandung dalam file settings.php yang digunakan oleh situs Drupal Anda untuk sesuatu yang mirip dengan yang berikut (ganti nilai antara tanda kurung dengan nilai yang benar untuk situs Anda):

$databases['default']['default'] = array(
  'driver' => '[Your database engine]',
  'database' => '[Your database name]',
  'username' => '[Your username for the access to the database engine]',
  'password' => '[The password for the access to the database]',
  'host' => 'localhost',
  'prefix' => array(
    'default'   => 'main_',
    'users'     => 'shared_',
    'sessions'  => 'shared_',
    'role'      => 'shared_',
    'authmap'   => 'shared_',
  ),
  'collation' => 'utf8_general_ci',
);
zdecibel
sumber
1
Jika saya tidak salah, konfigurasi ini hanya berguna jika Anda memiliki satu database untuk situs yang berbeda (Dan dengan demikian Anda harus memberikan awalan). Apakah mungkin untuk membagikan tabel pengguna dari database yang berbeda?
ccamara
2
@ CarlosCámara Anda salah, solusi ini menggunakan database yang sama untuk semua situs, tetapi awalan tabel yang berbeda. Jadi dalam contoh di atas sebagian besar tabel akan diawali dengan "main_", tetapi tabel pengguna, sesi, peran dan authmap akan diawali dengan "shared_". Untuk situs tambahan Anda, Anda akan menggunakan awalan yang berbeda untuk 'default' (mungkin 'site2_', 'site_3', dll.) Tetapi awalan 'shared_' yang sama. Informasi ini mungkin harus dimasukkan ke dalam jawabannya.
Dalin
Hai, baris mana yang harus saya ubah untuk mendapatkan pengguna dan profil?
Tyler Durden
4
Hanya untuk menunjukkan bahwa ketika Dalin mengatakan Carlos tidak benar, Carlos benar-benar benar, karena Dalin menyatakan hal yang persis sama.
leexonline
11

Berbagi pengguna dan konten antara domain yang berbeda adalah untuk apa modul Akses Domain . Pada dasarnya, ini memungkinkan Anda untuk menjalankan beberapa situs Drupal dari database yang sama, dan berbagi konten.

Ketika Anda menginstal, mengaktifkan, dan mengkonfigurasi modul, tab baru muncul di halaman edit simpul yang memungkinkan Anda untuk menargetkan node untuk domain tertentu. Ia juga bermain dengan baik dengan tampilan, panel, dan modul lain yang menggunakan aturan pemilihan ctools.

Solusi ini berbeda dari multisite yang sebenarnya, yang merupakan kumpulan umum file inti dan contrib, tetapi basis data yang berbeda untuk situs yang berbeda.

mpdonadio
sumber
Kami telah berhasil menggunakan Akses Domain untuk beberapa proyek di mana sebagian atau semua konten / pengguna perlu dibagi di antara berbagai situs.
drmonkeyninja
ok im perlu berbagi modul, tema, pengguna dan semua konfigurasi misalnya ketika modul konfigurasi di semua situs dijalankan. Faktanya, situs saya adalah situs multibahasa yang berisi basis data untuk setiap bahasa di mana saya berada di rumah ketika perubahan diterapkan di semua situs. Perubahan ini bisa berupa bidang atau memasang modul
Salah satu aspek dari Akses Domain dan berbagi segala sesuatu yang sama antara beberapa situs adalah Anda kemudian memerlukan modul lain untuk memisahkan konten jika Anda hanya ingin menunjukkan hal-hal tertentu di situs tertentu. Akses Domain dan modul-modul yang menyertainya menyelesaikan hal ini dengan cukup baik, akses domain menangani masalah multisite dari sudut yang berlawanan dari drupal yang dibangun di multisite.
leexonline
2

Ini agak rumit, tetapi Anda dapat membuat lingkungan multi-situs dengan pengguna bersama dan beberapa basis data. Saya pikir itu menjadi sangat rumit jika Anda ingin memiliki basis data terpisah dengan pengguna yang dibagikan DAN node. Lihat dokumen ini untuk informasi lebih lanjut tentang berbagai pengaturan dengan pro dan kontra.

Tombak
sumber