Hi guys, I found a problem with volume configuration error during kubernetes container initialization. I tried a lot of way to solve this problem such as creating longhorn provisioner and local path and node but these ways didn't resolve problem on initialization. I used nfs-server-provisioner catalog app for helm and i see a new storage class named nfs. I remove my another storage classes to force new apps to use this storage class. This worked like a charm! Now i can install all of catalog apps without any persistence and volume based problem.
26 Temmuz 2018 Perşembe
21 Temmuz 2018 Cumartesi
rancher kubernetes Failed to make shared /var/lib/rancher/volumes: invalid argument error
Hi,
If you downgrade rancher 2.0 to 1.x and getting this error with kubernetes you can just reboot physical server:)
If you downgrade rancher 2.0 to 1.x and getting this error with kubernetes you can just reboot physical server:)
20 Temmuz 2018 Cuma
curl: (35) gnutls_handshake() failed: Error in the pull function error on docker installation
Hi everyone,
If you get curl: (35) gnutls_handshake() failed: Error in the pull function. error on docker installation and if you removed older and fewer versions before you just have to remove old ppa from your hosts /etc/apt/sources.list
For do this open /etc/apt/sources.list with vi, nano etc. and comment all deb source lines by adding # character to start of line. You can also see example of comment in file.
After remove or comment source you have to apt-get update to apply changes and you can install docker version what if you want!
good luck
If you get curl: (35) gnutls_handshake() failed: Error in the pull function. error on docker installation and if you removed older and fewer versions before you just have to remove old ppa from your hosts /etc/apt/sources.list
For do this open /etc/apt/sources.list with vi, nano etc. and comment all deb source lines by adding # character to start of line. You can also see example of comment in file.
After remove or comment source you have to apt-get update to apply changes and you can install docker version what if you want!
good luck
7 Haziran 2018 Perşembe
spdx-licenses.json - failed to open stream: No such file or directory
Hi,
For solve this error you have to create a symlink in /usr/share
cd /usr/share
ln -s php/data .
For solve this error you have to create a symlink in /usr/share
cd /usr/share
ln -s php/data .
A non-numeric value encountered composer
Hi,
If when composer causes an error like "A non-numeric value encountered" with PHP 7.1 cli you can again composer update after backup your vendor folder via change name like vendor_old or delete. It's because you uploaded your vendor folder from another PC.
If when composer causes an error like "A non-numeric value encountered" with PHP 7.1 cli you can again composer update after backup your vendor folder via change name like vendor_old or delete. It's because you uploaded your vendor folder from another PC.
11 Nisan 2018 Çarşamba
İngilizce Altyazılı Film İzleyerek İngilizce Geliştirme
Bu yazıyı tamamen yeni aldığım domain olan https://filmold.com google sırasını yükseltme amaçlı yazıyorum. Ama hazır el atmışken siteden biraz bahsedeyim. Sitemde birçoğu imdb top listte yer alan güzel ve bana telif sıkıntısı yaşatmayacak yaklaşık 400 500 filmi ingilizce altyazılı olarak yayınlıyorum. Filmleri izlerken kelimelerin üstüne geldiğinizde türkçe çevirileri görünüyor belirli yavaşlatma seçenekleriyle daha iyi idrak ederek film izleme deneyimi sunuyorum. Anlamadığınız kısımlar olursa diye de yön tuşlarıyla videoyu 5 sn ileri veya alabiliyorsunuz. Böyle bir sisteme en önce kendim ihtiyaç duyuyordum benzeri bir sistem olmadığını görünce kendim geliştirmeye karar verdim ve sonunda uzun uğraşlar sonucunda istediğim kıvama yavaş yavaş gelmeye başladı. Umarım hem film izleyeyim hem de ingilizcemi geliştireyim diyen kişilere faydalı olabilmişizdir.
28 Şubat 2018 Çarşamba
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' hatası çözümü
Merhahabalar arkadaşlar, bu yazımda mysql şemasının user tablosunda plugin alanının boş olmamasından dolayı oluşan 1698 kodlu mysql hatasının çözümünü nasıl yapacağımızı kısaca özetleyeceğim.
Hata buna benzer çıktılar verecektir. Bizim yapacağımız bir şekilde sshde mysql-cli ile baglantı sağlayıp ki bu mariadbde şifresiz perconadbde başlarken sorulan şifre oluyor
<message>
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
</message>
<code>1698</code>
<type>PDOException</type>
Hemen alt satırdaki kod ile localhostta root şifresi yokken giriş yapabiliyoruz. Eğer şifresiz giremezsiniz tarzı bir hata veriyorsa -p parametresiyle denerseniz şifre de soracaktır. Linux clide şifre yazarken görünmeyebilir siz aldırış etmeden yazın şifrenizi ve entere basın.
mysql -u root
Girdikten sonra
use mysql;
diyerek mysql şemasına geçiş yapıyoruz bundan sonra yapacağımız bütün queryler mysql şemasındaki tablolara etki edecektir.
Gelelim asıl konuya buradaki sorguyu çalıştırıyoruz ve user root olan bütün kullancıların plugin alanlarını boş yapıyoruz.
update user set plugin='' where User='root';
En son yetkileri yeniden uyarlayabilmek için
flush privileges;
yapıp çıkıyoruz.
İyi çalışmalar.
19 Şubat 2018 Pazartesi
Mysql Timezone Setting
Merhabalar değerli arkadaşlar,
Bugün yine karşılaştığım bir problemin çözümü yazmak için girdim bloguma. Php ayarlarını yaparsınız herşey güzeldir sunucu saati doğru çalışır ama bazı kayıtlar hala yanlış tarihte geçer sisteme ve bunlar genelde default time alan mysql alanlarından kaynaklanır. Bu da mysqlimizin timezone ayarlarında bir problem olduğunu gösteriyor.
Bu ayarı düzeltmek için çok kısa basit bir kodumuz var ve ssh erişimine ihtiyacımız var.
Bunu yazdıktan sonra size bir bölge soracaktır. Europeyi seçiyoruz ve sonra da şehirler soruyor ordan da canımız İstanbul'umuzu seçiyoruz. Ayarlar otomatik olarak yapılıyor ve daha sonrasında mysqli resetliyoruz.

