GrandNode, aynı WordPress gibi birkaç tıklama ile kurulabilen, eklentilerle genişletilebilen açık kaynaklı bir e-ticaret platformu. GrandNode ASP.NET Core 2.2 altyapısı sayesinde Linux, Windows veya Mac üzerinde çalıştırılabiliyor.
GrandNode nedir? GrandNode, NopCommerce yapısı üzerine inşaa edilmiş, MongoDB gibi teknolojilerle performansı artırılmış, tamamen açık kaynaklı, yeni bir e-ticaret platformudur.
GrandNode, ölçeklenebilir e-ticaret yazılımları oluşturmak için işlevsel, platformlar arası, açık kaynaklı bir çözümdür. İşletmelerin çevrimiçi ürün veya hizmetlerini kolayca eklemesi, tanıtması ve satması için çok yönlü ve esnektir. GrandNode basit ürün, paket ürünler, rezervasyon veya açık artırma ile satma imkanı sunmaktadır.
GrandNode Kurulumu
GrandNode’u DigitalOcean üzerinde aylık 5 dolar maliyetli bir VPS oluşturarak çok fazla teknik bilgi gerekmeden, birkaç tıklama ile kolayca kurabilirsiniz. Kendi bilgisayarında veya farklı platformlara kurmak isteyen biraz daha ileri seviye kullanıcılar GrandNode resmi sitesindeki kaynaklardan faydalanabilir.
Digital Ocean üzerinde kurulum
Digital Ocean’da hesabınız yoksa öncelikle bir hesap oluşturun. (Çok sayıda sunucuyu projeler altında düzenli tutmaya yarayan özellikleri geçiyorum.) Ekranın sağ üstünde “create” ve açılan menüde “Droplets” seçeneğine tıklayın.
Açılan sayfada “Marketplace” sekmesine tıklayın.
Açılan sayfada “See All Marketplace Apps” butonuna tıklayın.
Açılan sayfada Grand Node imajını kolayca bulmak için sağ üstteki arama çubuğunu kullanabilirsiniz.
“Create GrandNode Droplet” butonuna tıklayın ve kurulumu başlatın.
Sunucu planını belirleyin. E-ticaret sitenizin kullanım amacına ve yoğunluğuna göre bir plan seçebilir, gerektiğinde daha sonra özelliklerini yükseltip düşürebilirsiniz. Test amaçlı kuruyorsanız 5 Dolarlık, ilk seçeneği belirleyebilirsiniz.
Sunucu lokasyonunu belirleyin. Bu seçenekler arasında Türkiye için en düşük ping Frankfurt lokasyonudur.
Ek özelliklerde IPV6 seçeneğini aktif edin.
SSH Anahtarınızı oluşturun (kesinlikle önerilir) ya da tek kullanımlık şifre özelliği ile devam edin. SSH anahtarı oluşturmayı bilmiyorsanız blogumda detayları ile anlatılmış makaleler bulabilirsiniz.
Ek bir eçenek olarak, aynı konfigirasyonda birden fazla sunucu oluşturabilirsiniz. Sunucu adını belirlerken zorunlu olmamakla birlikte daha okunabilir bir isim seçebilirsiniz. Bu alanda herhangi bir değişiklik yapılmasa da olur.
En altta VPS sunucunuzda yedekleme (backup) özelliği isteyip istemediğiniz sorulur. Bu özellik sunucu ücretine %20 ekler. Test amaçlı kuruyorsanız geçin ve “Create Droplet” butonuna tıklayın.
Alan adı DNS ayarları
Alan adınızı sunucunuza yönlendirmek için temel DNS ayarlarınızı aşağıdaki gibi girin. Öncesinde isim sunucularınızı (nameserver) Digitalocean’a yönlendirmeyi unutmayın.Host NameRedirect toAliasASunucu IPV4AAAASunucu IPV6CNAME@*CNAME@www
GrandNode Admin Paneline giriş
Suncumuz kurulduktan sonra sunucu ip adresini tarayıcınıza yapıştırarak kuruluma devam edin. Aşağıdaki gibi bir sayfa açılacak. Bu sayfada “yonetici eposta”, “yonetici şifre”, “MongoDB Server adı” ve “Veritabanı adı” alanlarını doldurun, geri kalanları ( MongoDBUsername, MongoDBPassword ) boş bırakın. MongoDB Server adı bu tür bir kurulum için standarttır: ” localhost:27017”
Bu aşamada sunucumuzu yeniden başlatmamız gerekecek. Sunucunuza Putty konsol yardımıyla giriş yapın. “reboot” komutunu girin.
(Digital Ocean SSH Kurulumu)
Nginx SSL Yükleme (İsteğe Bağlı)
Hazır konsolumuza girmişken alan adımıza Ücretsiz Let’s Encrypt SSL sertifikamızı yükleyelim. Deneme amaçlı kuranlar bu adımı atlayabilir. Aşağıdaki komutları sırayla girin.
İlk önce, depoyu ekleyin.
sudo add-apt-repository ppa:certbot/certbot
Konsolda beliren onayı ENTER’layın. Ardından, yeni bilgileri almak için paket listesini güncelleyin.
sudo apt-get update
Certbot’un Nginx paketini ile yükleyin apt-get.
sudo apt-get install python-certbot-nginx
Certbot artık kullanıma hazır, ancak SSL’i Nginx için yapılandırmamız gerekiyor.
Nginx’i kurma
Certbot, SSL’i otomatik olarak yapılandırabilir ancak yapılandırmanızda doğru sunucu bloğunu bulabilmesi gerekir. Certbot “Server_name” sertifika isteğinde bulunduğunuz etki alanıyla eşleşen bir yönerge arar.
Sunucunuzda, (/etc/nginx/sites-available/default) varsayılan yapılandırma dosyasınızı aşağıdaki gibi güncelleyin.
. . .
server {
server_name siteniz.com www.siteniz.com
listen 80;
location / {
. . .
Dosyayı kaydedin ve editörünüzden çıkın.
Ardından, yapılandırma düzenlemelerinizin sözdizimini doğrulayın.
sudo nginx -t
Herhangi bir hata alırsanız, dosyayı yeniden açın ve yazım hataları olup olmadığını kontrol edin, ardından tekrar test edin.
Yeni konfigürasyonu yüklemek için Nginx’i yeniden yükleyin.
sudo systemctl reload nginx
Certbot artık doğru bloğu bulup güncelleyebilecek. Şimdi, HTTPS trafiğine izin vermek için güvenlik duvarımızı güncelleyeceğiz.
HTTPS’ye Güvenlik Duvarı Üzerinden İzin Verme
Geçerli ayarı görmek için aşağıdaki komutu girin.
sudo ufw status
Muhtemelen aşağıdaki görünecek, yani web sunucusuna sadece HTTP trafiğine izin verilecek:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
“Nginx Full” profiline Https izni vermek için aşağıdaki komutu girin
sudo ufw allow 'Nginx Full'
Tekrar durumu kontrol edelim
sudo ufw status
Aşağıdaki gibi bir çıktı almanız gerekir.
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Şimdi sertifikaları alalım.
SSL Sertifikası alma
Aşağıdaki komutu girelim
sudo certbot --nginx -d siteniz.com -d www.siteniz.com
İlk kez çalışıyorsanız e-posta adresi girmeniz ve hizmet şartlarını kabul etmeniz istenir. Sonra Certbot Let’s Encrypt sunucusuyla iletişim kuracak, sertifika isteğinde bulunduğunuz alan alanını doğrulayacaktır.
Başarılı olursa Certbot HTTPS ayarlarınızı nasıl yapılandırmak istediğinizi soracaktır. Tüm istekleri HTTPS üzerinden iletmek için “2” yazın ve ENTER’layın.
OutputPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Başarılı olursa aşağıdaki gibi bir mesaj görünecek.
OutputIMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem. Your cert will
expire on 2017-10-23. To obtain a new or tweaked version of this
certificate in the future, simply run certbot again with the
"certonly" option. To non-interactively renew *all* of your
certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
GrandNode E-ticaret siteniz hazır. Alan adınız veya sunucu ip adresiniz üzerinden girip yönetim panelini test etmeye başlayabilirsiniz. (ip/admin ya da domain/admin) Sormak istediğiniz birşey olursa yorum yapabilirsiniz.
GrandNode ve SEO
GrandNode e-ticaret platformunda içerik türlerine Meta Başlık, Açıklama, Kanonik URL ve kalıcı bağlantı gibi özellikler her dil seçeneği için ayrı ayrı eklenebiliyor. Şema işaretleme özelliği ayrı bir eklenti olarak satılıyor. Google Analytics API entegre edilebiliyor.
