Ücretsiz Web Sitesi Kurma

Bu yazımda size sadece 30 TL alan adı maliyet ile ücretsiz web sitesi kurma adımlarından bahsedeceğim.

Öncelikle Wix, WordPress, Blogger vb. hazır site sunan firmalar aracılığı ile ücretsiz olarak bir web sitesi yayınlayabileceğinizi belirtmek isterim. Fakat kurulan sitenin alan adı wix.com, blogspot.com veya wordpress.com gibi servis sağlayıcının ismini barındıracaktır. Ek olarak firma kendi reklamlarını ziyaretçilerinize gösterecektir.

Reklam geliri elde edebileceğiniz, kontrolü size ait bir web siteye sahip olmak için ihtiyacın olan şeyleri aşağıda detaylı olarak anlatacağım

Web Sitesi Nasıl Çalışır?

Öncelikle bir web isteğinin ilgili sunucuya nasıl gittiğini yüzeysel olarak inceleyelim.

Kullanıcı tarayıcıya www.yasamhileleri.com yazar.

Bilgisayar bu isme karşılık gelen ip adresini öğrenmek için global DNS sistemine bir sorgu gönderir.

Hangi DNS sunucunun ilgili kayıtları barındırdığı öğrenilir.

$ dig ns yasamhileleri.com +short
tani.ns.cloudflare.com.
cash.ns.cloudflare.com.

Sonrasında ilgili DNS sunucusuna istenilen ismin karşılığında kaydın olup olmadığı sorulur.

$ dig www.yasamhileleri.com +short
104.27.174.166

İp adresi DNS sunucuda tanımlı ise tarayıcı sunucuya HTTP isteğini gönderir.

$ curl https://www.yasamhileleri.com -I 
HTTP/2 200

Web Sitesi Nasıl Kurulur?

Bir websitesi kurmak için ihtiyacımız olan en önemli iki şey; alan adı ve sunucudur.

Alan adı alma ve sunucu kurma işlemleri sonrasında ise DNS tanımlamalarını yapıyor olacağız.

Bir sonraki adımda ise sunucu ile kullanıcı arasındaki güvenliği arttırmak için HTTPS’i aktif edeceğiz.

Alan Adı Alma
Öncelikle akılda kalıcı bir alan adı belirlemekle işe başlayabilirsin. Godaddy üzerinden ilk alışverişe özel olarak yaklaşık 30 TL’ye istediğin adına sahip olabilirsin. Belirtmek isterim ki  bu adım tek maliyet gerektiren adımımız.

Sunucu Kurulumu
Sitenin sayfalarının yayınlanacağı bir sunucuya ihtiyaç olacak. Google Cloud üzerinden $300’lık deneme hesabı ile 1 senelik sunucu maliyetinden kurtulabilirsiniz.

https://cloud.google.com’a tıkladıktan sonra sağ üstteki “Get started for free” seçeneğine tıklayarak mevcut Gmail hesabınla oturum açabilirsin.

Kayıt olurken kişisel bilgiler ve robot işlem yapılmadığından emin olmak için kredi kartınız istenir. Manuel olarak ücretli hesaba geçmediğiniz sürece ücretsiz deneme bittikten sonra sizden ücret alınmaz.

Sunucu kurulumu için Compute Engine -> Sanal makine örnekleri tıklanarak “Oluşturun” seçeneği seçilir.

Bir sonraki adımda sunucu kaynakları belirlenir.

1 vCPU, 3.75 GB Memory ve 10 GB disk seçeneği ile ayda $25 civarında maliyeti olan bir linux sunucu oluşturabilirsiniz.

İşletim sistemi Windows olduğunda lisanstan dolayı maliyet 2 katına çıkmaktadır. Minimum disk olarak da 50 GB seçilebiliyor. Ve 1vCPU 3.75 GB Memory ile çalışan Windows sunucu sizi de kendini de yoracaktır. Bundan dolayı minimum 2 vCPU 4 GB Memory 50 GB diskin kullanmanız gerekir. Bunun maliyeti ise $100 civarında olacaktır.

Ben bu örnekte Ubuntu 18.04 üzerinden işlemleri gerçekleştiriyor olacağım. Siz de bu yoldan giderek 3 kat kazanç sağlayabilirsiniz.

