Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/onder7/debian-notes
Debian Notes
https://github.com/onder7/debian-notes
debian installer linux notes
Last synced: 1 day ago
JSON representation
Debian Notes
- Host: GitHub
- URL: https://github.com/onder7/debian-notes
- Owner: onder7
- Created: 2024-11-24T19:43:49.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-27T10:03:04.000Z (3 months ago)
- Last Synced: 2024-12-17T14:12:08.088Z (about 2 months ago)
- Topics: debian, installer, linux, notes
- Homepage:
- Size: 97.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Debian 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 Support2. 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 Copy3. 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 Suspend4. 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 Information5. 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ınBu 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 + [# Seçimi başlatma:
SPACE# Seçimi kopyalama:
CTRL + A + ]
```6. Tmux Kullanıcıları İçin:
```bash
# Copy mode'a geçiş:
CTRL + B + [# Seçimi başlatma:
SPACE# Seçimi kopyalama:
ENTER# Yapıştırma:
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 gerektirebilirGüvenlik Notları:
- Hassas bilgileri kopyalarken dikkatli olun
- Pano içeriğini düzenli olarak temizleyin
- Güvenilmeyen kaynaklardan yapıştırma yaparken dikkatli olunTerminal 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 durdurun3. 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 edebilirsinizDebian'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 passwordWindows'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```
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 girin3. 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
```Bu dosyaya şu satırları ekleyin (veya düzenleyin):
```apacheOptions FollowSymLinks
DirectoryIndex index.php
AllowOverride All
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .
# Limit access to localhost only
Require local```
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 girin3. 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: şifreEğ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 permissionsSSL 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 kontrolNot / Note:
- Her kurulumdan sonra servisleri yeniden başlatın
- Güvenlik güncellemelerini düzenli takip edin
- Yedekleme rutini oluşturun
- Performans optimizasyonu yapınSSH 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 edin11. 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ınYararlı 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şlemleri1. Manuel Saat/Tarih Ayarlama / Manual Date/Time Setting:
```bash
# Tarih ve saat ayarlama
sudo date --set="2024-11-24 14:30:00"# 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# Donanım saatini ayarlama
sudo hwclock --set --date="2024-11-24 14:30:00"
```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 tutulurDebian/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
[Desktop Entry]
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ırSorun 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 SettingsHer 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
anonymous_enable=NO
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_config_dir=/etc/vsftpd/users
```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 deneyinGü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 olun10. 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 [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] 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ın2. Yazı tipi boyutu:
File > Preferences > Settings
- "Editor: Font Size" değerini istediğiniz boyuta ayarlayın3. Tema değiştirme:
File > Preferences > Color Theme
- İstediğiniz temayı seçin4. 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çinVSCode'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
```