Kategoriler
Opencart

Opencart 3.x ücretsiz ödeme aktif olmuyorsa? “opencart 3.x free checkout not showing”

Merhaba arkadaşlar,

Opencart 3.0.3.2 sürümünde başıma gelen ve 15dk lık uğraşmalarım ve araştırmalarım sonucu opencart 1.5.6.x’te kullanılan bir yöntem ile bu sorunu çözdüm. Örneğin müşteriniz sepetine 200,00TL‘lik ürün ekledi. Üzerine %10 indirim kuponu kullandı ve bununda üzerine hesabındaki 180TL bakiyeyi kullandı ve sepet tutarı 0,00TL oldu. Kupon kullanıldıktan sonra sepet tutarı eğer 0,00TL oluyorsa ödeme sayfasında “ücretsiz ödeme” aktif olmuyordu. Aşağıdaki dosyada yapacağınız ufak değişiklik ile bu sorunu çözebilirsiniz.

Dosyayı açın: catalog/model/extension/payment/free_checkout.php

if ($total <= 0.00) {

değerini;

if ($total <= 0.01) {

yapıp kaydedin.

Sonrasında, eklentiler > modifikasyonlar sekmesinden yenile (refresh) yapın.

Sorununuz düzelecektir. Benim sorunum bu şekilde düzeldi, kolay gelsin 🙂

Kategoriler
Opencart

opencart 3.x sürümlerinde ücretsiz ödeme ile alınan siparişler hatası

Merhaba arkadaşlar,

Opencart 3.x sürümlerinde varolan bu hata nedeniyle, müşterinize hediye bakiye vermeniz sonucu, 0,00TL ile ödeme yapıp siparişini oluşturduğunda bu sipariş admin paneli siparişler ekranında görünmemektedir. Eksik siparişlerde görünüyor. Bunun nedeni, admin > eklentiler > ödeme metodları > ücretsiz ödeme ayarının belirlediğiniz “sipariş durumunu” kaydetmemesi nedeni. Siz buradan istediğiniz bir sipariş durumunu seçiyorsunuz, kaydediyorsunuz fakat tekrar aynı ayara girdiğinizde kaydetmemiş olarak görünüyor. Sipariş durumunu belirleyemediğiniz için, müşteri ücretsiz ödeme ile sipariş verdiğinde eksik siparişlere düşüyor. Bunu basit bir yöntemle düzeltebilirsiniz. Opencart 3.0.3.2 versiyonunda denedim ve sorunum düzeldi.

Bu düzeltme işlemini denemeden önce veritabanı ve değişiklik yapacağını dosyaları yedeklemeyi unutmayınız.

İşlem aşamaları:

1- Öncelikle admin > eklentiler > ödeme metodlarından “ücretsiz ödemeyi” kaldırınız. Kırmızı butona basarak.

2- FTP yöneticiniz ile admin/controller/extension/payment/free_checkout.php dosyasını notepad++ ile açınız.

3- Aşağıdaki kod kümesini bulunuz:

if (isset($this->request->post['free_checkout_order_status_id'])) { $data['free_checkout_order_status_id'] = $this->request->post['free_checkout_order_status_id']; } else { $data['free_checkout_order_status_id'] = $this->config->get('free_checkout_order_status_id'); }

4- Aşağıdaki kod kümesi ile değiştiriniz ve dosyayı kaydedip kapatınız:

if (isset($this->request->post['payment_free_checkout_order_status_id'])) {
$data['payment_free_checkout_order_status_id'] = $this->request->post['payment_free_checkout_order_status_id'];
} else {
$data['payment_free_checkout_order_status_id'] = $this->config->get('payment_free_checkout_order_status_id');
}

5- admin/view/template/extension/payment/free_checkout.twig dosyasını notepad++ ile açınız.

6- Aşağıdaki kod kümesini bulunuz:

<select name="free_checkout_order_status_id" id="input-order-status" class="form-control">
{% for order_status in order_statuses %}
{% if order_status.order_status_id == free_checkout_order_status_id %}
<option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option>
{% else %}
<option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option>
{% endif %}
{% endfor %}

7- Aşağıdaki kod kümesi ile değiştirip, kaydedip kapatınız:

<select name="payment_free_checkout_order_status_id" id="input-order-status" class="form-control">
{% for order_status in order_statuses %}
{% if order_status.order_status_id == payment_free_checkout_order_status_id %}
<option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option>
{% else %}
<option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option>
{% endif %}
{% endfor %}

8- Eklentiler > modifikasyonları “yenile” yapınız.

9- Admin paneli sağ üst taraftan tema ve sass önbelleğini temizleyiniz.

10- Ödeme metodlarından “ücretsiz ödemeyi” tekrar yükleyiniz.

11- Ödeme metodunuza girip, sipariş durumunu belirleyip kaydedin.

İşlemler sonrasında belirlediğiniz sipariş durumunun sisteme artık kayıt edildiğini göreceksiniz. Varsayılan sipariş durumunuza kaydedin. Artık müşterileriniz hesap bakiyeleri ile ödeme yaptığında admin panelinde siparişler ekranına düşecektir. Kolay gelsin 🙂

 

 

 

Kategoriler
İpuçlar

Centos 7’de (rpcbind) portmapper hizmetlerini devre dışı bırakın

PortMapper hizmeti, TCP ve UDP 111 bağlantı noktasında çalışır ve NFS bağlantıları gibi RPC (Uzaktan Yordam Çağrıları) sağlar.

İnternetten erişilebilen portmapper hizmeti, DDoS saldırıları gerçekleştirmek için bir saldırgan tarafından kullanılabilir. Bir saldırgan, ağınız hakkında bilgi toplayabilir, ör. mevcut ağ paylaşımları veya çalışan RPC hizmetleri. RPC, uzak prosedür çağrısı anlamına gelir.

Sunucunuzda çalışan RPC hizmetlerinin listesini almak için aşağıdaki komutu kullanabilirsiniz:

rpcinfo -p

RPC hizmetlerini durdurmak için:

systemctl stop rpcbind.socket

systemctl stop rpcbind

hizmetlerin çalışmadığını doğrulamak için şimdi rpcinfo -p ile kontrol edebilirsiniz.

Hizmeti tamamen devre dışı bırakmak ve yeniden başlattıktan sonra yeniden başlamasını önlemek için, aşağıdaki komutu kullanarak hizmeti devre dışı bırakabilirsiniz.

RPC hizmetlerini devre dışı bırakmak için:

systemctl disable rpcbind

systemctl disable rpcbind.socket

Artık sunucunuzu yeniden başlatabilir ve rpcinfo -p komutunu kullanarak çalışmadığını doğrulayabilirsiniz.

Sorunsuz şekilde servisi durdurum, kapattıysanız şu şekilde yazmalıdır:

rpcinfo: can’t contact rpcbind: RPC: Remote system error – Connection refused

Güvende kalın!

Kategoriler
İpuçlar

Windows 10 yavaş veri kopyalama sorunu çözümü

Windows 10 yükleyenler fark etmiştir, bir dosya veya klasörü başka bir yere kopyalaması hissedilir derecede yavaş. Aşağıdaki yöntemle hızlandırabilirsiniz.

Başlar > çalıştır > services.msc > Sürücüleri en iyi duruma getir > Başlat ve sonrasında Başlangıç Türünü “Otomatik” yapıp, uygulayın. Kopyalama hızındaki artışı göreceksiniz.

Kategoriler
İpuçlar

Android cihazda Airpods ses sorunu, sesi yükseltme

Merhaba arkadaşlar,

Huawei P30 Pro kullanıyorum. Önce Apple Airpods 2 aldım. Sesinden gayet memnundum. Fakat baktımki AirPods Pro çıkmış. Airpods 2 cihazımı bir arkadaşa hediye verdim ve AirPods Pro aldım. Fakat gördümki sesi çok kısık. Yani AirPods2’nin sesi muhteşemdi. Son ses dinleyemiyordum, %80 lerde açıyordum sesi. Airpods Pro’nun sesi %100 açmama rağmen, airpods2’den çıkan sesin %70i çıkıyordu. Airpods Pro’yu 2C54 firmware ile güncellemek istedim fakat güncelleme almadı. Sanırım apple bu sorunlu güncellemeyi geri çekmiş. Fakat bu ses sorunu nedeniyle kulaklığı kullanma hevesim kaçtı. İki gün boyunca yerli yabancı siteleri kurcaladım ve bir yöntem buldum. Ses şuan %70 açık halde dinliyorum 🙂

Android telefonunuzdan, telefon hakkında bölümüne girip, derleme numarasına 4-5 defa tıklayıp geliştirici moduna geçiş yapın. Sonra geliştirici seçeneklerinden “Disable Absolute Volume” seçeneğini aktif edin.

Huawei cihazlarda ise “Bluetooth mutlak ses sesiyesi” ayarını açın. Bluetooth’u kapatıp tekrar açın ve kulaklığınıza bağlanın. Farkı göreceksiniz.

Xiaomi cihazlarda ise, geliştirici seçeneklerini açtıktan sonra, “Mutlak sesi devre dışı bırak” seçeneğini aktif edin. Bluetooth’u kapatıp/açın.

Kategoriler
İpuçlar

Sanallaştırma: KVM, OpenVZ, Xen sanallaştırma nedir? Farkları nelerdir?

Linux VPS, VDS ile uğraşanların ilk karşılaştığı seçeneklerden biri KVM, OpenVZ, Xen gibi sanallaştırma sistemleri, teknolojileri oluyor. Linux server dünyasında en yaygın kullanılan container sistemleri olan KVM ve OpenVZ arasında bir takım ciddi farklılıklar var. Bunlar nedir, nasıl kullanılılır bir bakalım.

KVM yüksek performanslı sanallaştırma yapan, çok uzun süredir VPS, VDS sektöründe kullanılan bir açık standart sanallaştırma teknolojisidir.

KVM size ayrılan kaynakları ana sistemden (hostnode, hosting hizmeti veren ana makine) neredeyse tamamen soyutluyor. Kullandığınız işletim sistemine tam anlamıyla hakim oluyorsunuz ve size ayrılan sistem kaynakları el verdikçe istediğiniz her şeyi yapabiliyorsunuz. Buna işletim sisteminin kernel modüllerine müdehale etmek de dahil. Özellikle linux dünyasında bazı temel işlemler için bile kernel modülü kurmanız gerekebiliyor. Örneğin uzak dosya sistemi, NFS, Samba veya SSHFS kullanacaksanız bunlar FUSE isimli bir kernel modülüne ihtiyaç duyuor. FUSE sayesinde uzak dosyaları kendi sistemimizdeymiş gibi görüp aracı programlar ile bunları bağlayabiliyoruz. Eğer OpenVZ kullanıyorsak bu modülü kendimiz kurmamız mümkün değil. Servis sağlayıcı bizim için bunu kurabilir ama muhtemelen güvenlik nedeniyle bunu yapmayacaktır. Bu da sshfs’den gibi basit linux servislerinden tutun docker gibi yeni container standartlarına kadar bizi sınırlayacaktır. Bu da OpenVZ’yi kurulumu kolay kullanımı zor bir sanallaştırma sistemi yapıyor.

KVM nasıl çalışır, nerelerde kullanılır?

KVM’nin katmanlı sanallaştırma teknolojisi sanal makinelerin birbirinden oldukça etkili bir şekilde soyutlanmasını sağlıyor.

KVM’nin bir diğer önemli avantajı da her işletim sistemini desteklemesi. Bu açıdan VmWare ESXi ye hatta local sistemlerimizde kullandığımız VirtualBox’a benzetebiliriz. Windows dahil hemen her işletim sistemini kurabiliyoruz. Kaynakları da daha iyi soyutladığı için performans açısından daha avantajlı olabiliyor. KVM ile sanallaştırma sistemi kurmak OpenVZ’ye göre biraz daha zor fakat kullanım açısından ciddi avantajlar sağlıyor.

Xen sanallaştırma nedir?

Xen de KVM gibi esnek, kaynak paylaşımını etkili olarak yapan bir sanallaştırma sistemidir.

Xen sanallaştırma teknolojisi de KVM’ye benziyor. Biraz daha güncel bir teknoloji bunda da kaynak izolasyonu oldukça iyi. Öyle ki Xen içine Xen sanal sunucu kurabilirsiniz, OpenVZ de kurabilirisiniz. Tabi bunlar yalnızca teorik olarak mümkün. Gerçekte böyle bi iş yaparsanız performans çok kötü olacaktır.

OpenVZ nedir, VPS ve VDS’ler de nasıl kullanılır?

OpenVZ basit kullanımlı ucuz VPS, VDS’ler için ideal bir sistem.


OpenVZ’nin avantajı ise daha ucuz olması. Tüm işletim sistemleri ortak kernel kullanıyor. Yani sadece linux için sadece tek bir kernel ile çok sayıda sanal container çalıştırmak mümkün. Bu da OpenVZ Vps’lerin hızlı kurulmasını, hızlı çalışmasını, hızlı boot almasını sağlıyor. Çünkü soyutlama katmanına çok fazla kaynak ayrılmıyor. Bu da düzgün bir sanallaştırma yapan firmada OpenVZ’nin de çok iyi performans vermesi demek. En önemli dezavandajı da yine sanallaştırma katmanının iyi olmaması. Bu güvenlik açısından ciddi bir problem. Kerneldeki bir açık tüm sanal makineleri riskli konuma düşürecektir. Bir de host node üzerinden sanal makinelerin içeriğine ulaşmak çok kolay, KVM’de de bu mümkün ama o kadar kolay değil.

OpenVZ’nin KVM kadar katmanlı bir yapıya sahip olmaması, ortak (shared) OpenVZ Kernel kullanması bazı senaryolarda bizler için dezavantaj oluyor.

Bunlar dışında LXE, Virtuozzo gibi sanallaştırma sistemleri de fakat bunlar artık çok yaygın kullanılmadığı için yer vermeye gerek görmedim. LXE özellilkle son zamanlarda Docker ile popüler olmuş hafif siklet bir sanallaştırma sistemidir.

Kategoriler
İpuçlar Opencart

Centos 7 Sunucularda SSH Port Değiştirme

SSH (Secure Shell / Güvenli Kabuk), bir sunucunun en önemli ağ protokolüdür. Varsayılan port numarası 22’dir.

Sunucunun tüm yazılımsal yönetiminin yapılabildiği bu protokolün port numarası (kapısı) sabittir ve saldırılara çok açıktır. Hatta, yeni bir sunucu kurduğunuzda IP adresi üzerinden ssh kapısına flood saldırılar başlayacaktır. Bu sebeple, sunucu kurulum işleminden hemen sonra port numaranızı acilen değiştirilmesini öneririm.

Aşağıdaki yöntemler ile hızlı şekilde varsayılan portu değiştirebilirsiniz:

1) SSHD Config Dosyasını Düzenleyin

Sunucunuza Putty veya Terminal aracılığıyla bağlandıktan sonra aşağıdaki komut ile SSHD konfigürasyon dosyasını açın:

yum install nano -y && nano /etc/ssh/sshd_config

Eğer nano komutu çalışmadıysa, öncelikle “yum install nano -y” ile programı kurabilirsiniz.

Açılan editörde aşağıdaki satırı bulun
#Port 22

Ve başındaki # işaretini silip port numarasını değiştirin. 2210 örnektir. Siz kendinize ait bir rakam yazabilirsiniz:

Port 2210

Ardından Ctrl+X ile çıkmaya çalışın. Sizden onay isteyecektir. Y’ye basın ve Enter’a basarak değişikliği kaydedin ve çıkış yapın.

2) Servisi yeniden başlatın:

sudo systemctl restart sshd.service

3) Kontrol edin:

Bu komut ile SSH portun değişip değişmediğini kontrol edin. Eğer  *:2210 (ya da girdiğiniz port) görünüyorsa sorun yok demektir:

ss -tnlp|grep ssh

Karşınıza gelmesi gereken ekran çıktısı:

LISTEN          0                128                              *:2210 *:*                                     users:((“sshd”,10783,3))
LISTEN          0               128                              :::2210 :::*                                     users:((“sshd”,10783,4))
Kategoriler
İpuçlar

Windows 10’da Dosya Ve Klasörlerin Sahipliği Nasıl Alınır?

Windows işletim sistemi altında klasörlere ve dosyalara erişim, erişim denetimi aracılığıyla ayarlanır. Windows kullanıcıları bazı klasörleri ya da dosyaları görüntülemeye çalıştığında, erişimin engellediği şeklinde uyarılarla karşılaşabilir.

Erişim denetimi, sahiplik ve izinler adı verilen iki unsurdan oluşur. Herhangi bir dosya oluşturulduğunda, oluşturan kullanıcı nesne sahibi olur. İzinleri değiştirebilmek için bir nesnenin sahipliğini almanız gerekir.

Varsayılan olarak Windows sahipliği ve tam izinleri TrustedInstaller’a verir. Nesne sahipliğini aşağıdaki adımları uygulayarak diğer kullanıcılara verebilirsiniz.