İşletim sistemi seçildikten sonra Güvenlik Duvarı bölümündeki HTTP ve HTTPS işaretlendikten sonra “Oluştur”a tıklanır.

12 aylık kullanımın bedeli $300 civarında olacak olan sunucuz hazır durumda.



SSH Yapılandırması
Sunucu oluşturulduktan sonra Sanal makine örnekleri’nden erişilebilir duruma gelecektir. Sırada SSH üzerinden yönetmek üzere sunucuya bağlanmak kalıyor. SSH butonundan “Tarayıcı penceresinde aç” seçeneği seçilir.

Bu yol ile tarayıcı üzerinden sunucuya bağlanabilir duruma gelenir.

Buradaki diğerler imajlar gibi Ubuntu imajı da minimize edilmiştir. Varsayılanda gelen çoğu program devre dışı bırakılmıştır. Aşağıdaki komut ile gerekli olan paketler geri yüklenir.

$sudo unminimize

Öncelikle ubuntu kullanıcısının şifresi yenilenir.

$sudo passwd ubuntu

Varsayılan olarak şifre ile sunucu erişimi kapalıdır. (SSH-Key ile ilerlemek daha güvenli fakat bu yazıda bu biraz daha kestirmeden anlatabilmek için şifre ile oturum açma seçeneği üzerinden anlatacağım.) Bu ayarı aşağıdaki komut ile aktif ediyoruz.

$ sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

Gerekli kontrolleri gerçekleştiriyoruz.

$ sudo grep PasswordAuthentication /etc/ssh/sshd_configPasswordAuthentication yes

SSH servisini yeniden başlatıyoruz.

$sudo service ssh restart

Bağlantı testini gerçekleştiriyoruz.

$ ssh [email protected]
[email protected]'s password

Eğer linux veya mac kullanıyorsan ssh istemicisi yüklemenize gerek yok fakat Windows üzerinden bir linux sunucuyu yönetmek isterseniz Putty aracını kullanabilirsiniz.

Web Servisi Yapılandırması
Oluşturulan sunucudaki web sayfalarını intenet ortamına sunabilmek için bir web servisinin yapılandırılması gerekiyor.

Öncelikle işletim sistemini paketleri güncellenir.

sudo apt-get update
sudo apt-get upgrade

Güncellemeler tamamlandıktan sonra web servisi yüklenir.

sudo apt-get install nginx

Kurulum tamamlandıktan sonra ip adresini tarayıcı yazdığınızda “Welcome to nginx!” yazısını göreceksiniz.


DNS Yapılandırması
DNS kaydına bir ip adresi tanımlamak için GoDaddy panelinden DNS yönetimine girilir.

Parked yazan yere sunucunun ip adresi yazılır.

Bu işlem sonrası sunucu artık bir isim ile erişilebilir duruma gelir.

SSL Yapılandırması
Sitenizin güvenliğini arttırmak için Let’s Encrypt aracılığı ile ücretiz bir SSL sertifikası oluşturabilirsiniz.

Bu işlem öncesi gerekli olan paketler yüklenir.

sudo apt-get install certbot python-certbot-nginx -y

Certbot ile bir sertifika isteği yapılır.

$ sudo certbot --nginx -d www.yasamhileleri.com

Nginx parametresi ile çalıştırıldığı için ssl ayarları otomatik olarak yapılandırılır.

Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default

Ek olarak HTTP trafiğini güvenli olan HTTPS’e yönlendirmek isteyip istemediğinizi soracaktır. Sitenizin güvenliğini arttırmak için “Redirect”i seçebilirsiniz.

Please 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 fornew sites, or if you're confident your site works on HTTPS. You can undo thischange by editing your web server's configuration.-------------------------------------------------------------------------------Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default

Sertifika test edilir.

$ sudo curl -IL https://www.yasamhileleri.com -v
* Connected to www.yasamhileleri.com (34.69.19.80) port 443 (#0)
* subject: CN=www.yasamhileleri.com* start date: Oct 14 11:24:10 2019 GMT* expire date: Jan 12 11:24:10 2020 GMT* subjectAltName: host "www.yasamhileleri.com" matched cert's "www.yasamhileleri.com"* issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3* SSL certificate verify ok.

Tarayıcıdan kontrol ettiğinizde de sitenin bağlantısının güvenli olduğunu görebilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *