⛅Sunucu Yönetimi
Uzak sunucu (server) yönetimi, kurulum, yapılandırma ve ssh ile şifresiz bağlanma işlemleri
💻 Sunucu Kiralama
🔗 DigitalOcean sitesi üzerinden hesap açıp GitHub veya Google ile bağlayabilirsin
💳 Kredi kartı bilgilerini verip, 1$ çekim işlemine müsaade ederek sahte bir kullanıcı olmadığını doğrulamalısın
⛅ Hesap kaydı tamamlandıktan sonra herhangi bir sunucu alman gerekmekte
💵 GitHub Student Package alanından alınan Promo code kısmını, sunucu oluşturduktan sonra Billing alanından girmen gerekmekte
💁♂️ Türkiye içerisinde sunucu kiralamak için Natro sitesine göz atabilrisin
🔌 Sunucuya Bağlanma
ssh -l <username> <ip>
veyassh <user>:<IP>
komutu ile sunucuya bağlanılır ve şifre girilirSunucuya bağlanma sırasında terminal oturumu açılmaktadır
Oturum kapandığında terminal de sonlanır, yani bağlantıdan çıkarsanız tüm işler sonlanır
Bunu engellemek için
sudo apt install tmux
komutu iletmux
aracını indirin (nohup
uğraştırıcı 😢)tmux
ile terminal oturumu içerisinde yeni bir process başlatılmakta ve oturum kapansa da devam etmektedir
🧙♂ Detaylı bilgi için How to run a Python script in the cloud? yazısına bakınız
🔒 Sunucuya Şifresiz Bağlanma
🧐
ssh ${USER}@${IP}
komutu ileOpenSSH
varlığını kontrol edil, tepki veriyorsa vardır🔑
ssh-keygen -t ecdsa -b 521 -f ${KEY_PATH}
komutu ilessh
anahtarı oluşturunSSH, secure shell anlamına gelir ve uzaktan terminal yönetim protokoldür
SSH anahtarlarından
pub
uzantılı olan açık anahtardır ve sunucuya aktarılması gerekirDiğer anahtar kapalı olandır ve paylaşılmaması gerekmektedir
✴️ Bu adımlar sadece Windows kullanıcıları tarafından
powershell
üzerinden yapılmalıdır📢
Get-Service -Name ssh-agent | Set-Service -StartupType AutomaticDelayedStart
komutu ilessh
servisini gecikmeli olarak otomatik başlatabilmek için yapılandırın👮♂️ Eğer servis otomatik başlatılmazsa her ssh bağlantısı için yeniden başlatmanız gerekir
⚙️
Start-Service ssh-agent
komutu ile ssh servisini başlatın➕
ssh-add ${KEY_PATH}
komutu ilessh
anahtarınıkeystores
içerisine ekleyinKapalı anahtarınız
keystores
içerinde saklanırSunucu bağlantılarında bu anahtar deposu kullanılır
🚚
ssh ${USER}@${IP} "\
komutunu yazın ve ardından alttaki komutları girin📂
mkdir -p ~/.ssh && \
ile sunucudassh
antahtarları dizini yoksa oluşturun➕
echo (Get-Content ${KEY_PATH}.pub) >> .ssh/authorized_keys && \
ile açık anahtarınızı sunucuda onaylı anahtar listesine ekleyin🐧
echo \"cat ${KEY_PATH}.pub\" && \
komutu ile Linux işletim sistemini kullananlar açık anahtarı ekleyebilir👮♂️
chmod 700 ~/.ssh && \
komutu ilessh
dizinini yetkilendirin👮♂️
chmod 600 ~/.ssh/authorized_keys"
komutu ile anahtarların olduğu dosyaya okunabilmesi için izinleri verin
📢 Eğer sunucu sizden tekrardan şifre istiyor ise, 3. ve 4. adımları uyguladığınızdan emin olun
🖤 Windows Terminal ile Bağlanma
⚙️ Terminal üzerinden resimdeki gibi sunuya bağlanmak için Windows Terminal ayarlarını açın
🔨 Yapılandırma dosyasında
profiles
içerisindekilist
alanına alttaki ayarları ekleyin
✨ Sunucu Paketlerini Yenileme
Sunucuya bağlandıktan sonra yapılacak ilk iş yüklü olan paketleri güncellemek olmalıdır
sudo apt update
vesudo apt upgrade
komutları ile paketlerini güncelleyebilirsinÇok fazla paket güncellemelerinden sonra
reboot
komutu ile sistemi yeniden başlatmanız tavsiye edilirPaket yükseltme işlemi sonrasında kullanılmayan veya eski paketleri temizlemek için
sudo apt autoremove
komutunu kullanın
🔏 Git için Şifre Saklama
💁♂️ Her git işlemi için tekrardan giriş yapmak istemiyorsanız bu adım sizin için faydalı olacaktır
📧
git config --global user.email "<email>"
ile email adresinizi tanımlayın🤵
git config --global user.name "<username>"
le kullanıcı adınızı tanımlayın💼
git config --global credential.helper 'cache --timeout=999999'
komutu ile bilgilerinizi saklayın
🕐 Zaman Ayarı Yapma
NTP (network time protocol) ayarlarını yapmak için
apt-get install ntp ntpdate
komutu ilentpdate
paketini kurunntpdate time.ume.tubitak.gov.tr
ile TÜBİTAK NTP sunucusuna bağlantı yapınservice ntp restart
komutu ile yeniden başlatındate
komutu ile tarihi görüntüleyebilirsiniztzselect
komutu ile zaman bölgesini seçenekler arasından de seçebiliriztimedatectl set-timezone Europe/Istanbul
komutu ile direkt olarak Istanbul zaman dilimini ayarlayabilriiz
🧙♂ Detaylı bilgi için Linux zaman sunucusu ayarlama alanına bakabilirsin.
⏳ tmux
ile Uzun Süreli İşlemler
⏳ tmux
ile Uzun Süreli İşlemlertmux
komutu ile yeni bir terminal açtırın ve oraya komutunuzu yazın✲ Ctrl + B, D kısayolu ile ana terminalinize geçin
Artık oturumu kapatsanız bile
tmux
ile açılan terminaldeki işlemler devam etmektedirtmux attach
komutu ile son terminale bağlanabilirsinTerminal işini sonlandırmak için ✲ Ctrl + B, : kısayoluna basıp
kill-session
komutunu yazın
🧙♂ Detaylı bilgi için Getting started with Tmux alanına bakabilirsin.
🐍 Python 3.9 Kurulumu
Sunucularda python3.6 default olarak olur ama
pip
vevenv
kurulu olmazsudo apt install python3-pip
ile pip kurulurpip
python paketlerinin indirilmesine yardımcı olan araçtır
sudo apt install python3-venv
ile sanal ortam oluşturma aracı kurulurvenv
sanal python ortamları oluşturarak sistemin python paketlerinin bozulmasını engeller
📢 Python 3.9-venv kullanılması için python3-venv paketi gereklidir
🧙♂ Detaylı bilgi için Ubuntu 20.04/19.04: Install Python 3.9/3.8/3.7/3.6, Pip and Venv alanına bakabilirsin.
Last updated