Uyarı: Sistem dosyalarının ya da sürücüsünün sahipliğini almak, işletim sisteminizin kararlılığını bozabilir ve çalışmaz hale getirebilir. Yapacağınız işlemlerde dikkatli olmanız ve önemli dosyalarınızı işlem öncesi yedeklemenizi öneririz.

Komut İstemini Kullanarak Sahipliği Almak

Başlat menüsüne cmd yazarak komut istemini aratın ve sağ tıklayarak yönetici olarak çalıştırın. Bu işlemi WIN+X tuş kombinasyonunu kullanarak açılan menüde Komut İstemi (Yönetici) seçeneğine tıklayarak da gerçekleştirebilirsiniz.

Öncelikle sahipliğini almak istediğiniz nesnenin ya da klasörün tam yolunu bilmeniz gerekiyor. Daha sonra sahiplik almak için komut istemine aşağıdaki satırları girin.

Şu anda oturum açan kullanıcı için dosya sahipliğini almak için:

takeown /F “DosyaKonumu”

Yönetici hesabı için dosya sahipliğini almak için:

takeown /F “DosyaKonumu” /A

Şu anda oturum açan kullanıcı için klasör/sürücü sahipliğini almak için:

takeown /F “KlasorSurucuKonumu“ /R

Yönetici hesabı için klasör/sürücü sahipliğini almak için:

