Debian Kurulum Notlarım/ install Notes
Debian Kurulum Notlarım/ install Notes
1. Debian Repository Ekleme / Adding Debian Repository
— Sources.list Dosyası Ekleme / Adding Sources.list File
— Temel Repository Formatı / Basic Repository Format
— Resmi Repository’ler / Official Repositories
— GPG Anahtarı Ekleme / Adding GPG Key
— Repository Güncelleme / Repository Update
— Backports Repository / Backports Repository
— Third-Party Repository / Third-Party Repository
— Repository Silme / Remove Repository
— Repository Yönetimi / Repository Management
— HTTPS Desteği / HTTPS Support
2. Terminal Kopyalama-Yapıştırma / Terminal Copy-Paste
— Terminal İçi Kopyalama / In-Terminal Copy
— Sağ Tık Menüsü / Right Click Menu
— Orta Fare Tuşu / Middle Mouse Button
— Terminal Kısayolları / Terminal Shortcuts
— Screen Kullanımı / Screen Usage
— Tmux Kullanımı / Tmux Usage
— Buffer Kopyalama / Buffer Copy
— xclip Kullanımı / xclip Usage
— Terminal Yapılandırması / Terminal Configuration
— Vim Kopyalama / Vim Copy
— SSH Kopyalama / SSH Copy
3. Sistem Askıya Alma / System Suspend
— Askıya Alma Engelleme / Prevent Suspend
— Dosya Kaydetme / Save Files
— Sistem Durumu Kontrolü / System Status Check
— Askıya Alma Yönetimi / Suspend Management
— Zamanlı Askıya Alma / Timed Suspend
4. RDP Kurulumu / RDP Setup
— XRDP Kurulumu / XRDP Installation
— XRDP Servis Yönetimi / XRDP Service Management
— Firewall Ayarları / Firewall Settings
— Masaüstü Ortamı Ayarları / Desktop Environment Settings
— Sorun Giderme / Troubleshooting
— Güvenlik Önerileri / Security Recommendations
— Bağlantı Bilgileri / Connection Information
5. LAMP install (phpmayadmin + secure install)
6. OpenSSH install
7. Debian/Linux sisteminde saat ve tarih güncelleme işlemleri
8. Debian/Linux’ta uyku moduna girmeyi engelleme yöntemleri
9. FTP sunucusu kurulumu için vsftpd (Very Secure FTP Daemon) kullanacağız
10. Debian’a VSCode kurulumunu
*****************************************************
Debian’da repository (depo) ekleme konusunda size yardımcı olacağım. İşte farklı yöntemlerle repository ekleme adımları:
1. Sources.list Dosyası Üzerinden Ekleme:
```bash
# Sources.list dosyasını açın
sudo nano /etc/apt/sources.list
# Veya yeni bir dosya oluşturun
sudo nano /etc/apt/sources.list.d/yeni_repo.list
```
2. Temel Repository Formatı:
```bash
deb http://depo-adresi/debian version main contrib non-free
deb-src http://depo-adresi/debian version main contrib non-free
```
3. Debian’ın Resmi Repository’leri (Örnek):
```bash
# Debian 12 (Bookworm) için
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# Debian 11 (Bullseye) için
deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
```
4. GPG Anahtarı Ekleme:
```bash
# Anahtar indirme
wget -qO — https://paket-adresi/KEY.gpg | sudo apt-key add -
# Veya
curl -fsSL https://paket-adresi/KEY.gpg | sudo gpg — dearmor -o /etc/apt/trusted.gpg.d/paket.gpg
```
5. Repository Güncelleme:
```bash
# Paket listelerini güncelle
sudo apt update
# Tüm paketleri güncelle
sudo apt upgrade
```
6. Backports Repository Ekleme:
```bash
# Bookworm için
deb http://deb.debian.org/debian bookworm-backports main contrib non-free
# Bullseye için
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
```
7. Third-Party Repository Örnekleri:
PHP Repository:
```bash
# Ondrej PHP PPA
wget -qO — https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” | sudo tee /etc/apt/sources.list.d/php.list
```
Node.js Repository:
```bash
# NodeSource repository
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo bash -
```
8. Repository Silme:
```bash
# sources.list.d dizininden silme
sudo rm /etc/apt/sources.list.d/repo_adi.list
# veya sources.list içinden ilgili satırları silme/yorum satırı yapma
sudo nano /etc/apt/sources.list
```
9. Repository Yönetimi İçin Yararlı Komutlar:
```bash
# Mevcut repository’leri listele
apt policy
# Repository anahtarlarını listele
sudo apt-key list
# Bozuk repository’leri kontrol et
sudo apt update 2>&1 | grep Err
# Repository önbelleğini temizle
sudo apt clean
```
10. HTTPS Desteği İçin:
```bash
sudo apt install apt-transport-https ca-certificates
```
Önemli Notlar:
- Repository eklerken güvenilir kaynaklardan eklediğinizden emin olun
- Her repository ekledikten sonra `sudo apt update` komutunu çalıştırın
- Eski/kullanılmayan repository’leri sistemden kaldırın
- Third-party repository’leri dikkatli kullanın
- Her zaman GPG anahtarlarını doğrulayın
Bu adımları takip ederek Debian sisteminize güvenli bir şekilde yeni repository’ler ekleyebilirsiniz.
Debian terminalinde kopyalama ve yapıştırma işlemleri için size farklı yöntemleri açıklayacağım:
1. Terminal İçinde Kopyalama-Yapıştırma:
```bash
# Kopyalama
CTRL + SHIFT + C
# Yapıştırma
CTRL + SHIFT + V
```
2. Sağ Tık Menüsü:
```bash
# Fare sağ tıklama ile:
Kopyala (Copy)
Yapıştır (Paste)
```
3. Orta Fare Tuşu ile:
```bash
# Metni seçtikten sonra:
Orta tuş (tekerlek) ile tıklayarak yapıştırma
```
4. Terminal Kısayolları:
```bash
# Metin seçimi:
SHIFT + Sol/Sağ ok tuşları
# Tüm metni seçme:
CTRL + SHIFT + A
# Kesme:
CTRL + SHIFT + X
```
5. Screen Kullanıcıları İçin:
```bash
# Copy mode’a geçiş:
CTRL + A +
```
6. Tmux Kullanıcıları İçin:
```bash
# Copy mode’a geçiş:
CTRL + B +
```
7. Terminal Buffer Kopyalama:
```bash
# Son çıktıyı kopyalama
!$
# Son komutun tamamını kopyalama
!!
```
8. xclip Kullanımı:
```bash
# xclip kurulumu
sudo apt install xclip
# Dosya içeriğini panoya kopyalama
cat dosya.txt | xclip -selection clipboard
# Komut çıktısını panoya kopyalama
pwd | xclip -selection clipboard
```
9. Terminal Yapılandırması:
```bash
# .bashrc veya .zshrc dosyasına eklenebilecek alias’lar:
alias c=’xclip -selection clipboard’
alias v=’xclip -selection clipboard -o’
```
10. Vim Kullanıcıları İçin:
```bash
# Vim içinde kopyalama-yapıştırma:
# Visual mode’a geçiş
v
# Tüm satırı seçme
V
# Kopyalama
y
# Yapıştırma
p
```
11. SSH Üzerinden Kopyalama:
```bash
# SSH oturumunda kopyalama-yapıştırma aktif etme
ssh -X kullanici@sunucu
```
Önemli İpuçları:
- Terminal emülatörünüzün ayarlarından kopyalama-yapıştırma davranışını özelleştirebilirsiniz
- Bazı terminal emülatörleri otomatik kopyalama özelliğine sahiptir
- UTF-8 karakter kodlaması sorunlarına dikkat edin
- Güvenlik nedeniyle bazı terminaller yapıştırma işlemini onay gerektirebilir
Güvenlik Notları:
- Hassas bilgileri kopyalarken dikkatli olun
- Pano içeriğini düzenli olarak temizleyin
- Güvenilmeyen kaynaklardan yapıştırma yaparken dikkatli olun
Terminal türüne göre ek özelleştirmeler:
GNOME Terminal:
```bash
# Ayarlar menüsünden:
Düzenle > Tercihler > Kısayollar
```
Konsole:
```bash
# Ayarlar menüsünden:
Ayarlar > Kısayolları Yapılandır
```
Bu yöntemlerden size en uygun olanı kullanabilirsiniz.
``````
The system will suspend now!
``````
Bu mesaj sistemin askıya alınacağını (suspend/uyku moduna geçeceğini) belirten bir uyarıdır. İşte bu durumla ilgili bilmeniz gerekenler ve yapabilecekleriniz:
1. Sistemin Askıya Alınmasını Engellemek İçin:
```bash
# Askıya almayı iptal etmek için
sudo systemctl cancel-shutdown
# veya
sudo shutdown -c
```
2. Açık Dosyaları Kaydetme:
- Tüm açık belgelerinizi kaydedin
- Çalışan programları düzgünce kapatın
- Devam eden indirmeleri durdurun
3. Sistem Durumunu Kontrol:
```bash
# Sistemi kullanan kullanıcıları görmek için
who
# Çalışan işlemleri görmek için
ps aux
# Sistem kaynaklarını kontrol etmek için
top
```
4. Askıya Alma İşlemini Yönetme:
```bash
# Manuel askıya alma
sudo pm-suspend
# Veya
sudo systemctl suspend
```
5. Zamanlı Askıya Alma:
```bash
# 30 dakika sonra askıya alma
sudo shutdown -h +30
# Belirli bir saatte askıya alma
sudo shutdown -h 23:00
```
Önemli Notlar:
- Açık dosyalarınızı kaydettiğinizden emin olun
- Önemli işlemlerin tamamlandığından emin olun
- Sistem yeniden başlatıldığında işlerinize kaldığınız yerden devam edebilirsiniz
Debian’da RDP (Remote Desktop Protocol) kurulumu için adım adım rehber:
**TÜRKÇE:**
1. **XRDP Kurulumu:**
```bash
# Sistem güncellemesi
sudo apt update
sudo apt upgrade -y
# XRDP ve XFCE4 masaüstü ortamı kurulumu
sudo apt install xrdp xfce4 xfce4-goodies -y
```
2. **XRDP Servisini Başlatma:**
```bash
# XRDP servisini başlat
sudo systemctl start xrdp
# Sistem başlangıcında otomatik başlatma
sudo systemctl enable xrdp
```
3. **Firewall Ayarları:**
```bash
# UFW ile port açma
sudo ufw allow 3389/tcp
# Firewall’u yeniden başlat
sudo ufw reload
```
4. **Masaüstü Ortamını Ayarlama:**
```bash
# XFCE4 yapılandırma dosyası oluşturma
echo xfce4-session > ~/.xsession
# XRDP yapılandırma dosyasını düzenleme
sudo nano /etc/xrdp/startwm.sh
```
Dosyanın sonuna ekleyin:
```bash
#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
startxfce4
```
5. **Servisi Yeniden Başlatma:**
```bash
sudo systemctl restart xrdp
```
6. **Bağlantı Durumunu Kontrol Etme:**
```bash
sudo systemctl status xrdp
```
**ENGLISH:**
1. **Installing XRDP:**
```bash
# System update
sudo apt update
sudo apt upgrade -y
# Install XRDP and XFCE4 desktop environment
sudo apt install xrdp xfce4 xfce4-goodies -y
```
2. **Starting XRDP Service:**
```bash
# Start XRDP service
sudo systemctl start xrdp
# Enable automatic start at boot
sudo systemctl enable xrdp
```
3. **Firewall Settings:**
```bash
# Open port with UFW
sudo ufw allow 3389/tcp
# Reload firewall
sudo ufw reload
```
4. **Setting Up Desktop Environment:**
```bash
# Create XFCE4 configuration file
echo xfce4-session > ~/.xsession
# Edit XRDP configuration file
sudo nano /etc/xrdp/startwm.sh
```
Add to end of file:
```bash
#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
startxfce4
```
5. **Restart Service:**
```bash
sudo systemctl restart xrdp
```
6. **Check Connection Status:**
```bash
sudo systemctl status xrdp
```
**Sorun Giderme / Troubleshooting:**
1. **Bağlantı Sorunları / Connection Issues:**
```bash
# Log kontrolü / Check logs
sudo tail -f /var/log/xrdp.log
# Servis durumu / Service status
sudo systemctl status xrdp
```
2. **İzin Sorunları / Permission Issues:**
```bash
# İzinleri düzenleme / Fix permissions
sudo chown xrdp:xrdp /var/run/xrdp.pid
sudo chown xrdp:xrdp /var/run/xrdp.sock
```
3. **Port Kontrolü / Port Check:**
```bash
# Port dinleme durumu / Port listening status
sudo netstat -tulpn | grep xrdp
```
4. **SSL Sertifika Yenileme / SSL Certificate Renewal:**
```bash
# Sertifikaları yenileme / Renew certificates
sudo xrdp-keygen xrdp auto
```
**Güvenlik Önerileri / Security Recommendations:**
1. **Güçlü Şifre Kullanımı / Strong Password Usage:**
```bash
# Şifre politikası ayarlama / Set password policy
sudo apt install libpam-pwquality
sudo nano /etc/security/pwquality.conf
```
2. **SSH Üzerinden Tünel / SSH Tunneling:**
```bash
# SSH tüneli oluşturma / Create SSH tunnel
ssh -L 3389:localhost:3389 kullanici@sunucu-ip
```
3. **Fail2ban Kurulumu / Install Fail2ban:**
```bash
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
```
**Bağlantı Bilgileri / Connection Information:**
- Varsayılan Port / Default Port: 3389
- Protokol / Protocol: RDP
- Kullanıcı Adı / Username: Linux kullanıcı adınız / Your Linux username
- Şifre / Password: Linux kullanıcı şifreniz / Your Linux password
Windows’tan bağlanmak için “Uzak Masaüstü Bağlantısı” (Remote Desktop Connection) uygulamasını kullanabilirsiniz. / You can use Remote Desktop Connection application from Windows to connect.
Debian’da LAMP (Linux, Apache, MySQL, PHP) stack kurulumunu adım adım anlatayım:
1. Sistem Güncellemesi / System Update:
```bash
sudo apt update
sudo apt upgrade -y
```
2. Apache Web Server Kurulumu / Apache Installation:
```bash
# Apache kurulumu
sudo apt install apache2
# Apache’yi başlatma
sudo systemctl start apache2
sudo systemctl enable apache2
# Durumu kontrol
sudo systemctl status apache2
```
3. MySQL (MariaDB) Kurulumu / MySQL Installation:
```bash
# MySQL kurulumu
sudo apt install mariadb-server mariadb-client
# MySQL’i başlatma
sudo systemctl start mariadb
sudo systemctl enable mariadb
# Güvenlik yapılandırması
sudo mysql_secure_installation
```
4. PHP Kurulumu / PHP Installation:
```bash
# PHP ve gerekli modüllerin kurulumu
sudo apt install php php-mysql php-cli php-common php-mbstring php-gd php-curl php-xml php-zip
# Apache PHP modülü
sudo apt install libapache2-mod-php
# Apache’yi yeniden başlatma
sudo systemctl restart apache2
```
5. Test ve Doğrulama / Testing:
```bash
# PHP bilgi sayfası oluşturma
sudo nano /var/www/html/info.php
```
PHP test dosyası içeriği:
```php
<?php
phpinfo();
?>
```
6. İzinler ve Güvenlik / Permissions:
```bash
# Web dizini izinleri
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
```
7. Firewall Ayarları / Firewall Settings:
```bash
# HTTP ve HTTPS portlarını açma
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
```
8. PhpMyAdmin Kurulumu (Opsiyonel) / PhpMyAdmin Installation /phpMyAdmin secure Installation adım adım yapalım:
1. İlk olarak paket deposunu güncelleyelim:
```bash
sudo apt update
```
2. phpMyAdmin ve gerekli PHP paketlerini kuralım:
```bash
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
```
Kurulum sırasında şu adımlarla karşılaşacaksınız:
- Web sunucusu seçimi penceresi geldiğinde:
— Apache2 kullanıyorsanız Apache2'yi seçin (Space tuşu ile seçim yapılır)
— Tab tuşu ile OK’a gelip Enter’a basın
- “Configuring phpmyadmin” ekranında:
— “Yes” seçeneğini seçin ve phpMyAdmin veritabanını otomatik yapılandırmasına izin verin
- Veritabanı yapılandırması için bir şifre belirlemeniz istenecek:
— Güvenli bir şifre belirleyin ve not alın
— Şifreyi tekrar girin
3. PHP’yi yeniden başlatalım:
```bash
sudo systemctl restart apache2
```
4. Güvenlik için Apache’de phpMyAdmin konfigürasyonunu düzenleyelim:
```bash
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
```
5. Apache’yi yeniden başlatalım:
```bash
sudo systemctl restart apache2
```
Artık phpMyAdmin’e erişebilirsiniz:
- Web tarayıcınızda şu adresi açın: `http://localhost/phpmyadmin` veya `http://sunucu-ip-adresi/phpmyadmin`
- Kullanıcı adı olarak “root”
- Şifre olarak MySQL root şifrenizi kullanın
///////////////phpmayadmin//////////////
************gerekirsese yeniden yapılandırma************
Tamam, phpMyAdmin’i yeniden yapılandıralım:
1. Önce yeniden yapılandırma komutunu çalıştıralım:
```bash
sudo dpkg-reconfigure phpmyadmin
```
Bu komuttan sonra karşınıza aşağıdaki adımlar çıkacak:
2. Yapılandırma Adımları:
— Web sunucusu seçimi ekranında:
— Apache2'yi seçin (Space tuşu ile)
— Tab tuşu ile OK’a gelip Enter’a basın
- “Configure database for phpmyadmin with dbconfig-common?” sorusuna:
— “Yes” seçeneğini seçin
- phpMyAdmin veritabanı için şifre belirleme:
— Güvenli bir şifre girin (örneğin: şifreniz)
— Şifreyi tekrar girin
3. Yapılandırma tamamlandıktan sonra, gerekli servisleri yeniden başlatalım:
```bash
sudo systemctl restart mysql
sudo systemctl restart apache2
```
4. İzinleri kontrol edelim:
```bash
sudo chown -R www-data:www-data /etc/phpmyadmin/
sudo chmod 644 /etc/phpmyadmin/config.inc.php
```
5. MySQL’de root kullanıcısının yetkilendirmesini yapalım:
```bash
sudo mysql
```
MySQL komut satırında:
```sql
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘şifre’;
FLUSH PRIVILEGES;
EXIT;
```
6. Son olarak, tüm ayarların doğru çalıştığından emin olmak için tekrar servisleri yeniden başlatalım:
```bash
sudo systemctl restart mysql
sudo systemctl restart apache2
```
Şimdi web tarayıcınızdan phpMyAdmin’e erişmeyi deneyin:
```
http://localhost/phpmyadmin
```
veya
```
http://sunucu-ip-adresi/phpmyadmin
```
Kullanıcı adı: root
Şifre: şifre
Eğer hala bir sorunla karşılaşırsanız, lütfen hatayı paylaşın. Size yardımcı olmaya devam edeceğim.
*********************************************************
Güvenlik İpuçları:
1. phpMyAdmin dizinini yeniden adlandırabilirsiniz
2. .htaccess ile ek güvenlik katmanı ekleyebilirsiniz
3. Erişimi belirli IP adreslerine kısıtlayabilirsiniz
Önemli Dizinler / Important Directories:
```bash
# Web root dizini
/var/www/html/
# Apache yapılandırma
/etc/apache2/
# PHP yapılandırma
/etc/php/
# MySQL yapılandırma
/etc/mysql/
```
Temel Komutlar / Basic Commands:
```bash
# Apache yönetimi
sudo systemctl start|stop|restart|status apache2
# MySQL yönetimi
sudo systemctl start|stop|restart|status mariadb
# Apache hata logları
sudo tail -f /var/log/apache2/error.log
# PHP hata logları
sudo tail -f /var/log/php_errors.log
```
Güvenlik Önerileri / Security Tips:
1. Güçlü şifreler kullanın / Use strong passwords
2. Düzenli güncellemeleri yapın / Regular updates
3. SSL sertifikası kurun / Install SSL certificate
4. Güvenlik duvarını yapılandırın / Configure firewall
5. Dosya izinlerini kontrol edin / Check file permissions
SSL Sertifikası Kurulumu / SSL Certificate:
```bash
# Let’s Encrypt kurulumu
sudo apt install certbot python3-certbot-apache
# Sertifika alma
sudo certbot — apache
```
Virtual Host Oluşturma / Creating Virtual Host:
```bash
# Yapılandırma dosyası oluşturma
sudo nano /etc/apache2/sites-available/site.conf
# Virtual host aktif etme
sudo a2ensite site.conf
sudo systemctl reload apache2
```
Hata Ayıklama / Troubleshooting:
1. Apache error logs kontrol
2. PHP error logs kontrol
3. MySQL error logs kontrol
4. İzinlerin doğruluğunu kontrol
5. Modüllerin aktif olduğunu kontrol
Not / Note:
- Her kurulumdan sonra servisleri yeniden başlatın
- Güvenlik güncellemelerini düzenli takip edin
- Yedekleme rutini oluşturun
- Performans optimizasyonu yapın
SSH Server kurulumunu adım adım anlatıyorum:
1. SSH Server Kurulumu / SSH Server Installation:
```bash
# Güncelleme
sudo apt update
sudo apt upgrade
# OpenSSH Server kurulumu
sudo apt install openssh-server
```
2. Servis Yönetimi / Service Management:
```bash
# Servisi başlatma
sudo systemctl start ssh
# Otomatik başlatma
sudo systemctl enable ssh
# Servis durumu kontrolü
sudo systemctl status ssh
```
3. Temel Güvenlik Ayarları / Basic Security Settings:
```bash
# SSH yapılandırma dosyası
sudo nano /etc/ssh/sshd_config
# Önemli güvenlik ayarları:
Port 2222 # Varsayılan portu değiştir
PermitRootLogin no # Root girişini engelle
PasswordAuthentication no # Şifre ile girişi kapat
PubkeyAuthentication yes # Anahtar ile girişe izin ver
AllowUsers kullanici1 # İzin verilen kullanıcılar
MaxAuthTries 3 # Maksimum deneme sayısı
```
4. Firewall Ayarları / Firewall Settings:
```bash
# SSH portu için güvenlik duvarını yapılandırma
sudo ufw allow 2222/tcp
sudo ufw enable
sudo ufw status
```
5. SSH Anahtar Yönetimi / SSH Key Management:
```bash
# Client tarafında anahtar oluşturma
ssh-keygen -t rsa -b 4096
# Açık anahtarı sunucuya kopyalama
ssh-copy-id -p 2222 kullanici@sunucu_ip
```
6. SSH Bağlantı Test / SSH Connection Test:
```bash
# SSH bağlantı testi
ssh -p 2222 kullanici@sunucu_ip
```
7. Log Kontrolü / Log Monitoring:
```bash
# SSH loglarını izleme
sudo tail -f /var/log/auth.log
```
8. Fail2ban Kurulumu / Fail2ban Installation:
```bash
# Fail2ban kurulumu
sudo apt install fail2ban
# Yapılandırma
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
```
9. İzinler / Permissions:
```bash
# SSH dizini izinleri
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
10. Güvenlik İpuçları / Security Tips:
- Güçlü şifreler kullanın
- Varsayılan portu değiştirin
- Anahtar tabanlı kimlik doğrulama kullanın
- Fail2ban kullanın
- Logları düzenli kontrol edin
11. Sorun Giderme / Troubleshooting:
```bash
# Bağlantı sorunları için debug modu
ssh -vv kullanici@sunucu_ip
# SSH servis durumu
sudo systemctl status ssh
# Port kontrolü
sudo netstat -tulpn | grep ssh
```
12. SSH Config Örneği / SSH Config Example:
```bash
# ~/.ssh/config dosyası
Host sunucu_adi
HostName sunucu_ip
Port 2222
User kullanici
IdentityFile ~/.ssh/id_rsa
```
13. Otomatik Bağlantı / Auto Connection:
```bash
# Anahtar oluşturma (parolasız)
ssh-keygen -t rsa -N “” -f ~/.ssh/id_rsa
# Anahtarı sunucuya kopyalama
ssh-copy-id -i ~/.ssh/id_rsa.pub kullanici@sunucu_ip
```
Önemli Notlar / Important Notes:
- Her değişiklikten sonra servisi yeniden başlatın
- Güvenlik güncellemelerini düzenli yapın
- Yedekleme rutini oluşturun
- Sadece gerekli portları açık tutun
- SSH anahtarlarını güvenli saklayın
Yararlı Komutlar / Useful Commands:
```bash
# Bağlı kullanıcıları görme
who
# Aktif SSH oturumları
w
# SSH versiyonu kontrol
ssh -V
# SSH anahtar parmak izi
ssh-keygen -l -f ~/.ssh/id_rsa.pub
```
Debian/Linux sisteminde saat ve tarih güncelleme işlemleri
# Sadece saat ayarlama
sudo date +%T -s “14:30:00”
# Sadece tarih ayarlama
sudo date +%Y%m%d -s “20241124”
```
2. NTP (Network Time Protocol) ile Otomatik Ayarlama:
```bash
# NTP kurulumu
sudo apt update
sudo apt install ntp
# NTP servisi başlatma
sudo systemctl start ntp
sudo systemctl enable ntp
# NTP durumu kontrolü
sudo systemctl status ntp
```
3. Zaman Dilimi Ayarları / Timezone Settings:
```bash
# Mevcut zaman dilimini görme
timedatectl
# Kullanılabilir zaman dilimlerini listeleme
timedatectl list-timezones
# Zaman dilimini değiştirme
sudo timedatectl set-timezone Europe/Istanbul
```
4. Donanım Saati Senkronizasyonu:
```bash
# Sistem saatini donanım saatine yazma
sudo hwclock — systohc
# Donanım saatini okuma
sudo hwclock — show
5. Chrony ile Saat Senkronizasyonu:
```bash
# Chrony kurulumu
sudo apt install chrony
# Servisi başlatma
sudo systemctl start chronyd
sudo systemctl enable chronyd
# Durum kontrolü
chronyc tracking
```
Yararlı Komutlar / Useful Commands:
```bash
# Mevcut saat ve tarihi gösterme
date
# NTP sunucuları ile senkronizasyon durumu
ntpq -p
# Sistem saati ayarlarını görme
timedatectl status
# Zaman senkronizasyonunu kontrol etme
sudo timedatectl set-ntp true
```
Not / Notes:
- Sunucu sistemlerinde NTP kullanımı önerilir
- Zaman dilimi değişikliklerinde sistemin yeniden başlatılması gerekebilir
- Saat değişikliği bazı servisleri etkileyebilir
- Donanım saati UTC formatında tutulur
Debian/Linux’ta uyku moduna girmeyi engelleme yöntemleri:
1. Sistem Ayarlarından Engelleme / System Settings:
```bash
# Güç yönetimi ayarlarını değiştirme
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
# Servisleri kontrol etme
systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target
```
2. Komut Satırı ile Geçici Engelleme / Temporary Prevention:
```bash
# systemd-inhibit kullanımı
systemd-inhibit — what=sleep — who=”$USER” — why=”Prevent suspend” — mode=block sleep infinity
# caffeine benzeri uygulama
sudo apt install caffeine
```
3. Güç Yönetimi Ayarları / Power Management:
```bash
# GNOME için
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type ‘nothing’
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type ‘nothing’
# KDE için
qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement set suppressSleep true
```
4. systemd Yapılandırması / systemd Configuration:
```bash
# logind.conf düzenleme
sudo nano /etc/systemd/logind.conf
# Eklenecek/değiştirilecek satırlar:
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
IdleAction=ignore
```
5. DPMS (Ekran Güç Yönetimi) Ayarları:
```bash
# DPMS’i devre dışı bırakma
xset -dpms
xset s off
# Kalıcı yapmak için ~/.xprofile’a ekleyin:
echo “xset -dpms” >> ~/.xprofile
echo “xset s off” >> ~/.xprofile
```
6. Otomatik Script Oluşturma / Create Automatic Script:
```bash
# Script oluşturma
sudo nano /usr/local/bin/prevent-suspend.sh
# Script içeriği
#!/bin/bash
while true; do
xdotool keydown Shift; xdotool keyup Shift
sleep 59
done
# Çalıştırılabilir yapma
sudo chmod +x /usr/local/bin/prevent-suspend.sh
```
7. Kernel Parametreleri / Kernel Parameters:
```bash
# GRUB yapılandırması
sudo nano /etc/default/grub
# Eklenecek parametre
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash noacpi”
# GRUB güncelleme
sudo update-grub
```
8. Otomatik Başlangıç Ayarı / Autostart Setting:
```bash
# Autostart dosyası oluşturma
mkdir -p ~/.config/autostart
nano ~/.config/autostart/prevent-suspend.desktop
# Dosya içeriği
Type=Application
Name=Prevent Suspend
Exec=/usr/local/bin/prevent-suspend.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
```
Önemli Notlar / Important Notes:
- Bazı ayarlar masaüstü ortamına göre değişebilir
- Sistem güncellemelerinde ayarlar sıfırlanabilir
- Pil kullanımı artabilir
- Güvenlik güncellemeleri için sistem yeniden başlatılmalıdır
Sorun Giderme / Troubleshooting:
```bash
# Güç yönetimi durumu
powerprofilesctl get
# Uyku modu durumu
systemctl status systemd-suspend.service
# Aktif inhibitörleri görme
systemd-inhibit — list
```
GUI Uygulamaları / GUI Applications:
- Caffeine
- GNOME Tweaks
- KDE System Settings
- Power Manager Settings
Her masaüstü ortamı için ayarlar farklı olabilir, kullandığınız ortama göre uygun yöntemi seçin.
9. FTP sunucusu kurmak için vsftpd (Very Secure FTP Daemon) kullanacağız. Adım adım kuralım:
1. Önce vsftpd’yi yükleyelim:
```bash
sudo apt update
sudo apt install vsftpd
```
2. Orijinal config dosyasını yedekleyelim:
```bash
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
```
3. vsftpd.conf dosyasını düzenleyelim:
```bash
sudo nano /etc/vsftpd.conf
```
vsftpd.conf içeriğini şu şekilde düzenleyelim:
```conf
# Temel Ayarlar
listen=YES
listen_ipv6=NO
an>local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
# Güvenlik Ayarları
chroot_local_user=YES
allow_writeable_chroot=YES
ssl_enable=NO
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
# Logging
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
# www klasörü için özel ayarlar
local_root=/var/www
user_sub_token=$USER
```
4. FTP için yeni bir kullanıcı oluşturalım:
```bash
sudo adduser ftpuser
```
(Sizden şifre ve kullanıcı bilgileri isteyecek, bunları doldurun)
5. Kullanıcıyı www-data grubuna ekleyelim:
```bash
sudo usermod -aG www-data ftpuser
```
6. www dizini için izinleri düzenleyelim:
```bash
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
```
7. vsftpd servisini yeniden başlatalım:
```bash
sudo systemctl restart vsftpd
```
8. Firewall ayarlarını yapalım (eğer UFW kullanıyorsanız):
```bash
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:40100/tcp
sudo ufw enable
```
Artık FTP sunucunuz hazır! Şu bilgilerle bağlanabilirsiniz:
- Host: sunucu-ip-adresi
- Port: 21
- Kullanıcı adı: ftpuser
- Şifre: (oluşturduğunuz şifre)
FTP istemcisi olarak şunları kullanabilirsiniz:
- FileZilla
- WinSCP (Windows için)
- Cyberduck (Mac için)
Güvenlik İpuçları:
1. Güçlü şifreler kullanın
2. Mümkünse SFTP kullanın (daha güvenli)
3. Sadece gerekli dizinlere erişim verin
4. Düzenli olarak log dosyalarını kontrol edin
Örnek bir kullanıcı ve klasör erişimi için; kök dizinideki python klasörüne özel bir kullanıcı erişimi yapacağız.
Python klasörüne erişim için yeni bir FTP kullanıcısı oluşturalım:
1. Yeni bir kullanıcı oluşturalım:
```bash
sudo adduser pythonuser
```
(Şifre ve kullanıcı bilgilerini doldurun)
2. Python klasörünüz için (örneğin /python) dizin oluşturalım:
```bash
sudo mkdir /python
```
3. Klasör sahipliği ve izinlerini ayarlayalım:
```bash
sudo chown -R pythonuser:pythonuser /python
sudo chmod -R 755 /python
```
4. vsftpd.conf dosyasını düzenleyelim:
```bash
sudo nano /etc/vsftpd.conf
```
Dosyaya şu satırları ekleyelim (eğer yoksa):
```conf
# Kullanıcı bazlı dizin yapılandırması
user_sub_token=$USER
local_root=/home/$USER
# Güvenlik ayarları
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
# Kullanıcı listesi ayarları
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
```
5. Kullanıcı listesi oluşturalım:
```bash
sudo nano /etc/vsftpd.userlist
```
Bu dosyaya kullanıcıları ekleyelim:
```
ftpuser
pythonuser
```
6. Python kullanıcısı için özel bir yapılandırma dosyası oluşturalım:
```bash
sudo mkdir -p /etc/vsftpd/users
sudo nano /etc/vsftpd/users/pythonuser
```
İçeriği şu şekilde olsun:
```
local_root=/python
```
7. Ana vsftpd.conf dosyasına bu kullanıcı yapılandırmasını ekleyelim:
```bash
sudo nano /etc/vsftpd.conf
```
Dosyanın sonuna ekleyin:
```conf
user_c>```
8. Servisi yeniden başlatalım:
```bash
sudo systemctl restart vsftpd
```
9. İzinleri test edelim:
```bash
sudo -u pythonuser touch /python/test.txt
```
Artık şu bilgilerle bağlanabilirsiniz:
- Host: sunucu-ip-adresi
- Port: 21
- Kullanıcı adı: pythonuser
- Şifre: (oluşturduğunuz şifre)
Test etmek için:
1. FileZilla veya başka bir FTP istemcisi kullanın
2. Yukarıdaki bilgilerle bağlanın
3. /python dizinine dosya yüklemeyi deneyin
Güvenlik notları:
1. Python klasöründe çalıştırılabilir dosyalar için dikkatli olun
2. Düzenli olarak log dosyalarını kontrol edin
3. Güçlü şifre kullandığınızdan emin olun
10. Debian’a VSCode kurulumunu adım adım yapalım:
1. Önce gerekli bağımlılıkları yükleyelim:
```bash
sudo apt update
sudo apt install software-properties-common apt-transport-https wget gpg
```
2. Microsoft GPG anahtarını indirelim ve ekleyelim:
```bash
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg — dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
```
3. VSCode deposunu sisteme ekleyelim:
```bash
sudo sh -c ‘echo “deb https://packages.microsoft.com/repos/code stable main” > /etc/apt/sources.list.d/vscode.list’
```
4. Paket listesini güncelleyelim:
```bash
sudo apt update
```
5. VSCode’u yükleyelim:
```bash
sudo apt install code
```
Yararlı VSCode Eklentileri (isteğe bağlı):
Python Geliştirme için:
```
- Python (Microsoft)
- Pylance
- Python Indent
- autoDocstring
```
Web Geliştirme için:
```
- Live Server
- HTML CSS Support
- JavaScript (ES6) code snippets
- ESLint
```
PHP Geliştirme için:
```
- PHP Intelephense
- PHP Debug
- PHP Extension Pack
```
Git için:
```
- GitLens
- Git History
```
Genel Kullanım için:
```
- Material Icon Theme
- One Dark Pro
- Remote — SSH
- Remote Development
```
VSCode Temel Ayarları:
1. Otomatik kaydetme:
File > Preferences > Settings
- “Files: Auto Save” seçeneğini “afterDelay” yapın
2. Yazı tipi boyutu:
File > Preferences > Settings
- “Editor: Font Size” değerini istediğiniz boyuta ayarlayın
3. Tema değiştirme:
File > Preferences > Color Theme
- İstediğiniz temayı seçin
4. Terminal entegrasyonu:
```
Ctrl + ` (backtick) ile terminali açabilirsiniz
```
Temel VSCode Kısayolları:
```
Ctrl + P : Dosya arama
Ctrl + Shift + P : Komut paleti
Ctrl + , : Ayarlar
Ctrl + B : Kenar çubuğunu gizle/göster
Ctrl + ` : Terminal aç/kapa
Ctrl + / : Satır yorumu
Alt + Up/Down : Satırı yukarı/aşağı taşı
Ctrl + D : Sonraki eşleşmeyi seç
```
Proje Dizini Açma:
1. VSCode’u başlatın
2. File > Open Folder
3. Proje dizininizi seçin
VSCode’u güncellemek için:
```bash
sudo apt update
sudo apt upgrade code
```
VSCode’u kaldırmak için:
```bash
sudo apt remove code
sudo apt autoremove
```