sudo dpkg-reconfigure tzdata
service mysql restart


Bugün yine karşılaştığım bir problemin çözümü yazmak için girdim bloguma. Php ayarlarını yaparsınız herşey güzeldir sunucu saati doğru çalışır ama bazı kayıtlar hala yanlış tarihte geçer sisteme ve bunlar genelde default time alan mysql alanlarından kaynaklanır. Bu da mysqlimizin timezone ayarlarında bir problem olduğunu gösteriyor.
Bu ayarı düzeltmek için çok kısa basit bir kodumuz var ve ssh erişimine ihtiyacımız var.
Bunu yazdıktan sonra size bir bölge soracaktır. Europeyi seçiyoruz ve sonra da şehirler soruyor ordan da canımız İstanbul'umuzu seçiyoruz. Ayarlar otomatik olarak yapılıyor ve daha sonrasında mysqli resetliyoruz.

sudo dpkg-reconfigure tzdata
service mysql restart


31 Aralık 2017 Pazar
Nginx Socket.IO Reverse Proxy SSL
Merhaba arkadaşlar, bu yazımda birçok kere sorun olan sonunda istediğim kıvamda çözdüğüm Nginx NodeJS socket.io ve ssl configurasyonundan bahsetmek istiyorum. Ben her nereye yazılacaksa direk yazacağım buraya elimden geldiğince de açıklamaya çalışacağım.
Önce Nginxten başlayalım.
ssl_certificate /etc/letsencrypt/live/siteadi.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/siteadi.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/siteadi.com/chain.pem;
location /sckt {
proxy_pass https://dawnchat.com:6001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header 'Access-Control-Allow-Origin' '*';
proxy_cache_bypass $http_upgrade;
}
Gelelim client tarayıcı tarafına. Tarayıcının socket.ioya baglanacağı kısma path olarak aynı nodejsdeki gibi bir option eklerseniz o da sorunsuz bir şekilde bağlanacaktır.
Sorusu olaranlar buradan yorum yazabilir veya hello et veyselsahin.com.tr adresinden bana ulaşabilir. Herkese bol kodlamalı güzel günler dilerim.
Önce Nginxten başlayalım.
ssl_certificate /etc/letsencrypt/live/siteadi.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/siteadi.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/siteadi.com/chain.pem;
location /sckt {
proxy_pass https://dawnchat.com:6001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header 'Access-Control-Allow-Origin' '*';
proxy_cache_bypass $http_upgrade;
}
Bu kısım olduğu gibi serverin icinde. Ben tarayıcıya /sckt yazınca socket.io ya baglansın istiyorum. O yüzden içeride bir reverse proxy yaptım bu şekilde.
Gelelim NodeJS kısmına.
SSL konfigurasyonu farklı gibi gorunuyor ama aynı dosyaları alıyor siz öyle yaparsınız en azından ben örnek için bu şekilde yazdım hızlıca. Aşağıda gördüğünüz üzere benim node için seçtiğim port 6001 ama nginx tarafında reverse proxy yaptığım için
https://siteadi.com/sckt/socket.io/?EIO=3&transport=polling&t=M2ktBqC
tarzı bir url verdiğim zaman bana aşağıdaki gibi bir sonuç döndürmeli.
97:0{"sid":"bj1oeJOjjSHCmBpVAAAF","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}
const protocol = 'https';const domain = 'dawnchat.com'; const timer = 5 const randomStr = require('randomstring');const request = require('request'); var fs = require('fs');var https = require('https'); var express = require('express');var app = express(); var options = { key: fs.readFileSync("/home/layfon/dawnchat.com/ws.server/privkey1.pem"), cert: fs.readFileSync('/home/layfon/dawnchat.com/ws.server/cert1.pem'), ca: fs.readFileSync('/home/layfon/dawnchat.com/ws.server/fullchain1.pem'), requestCert: true, rejectUnauthorized: false}; var server = https.createServer(options, app); server.listen(6001, function() { console.log('Secure server running on port 6001') }) var io = require('socket.io').listen(server,{path:"/sckt"});
Gelelim client tarayıcı tarafına. Tarayıcının socket.ioya baglanacağı kısma path olarak aynı nodejsdeki gibi bir option eklerseniz o da sorunsuz bir şekilde bağlanacaktır.
io("",{path:"/sckt/socket.io"})
Sorusu olaranlar buradan yorum yazabilir veya hello et veyselsahin.com.tr adresinden bana ulaşabilir. Herkese bol kodlamalı güzel günler dilerim.22 Kasım 2017 Çarşamba
NodeJS Portsuz Çalışma(Reverse Proxy)
Merhabalar arkadaşlar,
Bu yazımda NodeJS geliştirirken karşılaşılan önemli bir sorunun çözümünden bahsetmek istiyorum.
Bildiğiniz üzere NodeJS çalıştırırken bir port belirtiyoruz ve sistem o portu dinleyip gelen istekleri uygulamamıza aktarıyor. Örnek olarak veyselsahin.com.tr domaini altında çalıştırdığım bir node app için 3000 portunu belirtiyorum ve veyselsahin.com.tr:3000 şeklinde çalışıyor sistem. Buraya kadar bir sorun yok. Fakat eğer kullanıcılarımız birçok portu kapalı olan bir ağdan ulaşmaya çalışıyorlar ve o kapalı portlardan biri sizin uygulamanızın portuysa kullanıcınız bağlantıda sorun yaşayacak buna ek olarak facebook platformlarında da url verirken sonu / ile bitmesi gerekiyor urllerin ve bazen portunuzdan kaynaklı olarak o urlyi veremiyorsunuz.
İşte redbird tüm bu sorunları reverse proxy yöntemiyle bizler işin hallediyor ve uygulamamızda port yerine bir path görünüyor.
Lafı çok uzatmadan redbirdin kurulumu için gerekli npm komutunu aşağıya koydum.
Eğer bu paketi ben sunucumda başka uygulamalarda da kullanacağım her defasında kurmak istemiyorum derseniz şeklinde kurulum yapmanızı tavsiye ederim.
Kurulum başarılı bir şekilde tamamlandıysa hemen aşağıya örnek bir kullanım koydum. SSL dosyalarınızın yerini de belirterek rahatlıkla ssl de aktif edebilirsiniz.
Mutlu günler.

Bu yazımda NodeJS geliştirirken karşılaşılan önemli bir sorunun çözümünden bahsetmek istiyorum.
Bildiğiniz üzere NodeJS çalıştırırken bir port belirtiyoruz ve sistem o portu dinleyip gelen istekleri uygulamamıza aktarıyor. Örnek olarak veyselsahin.com.tr domaini altında çalıştırdığım bir node app için 3000 portunu belirtiyorum ve veyselsahin.com.tr:3000 şeklinde çalışıyor sistem. Buraya kadar bir sorun yok. Fakat eğer kullanıcılarımız birçok portu kapalı olan bir ağdan ulaşmaya çalışıyorlar ve o kapalı portlardan biri sizin uygulamanızın portuysa kullanıcınız bağlantıda sorun yaşayacak buna ek olarak facebook platformlarında da url verirken sonu / ile bitmesi gerekiyor urllerin ve bazen portunuzdan kaynaklı olarak o urlyi veremiyorsunuz.
İşte redbird tüm bu sorunları reverse proxy yöntemiyle bizler işin hallediyor ve uygulamamızda port yerine bir path görünüyor.
Lafı çok uzatmadan redbirdin kurulumu için gerekli npm komutunu aşağıya koydum.
npm install redbird
Eğer bu paketi ben sunucumda başka uygulamalarda da kullanacağım her defasında kurmak istemiyorum derseniz şeklinde kurulum yapmanızı tavsiye ederim.
npm install -g redbird
Kurulum başarılı bir şekilde tamamlandıysa hemen aşağıya örnek bir kullanım koydum. SSL dosyalarınızın yerini de belirterek rahatlıkla ssl de aktif edebilirsiniz.
var proxy = require('redbird')({
port: 80, hostname: hostName, ssl: {
http2: false, port: 443, key: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/privkey.pem', cert: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/cert.pem', ca: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/fullchain.pem' }
});
proxy.register("https://" + hostName + "/chatboot", "http://" + hostName + ":3000", {
port: 80, hostname: hostName, ssl: {
http2: false, port: 443, key: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/privkey.pem', cert: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/cert.pem', ca: '/etc/letsencrypt/live/messengerchatbot.bytaptap.com/fullchain.pem' }
});
Redbird ile ilgili detaylı bilgi ve kullanımlar için bu adrese gidebilirsiniz.Mutlu günler.

31 Ağustos 2017 Perşembe
Process finished with exit code 130 (interrupted by signal 2: SIGINT)
Merhabalar arkadaşlar, aşağıda yazanın hatayı ben node 5.* versiyonlarında alıyordum. Çözüm olarak şimdilik bulduğum phpstorm veya webstorm hangisini kullanıyorsanız klasörüne gidip, .wmoptions uzantılı dosyayı bulup dosya sonuna
-Dnodejs.debugger.use.jb.support=false
şeklinde bir direktif yerleştirmeniz. Sonra idenize reset attığınız zaman sorun çözülecektir. Çözüme ulaşmayan arkadaşlar yorumdan veya hello[et]veyselsahin.com.tr adresinden ulaşabilir.
Process finished with exit code 130 (interrupted by signal 2: SIGINT)
-Dnodejs.debugger.use.jb.support=false
şeklinde bir direktif yerleştirmeniz. Sonra idenize reset attığınız zaman sorun çözülecektir. Çözüme ulaşmayan arkadaşlar yorumdan veya hello[et]veyselsahin.com.tr adresinden ulaşabilir.
Process finished with exit code 130 (interrupted by signal 2: SIGINT)