takeown /F “KlasorSurucuKonumu“ /A /R

Sağ Tık Menüsüne Dosya Sahipliğini Alma Seçeneğini Eklemek

Nesne sahipliğini almak için komut istemini kullanmak pratik gelmeyebilir. Zaman kazanmak için bu bağlantıdaki dosyayı kullanarak hazırladığımız dosyayı indirin ve çalıştırın. Daha sonra herhangi bir dosyaya ya da klasöre sağ tıkladığınız zaman karşınıza çıkan “Take Ownership” seçeneğini kullanın.

Sahiplik Ve İzin Değişikliklerini Geri Almak

Yapmış olduğunuz değişiklikleri geri almak ve varsayılan sahibe erişimi geri vermek istiyorsanız bu bağlantıyı kullanarak hazırladığımız dosyayı indirin ve çalıştırın. Daha sonra herhangi bir dosyaya ya da klasöre sağ tıkladığınız zaman karşınıza çıkan “Restore Ownership” seçeneğini kullanın.

Kategoriler
Haberler

Cloudflare çöktü! Binlerce site erişime kapandı!

Dünyada ve ülkemizde birçok sitenin altyapısını oluşturan Cloudflare, saldırılar sonra teknik sorunlar yaşadı. DNS sağlayıcı firma dünya genelinde kesintiler yaşadı.

İnternet dünyasında kullanılan altyapının büyük bir kısmını sağlayan Cloudflare isimli DNS firması, Çin’den gelen DDOS saldırıları sonrasında kesindi yaşadı.

Firmanın yazılımcıları gelen saldırılara karşılık veremezken, ülkemizde de birçok sitede kesintiler meydana geldi.

Altyapısında Cloudflare kullanan SunExpress, Udemy, R10 gibi büyük sitelere de erişim kısıtlı olarak yapılabildi. Olaydan birçok bahis ve kripto para borsa siteleri de nasibini aldı. Tabiki benim sitelerimde etkilendi 🙂

Cloudflare kaynaklı kesinti 30 dakika sürmüştür.

Kategoriler
Opencart

centos sunucuda tar.gz oluşturma ve çıkartma

centos sunucu

Centos sunucunuzda bir klasörü .tar.gz olarak sıkıştırmak istiyorsanız aşağıdaki komutu kullanınız,

tar -zcvf tar-arsiv-ismi.tar.gz kaynak-klasor-ismi

Eğer tam tersi olarak, bir .tar.gz sıkıştırılmış dosyayı çıkartmak istiyorsanız aşağıdaki kodu kullanınız,

tar -zxvf tar-arsiv-ismi.tar.gz

Klasör izinlerini korumak için,

tar -pcvzf tar-arsiv-ismi.tar.gz kaynak-klasor-ismi

Tam tersi, çıkartmak için “c” parametresini “x” ile değiştirin. yani,

tar -pxvzf tar-arsiv-ismi.tar.gz