ÖDEV
Oluşturacağınız YENİ bir SUNUCU üzerinde
- 3 adet alan adı host edilecektir
- Host edilecek her bir sitenin dosyaları kendi isminde bir klasörde durmaktadır
- İşlem adımları aşağıdadır
SUNUCU Bilgisayarın Kurulması
-
virtualbox.orgadresindenVirtualboxprogramını kişisel bilgisayarınıza kurunuz Ubuntu Desktop 20.04kurulumu için gerekli.isodosyasını terminal ekranını kullanarak indirin- axel paketi ile:
axel -k -n 10 https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.iso - wget paketi ile:
wget -O ubuntu2004.iso https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.iso- Uzak bilgisayar ile bağlantı kurabilmek için “Seetings/Network/Enable Network Adapter/” başlığının altında “Attached to: Bridged Adapter” şeklinde ayarlanmalı.
- Ana ve uzak bilgisayarlar arasında kopyalama vb işlemlerin daha rahat yapılabilmesi için “Settings/General/Advanced” alt başlığında “Shared Clipboard: Bidirectional” ve “Drag’n’Drop: Bidirectional” şeklinde ayarlanmalı.
- Yükleme sırasında
ubuntu-20.04.4-dektop-amd64.isodosyası disk olaral eklenmeli. - Kurulum sırasında https://www.youtube.com/watch?v=x5MhydijWmc referans olarak kullanılabilir.
- axel paketi ile:
-
Virtualbox kullanarak 50GB HDD ve 1 GB RAM ayarı ile
Ubuntu Desktop 20.04işletim sistemini kurunuz (SUNUCU) -
Kurulum sırasında
güncellemeleri kurseçeneğini seçmediğinize emin olun -
Kurulum aşamasında kullanıcı adınızı
UZAKolarak belirleyin -
SUNUCU‘yu başlatın ve kurulum sırasında tanımladığınız kullanıcı ile login olun
-
SUNUCU‘nun root kullanıcısının şifresini değiştirin
sudo passwdkomutu ile parola değiştirebilir.sudo sukomutu ile root kullanıcısna geçilir. Sonrasında ise;
passwdkomutu ile parola değiştirebilir.
-
Kurduğunuz SUNUCU‘nun IP adresini öğreniniz (SUNUCUIP)
- Eğer sunucunuzda net-tools yüklü değilse öncelikle
sudo apt install net-toolskomutu ile yüklenmelidir.
ifconfigkomutu ile genel görünüm elde edilip çıktının içerisinden ip adresi gözle ayırt edilebilir.ifconfig|grep "broadcast"|cut -d t -f 2|cut -d n -f 1komutu ile direkt olarak ip adresi elde edilir(192.168.1.200).-d: “delimiter” yani çıktıyı parçalara bölmemizi sağlayan komuttur. Bu komuttan sonra herhangi bir karakter referans olarak yazılabilir. Yukarıdaki örnekte gösterilen “t” ve “n” harfleri gibi. TAB karakteri için \t ve yeni satır karakteri için \n kullanılabilir.-f: “field” yani çıktıyı böldükten sonra kaçıncı parçayı ele alacağımızı belirttiğimiz komuttur. Bu komuttan sonra herhnagi bir sayı referans olarak yazılabilir. Yukarıdaki örnekte gösterilen “2” ve “1” gibi.
- Eğer sunucunuzda net-tools yüklü değilse öncelikle
-
SUNUCU‘ya erişimde şifre kullanmamak için, KENDI BILGISAYARINIZ‘da üreteceğiniz BENIMSSH adındaki
public ssh-keyi SUNUCU‘ya ekleyin- BENIMSSH key üretimi için KENDI BILGISAYARINIZ‘da:
ssh-keygenkomutu girilir ve “Enter file in which to save the key (/home/osman/.ssh/id_rsa): BENIMSSH” yazılır.Generating public/private rsa key pair. Enter file in which to save the key (/home/osman/.ssh/id_rsa): **BENIMSSH**- Çıkan ekranda şifra kısmının boş bırakılması ve sadece Enter a basılması tercih edilir.
- Bu işlem sonucunda BENIMSSH ve BENIMSSH.pub dosyaları oluşur.
- Sonrasında
/home/osman/.sshdizinine gidilir. - Kontrol etmek için:
llkomutu kullanılır.
- Sunucuya eklemek için **SUNUCU**‘da yapılacak işlemler:
- Sanal sunucuya geçilir.
- Terminal ekranı açılır ( Ctrl + Alt + T ).
sudo apt-get install openssh-server openssh-clientkomutu ile openssh-server ve openssh-client yüklenir. Yüklenmezse kopyalama gerçekleşmez.sudo apt install vimkomutu ile vim editör yüklenir.- NOT: Bazı bilgisayarlarda farklı editörlerde ok tuşları çalışmadığı için vim editör tercih edilir.
sudo vim /etc/ssh/sshd_configkomutu ilesshd_configdosyasının içine girilir.PermitRootLogin prohibit-passwordsatırı bulunur ve başındaki#işareti silinir.- vim ekranındayken
ituşuna basılır veinsertmodu aktif hale getirilir. PermitRootLogin yesolarak değiştirilir ve kaydedilip çıkılır ( :wq + Enter ).sudo service sshd restartkomutu ile serviste yapılan değişikliklerin uygulanması için sshd yeniden başlatılır.- ROOT kullanıcısı ile ŞİFRESİZ olarak UZAKPC’ye bağlanabilmek için KENDI BILGISAYARINIZ‘da:
ssh-copy-id -i ~/.ssh/BENIMSSH.pub root@192.168.1.200komutu ile uzak bilgisayardaki root kullanıcısı/root/.ssh/authorized_keysdosyasının içine eklenir.- Komut çalıştırıldığında UZAK BILGISAYAR‘ın root kullanıcısı şifresi istenmektedir. Şifresi yukarıda belirlenmiştir.
- Bu işlemlerin doğru bir şekilde yapılıp yapılmadığı ise KENDI BILGISAYARINIZ‘da
ssh root@192.168.1.200komutu çalıştırılarak kontrol edilebilir. (“Welcome to Ubuntu” yazısı şifre istemeden karşımıza çıkacak.) - UZAK BILGISAYAR‘ın IP adresi her açılışta değişebilir.
ifconfigkomutu ile kontrol etmekte fayda var.
- BENIMSSH key üretimi için KENDI BILGISAYARINIZ‘da:
-
SUNUCU‘daki oturumunuzu kapatın (SUNUCU açık kalacak)
-
Aşağıdaki işlemleri KENDI BILGISAYARINIZ‘dan SUNUCU‘ya
sshile bağlanarak yapın:ssh root@192.168.1.200komutu ile UZAK BILGISAYARa bağlanılır.
-
SUNUCU‘ya web SUNUCUsu için gerekli ilk işlemleri yapınız (update ve upgrade)
apt updateapt upgrade -y- NOT: Komutun sonunda bulunan
-yifadesi gelen(y or n)sorularına otomatik olarakycevabını vermemizi sağlar.
- NOT: Komutun sonunda bulunan
-
Gerekli paketleri yükleyiniz (vim, git, apache2, php)
sudo apt install vimsudo apt install gitsudo apt install apache2sudo apt install phpya da kısaca:sudo apt install vim git apache2 php
- SUNUCU‘nun şu siteleri barındırması (domainleri host etmesi) beklenmektedir:
- Varsayılan dosyalar
/var/www/htmldizinindedir - aaa.com.tr (Sitenin dosyaları
/var/www/aaadizinindedir) - bbb.com.tr (Sitenin dosyaları
/var/www/bbbdizinindedir) - ccc.com.tr (Sitenin dosyaları
/var/www/cccdizinindedir)
- Varsayılan dosyalar
- SUNUCU‘ya domain adı olmadan (IP adresi ile) erişilmesi halinde (http://SUNUCUIP/):
- Ekranda Türk bayrağı altında
Yurtta Barış, Dünyada Barışmesajını gösteriniz adminer.orgsitesindeki adminer programını indirerekhttp://SUNUCUIP/admineradresinden çalışmasını sağlayınız
- Ekranda Türk bayrağı altında
Kendi Bilgisayarınızda Yapılacaklar
-
Size ait BENIMSSH adında bir
ssh-keyüretinizssh-keygenkomutu ile isim kısmına BENIMSSH yazılarak üretilir.
-
/etc/hostsdosyasına şu kayıtları ekleyiniz:
[SUNUCUIP] aaa.com.tr
[SUNUCUIP] bbb.com.tr
[SUNUCUIP] ccc.com.tr
[SUNUCUIP] www.aaa.com.tr
[SUNUCUIP] www.bbb.com.tr
[SUNUCUIP] www.ccc.com.tr
-
sudo vim /etc/hostskomutu ile SUNUCU‘nun ip adresi ve istenilen form girilerek kayıt edilir.192.168.1.200 aaa.com.tr 192.168.1.200 bbb.com.tr 192.168.1.200 ccc.com.tr 192.168.1.200 www.aaa.com.tr 192.168.1.200 www.bbb.com.tr 192.168.1.200 www.ccc.com.tr -
Host edilecek her bir sitenin dosyaları
/var/www/html/sitelerimadlı dizin altında kendi isminde bir klasörde olmalıdır.cd /var/www/htmlkomutu ile klasörün oluşturulacağı dizine gidilir.mkdir sitelerimkomutu ile klasör oluşturulur.- “Sitelerim” adlı bir klasörün oluşturulma amacı lokaldeki ve sunucudaki dosyaları ayırt etmektir.
-
Host edilecek her bir site için uygun dizinler (folder) oluşturun
cd /var/www/html/sitelerimkomutu ile klasörlerin oluşturulacağı dizine gidilir.mkdir aaamkdir bbbmkdir cccya da kısaca:mkdir aaa bbb ccc
-
Oluşturdğunuz bu dizinlerde içlerine gerekli dosyaların bulunmasını sağlayın
- Host edilecek domainlere ait dizinlerde sadece
index.phpadlı dosya vardır. İçeriği ise şöyledir:<?php echo "<h1>AAA.COM sitesine hoşgeldiniz</h1>"; ?> -
aaa.com için:
cd /var/www/html/sitelerim/aaakomutu ile dosyanın oluşturulacağı dizine gidilir.vim index.phpkomutu ile index.php dosyası bulunduğumuz konumda oluşturulur ve yukarıdaki içerik vim text editor sayesinde index.php dosya içeriğine eklenir.
-
bbb.com için:
cd /var/www/html/sitelerim/bbbvim index.php
- ccc.com için:
cd /var/www/html/sitelerim/cccvim index.php
- Host edilecek domainlere ait dizinlerde sadece
-
SUNUCUIP adresinden sitenin açılması, Türk bayrağı ve mesajın görünmesi için:
cd /var/www/html/sitelerimmkdir htmlcd /html- “bayrak adındaki bir “.jpg” dosyasını bu dizine at.
vim index.phpkomutu ile mevcut dizine index.php dosyasını oluştur ve aşağıdaki kodu ekle.-
rm index.htmlkomutu ile hali hazırda varolan default apache2 sayfasının çalıştığı html dosyasını sileriz ki index.php dosyası çalışsın ve bayrak resmi ile birlikte isteğimiz yazı sayfada görünsün.<center> <img src="bayrak.jpg"> <p>Yurtta Barış, Dünyada Barış</p> </center>
-
SUNUCUIP/adminer adresinden site açılması için:
cd /var/www/html/sitelerim/htmlmkdir adminercd /adminerwget -O index.php https://www.adminer.org/latest.phpkomutu ile gerekli adminer dosyasını indir.
-
Host edilecek sitelere ait dosyaları SUNUCU‘ya kopyalayınız
scpile nasıl kopyalanır?scp -r kaynak/* hedef:kopyanın oluşturulacağı klasörkomutu ile kaynak dizinindeki (tüm = “/*”) dosya ve klasörleri hedef klasöre kopyalarız.scp -r /var/www/html/sitelerim/* root@192.168.1.200:/var/www
rsyncile nasıl kopyalanır?rsync -ravz kaynak/* hedef:kopyanın oluşturulacağı klasörkomutu ile kaynak dizinindeki (tüm = “/*”) dosya ve klasörleri hedef klasör ile senkronize ederiz.rsync -ravz /var/www/html/sitelerim/* root@192.168.1.200:/var/www
SUNUCU Bilgisayarınızda Yapılacaklar
-
sshile kendi bilgisayarından SUNUCU‘ya uzaktan bağlanın - Apache config dosyası tanımlarını oluşturun
- Host edilecek her bir domaine
DOMAIN.com.trvewww.DOMAIN.com.trörneğine göre erişilebilmelidir
- Host edilecek her bir domaine
-
Oluşturduğunuz tanım dosyalarını etkinleştirin
-
Apache servisini yeniden başlatın
-
cd /etc/apache2/sites-available/komutu ile ilgili klasöre geçilir.-
aaa.com.tr için:
cp 000-default.conf aaa.com.tr.confkomutu “000-default.conf” dosyasını “aaa.com.tr.conf” adı ile kopyalar.-
vim aaa.com.tr.confkomutu “aaa.com.tr.conf” dosyasını düzenler.<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName aaa.com.tr ServerAlias www.aaa.com.tr ServerAdmin osmankayi06@gmail.com DocumentRoot /var/www/aaa a2ensite aaa.com.tr.confkomutu site aktivasyonu yapar.service apache2 restartkomutu değişikliklerin uygulanması için apache’yi yeniler.
-
bbb.com.tr için:
cp 000-default.conf bbb.com.tr.confkomutu “000-default.conf” dosyasını “bbb.com.tr.conf” adı ile kopyalar.-
vim bbb.com.tr.confkomutu “bbb.com.tr.conf” dosyasını düzenler.<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName bbb.com.tr ServerAlias www.bbb.com.tr ServerAdmin osmankayi06@gmail.com DocumentRoot /var/www/bbb a2ensite bbb.com.tr.confkomutu site aktivasyonu yapar.service apache2 restartkomutu değişikliklerin uygulanması için apache’yi yeniler.
-
ccc.com.tr için:
cp 000-default.conf ccc.com.tr.confkomutu “000-default.conf” dosyasını “ccc.com.tr.conf” adı ile kopyalar.-
vim ccc.com.tr.confkomutu “ccc.com.tr.conf” dosyasını düzenler.<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName ccc.com.tr ServerAlias www.ccc.com.tr ServerAdmin osmankayi06@gmail.com DocumentRoot /var/www/ccc a2ensite ccc.com.tr.confkomutu site aktivasyonu yapar.service apache2 restartkomutu değişikliklerin uygulanması için apache’yi yeniler.
-
-
Kendi Bilgisayarınızda TARAYICI Üzerinden Yapılacaklar
aaa.com.trvewww.aaa.com.tradreslerinden site açılıyor mu?bbb.com.trvewww.bbb.com.tradreslerinden site açılıyor mu?ccc.com.trvewww.ccc.com.tradreslerinden site açılıyor mu?- SUNUCUIP adresinden site açılıyor, Türk bayrağı ve mesaj görünüyor mu?
- SUNUCUIP/adminer adresinden site açılıyor mu?
VİZE SORULARI
-
HOST ettiğiniz sitenin sayfa sonunda “© 2021-2022. Made with ♥” mesajı görünsün.
-
2022bölümü içinde bulunduğumuz olacak şekilde dinamik olsun. Yani,2024yılında açıldığında2021-2024olarak görünsün. -
Bu şekilde değiştirdiğiniz dosyaları SUNUCU‘ya
rsynckomutu ile yükleyiniz. -
SUNUCU‘nun saat dilimini (TimeZone)
Europe/Istanbulolarak ayarlayın -
SUNUCU‘nun
rootkullanıcısının şifresini123olarak değiştirin -
SUNUCU‘ya
sshkomutu ve “şifreniz” ile erişim sağlayın -
mariadb-servervemariadb-clientpaketlerini kurun -
Şu MySQL komutları çalıştırın: (MySQL shell ekranına girmeden çalıştırın!)
use mysql;update user set plugin='' where User='root';flush privileges;
-
MySQL’e
dbadminadında veQAZ123şifresi ile yeni bir kullanıcı ekleyinGRANT ALL ON *.* TO 'dbadmin'@'localhost' IDENTIFIED BY 'QAZ123' WITH GRANT OPTION; FLUSH PRIVILEGES;
-
mysql_secure_installationprogramını kullanarak MySQL sunucusununrootkullanıcısının şifresiniroot123olarak değiştirin
FİNAL SORUSU
-
Yukarıdaki tüm işlemleri sırasıyla yapacak
.shdosyalarını hazırlayın. -
For more information, you can visit Digital Ocean Community