Anasayfa Haber Impex ile adım adım forum geçiş rehberi

Impex ile adım adım forum geçiş rehberi

Impex ile Türkçe karaktere sahip forumları aktarmada sorun yaşayabilirsiniz. Bunun için Technopat olarak kapsamlı bir UTF-8 Impex kullanma kılavuzu hazırlamaya karar verdik.

  • Kaynak Forum: PHPBB 3
  • Hedef Forum: vBulletin v 4.0.8 PL2

Not: Başlamadan önce lütfen bütün hedef ve kaynak forum içeriğinizi (eklentiler vs.) ve veritabanınızı yedekleyin. Oluşacak herhangi bir veri kaybından dolayı Technopat sorumlu tutulamaz.

  • Aktarım esnasında her iki forum da açık ve çalışır durumda olmalıdır.
  • ImPex kesinlikle kaynak forumdaki verilerde herhangi bir değişiklik yapmaz. Verileri sadece okur.
  • ImPex ile vBulletin 3.5.0 ve sonrasına aktarım yapabilirsiniz.
  • ImPex’i çalıştırmak için sunucunuz PHP 4.3.3 veya üstü kullanıyor olmalıdır.
  • Aktarmaya başlamadan önce ekler (Attachment) için depolama yerinin dosya sistemi yerine veritabanı olduğundan emin olun.
  • Eğer sıfır bir vBulletin foruma aktarım yapıyorsanız forumda varsayılan olarak gelen konuyu silmeniz tavsiye edilir. Aksi takdirde aktarılan forumlar bu varsayılan konunun altına gelebilir.

1- Öncelikle vBulletin forum veritabanı kodlamasını (collation) PHP MyAdmin panelinden  utf8_bin olarak ayarlayın. Buradaki amaç Türkçe karakterle ilgili sorunları ortadan kaldırmak.

Bizim örneğimizde vBulletin 4.0.8 ve PHPBB 3 aynı veritabanını kullanıyordu.

