Hocam yedek geri yükle dedim yükledi tekrar kurulumdan sonraki Register ekranı geldi aynı admin ve şifremi girdim onay maili gelmiyor
Flarum'dan Discourse'ye geçiş (Flarum to Discourse)
-
Bu makalede Flarum’dan Discourse’ye nasıl geçiş yapılacağını anlatacağım.
Flarum’dan Discourse’ye geçmek için elimizde Discourse geliştirici kurulumu olan bir makine ve mevcut Flarum sitesinin veri tabanına ihtiyacımız olacak.
Flarum’dan Discourse’ye geçişte neler taşınacak:
- Kategoriler
- Varsa alt kategoriler
- Kullanıcılar
- Konular ve postlar
Flarum sitesinde yapılacak işlemler
İlk olarak Flarum sitenizin çalıştığı sunucuda veri tabanının bir yedeğini almanı gerekiyor. SSH erişiminiz varsa aşağıdaki komutu kullanarak;
mysqldump -u root -p veri_tabanı_aadı > yedek.sql
PHPmyAdmin erişiminiz var ise;
PHPmyAdmin’de oturum açın ve veri tabanını dışa aktarın.
Discourse geliştirici ortamı kurulumu
Discourse geliştirici ortamı kurmanın bir çok yolu var. Ubuntu, MacOS veya Windows’ta Discourse geliştirici kurulumu yapabilirsiniz.
MacOS için:
Windows için:
https://www.kurulumu.net/topic/83/windows-10-pro-wsl2-kurulumuUbuntu için:
Ben geçiş işlemini kendim anlattığım Windows’ta WSL2 sistemi üzerine kurulan Ubuntu 18.04 sunucu üzerinden yapacağım.
Yukarıdaki linklerden Windows kurulum linkine tıklayın ve anlatıldığı gibi Windows işletim sistemine sahip bilgisayarınızda WSL2’yi ve Ubuntu 18.04’ü kurun. 20.04 kurmayın!
WSL2 ve Ubuntu 18.04 kurduysanız devam edebiliriz.
Discourse Geliştirici ortamı kurulumu
️ root olmayan ve sudo yetkilerine sahip bir kullanıcı ile aşağıdaki komutu çalıştırın. Kurulum biraz uzun sürebilir sabırla bitmesini bekleyin. Bu komut gerekli tüm paketleri bilgisayarınıza kuracaktır.
bash <(wget -qO- https://raw.githubusercontent.com/techAPJ/install-rails/master/linux)
Discourse’yi indirme
Discourse deposunu (veya çatalınızı) ~/discourse klasörüne indirin.
git clone https://github.com/discourse/discourse.git ~/discourse
Veri tabanı oluşturma
Ubuntu sistem kullanıcı adınızla aynı ada sahip bir kullanıcı oluşturmak için:
sudo -u postgres createuser -s "$USER"
Discourse önyükleme
Discourse klasörünüze geçin:
cd ~/discourse
Gerekli paketleri kurun:
source ~/.bashrc bundle install
Veritabanı bağlantısını başarıyla yapılandırdığınıza göre şu komutları çalıştırın:
bundle exec rake db:create bundle exec rake db:migrate RAILS_ENV=test bundle exec rake db:create db:migrate
Rails sunucusunu başlatın:
bundle exec rails server
Artık
http://localhost:3000
adresinde Discourse örneğinin çalışması gerekir.Şöyle bir uyarı görüyorsanız:
$ bin/ember-cli
Discoursenin kurulu olduğu dizinde bu komutu çalıştırın:
bin/ember-cli
Artık
localhost:4200
adresinde Discourse hızlı kurulum ekranını görüyor olmalısınız.Buraya kadar sorunsuz geldiyseniz şimdi bir yönetici hesabı oluşturabilirsiniz.
RAILS_ENV=development bundle exec rake admin:create
Eposta adresini ve şifrenizi girin ve gelen soruya
Y
ile cevap verin.Discourse göç için hazır. Şimdi elimizde olan Flarum veri tabanını geliştirici ortamına kuracağımız MySQL sunucusuna geri yükleyeceğiz. Tabi ilk önce MySQL sunucu kurmamız gerek.
MySQL sunucusu Kurlumu
MySQL sunucusu kurmak için aşağıdaki komutu çalıştırın.
sudo apt-get install mysql-server mysql-client
Şimdi veri tabanı ve kullanıcısı oluşturalım.
Veri tabanına bağlanmak içinsudo mysql
komutunu çalıştırın.MySQL sunucusunu başlatmak için:
sudo service mysql start
Flarum adında bir veri tabanı ve Ubuntu kullanıcı adımızla bir veri tabanı kullanıcısı oluşturalım.
CREATE DATABASE flarum; CREATE USER 'ubuntu_kullanıcı_adini_yaz'@'localhost' IDENTIFIED BY '123456789'; GRANT ALL ON flarum.* TO 'ubuntu_kullanıcı_adini_yaz'@'localhost' IDENTIFIED BY '123456789' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
Şimdi bilgisayarım tıklayın ve adres satırına
\\wsl2$
yazın.Ubuntu18.04 tıklayın. Home klasörünün açın ve Ubuntu kurulumu sırasında girdiğiniz kullanıcı adının klasörüne girin. Elinizdeki Flarum veri tabanını bu klasör içine kopyalayın.
Şimdi veri tabanını oluşturduğumuz Flarum adlı veri tabanına import edebiliriz. Bunun için;
mysql -u ubuntu_kullanıcı_adı -p flarum < yedek.sql
Ardında şifremiz olan 123456789 girin ve ENTER tuşlayın. Veri tabanı boyutuna göre bu işlem zaman alacaktır.
Şimdi Discourse kurulu olan dizine geçiş yapın.
cd ~/discourse
Aşağıdaki komutu yazın:
sudo nano Gemfile
Açılan dosyanın sonuna aşağıdakini ekleyin.
gem 'mysql2'
Şimdi aşağıdaki komutu çalıştır:
bundle install
Şimdi Bilgisayarımda yine
\\wsl2$
adresine ve kendi klasörünüzün içinde bulunan discourse klasörünü açın. Discourse klasörü içinde import_scripts klasörünün açın:\\wsl$\Ubuntu-18.04\home\mekici\discourse\script\import_scripts
Yukarıda benim Ubuntu kullanıcı adım mekici. Siz kendi kullanıcı adınızı kullanacaksınız. flarum_import.rb dosyasını açın ve aşağıdaki bilgileri girin:
FLARUM_HOST ||= ENV['FLARUM_HOST'] || "localhost" FLARUM_DB ||= ENV['FLARUM_DB'] || "flarum" BATCH_SIZE ||= 1000 FLARUM_USER ||= ENV['FLARUM_USER'] || "ubuntu kullanıcı adınız" FLARUM_PW ||= ENV['FLARUM_PW'] || "123456789"
Dosyayı kaydedip kapatın.
Şimdi geçiş işlemine başlamak için aşağıdaki komutu çalıştırın:
bundle exec ruby script/import_scripts/flarum_import.rb
Bu adımdan sonra veri tabanınızın büyüklüğüne göre içe aktarım olayı başlayacaktır.
Bu işlem bitince Discourse kurulu olan dizinde aşağıdaki komutu çalıştırın.
bundle exec rails server
Localhost:4200 gidince discourseye taşınmış sitenizi görmeniz gerek.
Verilerin Discourse’ye aktarılması biraz zaman alacaktır bekleyin. İlerleme durumunu görmek isterseni Discourse sitesinin kurulu olduğu dizinde aşağıdaki komutu çalıştrın.bundle exec sidekiq -q critical,4 -q default,2 -q low
Discourse taşınma işlemini bitince
localhost:4200/admin/backup/
adresinden yedeğinizi alıp canlı Discourse sitesine aktarabilirsiniz. -
- Flarum database aktarıldıktan sonra
ember-cli
çalıştırıken izin hatası alırsanız çalıştırın:
sudo chmod -R 777 /home/MyUsername/.config/configstore
bundle install
komutundan sonra hata alıyorsanız şunu kurun:
sudo apt-get install libmysqlclient-dev gem install mysql2
- Mailhog erişim:
localhost:8025
- Flarum database aktarıldıktan sonra
-
@admin kullanıcıların şifreleri de doğru taşınabiliyor mu?
-
@dursuncan Hayır şifreler import olmaz.