Kategori arşivi: Debian 9

Debian 9 NTP Sunucusu Kurulumu

Bu makalede sizlere, Debian 9 üzerine en basit şekilde NTP’yi nasıl kuracağınızı göstereceğim. Zaman sunucusu 123/UDP portunu kullanmaktadır. Normal işlemleriniz için kurmanıza gerek yok, Dışarıya hizmet edecek bir sunucu kurarken kullanmanızı öneririm.

Paketin kurulumu için vereceğiniz ilk komut ise aşağıdadır.

root@debian:~# apt -y install ntp

Ardından servisin lokal makinelere ulaşması için gerekli adımlar yapılır. Senkron edilecek sunucuların tanımı gerçekleştirilir.

root@debian:~# nano /etc/ntp.conf
pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst

NTP isteklerinin kabul edileceği ip aralığı aynı yapılandırma dosyasının(ntp.conf) içerisine tanımlanır.

restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap

Servis yeniden başlatılır

root@debian:~# systemctl restart ntp

Senkronizasyon gerçekleştirilmesi için ilk komut verilir.


root@debian:~# ntpq -p 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp-b3.nict.go. .NICT.           1 u    1   64    1   19.707    5.647   0.383
 ntp1.jst.mfeed. 133.243.236.17   2 u    1   64    1   16.625    5.942   0.657
*ntp2.jst.mfeed. 133.243.236.17   2 u    1   64    1   16.673    5.971   0.487

Ardından güvenlik duvarı ayarlamaları yapılır.

iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp --sport 123 -j ACCEPT

İşlemler sonlandıktan hemen sonra ister linux makinelere isterseniz de windows makineler için zaman sunucu kullanımlarını aktif edebilirsiniz.

Debian 9 Üzerine VNC Nasıl Kurulur

Bu makalede size, bir Debian 9 sisteminde VNC sunucusunun nasıl yükleneceği ve yapılandırılacağını anlatacağım. Ayrıca VNC sunucusuna nasıl güvenli bir şekilde bağlanacağınızı göstereceğim.

Virtual Network Computing (VNC), başka bir bilgisayarı uzaktan kontrol etmek için klavyenizi ve farenizi kullanmanıza olanak veren bir grafik masaüstü paylaşım sistemidir.

Masaüstü Ortamını Yükleme

Muhtemelen, Debian sunucunuzda masaüstü ortamı yüklü olmayacaktır. İlk adımımız hafif bir masaüstü ortamı kurmak olacaktır.

Debian depolarında çeşitli masaüstü ortamları da bulunmaktadır. Ben, Xfce’yi tercih edilen masaüstü ortamımız olarak kullanacağım. Hızlı, kararlı ve hafif olduğu için Xfce’yi seviyorum, bu da uzak bir sunucuda kullanım için sistemi ideal bir hale getirecektir.

Debian sunucunuza Xfce’yi aşağıdaki komut aracılığı ile yükleyin

sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Sisteminize bağlı olarak Xfce paketlerinin indirilmesi ve yüklenmesi biraz zaman alabilir.

VNC Sunucusunun Kurulumu

TightVNC, TigerVNC ve x11vnc gibi Debian depolarında çeşitli VNC sunucuları da bulunmaktadır. Her VNC sunucusunun, hız ve güvenlik açısından güçlü ve zayıf yönleri olduğunu hatırlatırım. Aktif olarak yüksek performanslı VNC sunucusu olan TigerVNC’yi kullanmayı tercih ettim. Debian sunucunuza TigerVNC’yi yüklemek için aşağıdaki adımları uygulayın.

sudo apt install tigervnc-standalone-server tigervnc-common

VNC sunucusu kurulduktan sonra, ilk yapılandırmayı oluşturmak ve parolayı tanımlamak için vncserver komutunu çalıştırın. Bu komutu çalıştırırken sudo kullanmamaya özen gösterin.

Parolayı girmeniz ve parolamayı onaylamanız istenecektir. Yalnızca parola oluşturmayı seçerseniz, kullanıcı VNC sunucusunu kullanarak işlemlerini fare ve klavye ile gerçekleştiremez.

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth:  file /home/mertcan/.Xauthority does not exist

New 'debian9.localdomain:1 (mertcan)' desktop at :1 on machine debian9.localdomain

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/mertcan/.vnc/debian9.localdomain:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/mertcan/.vnc/passwd :1 to connect to the VNC server.

Not: Yukarıdaki çıktıda hostname’den sonra :1 geldiğini göreceksiniz. Bu, vnc sunucusunun çalıştığı ekran bağlantı noktası numarasını gösterir. Bizim bu durumumuzda, sunucu 5901 numaralı TCP bağlantı noktasında çalışıyor. Vncserver ile ikinci bir yapılandırma yaparak ekran oluşturursanız, bir sonraki boş bağlantı noktasında çalışacaktır. Buda doğal olarak :2 olacaktır.

vncserver komutunu ilk kez çalıştırdığınızda, parola dosyasını ~/.vnc dizininde oluşturacak ve depolayacaktır.

Dikkat edilmesi gereken nokta, VNC sunucuları ile çalışırken, x’in 5900 + x anlamına gelen bir ekran bağlantı noktası olmasıdır. Bir sonraki adıma ilerlemeden hemen önce VNC ekranını gene vncserver komutunu kullanarak -kill seçeneğini ve argüman olarak sunucu numarasını vererek VNC sunucusunu durdurun.

vncserver -kill :1

Çıktısı ise aşağıdaki gibi olacaktır.

Killing Xtigervnc process ID 8723... success!

VNC Sunucusunu Yapılandırın

Artık hem Xfce hem de TigerVNC’ni sunucuya yüklediğimize göre, TigerVNC’yi Xfce kullanacak şekilde yapılandırmamız gerekiyor. Bunu yapmak için ise aşağıdaki dosyayı oluşturuyoruz

nano ~/.vnc/xstartup

İçeriğini aşağıdaki satırları ekleyerek değiştiriyoruz.


#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 

Bittiğinde, dosyayı kaydedin ve kapatın. TigerVNC sunucusunu başlattığınızda veya yeniden başlattığınızda yukarıdaki komut otomatik olarak çalıştırılacaktır. Unutmadan söyleyeyim ~/.vnc/xstartup dosyasının yürütme izinlerine de sahip olması gerekir.

chmod u+x ~/.vnc/xstartup

Systemd birim dosyası oluşturma

Systemd birim dosyası, VNC hizmetini gerektiğinde kolayca başlatmamıza, durdurmamıza ve yeniden başlatmamıza izin verecektir.

Metin düzenleyicinizi açın ve aşağıdaki yapılandırmayı kopyalayıp yapıştırın. Kullanıcı adınızla eşleştirmek için 7. satırdaki kullanıcı adını değiştirmeyi sakın unutmayın. Bu yarları yaparken sudo ayrıcalıklarını kullanmayı unutmayın

sudo nano /etc/systemd/system/vncserver@.service

İçeriğini aşağıdaki satırları ekleyerek değiştiriyoruz.


[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=mertcan
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1280x720 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Dosyayı kaydedin ve kapatın.

Yeni bir vncserver@.service dosyasının aşağıdaki komutu çalıştırarak systemd’ye bildirin.

sudo systemctl daemon-reload

Ardından, servisi etkinleştirin

sudo systemctl enable vncserver@1.service

Not: @ İşaretinden sonraki 1 numara, VNC hizmetinin çalışacağı ekran bağlantı noktasını tanımlar. Bir önceki bölümde ele aldığımız gibi 1’i kullandığımızdan VNC sunucusu 5901 numaralı bağlantı noktasını dinleyecektir.

Ardından servisi çalıştırın

sudo systemctl start vncserver@1.service

Hizmetin başarıyla başlatıldığını doğrulamak isterseniz

sudo systemctl status vncserver@1.service

Aşağıdaki gibi bir çıktı görmeniz gerekmekte


vncserver@1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-10-02 02:14:43 PDT; 34s ago
  Process: 7061 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 7271 (vncserver)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
           ‣ 7271 /usr/bin/perl /usr/bin/vncserver :1 -geometry 1280x720 -alwaysshared -fg

VNC sunucusuna bağlanma

VNC şifreli bir protokol değildir ve packet sniffing’e maruz kalabilir. Önerilen yaklaşım, yerel makinenizden 5901 numaralı bağlantı noktasındaki trafiği aynı bağlantı noktasındaki sunucuya güvenli bir şekilde yönlendirecek bir SSH tunnel oluşturmaktır.

Konu ile ilgili zamanında yayınladığım SSH Reverse Tunneling İle NAT Arkasındaki Sunucuya Bağlanmak adlı makaleme göz atabilirsiniz.

Linux/MacOS X için

Makinenizde Linux, macOS veya başka bir Unix tabanlı işletim sistemi çalıştırıyorsanız, aşağıdaki komutla kolayca SSH tunnel oluşturabilirsiniz

ssh -L 5901:127.0.0.1:5901 -N -f -l mertcan server-ip-address

Kullanıcı parolasını girmeniz istenecektir.

Windows için

Windows işletim sistemi kullanıyorsanız, PuTTY SSH istemcisini kullanarak SSH tunnel oluşturabilirsiniz.

putty tunnel gorsel1

Sol taraf da yer alan alandan Connection > SSH > Tunnels seçeneğini seçin ve aşağıdaki gibi ip ve port bilgilerinizi girin

putty tunnel gorsel2

Her seferinde bu bilgileri girmeniz gerekmeyecek şekilde ayarları kaydetmek için Sessions alanına geri dönün. Şimdi yapmanız gereken tek şey oluşturduğunuz bu oturum yapılandırmasını Kayıt etmek ve Open tıklayarak uzak sunucuya giriş yapmaktır.

Vncviewer kullanarak uzak masaüstüne bağlanma

Artık SSH tunnel kurduğunuza göre, Vncviewer’ınızı açıp, localhost’taki VNC sunucusuna bağlanabilirsiniz.

vnc baglantisi gorsel1

Ayrıca Google Chrome tarayıcınız için TigerVNC, TightVNC, RealVNC, UltraVNC gibi VNC görüntüleyicileri de kullanabilirsiniz.

Debian 9 Üzerine PHP 7.2 Nasıl Kurulur

İşletim sisteminde ön tanımlı olarak gelen PHP sürümü düşük olduğu için gereken dosyaları PPA aracılığı ile sisteme ekliyoruz. PHP 7.0 sürümündeki Debian 9 depoları, kısa süre içinde destek için ömürlerinin sonuna ulaşacak ve artık güvenlik güncellemelerini almayacak.

Bu makalede, bir Debian 9 sunucusu üzerine PHP 7.2 kurulumunun nasıl yapılacağını göstereceğim.

sudo apt-get install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Ekleme işlemlerini tamamlandıktan hemen sonra. Depoların güncellenmesi işlemlerini yapıyoruz.

sudo apt update

Temel PHP paketlerini kuruyoruz.

sudo apt-get install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml

Ardından php sürümüne bakalım

php -v

Çıktısı aşağıdaki gibi olacak

PHP 7.2.20-1+0~20180910100532.3+stretch~1.gbp17c613 (cli) (built: Sep 10 2018 10:05:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.20-1+0~20180910100532.3+stretch~1.gbp17c613, Copyright (c) 1999-2018, by Zend Technologies

Debian 9 VMware Tools Kurulumu

3 Haziran 2018’de vmWare resmi olarak open-vm-tool paketini desteklemeye başladığını duyurdu. Bu bağlamda sanal makineler için aşağıdaki şekilde desteklenen paketleri kurabiliriz.

echo "deb http://ftp.debian.org/debian/ stretch main contrib" | \
      sudo tee --append /etc/apt/sources.list.d/stretch-openvm-tools.list > /dev/null

Repoları güncelliyoruz

sudo apt-get update

Gerekli olan paketleri sisteme dahil ediyoruz.

sudo apt-get install open-vm-tools net-tools

VMware Workstation ve Fusion’da Paylaşılan Klasörler’i kullanarak dosya paylaşım özelliğini kullanırsanız, sanal makinedeki vmhgfs sürücüsünü yükleyin. Bu sürücü, işletim sisteminde dahil değildir.

Kurulum araçların kullanımında soruna neden olmaz. Bu vmhgfs sürücüsünü yüklemek için:

  1. Yukarıda ki bahsi geçen open-vm-tools kurulumunu tamamlıyoruz.
  2. VMware Workstation veya Fusion ürünleriyle birlikte gelen geleneksel TAR Formatı içerisinde bulunan araçları yükleyin

Debian 9 PowerShell Kurulumu

Linux için PowerShell Core, sisteminize kurup işlemleri gerçekleştirebilmemiz için depoları sistemimize ekleyip gerekli işlemleri yapmamız gerekmektedir. Ardından linux üzerinde powershell komutlarını çalıştırabileceksiniz.

Sistem araçlarının yüklenmesi

sudo apt-get update
sudo apt-get install curl gnupg apt-transport-https

Yüklenecek powershell deposundaki programlara erişmek için gerekli olan public keyimizi sisteme dahil ediyoruz.

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Depomuzu sisteme dahil ediyoruz.

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/microsoft.list'

depoları güncelliyoruz

sudo apt-get update

powershell kurulumunu tamamlıyoruz.

sudo apt-get install -y powershell

PowerShell kurulumu tamamlandıktan sonra başlatmak için aşağıdaki komut kullanılır.

pwsh

Debian 9 Microsoft SQL Server Kurulumu

Microsoft SQL Server ihtiyacınız varsa Microsoft server ürünlerine ihtiyacınız yok. Kısıtlı imkanlarınız varsa aşağıdaki kurulum uygulanarak debian 9 üzerine kurulumu gerçekleştirebilirsiniz. Aksi durumlarda Microsoft server ürünlerini tercih etmeyi unutmayın.

Gerekli paket listelerini sisteme dahil edelim.

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
echo "deb http://ftp.debian.org/debian stretch-backports main" | \
      sudo tee --append /etc/apt/sources.list.d/stretch-backports.list > /dev/null

Paket listesini güncelleyelim ve mssql-server kurulumunu başlatalım.

sudo apt-get update
sudo apt-get install mssql-server

Kurulumu tamamlamak için /opt/mssql/bin/sqlservr-setup komutunu çalıştıralım.

sudo /opt/mssql/bin/sqlservr-setup
Microsoft(R) SQL Server(R) Setup

You can abort setup at anytime by pressing Ctrl-C. Start this program
with the --help option for information about running it in unattended
mode.

The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388 and found
in /usr/share/doc/mssql-server/LICENSE.TXT.

Do you accept the license terms? If so, please type "YES": YES

Please enter a password for the system administrator (SA) account: 
Please confirm the password for the system administrator (SA) account: 

Setting system administrator (SA) account password...
Do you wish to start the SQL Server service now? [y/n]: y
Do you wish to enable SQL Server to start on boot? [y/n]:

Varsayılan sql sunucu portu 1433’ü dinleyebilir olduğuna bakalım.

sudo lsof -i :1433

Çıktısı aşağıdaki gibi olmalı

COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sqlservr 15020 mssql   65u  IPv4 152906      0t0  TCP *:ms-sql-s (LISTEN)

Linux konsolundan sql sunucusuna bağlanmak isterseniz, önce sqsh’ı kurarak işleme başlayabilirsiniz.

sudo apt-get install sqsh

Yeni kurulan sql’de bağlantı sağlamak istediğinizde sa kullanıcısını kullanın

sqsh -S localhost -U sa
Password: 
1> CREATE DATABASE test1
2> go
1> SELECT Name from sys.Databases
2> go

Microsoft Sql Server Management Studio üzerinden bağlanmak da mümkündür.

Debian 9 Hyper-V Daemons Kurulumu

Hyper-V sanallaştırma ortamı kullanılacaksa uygulama üzerinde hyper-v için bir takım servislerin çalışması gerekmektedir. Örneğin; makinelerin ip adreslerinin gözükmesi ve ölçümlerin tespiti için sisteme ekleme yapmamız gerekiyor. Bu bağlamda aşağıdaki paketin sisteme eklenmesi gerekmektedir. Hyper-V Daemons, Vmware üzerinde her zaman kurduğumuz Vmware Tools ile aynı işlevleri görmektedir.

apt install hyperv-daemons

Aynı şekilde eğer sistem debian tabanlı olan ubuntu ise aşağıdaki paket sisteme dahil edilmelidir.

apt install linux-image-virtual

Ardından sistemlerin yeniden başlatılmasına gerek yoktur.