PfSense 2.2.x Soap ve Mysql Kurulum Çözümü
-
Arkadaşlar herkese merhaba,
Uzun zamandır 2.2.x sürümlerine Soap ve Mysql bileşeni kuramıyordum. pkg install komutu kullanınca php sürümü değişiyor ve pfsense kullanılamaz hale geliyordu.
Hotspot için 2.1.x Firewall uygulamaları için 2.2.x kullanıyordum derken bu gece tekrar bakmak istedim ve sonunda başardım.
Belki gereksiz kullandığım komutlar vardır, bir çok deneme ile kurduğum için bilen varsa gereksiz komutları söylerse yemekte onunda tuzu olur :))Öncelikle;
pkg install yapıyorum daha sonra
pkg install mysql55-client mysql55-serverYapıp Mysql kurulumunu yapıyorum.
Sırasıyla;/etc/rc.php_ini_setup
php -m | grep mysql
/usr/local/bin/mysql_install_db –-basedir=/usr/local
chmod 777 /var/db/mysql
mv /usr/local/etc/rc.d/mysql-server /usr/local/etc/rc.d/mysql-server.sh
ee /usr/local/etc/rc.d/mysql-server.sh (mysql enable)/usr/local/etc/rc.d/mysql-server.sh start
bundan sonra da db ve kullanıcı oluşturma kalıyor ki zaten aynı.
Soap için ise;
pkg install libxml2
pkg add -M http://pkg.freebsd.org/freebsd:10:x86:32/latest/All/php55-soap-5.5.33.txz
** 64 Bit kurulumlarda
** pkg add -M http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/php55-soap-5.5.33.txz
Yaptıktan sonra;
touch /etc/php_dynamodules/php-soap
touch /etc/php_dynamodules/php55-mysql
touch /etc/php_dynamodules/mysqlbu komutları giriyorum ve 2.2.x sürümünde Soap ve Mysql kullanılabiliyor. Böylelikle hotspot çalışıyor.
Benim php sürümüm 5.3.30 yüklediğimiz soap sürümü 5.3.33 ama hiç bir sorun çıkmıyor. Bir kaç kere denedim.
Umarım ihtiyacı olanların kullanması nasip olur.
Son olarak da; perl ile çalışan Tib5651 ı biraz modifiye ederek OpenSSL ile imzalama eklentisi geliştirdim.
PFsense 2.1.x sürümlerinde iki tane openssl var,
/usr/local/bin/openssl Bu sürümü kullanınca ts ile zaman damgası ile imzalama yapabiliyorsunuz.loglama yaptığımız sh dosyasına;
dosya_adi=LogImza-meydan-$tarih.tar.gz
yol=/loglar/$tarih/imza
calisma_dizini=/loglar/$tarih/imza/temp
saklama_dizini=/loglar/$tarih/imza
hatali_imzalar=/loglar/$tarih/imza/hatali/hatali-imza-$dosya_adi-$tarih
CAPublicKEY=/CA/cacert.pem
TSAPublicKEY=/CA/tsacert.pem
openssl=/usr/local/bin/openssl
openssl_conf=/usr/local/openssl/openssl.cnf
password=******
eposta_adresi=******$openssl ts -query -data $dosya_adi -no_nonce -out $dosya_adi.tsq
$openssl ts -reply -queryfile $dosya_adi.tsq -out $dosya_adi.der -token_out -config $openssl_conf -passin pass:$passwordGibi düzenlemeler ekledim. Yalnız openssl.cnf dosyasını modifiye etmeniz lazım. Sertifika falan oluşturmak /CA dizini göstermek gerekiyor.
Onu da 5651 openssl ile imzalama diye aratıp aşağıdaki sitedeki makaleye göre yaptım. Mevcut pfsense de ki yollara göre düzenleme yapmanız gerekebilir.
https://www.syslogs.org/openssl-ile-5651-sayili-kanun-geregi-log-imzalamak/Bu verdiğim linki ve yukarıdaki ufak hazırladığım zabazingo ile biraz uğraşarak çok rahat yapabileceğinizi düşünüyorum.
İnşallah tipik hotspot projenize openssl'i de entegre edebilirsiniz.
Not : 2.2.x sürümlerinde /usr/local/bin/openssl yerine openssl i direk yazıp kullanabilirsiniz.Saygılarımla,
-
Merhaba anlatımınız için teşekkürler kurulumu az önce pfsense 2.2.6 X86 üzerinde denedim kurulum sırasında komutlarda herhangi bir hata almadım php versiyonunu 5.5.46 kurdu soapta belirttiğiniz komutlar ile kurdum fakat hatlar almaktayım.
kurulum adımlarında 2.1.3 kurulumdaki adımları izledim.ghost paneline girmek istediğimde bu adrese yönlendiriyor"https://192.168.1.1/ghost/Auth.php" ve aşağıdaki hatayı veriyor. halbuki db_settings.php deki username password doğru.
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 Warning: Cannot modify header information - headers already sent by (output started at /usr/local/www/ghost/inc/db_settings.php:18) in /usr/local/www/ghost/Auth.php on line 19
Tc bilgilerini girdiğimde doğrulama yapılamadı diyor ve System loglara baktığımda.
Apr 2 12:29:45 Apr 2 12:29:45 radiusd[16765]: [sql] SQL query error; rejecting user Apr 2 12:29:45 radiusd[16765]: rlm_sql_getvpdata: database query error Apr 2 12:28:56 Apr 2 12:28:56 radiusd[16765]: [sql] SQL query error; rejecting user Apr 2 12:28:56 radiusd[16765]: rlm_sql_getvpdata: database query error Apr 2 12:28:33 radiusd[16765]: Ready to process requests. Apr 2 12:28:33 radiusd[13652]: Loaded virtual server <default> Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Connected new DB handle, #4 Apr 2 12:28:33 radiusd[13652]: rlm_sql_mysql: Starting connect to MySQL server for #4 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Attempting to connect rlm_sql_mysql #4 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Connected new DB handle, #3 Apr 2 12:28:33 radiusd[13652]: rlm_sql_mysql: Starting connect to MySQL server for #3 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Attempting to connect rlm_sql_mysql #3 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Connected new DB handle, #2 Apr 2 12:28:33 radiusd[13652]: rlm_sql_mysql: Starting connect to MySQL server for #2 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Attempting to connect rlm_sql_mysql #2 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Connected new DB handle, #1 Apr 2 12:28:33 radiusd[13652]: rlm_sql_mysql: Starting connect to MySQL server for #1 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Attempting to connect rlm_sql_mysql #1 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Connected new DB handle, #0 Apr 2 12:28:33 radiusd[13652]: rlm_sql_mysql: Starting connect to MySQL server for #0 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Attempting to connect rlm_sql_mysql #0 Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Attempting to connect to radius@localhost:3306/radius Apr 2 12:28:33 radiusd[13652]: rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked</default>
ve sistemi restart ettiğimde pfsense panelde açılışta aşağıdaki gibi bir uyarı veriyor.
pfSense has detected a crash report or programming bug. Click here for more information.Crash report begins. Anonymous machine information: i386 10.1-RELEASE-p25 FreeBSD 10.1-RELEASE-p25 #0 c39b63e(releng/10.1)-dirty: Mon Dec 21 15:19:53 CST 2015 root@pfs22-i386-builder:/usr/obj.RELENG_2_2.i386/usr/pfSensesrc/src.RELENG_2_2/sys/pfSense_SMP.10 Crash report details: PHP Errors: [02-Apr-2016 12:13:15 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:22:31 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:22:31 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:22:36 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:22:36 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:22:57 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:22:57 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:24:54 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 [02-Apr-2016 12:25:02 Europe/Istanbul] PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /usr/local/www/ghost/inc/db_settings.php on line 18 Filename: /var/crash/minfree 2048
Verdiğiniz komutlar dışında Db balantısı yaparken captive portal üzerinde yada radius üzerinde yaptığınız farklı bir ayarlama var mı acaba siz hangi versiyonlarda test ettiniz benzer hatalar ile karşılaştınız mı ?
Benim php sürümüm 5.3.30 yüklediğimiz soap sürümü 5.3.33 ama hiç bir sorun çıkmıyor. Bir kaç kere denedim.
demişsiniz fakat verdiğiniz komutlarda php ve soap için 5.3.X değil 5.5.X sürümünü kuruyor sorun burdan kaynaklı olabilir mi ?
-
Selamlar,
2.2.x sürümüyle birlikte Yeni PHP Sürümü geldiği için Ghost için kullandığımız MySQL fonksiyonları çalışmayacaktır. Aşağıda aldığınız hata dan bu yüzden kaynaklaniyor. Ghost'u PDO,mySQLi'ye göre upgrade etmek lazım.
The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
-
samet bey ,
bilgilendirme için teşekkür ederim ek olarak sormak istediğim bir şey var ghost u 2.1.5 üzerine kurduğumda hiçbir sorun vermeden kuruyor fakat loglarda aşağıdaki hatayı veriyor ve kullanıcıyı login etmiyor.
radiusd[82624]: Login incorrect: [Fatal error: Class 'SoapClient' not found in /var/db/cpelements/captiveportal-tc.php on line 45] (from client captiveportal port 2000 cli 00:0c:29:70:65:e0)Mysql ve ya soap için aşağıdaki paketleri kuruyorum.
pkg_add -rfi http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-8.3-release/All/php5-soap-5.3.10_1.tbz
pkg_add -r http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/8.3-RELEASE/packages/databases/mysql-server-5.5.21.tbzsorun neden olabilir acaba ?
-
Serdar bey merhaba,
Yazarken hatalı yazmışım. Paket bilgilerini paylaşıyorum;
[2.2.6-RELEASE][root@pfSense.localdomain]/root: php -v
PHP 5.5.30 (cgi-fcgi) (built: Oct 10 2015 20:32:49)
Copyright1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with Suhosin v0.9.38, Copyright (c) 2007-2015, by SektionEins GmbH[2.2.6-RELEASE][root@pfSense.localdomain]/root: pkg info
libxml2-2.9.3 XML parser library for GNOME
mysql55-client-5.5.46 Multithreaded SQL database (client)
mysql55-server-5.5.46 Multithreaded SQL database (server)
perl5-5.20.3_8 Practical Extraction and Report Language
php55-soap-5.5.33 The soap shared extension for php
pkg-1.6.4_1 Package managerKurulumda izlediğim yolu tek tek anlatayım;
Öncelikle PfSense kurulumu yapıp ,
pkg install yazıyorum.
Daha sonrapkg install mysql55-client mysql55-server
İle mysql kurulumunu tamamlıyorum.
Fakat, ben tam döküman hazırlamadım. Daha sonrasında radius diye bir kullanıcı ve db oluşturup yetkilendirme yapmanız gerekiyor.
Bunları Samet beyin dökümanında ki gibi gerçekleştirebilirsiniz. Ayrıca, Mysql Enable gibi işlemleri de oluşturun.Soapı da kurduktan sonra touch komutlarını girdiğinizden eminmisiniz? o komutlardan sonra makineye reboot atıp test yapın.
Ayrıca, pfsense aynı anda bir web sunucusu gibi çalıştığı için www klasörüne test diye klasör açıp sıradan bir mysql denemesi ve sorgusu gerçekleştirin.
tckimlikkontrol ettiğiniz dosyayı kopyalayıp db bağlantılarından çıkarın gelen sonucu ekrana çıkarıp soapın çalışıp çalışmadığını da test edebilirsiniz.Ama bana öyle geliyor ki sizin yaşadığınız hata kurulum konfigrasyonla ilgili gibi duruyor.
-
Merhaba ,
Özelden konuyla ilgili bir mesaj yazdım ilgilenebilirseniz faydalı olacağını düşünüyorum.