2-

  • CuteFTP gibi bir FTP istemcisi ile sunucunuza bağlanın ve forum klasörünüz içindeki /includes/config.php dosyasını açın
  • Forumu halihazırda kurduğunuzu varsayıyoruz, şimdi forum-veritabanı bağlantınızı UTF-8 yapmanız gerekiyor.
  • Bunun için en baştaki iki çizgiyi (//) silerek  bu kodu devreye sokun: // $config[‘Mysqli’][‘charset’] = ‘utf8’;  ()
  • Dosyada yaptığınız değişiklikleri kaydedin.

3-

  • http://members.vbulletin.com/ adresine girin ve ImPex 1.100 sürümünü ZIP olarak indirin.
  • İnen dosyayı WinRAR ile klasöre çıkartın
  • upload/impex/systems klasöründe kaynak forum türü hariç diğer bütün klasörleri silin
  • Bizim örneğimizde kaynak forum PHPBB 3 olduğu için sadece phpBB3 klasörü ve index.html dosyasını bıraktık
  • /upload/impex klasörünü açın ve ImpExConfig.php.new dosyasını bulup bu dosyanın sonundaki .new uzantısını kaldırın.
  • Şimdi ImpExConfig.php dosyasını WordPad ile açın  (Notepad kullanmayın!) ve hem hedef hem de kaynak foruma ait veritabanı bilgilerini girin:

Target Database Information – Hedef Veritabanı Bilgisi: Verileri hangi veritabanına aktaracağız? (Bizim örneğimizde vBulletin 4)

Eğer ImPex halihazırda yüklüyse ve Admin panelinde gözüküyorsa bu adımı atlayabilirsin zira ImPex verileri vBulletin Config dosyasından okuyacaktır. Bizim örneğimizde verileri elle girdik.

$impexconfig[‘target’][‘databasetype’] Buraya veritabanı türünü girin. Şu anda ImPex sadece mysql desteklemektedir.
$impexconfig[‘target’][‘server’] Bu seçenek veritabanı sunucunuzun adresini belirler. Çoğu kurulumda veritabanı sunucusu ve web sunucusu aynı bilgisayar üzerindedir ki bu durumda adres kısmına ‘localhost’ yazılmalıdır. Aksi takdirde Hosting firmanız tarafından verilen adresi bilgisini kullanın.
$impexconfig[‘target’][‘user’] Veritabanına bağlanmak için kullanılan kullanıcı adı. vBulletin forumunuz kurlu ise bu bilgileri /includes/config.php dosyasından edinebilirsiniz.
$impexconfig[‘target’][‘password’] Yukarıdaki kullanıcı adına ait olan veritabanı şifresi.
$impexconfig[‘target’][‘database’] vBulletin forumunuz tarafından kullanılan veritabanının adı.
$impexconfig[‘target’][‘tableprefix’] Eğer vBulletin kurulumunuz tablolar için bir ön ek kullanıyorsa belirtin. Bizim örneğimizde herhangi bir ön ek kullanılmıyordu.

Source Database Information – Kaynak Veritabanı Bilgisi: Hangi veritabanından verileri alacağız? (Bizim örneğimizde phpBB3.)

$impexconfig[‘sourceexists’] Eğer aktarılacak veriler bir veritabanında ise bu seçeneği “TRUE” olarak bırakın. Eğer veriler bir veritabanından aktarılmıyorsa bu değeri “FALSE” olarak ayarlayın. Bizim örneğimizde TRUE.
$impexconfig[‘source’][‘databasetype’] Veritabanı türünü buraya girin. Bu değer genelde mysql’dir. Eğer bir MS-SQL veritabanından aktarım yapıyorsanız PHP’de MS-SQL desteğine ihtiyacınız var demektir.
$impexconfig[‘source’][‘server’] Bu seçenek bilgileri alacağınız veritabanının sunucu adresini belirlemekte kullanılır. This sets the address of database server from which you want to import data from. Çoğu kurulumda veritabanı sunucusu ve web sunucusu aynı bilgisayar üzerindedir ki bu durumda adres kısmına ‘localhost’ yazılmalıdır. Aksi takdirde Hosting firmanız tarafından verilen adresi bilgisini kullanın. Eğer uzaktaki bir sunucudan aktarım yapacaksanız (örneğin Hosting firmanızı yeni değiştirdiniz) veritabanının uzaktan bağlantılara izin verdiğinden emin olun. Aksi takdirde kaynak veritabanını yedekleyip yeni sunucunuza aktarmalısınız. Bu sayede veritabanına yerel olarak erişebilirsiniz.
$impexconfig[‘source’][‘user’] Bu değişken veritabanına bağlanmak için kullanılan kullanıcı adını belirlemek için kullanılmakta. Bilmiyorsanız Hosting firmanıza danışabilirsiniz.
$impexconfig[‘source’][‘password’] Veritabanı kullanıcı adına eşlik eden şifre.
$impexconfig[‘source’][‘database’] Sunucuda yer alan ve aktarılacak olan forumun bilgilerinin yer aldığı kaynak veritabanının adı.
$impexconfig[‘source’][‘tableprefix’] Eğer veritabanındaki değerler için bir ön ek varsa buraya girin. Bizim örneğimizde burada “phpbb_” yer alıyor.

Özel durumlar için tanımlar (Neyi açıp kapamak istiyoruz ?)

impexdebug ImpEx yüklemesine eklenmiş herhangi bir hata ayıklama bilgisi varsa gösterir. Bizim örneğimizde: false.
emailcasesensitive Kullanıcı modülünde e-posta adresleri eşleştirilirken bu seçenek e-post adreslerinin büyük-küçük harf duyarlı olup olmayacağını belirler. büyük ya da küçük olup olmayacağını belirler. Bizim örneğimizde: false.
forcesqlmode MYSQL_STRICT modu olan bazı MySQL sunucuları  ImPex SQL’in birçoğunu kabul etmeyecektir zira ImPex her bir alan için ayrı değer yerine veritabanı varsayılanlarını kullanır. Bu seçenek, söz konusu ayarı set sql_mode = ”u geçerek alt etmeye çalışır. Bizim örneğimizde: false.
skipparentids Konuları güncellemenin en son adımı, içe aktarılan konular için söz konusu ID’lerin eğer eksik ise atanmasıdır. Bu işlem, kullanılan SQL miktarından dolayı çok yoğun olabilir -ki genelde de bu böyle olur. Çalıştırılan sorguların sayısı, çalışan işlem saysının ikiye çarpılıp bir eklenmiş halidir. Konu tablosunun taranması gerektiği için konuların sayısından çok fazla etkilenir (Yoğun MySQL).

Bazen büyük forumlarda, binen yük dolayısıyla konuların aktarımında, son sayfada zaman aşımı olabilir. Bu seçeneği “true” olarak ayarladığınızda tüm bu işlemler atlanacaktır. ImPex, burada oluşan yükün farkındadır ve üstünde çalışmaktadır.Bizim örneğimizde: false.

ImpExConfig.php dosyasını düzenlemeyi bitirdiğinizde yaptığınız değişiklikleri kaydedin ve dosyayı sunucuya göndermek için hazır hale getirin.

4- Yukarıda anlatılan bütün ayarlara ek olarak Türkçe karakterlerde herhangi bir sorun olmaması için dosyada birkaç kod değişikliği  daha yapmak gerekiyor.

Var olan kod:

// Advanced Target
$impexconfig['target']['databasetype'] = 'mysql'; // currently mysql only
$impexconfig['target']['charset'] = '';
$impexconfig['target']['persistent'] = false; // (true/false) use mysql_pconnect

// Advanced Source
$impexconfig['source']['charset'] = '';
$impexconfig['source']['persistent'] = false;

Yerine gelecek kod:

// Advanced Target
$impexconfig['target']['databasetype'] = 'mysql'; // currently mysql only
$impexconfig['target']['charset'] = 'utf8';
$impexconfig['target']['persistent'] = true; // (true/false) use mysql_pconnect

// Advanced Source
$impexconfig['source']['charset'] = 'utf8';
$impexconfig['source']['persistent'] = true;

5- Bu değişikliği de yaptıktan sonra dosyayı kaydedip Upload klasörünün içeriğini olduğu gibi sunucunuzda forumunu bulunduğu klasöre yollayın.

Bizim örneğimizde httpdocs içinde siteye ait dosyalar, bu dosyalar içinde de forumun yer aldığı /forum klaösrü olduğu için Upload klasörünün içeriğini forum klasörüne kopyalıyoruz.

Diğer örnekler ise şu şekilde:

  • public_html/forum/impex/
  • www/forum/impex
  • htdocs/forum/impex

6- Upload işlemi esnasında “includes/xml” klasörünün halihazırda var olduğu ve üstüne yazılıp yazılmayacağı sorulacaktır. Bu soruya evet diyerek “cpnav_impex.xml” dosyasının forum/includes/xml klasörüne yerleşmesini sağlayın. Böyleye forum yönetim paneline girdiğiniz sol kısma ImPex’in eklenmiş olduğunu göreceksiniz.

Eğer forum/includes/xml içerisinde cpnav_impex.xml dosyası yoksa bu dosyayı impex klasöründen kesip forum/includes/xml klasörüne yapıştırın.

7- Her ne kadar bizim sunucumuzda olmasa da VPS kullananlar için PHP.ini ayarları ( Bu seçeneği görmezden gelebilirsiniz):

mbstring.language = Turkish
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = UTF-8

8- Forumda kullanmakta olduğunuz dil dosyasının da UTF-8 kodlanmış olduğundan emin olduktan sonra artık yönetim paneline girerek ImPex’i kullanmaya başlayabilirsiniz.

  • Yönetim panelinin en üstündeki İçeri aktar> İçeri aktar seçeneğine tıklayın
  • vBulletin müşteri numaranızı (Customer Number) girin ve Continue deyin
  • Bu aşamadan sonra birer birer modülleri çalıştırıp aktarım işlemine başlayabilirsiniz

9- Aktarım adımları:

001 – Check and Update Database – Bu seçenek kaynak veritabanını kontrol edip bütün tabloların yerinde olup olmadığını ve erişilebilir olup olmadıklarını kontrol edecektir. Çalıştırdıktan sonra yeşil satırlar görmeniz gerekmekte. Her şey yerli yerindeyse Impex, aktarım işlemine başlamak için sonraki adımlara geçişe izin verecektir. Aksi takdirde bir hata mesajı alacaksınız ve aktarım iptal edilecektir.

ImPex, hedef veritabanında da bazı değişiklikler yaparak aktarım ID numaralarına zemin hazırlayacaktır. Çok büyük bir forumu aktarıyorsanız bu işlem uzun sürebilir.

002 – Associate users – Bu seçenek sadece ve sadece hem vBulletin forumunuzda hem de kaynak forumda var olan fakat e-posta adresleri farklı olan kullanıcılar için çalıştırılması gereken bir modüldür. Eğer temiz bir aktarıma yapıyorsanız bu modülü çalıştırmayın. Bizim örneğimizde de bu modül atlandı.

Buradan sonra her modülü bir bir çalıştırın ve her bir modül %100 olmadan hiç bir bağlantıya tıklamayın, geri tuşuna sakın basmayın ve sayfadan da ayrılmayın. Her ekranda yazanları iyicene okuyun ve herhangi bir hata olduğunda bunu iyicene not ettikten sonra desteğe başvurun.

Bir modülü yeniden çalıştırdığınızda her ne sebepten olursa olsun bu türde aktarılmış bütün veriyi temizleyecektir.

Örneğin phpBB için içe aktarım modülünü konular için bir defa çalıştırdığınızda phpBB içerisindeki bütün konular vBulletin forumuna taşınacaktır.

Her konunun bir kimlik numarası olacaktır ve bu kimlik numarası, phpBB’deki konu kimliğinden alınır. vBulletin forumda halihazırda konular varsa onların aktarım kimlik numarası olmayacaktır zira bu konular orijinal konulardır.

Bu durumda herhangi bir modülü ikinci defa çalıştırdığınızda aktarım kimlik numarası olan o türdeki her şey silinecektir. Bu seçenek, kaynak forumda bir değişiklik yaptınız ve bunu tekrar aktarmak istiyorsanız faydalıdır. Bizim örneğimizde hiç bir modül tekrar çalıştırılmadı.

10- Son Aktarım Adımları:

İzinler

Aktarımdan sonra mutlaka moderatörler ve forumlar için izin ayarlarını kontrol edin zira her zaman düzgün bir eşleşme garanti edilemez.

Admin CP -> Forums & Moderators -> Show All Moderators -> Edit
Admin CP -> Forums & Moderators -> Forum Permissions

Forum Ön Belleği

Forum ön belleğini yeniden inşa etmek için forum yöneticisini açın ve görüntüyü kaydedin.

Sayaçlar

Aktarımdan sonra doğru değerleri elde etmek için konu ve forum sayaçlarını güncelleyin. Önce konu, sonra forum sayacı!

Maintenance > Update Counters > Rebuild Thread Information
Maintenance > Update Counters > Rebuild Forum Information

Kullanıcı Grupları

Birçok durumda aktarılan kullanıcıları yerleştirmek için kullanıcı grupları da taşınacaktır. Aktarılan kullanıcıları vBulletin’in standart kayıtlı kullanıcıları arasına yerleştirmek için kullanıcı gruplarını silin.

vBulletin’den vBulletin’e aktarımlarda dahi kullanıcı grupları yeniden oluşturulacaktır. Bu sayede eski ve yeni kullanıcıları kolayca yönetebilirsiniz.

Admin CP -> Usergroups -> Usergroup Manager -> Edit Usergroup

Arama İndeksi

Aktarılan konular arasında arama yapmak istiyorsanız arama indeksini de güncelleştirmelisiniz.

Maintenance > Update Counters > Rebuild Search Index

ImPex dosyalarını silin

Aktarımı bitirdiniz ve forumunuz da sorunsuz çalışıyorsa bütün ImPex dosyalarını sunucunuzdan silin. Bu sayede ileride bir başka aktarım yapacaksanız ImpEx’i tekrar indirmeniz gerekeceği için en son sürümü kullanıyor olacaksınız.

Yine ImPex dosyaları veritabanı erişim bilgileriniz içerdiği için de silmeniz yararınıza olacaktır.

Aktarılan Şifreler

Her sistem kullanıcıların şifrelerini düzgün aktaramayabilir. Bunun nedeni şifrelerin kaydedilme biçimidir. Her aktarıcı, şifrelerin düzgün aktarılıp aktarılmayacağını bildirir.

Eğer şifreler düzgün aktarılmadıysa kullanıcılarınıza bu durumu e-posta ile bildirmeyi unutmayın. E-posta içerisinde forumunuzun şifre resetleme sayfasının adresini eklemeyi de unutmayın.

Users > Send Email to Users

Şimdi ne olacak?

Aktarımı bitirdiğinizde ImPex sayfasından işlemin ne kadar sürdüğüne dair bir fikir edinebilirsiniz.

Eğer ters giden bir şeyler olduysa veya aklınıza takılan bir soru varsa destek forumuna göz atabilirsiniz.

ImPex Destek Forumu

Yine anlamadığınız bir konu varsa makalenin altına yorum yaparak da sorabilrisiniz.

Makale Sürümü: 1.0

Recep Baltaş – Kaynak gösterilmeden alıntılanamaz!