Merhabalar,
Bildiğiniz üzere pfSense 2.3 sürümü ile birlikte bir çok değişiklik meydana geldi. Bu değişiklikler ile çalışmakta olan captive portal TC Kimlik doğrulama sistemi ve Ghost Radius sistemi çalışmaz hale geldi.
Sebebi, hem ghost hem de captive portal kodlarının mysqli uyumlu olmaması idi.
Geçtiğimiz günlerde bende kullandığım bir kaç firmada pfSenseyi yükseltmek zorunda kaldım ve bu sorun yüzünden captive portalı kullanamaz oldum.
Captive portal’ın login ekranındaki bir kaç javascript sorunu zaten dikkatimi çekiyordu. Bahane ile onları da kapsayacak bir düzenleme yaptım.
Yapılan Değişiklikler;
- Tüm kodlarda ki MySQL bağlantı metotları MySQLi’ye çevrildi,
- Captive Portal login ve hata sayfalarında;
- TC Kimlik No alanı 11 karakter sadece rakam sınırlaması ve mobil cihazlarda numerik klavye ile giriş yapılması,
- Adınız ve Soyadınız alanlarına girilen veriler LostFocus durumunda TR karakterler göz önüne alınarak büyük harfe çevrilmesi,
- Doğum Yılı alanı 4 karakter sadece rakam sınırlaması ve mobil cihazlarda numerik klavye ile giriş yapılması,
- TC kimlik doğrulaması yapan php dosyada karakter düzenleme kodları
Önemli Uyarı : Ben sistemlerimde SMS ve Voucher kod kullanmadığım için kodlardan çıkarmıştım. Bu sebepten kullanacak arkadaşlar eski kodlardan ilgili yerleri ekleyebilirler.
İndirme Linki : Captive Portal Türkçe TC Kimlik Kontrollü Karşılama Ekranı
Ekleme (02.02.2017) :
Mysql Server’ın pfSense’ye yüklenmesi:
Mysql paketinin ve php nin mysql modüllerinin yüklenebilmesi için pfSense nin FreeBSD paketlerini aktif etmemiz gerekmekte.
Bunun için ;
/usr/local/etc/pkg/repos/FreeBSD.conf /usr/local/etc/pkg/repos/pfSense.conf
dosyalarının içindeki
FreeBSD: { enabled: no }
satırlarını aşağıdaki gibi değiştirin.
FreeBSD: { enabled: yes }
İster sevdiğiniz bir metin editörü ile (vi,nano,pico vb.), isterseniz de pfSense Panelinden Diagnostics altından Edit File ile bu değişikliği yapabilirsiniz.
Değişiklikleri yaptıktan sonra ssh ile bağlanıp aşağıdaki komutlar ile paket kurulumlarını tamamlayın.
pkg update pkg install nano git pkg install mysql56-server pkg install compat8x-amd64 # 64 Bit sistemler için pkg install compat8x-i386 # 32 Bit sistemler için pkg install php56-mysql pkg install php56-mysqli pkg install php56-soap
Paketlerin kurulumu bittikten sonra php’nin mysql paketlerini kullanmasını sağlamak için aşağıdaki komutları çalıştırın.
touch /etc/php_dynamodules/mysql touch /etc/php_dynamodules/mysqli touch /etc/php_dynamodules/php56-mysql touch /etc/php_dynamodules/php56-mysqli /etc/rc.php_ini_setup
Mysql’in her açılışta otomatik çalışmasını sağlamak için
echo 'mysql_enable="YES"' > /etc/rc.conf mv /usr/local/etc/rc.d/mysql-server /usr/local/etc/rc.d/mysql-server.sh
Mysql’in 1 dakikada bir çalışıp çalışmadığını kontrol edip çalışmıyorsa başlatılmasını sağlayan kodlarda aşağıdaki gibidir;
nano /usr/local/bin/mysql_relaunch.sh #Dosyayı nano ile açıyoruz #Dosya içeriği #!/usr/bin/env sh service /mysql-server.sh status > /dev/null if [ $? != 0 ]; then service mysql-server.sh start fi # Ctrl+x yapıp Y dediğimizde dosya kaydedilecektir. # Dosyayı çalıştırılabilir hale getirelim chmod +x /usr/local/bin/mysql_relaunch.sh
pfSense paketlerinden Cron yüklü değilse yükleyin. Services altından Cron’a girin. Add diyip ;
Minute: */1 Hour: * Day of the Month: * Month of the Year: * Day of the Week: * User: root Command: /usr/local/bin/mysql_relaunch.sh
kaydedin.
Sistemi yeniden başlatın. Yeniden başlatma sonrasında ssh ile tekrar bağlanın ve mysql in kurulumunu tamamlayın
/usr/local/bin/mysql_secure_installation
Bu komutu verdikten sonra bizden root password girmemiz istenecek. enterla geçiyoruz.
Set root password sorusuna Y diyoruz
Yeni root şifremizi 2 defa giriyoruz. Sonraki 2 soruya Y diyip işlemi tamamlıyoruz.
İşlemlerin en başında açtığımız freebsd repolarını no diyerek tekrar kapatıyoruz.
Şimdi mysql’ e radius kullanıcısını ekleyip bu kullanıcıya yetkiler verelim.
mysql -u root -p # Bizden belirlediğimiz root password isteniyor
-- radius veritabanını oluşturalım CREATE DATABASE radius; -- radius kullanıcısını oluşturalım CREATE USER `radius`@`localhost`; -- radius kullanıcısına şifre tanımlıyalım. sifre yazan yere istediğiniz şifreyi verebilirsiniz. SET PASSWORD FOR `radius`@`localhost` = PASSWORD('sifre'); -- radius kullanıcısına radius veritabanına tam yetki veriyoruz GRANT ALL ON radius.* TO `radius`@`localhost`; -- radius kullanıcısı ile heryerden bağlanılabilmesi için izin veriyoruz. -- sifre yine raidus kullanıcısını için belirlediğiniz şifre olmalı GRANT ALL ON radius.* TO `radius`@`%` IDENTIFIED BY 'sifre';
Mysql kurulumu ve radius veritabanı ve kullanıcısı tanımlamaları burada sona erdi. Şimdi herhangi bir mysql istemci ile yukarıdaki paylaştığım dosya içindeki ghost.sql dosyasını bu veritabanına yüklemeniz gerekmekte. Bunun için HeidiSQL yada MySQL-Front gibi opensource bir mysql clienti kullanabilirsiniz.
Önemli Not: Bazı sistemlerde radius veritabanındaki radcheck tablosunda bulunan telefon, tcno, adsoyad, tarih, sifre, dtarih alanları NOT NULL olarak işaretli gelebiliyor. Bu sebepten kayıtlarda sıkıntı olabiliyor. Bu alanların NULL izinli olarak ayarlamanız gerekebilir.
üstad
touch /etc/php_dynamodules/mysql komutu giriyorum aşagıdaki hatayı alıyorum
touch: /etc/php_dynamodules/mysql: No such file or directory
süper olmuş elinize sağlık
@faysal bende de aynı sorun var. sen düzeltebildin mi?
mkdir /etc/php_dynamodules/
diyip sonra touch komutunu işletin.
pkg install mysql56-server komutunu koşturdugumda aşagıdaki hatayı alıyorum. Creating users Using existing user ‘mysql’.install: not found pkg: PRE-INSTALL script failed
Bu bug duzeltmek için bu konutu uygulayın sonra mysqli kurun
tar xv -C / -f /usr/local/share/pfSense/base.txz ./usr/bin/install
Cevabı için Osman Özere teşekkürler.
Muzaffer bey
Tüm kurulumlar başarılı olmasına rağmen TC kimliği de doğruluyor giriş yapamıyoır Bu arada kurulumu başaran varmı aranızda ? bilgi verirseniz seviniriz
[email protected]
pkg install mysql56-server komutu çalışmıyor. pkg: No packages available to install matching ‘mysql56-server’ have been found in the repositories diye hata veriyor bu problemi nasıl giderebilirim.
/usr/local/bin dizininde mysql_relaunch.sh dosyasını bulamıyorum.Bende çıkmıyor.
Yanlış yere mi bakıyorum acaba ? Edit file ile dediklerinizi yapıcam nano yerine ama dizinde o sh dosyasını bulamadım
web arayüzüne girmek için kullanıcı ve şifre bilgilerini hiç bir yerde bulamadım
Ghost branch ı kurduysanız kullanıcı adı admin şifre ghost
QHostspot (master) branch ı yükledi iseniz kullanıcı adı [email protected] şifre qhotspot
merhabalar. sanırım link çalışmıyor. dosyalara nerden erişebiliriz ?
http://goo.gl/X4ihPk
Linki yeniledim.
merhabalar. dosyalara erişemiyorum. link çalışmıyor.
Linki yeniledim
Hocam link ölmüş yenileyebilirmisin?
Linki yeniledim
Merhaba,
pfSense de kullanacağımız paketleri FreeBSD repodan veya başka bir adresten kendimiz indirip, sonra ihtiyacımıza göre sırasıyla bu paketleri nasıl yükleyebiliriz. Stabil bir kurulum için böyle yapmak daha akıllıca olacaktır diye düşünüyorum.
Ne dersiniz ?
Yardımcı olabilirseniz çok sevinirim, şimdiden teşekkür ederim.
Evet zaten pfsense nin yaptığı son güncelleme ile (2.4.4) repodan gerekli paketleri elde edemiyoruz. Netgate sanırım thirth party uygulama geliştirilmesin diye elinden geleni yapıyor.
mySQL server’ı kurmaya çalıştığımda bu şekilde oluyor acaba hata sebebi nedir ? bu şekilde olduğu için
mv /usr/local/etc/rc.d/mysql-server /usr/local/etc/rc.d/mysql-server.sh
bu komut çalışmıyor ve diğer sql ile ilgili komutlarıda çalıştıramıyorum install gibi.
with this action? [y/N]: y
[1/3] Installing mysql56-server-5.6.40…
===> Creating groups.
Using existing group ‘mysql’.
===> Creating users
Using existing user ‘mysql’.
install: not found
Merhaba hocam pfsense nin uzmani değilim ama ghost kurulumunu yaptim portali da ayarladım yapmak istediğim tc kimlik numarası ile kullanicilarin giris yapmasi tc kimlik giriş yapabiliyoruz ama pfsense yi yeniden başlattığımız zaman tekrar ağa baglantigimda portal ekrani gelmiyor connectivitycheck… Diye bir sayfaya yonlentiriyor you are connected yaziyor
normal captive portal ekranı geliyor
kullancı adı sifreyi girip internete cıkıyorsun
ama sms yada tc kimlik karşılama ekranı gelmiyor