{"id":2893,"date":"2025-12-04T23:12:30","date_gmt":"2025-12-04T20:12:30","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/kontrol-paneli-olmadan-vps-yonetimi-sadece-ssh-ile-web-sitesi-yayina-alma-rehberi\/"},"modified":"2025-12-04T23:12:30","modified_gmt":"2025-12-04T20:12:30","slug":"kontrol-paneli-olmadan-vps-yonetimi-sadece-ssh-ile-web-sitesi-yayina-alma-rehberi","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/kontrol-paneli-olmadan-vps-yonetimi-sadece-ssh-ile-web-sitesi-yayina-alma-rehberi\/","title":{"rendered":"Kontrol Paneli Olmadan VPS Y\u00f6netimi: Sadece SSH ile Web Sitesi Yay\u0131na Alma Rehberi"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Kontrol_Paneli_Olmadan_VPS_Yonetimi_Neden_Mantikli\"><span class=\"toc_number toc_depth_1\">1<\/span> Kontrol Paneli Olmadan VPS Y\u00f6netimi Neden Mant\u0131kl\u0131?<\/a><\/li><li><a href=\"#On_Hazirlik_VPS_Domain_ve_Erisim_Bilgileri\"><span class=\"toc_number toc_depth_1\">2<\/span> \u00d6n Haz\u0131rl\u0131k: VPS, Domain ve Eri\u015fim Bilgileri<\/a><ul><li><a href=\"#1_Uygun_VPS_Planini_Secmek\"><span class=\"toc_number toc_depth_2\">2.1<\/span> 1. Uygun VPS Plan\u0131n\u0131 Se\u00e7mek<\/a><\/li><li><a href=\"#2_Isletim_Sistemi_ve_Surum_Tercihi\"><span class=\"toc_number toc_depth_2\">2.2<\/span> 2. \u0130\u015fletim Sistemi ve S\u00fcr\u00fcm Tercihi<\/a><\/li><li><a href=\"#3_SSH_Bilgilerini_Hazir_Etmek\"><span class=\"toc_number toc_depth_2\">2.3<\/span> 3. SSH Bilgilerini Haz\u0131r Etmek<\/a><\/li><\/ul><\/li><li><a href=\"#SSH_ile_Ilk_Baglanti_ve_Kullanici_Olusturma\"><span class=\"toc_number toc_depth_1\">3<\/span> SSH ile \u0130lk Ba\u011flant\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/a><ul><li><a href=\"#1_Yeni_Kullanici_ve_Sudo_Yetkisi\"><span class=\"toc_number toc_depth_2\">3.1<\/span> 1. Yeni Kullan\u0131c\u0131 ve Sudo Yetkisi<\/a><\/li><li><a href=\"#2_SSH_Anahtar_Tabanli_Giris\"><span class=\"toc_number toc_depth_2\">3.2<\/span> 2. SSH Anahtar Tabanl\u0131 Giri\u015f<\/a><\/li><\/ul><\/li><li><a href=\"#Temel_Guvenlik_Guncellemeler_SSH_Ayarlari_ve_Guvenlik_Duvari\"><span class=\"toc_number toc_depth_1\">4<\/span> Temel G\u00fcvenlik: G\u00fcncellemeler, SSH Ayarlar\u0131 ve G\u00fcvenlik Duvar\u0131<\/a><ul><li><a href=\"#1_Sistem_Guncellemeleri\"><span class=\"toc_number toc_depth_2\">4.1<\/span> 1. Sistem G\u00fcncellemeleri<\/a><\/li><li><a href=\"#2_SSH_Yapilandirmasini_Sertlestirmek\"><span class=\"toc_number toc_depth_2\">4.2<\/span> 2. SSH Yap\u0131land\u0131rmas\u0131n\u0131 Sertle\u015ftirmek<\/a><\/li><li><a href=\"#3_Basit_Bir_Guvenlik_Duvari_UFW\"><span class=\"toc_number toc_depth_2\">4.3<\/span> 3. Basit Bir G\u00fcvenlik Duvar\u0131 (UFW)<\/a><\/li><\/ul><\/li><li><a href=\"#Web_Yigini_Kurulumu_Nginx_PHP-FPM_MariaDB\"><span class=\"toc_number toc_depth_1\">5<\/span> Web Y\u0131\u011f\u0131n\u0131 Kurulumu: Nginx + PHP-FPM + MariaDB<\/a><ul><li><a href=\"#1_Nginx_Kurulumu\"><span class=\"toc_number toc_depth_2\">5.1<\/span> 1. Nginx Kurulumu<\/a><\/li><li><a href=\"#2_PHP_ve_Gerekli_Uzantilar\"><span class=\"toc_number toc_depth_2\">5.2<\/span> 2. PHP ve Gerekli Uzant\u0131lar<\/a><\/li><li><a href=\"#3_MariaDB_veya_MySQL_Kurulumu\"><span class=\"toc_number toc_depth_2\">5.3<\/span> 3. MariaDB (veya MySQL) Kurulumu<\/a><\/li><li><a href=\"#4_Ornek_Veritabani_ve_Kullanici_Olusturma\"><span class=\"toc_number toc_depth_2\">5.4<\/span> 4. \u00d6rnek Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/a><\/li><\/ul><\/li><li><a href=\"#Alan_Adini_VPSe_Yonlendirmek_DNS_Ayarlari\"><span class=\"toc_number toc_depth_1\">6<\/span> Alan Ad\u0131n\u0131 VPS\u2019e Y\u00f6nlendirmek: DNS Ayarlar\u0131<\/a><ul><li><a href=\"#1_A_Kaydi_Olusturma\"><span class=\"toc_number toc_depth_2\">6.1<\/span> 1. A Kayd\u0131 Olu\u015fturma<\/a><\/li><\/ul><\/li><li><a href=\"#Nginx_Sanal_Host_Server_Block_ile_Siteyi_Yayina_Alma\"><span class=\"toc_number toc_depth_1\">7<\/span> Nginx Sanal Host (Server Block) ile Siteyi Yay\u0131na Alma<\/a><ul><li><a href=\"#1_Nginx_Server_Block_Dosyasi\"><span class=\"toc_number toc_depth_2\">7.1<\/span> 1. Nginx Server Block Dosyas\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Ucretsiz_SSL_ile_HTTPS_Etkinlestirme_Lets_Encrypt_certbot\"><span class=\"toc_number toc_depth_1\">8<\/span> \u00dccretsiz SSL ile HTTPS Etkinle\u015ftirme (Let\u2019s Encrypt + certbot)<\/a><ul><li><a href=\"#1_Certbot_Kurulumu\"><span class=\"toc_number toc_depth_2\">8.1<\/span> 1. Certbot Kurulumu<\/a><\/li><li><a href=\"#2_Sertifika_Alma_ve_Otomatik_Nginx_Entegrasyonu\"><span class=\"toc_number toc_depth_2\">8.2<\/span> 2. Sertifika Alma ve Otomatik Nginx Entegrasyonu<\/a><\/li><\/ul><\/li><li><a href=\"#Deploy_Senaryolari_Statik_Site_PHP_Uygulamasi_WordPress\"><span class=\"toc_number toc_depth_1\">9<\/span> Deploy Senaryolar\u0131: Statik Site, PHP Uygulamas\u0131, WordPress<\/a><ul><li><a href=\"#1_Statik_HTMLCSSJS_Site\"><span class=\"toc_number toc_depth_2\">9.1<\/span> 1. Statik HTML\/CSS\/JS Site<\/a><\/li><li><a href=\"#2_Basit_PHP_Uygulamasi_Frameworksuz_veya_Kucuk_Bir_MVC\"><span class=\"toc_number toc_depth_2\">9.2<\/span> 2. Basit PHP Uygulamas\u0131 (Framework\u2019s\u00fcz veya K\u00fc\u00e7\u00fck Bir MVC)<\/a><\/li><li><a href=\"#3_WordPress_Kurulumu\"><span class=\"toc_number toc_depth_2\">9.3<\/span> 3. WordPress Kurulumu<\/a><\/li><\/ul><\/li><li><a href=\"#Panel_Kullanmadiginizda_Bakim_Yedek_ve_Izleme_Nasil_Olmali\"><span class=\"toc_number toc_depth_1\">10<\/span> Panel Kullanmad\u0131\u011f\u0131n\u0131zda Bak\u0131m, Yedek ve \u0130zleme Nas\u0131l Olmal\u0131?<\/a><ul><li><a href=\"#1_Loglari_Izlemek_ve_Hata_Ayiklamak\"><span class=\"toc_number toc_depth_2\">10.1<\/span> 1. Log\u2019lar\u0131 \u0130zlemek ve Hata Ay\u0131klamak<\/a><\/li><li><a href=\"#2_Otomatik_Yedekleme_Cron_ile\"><span class=\"toc_number toc_depth_2\">10.2<\/span> 2. Otomatik Yedekleme (Cron ile)<\/a><\/li><li><a href=\"#3_Izleme_ve_Alarm_Kurmak\"><span class=\"toc_number toc_depth_2\">10.3<\/span> 3. \u0130zleme ve Alarm Kurmak<\/a><\/li><li><a href=\"#4_Guvenlik_Kontrol_Listesini_Unutmayin\"><span class=\"toc_number toc_depth_2\">10.4<\/span> 4. G\u00fcvenlik Kontrol Listesini Unutmay\u0131n<\/a><\/li><\/ul><\/li><li><a href=\"#Paylasimli_Hostingden_VPSe_Gecenler_Icin_Notlar\"><span class=\"toc_number toc_depth_1\">11<\/span> Payla\u015f\u0131ml\u0131 Hosting\u2019den VPS\u2019e Ge\u00e7enler \u0130\u00e7in Notlar<\/a><\/li><li><a href=\"#Sonuc_Sadece_SSH_ile_Uretim_Hazir_Bir_VPS_Yonetmek_Mumkun\"><span class=\"toc_number toc_depth_1\">12<\/span> Sonu\u00e7: Sadece SSH ile \u00dcretim Haz\u0131r Bir VPS Y\u00f6netmek M\u00fcmk\u00fcn<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Kontrol_Paneli_Olmadan_VPS_Yonetimi_Neden_Mantikli\">Kontrol Paneli Olmadan <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a> Y\u00f6netimi Neden Mant\u0131kl\u0131?<\/span><\/h2>\n<p>Bir\u00e7ok geli\u015ftirici ve ajans sahibi i\u00e7in ilk VPS deneyimi genelde bir kontrol paneliyle (cPanel, Plesk, DirectAdmin vb.) ba\u015flar. Ancak zamanla fark edilen bir ger\u00e7ek var: Paneller size h\u0131z kazand\u0131r\u0131rken, ayn\u0131 zamanda gereksiz kaynak t\u00fcketimi, lisans maliyeti ve otomatik yap\u0131lm\u0131\u015f ama tam anlamad\u0131\u011f\u0131n\u0131z ayarlar anlam\u0131na da gelebiliyor. \u00d6zellikle tek bir proje i\u00e7in hafif, h\u0131zl\u0131 ve maliyet-etkin bir mimari kurmak istedi\u011finizde, sadece SSH ile y\u00f6netilen yal\u0131n bir Linux VPS \u00e7ok g\u00fc\u00e7l\u00fc bir se\u00e7enek haline geliyor.<\/p>\n<p>Bu rehberde DCHost \u00fczerinde kiralad\u0131\u011f\u0131n\u0131z bir Linux VPS\u2019i <strong>hi\u00e7bir kontrol paneli olmadan<\/strong>, yaln\u0131zca SSH komut sat\u0131r\u0131 kullanarak nas\u0131l \u00fcretim ortam\u0131na haz\u0131r hale getirebilece\u011finizi ad\u0131m ad\u0131m anlataca\u011f\u0131z. Hedefimiz \u015fu:<\/p>\n<ul>\n<li>Alan ad\u0131n\u0131z (\u00f6rne\u011fin <em>example.com<\/em>) DCHost \u00fczerindeki VPS\u2019inize i\u015faret etsin,<\/li>\n<li>VPS\u2019te Nginx + PHP-FPM + MariaDB (veya MySQL) y\u0131\u011f\u0131n\u0131 kurulu olsun,<\/li>\n<li>HTTPS (SSL) ile g\u00fcvenli ve modern bir web sitesi yay\u0131nda olsun,<\/li>\n<li>T\u00fcm bunlar panel olmadan, sadece SSH ile y\u00f6netilebilsin.<\/li>\n<\/ul>\n<p>\u00d6rnek komutlar \u00e7o\u011funlukla Ubuntu\/Debian tabanl\u0131 bir sistem i\u00e7in verilecek; ancak mant\u0131k di\u011fer Linux da\u011f\u0131t\u0131mlar\u0131nda da benzer. Rehberi bitirdi\u011finizde, kontrol paneli kullanmadan da bir sunucuyu ba\u015ftan sona y\u00f6netebilecek \u00f6zg\u00fcvene sahip olacaks\u0131n\u0131z.<\/p>\n<h2><span id=\"On_Hazirlik_VPS_Domain_ve_Erisim_Bilgileri\">\u00d6n Haz\u0131rl\u0131k: VPS, Domain ve Eri\u015fim Bilgileri<\/span><\/h2>\n<p>\u00d6nce konsepti netle\u015ftirelim: Elinizde DCHost \u00fczerinde kiralanm\u0131\u015f bir VPS, bir alan ad\u0131 ve SSH eri\u015fimi olmal\u0131. Bu \u00fc\u00e7l\u00fc olmadan siteyi canl\u0131ya alamay\u0131z.<\/p>\n<h3><span id=\"1_Uygun_VPS_Planini_Secmek\">1. Uygun VPS Plan\u0131n\u0131 Se\u00e7mek<\/span><\/h3>\n<p>Kontrol paneli kullanmad\u0131\u011f\u0131n\u0131z i\u00e7in RAM ve CPU\u2019dan k\u00fc\u00e7\u00fck de olsa tasarruf edersiniz. Bu da daha d\u00fc\u015f\u00fck konfig\u00fcrasyonlu bir VPS ile ba\u015flayabilmenizi sa\u011flar. Ancak as\u0131l belirleyici olan, sitenizin trafi\u011fi ve teknolojik y\u0131\u011f\u0131n\u0131d\u0131r.<\/p>\n<p>Yeni bir projeye ba\u015flarken, \u00f6zellikle WordPress, Laravel veya basit bir PHP sitesi kuracaksan\u0131z, ihtiyac\u0131n\u0131z olan CPU, RAM ve trafik miktar\u0131n\u0131 kabaca hesaplamak i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/yeni-web-sitesi-icin-cpu-ram-ve-trafik-nasil-hesaplanir\/\">yeni web sitesi i\u00e7in CPU, RAM ve trafik nas\u0131l hesaplan\u0131r rehberimize<\/a> mutlaka g\u00f6z at\u0131n. Oradaki form\u00fcller ve \u00f6rnekler, ilk kaynak plan\u0131n\u0131z\u0131 olduk\u00e7a isabetli yapman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<h3><span id=\"2_Isletim_Sistemi_ve_Surum_Tercihi\">2. \u0130\u015fletim Sistemi ve S\u00fcr\u00fcm Tercihi<\/span><\/h3>\n<p>Bu rehberde \u00f6rnek olarak Ubuntu LTS kullanal\u0131m (20.04 veya 22.04). Sebebi basit:<\/p>\n<ul>\n<li>Geni\u015f dok\u00fcmantasyon ve topluluk deste\u011fi,<\/li>\n<li>Uzun s\u00fcreli (LTS) g\u00fcvenlik g\u00fcncellemeleri,<\/li>\n<li>PHP, Nginx ve MariaDB gibi paketlere kolay eri\u015fim.<\/li>\n<\/ul>\n<p>DCHost \u00fczerinde yeni bir VPS olu\u015ftururken, i\u015fletim sistemi olarak Ubuntu LTS se\u00e7meniz bu rehberle birebir uyumlu ilerlemenizi sa\u011flar.<\/p>\n<h3><span id=\"3_SSH_Bilgilerini_Hazir_Etmek\">3. SSH Bilgilerini Haz\u0131r Etmek<\/span><\/h3>\n<p>VPS olu\u015fturuldu\u011funda size \u015fu bilgiler verilir:<\/p>\n<ul>\n<li>Sunucu IP adresi (\u00f6rne\u011fin <code>203.0.113.10<\/code>)<\/li>\n<li>Root kullan\u0131c\u0131 ad\u0131 (\u00e7o\u011funlukla <code>root<\/code>)<\/li>\n<li>Root \u015fifresi veya SSH anahtar\u0131n\u0131z<\/li>\n<\/ul>\n<p>Yerel bilgisayar\u0131n\u0131zda bir SSH istemcisine ihtiyac\u0131n\u0131z var:<\/p>\n<ul>\n<li>macOS \/ Linux: Terminal i\u00e7indeki <code>ssh<\/code> komutu,<\/li>\n<li>Windows: PowerShell\u2019de <code>ssh<\/code> veya PuTTY \/ Windows Terminal.<\/li>\n<\/ul>\n<p>Yeni ald\u0131\u011f\u0131n\u0131z VPS\u2019in donan\u0131m ve a\u011f performans\u0131n\u0131 test etmek i\u00e7in de ayr\u0131ca zaman ay\u0131rman\u0131z\u0131 \u00f6neririm. Bunun i\u00e7in ad\u0131m ad\u0131m \u00f6rnekler bulmak isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/yeni-vps-aldiginizda-ilk-yapmaniz-gerekenler-cpu-disk-ve-ag-performansini-benchmark-ile-test-etmek\/\">yeni VPS ald\u0131\u011f\u0131n\u0131zda ilk yapman\u0131z gerekenler ve benchmark rehberimizi<\/a> inceleyebilirsiniz.<\/p>\n<h2><span id=\"SSH_ile_Ilk_Baglanti_ve_Kullanici_Olusturma\">SSH ile \u0130lk Ba\u011flant\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/span><\/h2>\n<p>\u015eimdi ilk kez VPS\u2019e ba\u011flanal\u0131m. Yerel terminalinizde:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">ssh root@203.0.113.10\n<\/code><\/pre>\n<p>\u0130lk ba\u011flant\u0131da, sunucunun parmak izi sorulacakt\u0131r; onaylad\u0131ktan sonra \u015fifrenizi girip root olarak oturum a\u00e7ars\u0131n\u0131z. Ancak <strong>root ile g\u00fcnl\u00fck \u00e7al\u0131\u015fma yapmak k\u00f6t\u00fc bir al\u0131\u015fkanl\u0131kt\u0131r<\/strong>. Hemen yeni bir kullan\u0131c\u0131 olu\u015fturup sudo yetkisi verelim.<\/p>\n<h3><span id=\"1_Yeni_Kullanici_ve_Sudo_Yetkisi\">1. Yeni Kullan\u0131c\u0131 ve Sudo Yetkisi<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">adduser deploy\nusermod -aG sudo deploy\n<\/code><\/pre>\n<p>\u015eimdi SSH ba\u011flant\u0131n\u0131z\u0131 kapat\u0131n ve bu kez <code>deploy<\/code> kullan\u0131c\u0131s\u0131yla ba\u011flan\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">ssh deploy@203.0.113.10\n<\/code><\/pre>\n<p>Art\u0131k y\u00f6netim i\u015flerini <code>deploy<\/code> ile yapabilir, root yetkisine ihtiya\u00e7 duydu\u011funuzda komutlar\u0131n ba\u015f\u0131na <code>sudo<\/code> ekleyebilirsiniz.<\/p>\n<h3><span id=\"2_SSH_Anahtar_Tabanli_Giris\">2. SSH Anahtar Tabanl\u0131 Giri\u015f<\/span><\/h3>\n<p>\u015eifre ile giri\u015f yerine, SSH anahtar\u0131 ile giri\u015f \u00e7ok daha g\u00fcvenlidir. Yerel bilgisayar\u0131n\u0131zda (daha \u00f6nce olu\u015fturmad\u0131ysan\u0131z):<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">ssh-keygen -t ed25519 -C &quot;benim-laptop&quot;<\/code><\/pre>\n<p>Olu\u015fan <code>~\/.ssh\/id_ed25519.pub<\/code> i\u00e7eri\u011fini kopyalay\u0131p sunucuda <code>deploy<\/code> kullan\u0131c\u0131s\u0131 ile:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">mkdir -p ~\/.ssh\nchmod 700 ~\/.ssh\necho &quot;BURAYA_PUBLIC_KEY&quot; &gt;&gt; ~\/.ssh\/authorized_keys\nchmod 600 ~\/.ssh\/authorized_keys\n<\/code><\/pre>\n<p>Art\u0131k \u015fifre girmeden ba\u011flanabilirsiniz. Sonraki ad\u0131mda, \u015fifre ile giri\u015f ve root SSH giri\u015fini kapatarak g\u00fcvenli\u011fi s\u0131k\u0131la\u015ft\u0131raca\u011f\u0131z.<\/p>\n<p>SSH g\u00fcvenli\u011fini daha ileri seviyeye ta\u015f\u0131mak (\u00f6rne\u011fin FIDO2 g\u00fcvenlik anahtarlar\u0131, SSH CA ve anahtar rotasyonu gibi konular) istiyorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/vpste-ssh-guvenligi-nasil-saglamlasir-fido2-anahtarlari-ssh-ca-ve-rotasyonun-sicacik-yolculugu\/\">VPS\u2019te SSH g\u00fcvenli\u011fi nas\u0131l sa\u011flamla\u015f\u0131r rehberimizi<\/a> mutlaka okuman\u0131z\u0131 \u00f6neririm.<\/p>\n<h2><span id=\"Temel_Guvenlik_Guncellemeler_SSH_Ayarlari_ve_Guvenlik_Duvari\">Temel G\u00fcvenlik: G\u00fcncellemeler, SSH Ayarlar\u0131 ve G\u00fcvenlik Duvar\u0131<\/span><\/h2>\n<p>Kontrol paneli olmadan VPS y\u00f6netiyorsan\u0131z, g\u00fcvenlik tamamen sizin sorumlulu\u011funuzdad\u0131r. Neyse ki temel birka\u00e7 ad\u0131m, b\u00fcy\u00fck bir koruma kalkan\u0131 sa\u011flar.<\/p>\n<h3><span id=\"1_Sistem_Guncellemeleri\">1. Sistem G\u00fcncellemeleri<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y\n<\/code><\/pre>\n<p>Bu komutlarla \u00e7ekirdek dahil t\u00fcm paketlerin g\u00fcncel olmas\u0131n\u0131 sa\u011flars\u0131n\u0131z. Kritik g\u00fcncellemeleri d\u00fczenli uygulamak, sald\u0131r\u0131 y\u00fczeyinizi ciddi oranda azalt\u0131r.<\/p>\n<h3><span id=\"2_SSH_Yapilandirmasini_Sertlestirmek\">2. SSH Yap\u0131land\u0131rmas\u0131n\u0131 Sertle\u015ftirmek<\/span><\/h3>\n<p>SSH yap\u0131land\u0131rma dosyas\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo nano \/etc\/ssh\/sshd_config\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki ayarlar\u0131 kontrol edin \/ ekleyin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">PermitRootLogin no\nPasswordAuthentication no\nPubkeyAuthentication yes\n<\/code><\/pre>\n<p>Kaydedip \u00e7\u0131kt\u0131ktan sonra SSH servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo systemctl restart ssh\n<\/code><\/pre>\n<p>Bu noktadan sonra sunucuya sadece anahtar tabanl\u0131 giri\u015f m\u00fcmk\u00fcn olacak, root do\u011frudan ba\u011flanamayacak. Bu, brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 \u00f6nemli bir kalkan sa\u011flar.<\/p>\n<h3><span id=\"3_Basit_Bir_Guvenlik_Duvari_UFW\">3. Basit Bir G\u00fcvenlik Duvar\u0131 (UFW)<\/span><\/h3>\n<p>\u00d6nce UFW\u2019yi kural\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt install ufw -y\n<\/code><\/pre>\n<p>SSH ba\u011flant\u0131s\u0131n\u0131 kilitlememek i\u00e7in \u00f6nce SSH portunu, ard\u0131ndan HTTP\/HTTPS trafiklerini izin verelim:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo ufw allow OpenSSH\nsudo ufw allow http\nsudo ufw allow https\nsudo ufw enable\nsudo ufw status\n<\/code><\/pre>\n<p>\u0130leride ba\u015fka servisler (\u00f6rne\u011fin yaln\u0131zca sizin ba\u011flanaca\u011f\u0131n\u0131z bir veritaban\u0131 portu) a\u00e7mak isterseniz, UFW ile port bazl\u0131 izinler tan\u0131mlamaya devam edebilirsiniz.<\/p>\n<p>Daha kapsaml\u0131 bir g\u00fcvenlik stratejisi i\u00e7in, sadece SSH de\u011fil, web uygulamas\u0131 ve veritaban\u0131 katman\u0131n\u0131 da kapsayan \u00f6nerilerimizi g\u00f6rmek isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/vps-sunucu-guvenligi-nasil-saglanir-kapiyi-acik-birakmadan-yasamanin-sirri\/\">VPS sunucu g\u00fcvenli\u011fi nas\u0131l sa\u011flan\u0131r rehberimizi<\/a> incelemenizi \u00f6neririm.<\/p>\n<h2><span id=\"Web_Yigini_Kurulumu_Nginx_PHP-FPM_MariaDB\">Web Y\u0131\u011f\u0131n\u0131 Kurulumu: Nginx + PHP-FPM + MariaDB<\/span><\/h2>\n<p>\u015eimdi i\u015fin keyifli k\u0131sm\u0131na ge\u00e7ip web y\u0131\u011f\u0131n\u0131n\u0131 kural\u0131m. Amac\u0131m\u0131z hafif ve esnek bir yap\u0131, bu nedenle Apache yerine Nginx tercih edece\u011fiz. \u00d6rnek, PHP tabanl\u0131 bir site (WordPress, basit PHP uygulamas\u0131 vb.) i\u00e7in olacak.<\/p>\n<h3><span id=\"1_Nginx_Kurulumu\">1. Nginx Kurulumu<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt install nginx -y\n<\/code><\/pre>\n<p>Kurulumdan sonra Nginx otomatik ba\u015flar. Durumunu kontrol edin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo systemctl status nginx\n<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zdan sunucu IP adresine gitti\u011finizde Nginx\u2019in varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6r\u00fcyorsan\u0131z, bu ad\u0131m ba\u015far\u0131l\u0131d\u0131r.<\/p>\n<h3><span id=\"2_PHP_ve_Gerekli_Uzantilar\">2. PHP ve Gerekli Uzant\u0131lar<\/span><\/h3>\n<p>\u00d6rne\u011fin PHP 8.1\u2019i kural\u0131m (Ubuntu s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re paket ad\u0131 de\u011fi\u015febilir):<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt install php-fpm php-mysql php-xml php-gd php-curl php-zip -y\n<\/code><\/pre>\n<p>PHP-FPM servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo systemctl status php8.1-fpm\n<\/code><\/pre>\n<p>\u00c7al\u0131\u015f\u0131yorsa, Nginx ile entegrasyon i\u00e7in haz\u0131r\u0131z.<\/p>\n<h3><span id=\"3_MariaDB_veya_MySQL_Kurulumu\">3. MariaDB (veya MySQL) Kurulumu<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt install mariadb-server -y\nsudo systemctl status mariadb\n<\/code><\/pre>\n<p>Ard\u0131ndan temel g\u00fcvenlik sihirbaz\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo mysql_secure_installation\n<\/code><\/pre>\n<p>Bu ara\u00e7la:<\/p>\n<ul>\n<li>Root \u015fifresi belirler,<\/li>\n<li>Anonim kullan\u0131c\u0131lar\u0131 siler,<\/li>\n<li>Uzak root giri\u015fini kapat\u0131r,<\/li>\n<li>Test veritaban\u0131n\u0131 kald\u0131r\u0131rs\u0131n\u0131z.<\/li>\n<\/ul>\n<h3><span id=\"4_Ornek_Veritabani_ve_Kullanici_Olusturma\">4. \u00d6rnek Veritaban\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma<\/span><\/h3>\n<p>\u00d6rne\u011fin <em>example_db<\/em> ad\u0131nda bir veritaban\u0131, <em>example_user<\/em> ad\u0131nda bir kullan\u0131c\u0131 olu\u015ftural\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo mysql\n\nCREATE DATABASE example_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'example_user'@'localhost' IDENTIFIED BY 'GucluBirSifre123!';\nGRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;\n<\/code><\/pre>\n<p>Bu bilgileri, ileride PHP uygulaman\u0131z\u0131n <code>config.php<\/code> veya <code>.env<\/code> dosyas\u0131nda kullanacaks\u0131n\u0131z.<\/p>\n<h2><span id=\"Alan_Adini_VPSe_Yonlendirmek_DNS_Ayarlari\">Alan Ad\u0131n\u0131 VPS\u2019e Y\u00f6nlendirmek: DNS Ayarlar\u0131<\/span><\/h2>\n<p>Sunucunuz haz\u0131r; \u015fimdi alan ad\u0131n\u0131z\u0131 bu sunucuya y\u00f6nlendirmeniz gerekiyor. Bu i\u015flem, alan ad\u0131n\u0131 ald\u0131\u011f\u0131n\u0131z yerdeki DNS y\u00f6netim ekran\u0131ndan yap\u0131l\u0131r.<\/p>\n<h3><span id=\"1_A_Kaydi_Olusturma\">1. A Kayd\u0131 Olu\u015fturma<\/span><\/h3>\n<p>\u00d6rne\u011fin <em>example.com<\/em> i\u00e7in:<\/p>\n<ul>\n<li>T\u00fcr: A<\/li>\n<li>Ad: <code>@<\/code> (veya bo\u015f b\u0131rak\u0131l\u0131r)<\/li>\n<li>Adres: <code>203.0.113.10<\/code> (VPS IP\u2019niz)<\/li>\n<li>TTL: 300\u20133600 (5\u201360 dakika) aras\u0131 tercih edilebilir<\/li>\n<\/ul>\n<p>E\u011fer <em>www.example.com<\/em> da ayn\u0131 siteyi g\u00f6stermesini istiyorsan\u0131z, ek olarak:<\/p>\n<ul>\n<li>T\u00fcr: CNAME<\/li>\n<li>Ad: <code>www<\/code><\/li>\n<li>Hedef: <code>example.com<\/code><\/li>\n<\/ul>\n<p>DNS kay\u0131t t\u00fcrleri ve s\u0131k yap\u0131lan hatalar hakk\u0131nda daha derinlemesine bilgi isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/dns-kayitlari-adan-zye-a-aaaa-cname-mx-txt-srv-caa-ve-sizi-yakan-o-kucuk-hatalar\/\">DNS kay\u0131tlar\u0131 A\u2019dan Z\u2019ye rehberimizi<\/a> detayl\u0131ca inceleyebilirsiniz.<\/p>\n<p>Yeni bir alan ad\u0131 ald\u0131ysan\u0131z, SSL, e-posta ve SEO taraf\u0131nda ilk 30 g\u00fcn neleri kontrol etmeniz gerekti\u011fini de <a href=\"https:\/\/www.dchost.com\/blog\/yeni-alan-adi-aldiktan-sonra-ilk-30-gun-icin-dns-ssl-e%E2%80%91posta-ve-seo-kontrol-listesi\/\">DNS, SSL, e\u2011posta ve SEO kontrol listemizde<\/a> ad\u0131m ad\u0131m anlatt\u0131k.<\/p>\n<h2><span id=\"Nginx_Sanal_Host_Server_Block_ile_Siteyi_Yayina_Alma\">Nginx Sanal Host (Server Block) ile Siteyi Yay\u0131na Alma<\/span><\/h2>\n<p>\u015eimdi Nginx \u00fczerinde alan ad\u0131n\u0131za \u00f6zel bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturaca\u011f\u0131z. \u00d6nce web k\u00f6k dizinini haz\u0131rlayal\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo mkdir -p \/var\/www\/example.com\/public\nsudo chown -R deploy:www-data \/var\/www\/example.com\nsudo chmod -R 750 \/var\/www\/example.com\n<\/code><\/pre>\n<p>Basit bir test dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">echo &quot;&lt;h1&gt;Merhaba Dunya&lt;\/h1&gt;&quot; &gt; \/var\/www\/example.com\/public\/index.html\n<\/code><\/pre>\n<h3><span id=\"1_Nginx_Server_Block_Dosyasi\">1. Nginx Server Block Dosyas\u0131<\/span><\/h3>\n<p>Yeni bir yap\u0131land\u0131rma dosyas\u0131 a\u00e7\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/example.com\n<\/code><\/pre>\n<p>\u0130\u00e7erisine \u015fu \u00f6rnek yap\u0131land\u0131rmay\u0131 yaz\u0131n (PHP kullanacaksan\u0131z a\u015fa\u011f\u0131daki versiyonu tercih edin):<\/p>\n<pre class=\"language-nginx line-numbers\"><code class=\"language-nginx\">server {\n    listen 80;\n    server_name example.com www.example.com;\n\n    root \/var\/www\/example.com\/public;\n    index index.php index.html index.htm;\n\n    access_log \/var\/log\/nginx\/example.com.access.log;\n    error_log  \/var\/log\/nginx\/example.com.error.log;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$query_string;\n    }\n\n    location ~ .php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/run\/php\/php8.1-fpm.sock;\n    }\n\n    location ~ \/.ht {\n        deny all;\n    }\n}\n<\/code><\/pre>\n<p>Siteyi etkinle\u015ftirin ve Nginx\u2019i yeniden y\u00fckleyin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/example.com \/etc\/nginx\/sites-enabled\/\nsudo nginx -t\nsudo systemctl reload nginx\n<\/code><\/pre>\n<p>Taray\u0131c\u0131dan <em>http:\/\/example.com<\/em> adresine gitti\u011finizde, az \u00f6nce olu\u015fturdu\u011fumuz test sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h2><span id=\"Ucretsiz_SSL_ile_HTTPS_Etkinlestirme_Lets_Encrypt_certbot\">\u00dccretsiz SSL ile HTTPS Etkinle\u015ftirme (Let\u2019s Encrypt + certbot)<\/span><\/h2>\n<p>Art\u0131k HTTP \u00e7al\u0131\u015f\u0131yor; s\u0131ra HTTPS\u2019e geldi. Modern web\u2019te, \u00f6zellikle taray\u0131c\u0131 g\u00fcvenlik uyar\u0131lar\u0131ndan ka\u00e7\u0131nmak ve SEO\u2019yu korumak i\u00e7in HTTPS zorunlu hale geldi diyebiliriz.<\/p>\n<h3><span id=\"1_Certbot_Kurulumu\">1. Certbot Kurulumu<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo apt install certbot python3-certbot-nginx -y\n<\/code><\/pre>\n<h3><span id=\"2_Sertifika_Alma_ve_Otomatik_Nginx_Entegrasyonu\">2. Sertifika Alma ve Otomatik Nginx Entegrasyonu<\/span><\/h3>\n<p>A\u015fa\u011f\u0131daki komut, hem sertifikay\u0131 al\u0131r hem de Nginx yap\u0131land\u0131rman\u0131z\u0131 otomatik olarak HTTPS\u2019e g\u00fcnceller:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo certbot --nginx -d example.com -d www.example.com\n<\/code><\/pre>\n<p>Size e-posta, kullan\u0131m ko\u015fullar\u0131 ve HTTP \u2192 HTTPS y\u00f6nlendirmesi ile ilgili sorular soracakt\u0131r. T\u00fcm alanlar\u0131 doldurduktan sonra:<\/p>\n<ul>\n<li>80 ve 443 portlar\u0131ndan eri\u015filebilen ge\u00e7erli bir SSL sertifikan\u0131z olur,<\/li>\n<li>Nginx yap\u0131land\u0131rman\u0131z 443 portunda TLS ile dinleyecek \u015fekilde g\u00fcncellenir,<\/li>\n<li>HTTP istekleri otomatik olarak HTTPS\u2019e y\u00f6nlendirilir.<\/li>\n<\/ul>\n<p>HTTP\u2019den HTTPS\u2019e ge\u00e7i\u015fin SEO\u2019ya etkileri, HSTS ve 301 y\u00f6nlendirme stratejileri hakk\u0131nda daha detayl\u0131 bilgi isterseniz, <a href=\"https:\/\/www.dchost.com\/blog\/httpden-httpse-gecis-rehberi-301-yonlendirme-hsts-ve-seoyu-korumak\/\">HTTP\u2019den HTTPS\u2019e ge\u00e7i\u015f rehberimizi<\/a> mutlaka okuyun.<\/p>\n<h2><span id=\"Deploy_Senaryolari_Statik_Site_PHP_Uygulamasi_WordPress\">Deploy Senaryolar\u0131: Statik Site, PHP Uygulamas\u0131, WordPress<\/span><\/h2>\n<p>Art\u0131k altyap\u0131 haz\u0131r. S\u0131rada projenizi sunucuya ta\u015f\u0131y\u0131p canl\u0131ya almak var. Burada \u00fc\u00e7 tipik senaryoyu ele alal\u0131m.<\/p>\n<h3><span id=\"1_Statik_HTMLCSSJS_Site\">1. Statik HTML\/CSS\/JS Site<\/span><\/h3>\n<p>Statik bir site i\u00e7in tek yapman\u0131z gereken, derlenmi\u015f veya haz\u0131r dosyalar\u0131 <code>\/var\/www\/example.com\/public<\/code> dizinine kopyalamak.<\/p>\n<ul>\n<li><strong>scp<\/strong> ile transfer: <code>scp -r .\/build\/ deploy@203.0.113.10:\/var\/www\/example.com\/public<\/code><\/li>\n<li><strong>Git pull<\/strong>: Sunucuda <code>git<\/code> kullanarak repoyu \u00e7ekip, derleme komutlar\u0131n\u0131 orada \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/li>\n<\/ul>\n<p>Nginx yap\u0131land\u0131rmas\u0131nda PHP blo\u011funa ihtiyac\u0131n\u0131z yoksa, <code>index index.html index.htm;<\/code> sat\u0131r\u0131 yeterli olur.<\/p>\n<h3><span id=\"2_Basit_PHP_Uygulamasi_Frameworksuz_veya_Kucuk_Bir_MVC\">2. Basit PHP Uygulamas\u0131 (Framework\u2019s\u00fcz veya K\u00fc\u00e7\u00fck Bir MVC)<\/span><\/h3>\n<p>PHP dosyalar\u0131n\u0131z\u0131 <code>public<\/code> dizinine veya framework\u2019\u00fcn\u00fcz\u00fcn \u00f6nerdi\u011fi klas\u00f6re kopyalay\u0131n. \u00d6rne\u011fin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">scp -r .\/project-root\/* deploy@203.0.113.10:\/var\/www\/example.com\/\n<\/code><\/pre>\n<p>Gerekirse veritaban\u0131 ba\u011flant\u0131 ayarlar\u0131n\u0131 <code>config.php<\/code> i\u00e7inde, az \u00f6nce olu\u015fturdu\u011fumuz <em>example_db<\/em> ve <em>example_user<\/em> bilgileriyle g\u00fcncelleyin.<\/p>\n<h3><span id=\"3_WordPress_Kurulumu\">3. WordPress Kurulumu<\/span><\/h3>\n<p>WordPress gibi pop\u00fcler CMS\u2019leri kontrol paneli olmadan da gayet konforlu y\u00f6netebilirsiniz.<\/p>\n<ol>\n<li>WordPress\u2019i indirin:<\/li>\n<\/ol>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cd \/tmp\ncurl -O https:\/\/wordpress.org\/latest.tar.gz\ntar xzf latest.tar.gz\nsudo rsync -avP \/tmp\/wordpress\/ \/var\/www\/example.com\/public\/\n<\/code><\/pre>\n<ol start=\"2\">\n<li>Dosya izinlerini ayarlay\u0131n:<\/li>\n<\/ol>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo chown -R deploy:www-data \/var\/www\/example.com\nfind \/var\/www\/example.com -type d -exec chmod 750 {} ;\nfind \/var\/www\/example.com -type f -exec chmod 640 {} ;\n<\/code><\/pre>\n<ol start=\"3\">\n<li>Taray\u0131c\u0131dan <em>https:\/\/example.com<\/em> adresine girip kurulum sihirbaz\u0131n\u0131 tamamlay\u0131n.<\/li>\n<\/ol>\n<p>WordPress\u2019i VPS \u00fczerinde performansl\u0131 ve g\u00fcvenli \u015fekilde ko\u015fturmak i\u00e7in sunucu taraf\u0131nda yap\u0131labilecek ileri seviye ayarlar\u0131 merak ediyorsan\u0131z, <a href=\"https:\/\/www.dchost.com\/blog\/wordpress-icin-sunucu-tarafi-optimizasyon-php-fpm-opcache-redis-ve-mysql-ile-neyi-ne-zaman-nasil-ayarlamalisin\/\">WordPress i\u00e7in sunucu taraf\u0131 optimizasyon rehberimizi<\/a> mutlaka okuyun.<\/p>\n<h2><span id=\"Panel_Kullanmadiginizda_Bakim_Yedek_ve_Izleme_Nasil_Olmali\">Panel Kullanmad\u0131\u011f\u0131n\u0131zda Bak\u0131m, Yedek ve \u0130zleme Nas\u0131l Olmal\u0131?<\/span><\/h2>\n<p>Kontrol paneli kullanmad\u0131\u011f\u0131n\u0131zda, \u201ctek t\u0131kla yedek\u201d veya \u201cgrafikli CPU grafikleri\u201d gibi haz\u0131r \u00f6zellikleriniz olmayabilir; ama bunlar SSH taraf\u0131nda \u00e7ok daha esnek ve \u015feffaf \u015fekilde kurulabiliyor.<\/p>\n<h3><span id=\"1_Loglari_Izlemek_ve_Hata_Ayiklamak\">1. Log\u2019lar\u0131 \u0130zlemek ve Hata Ay\u0131klamak<\/span><\/h3>\n<ul>\n<li><strong>Nginx eri\u015fim loglar\u0131:<\/strong> <code>\/var\/log\/nginx\/example.com.access.log<\/code><\/li>\n<li><strong>Nginx hata loglar\u0131:<\/strong> <code>\/var\/log\/nginx\/example.com.error.log<\/code><\/li>\n<li><strong>PHP-FPM loglar\u0131:<\/strong> Genelde <code>\/var\/log\/php8.1-fpm.log<\/code> veya <code>journalctl -u php8.1-fpm<\/code><\/li>\n<li><strong>Sistem loglar\u0131:<\/strong> <code>journalctl -xe<\/code><\/li>\n<\/ul>\n<p>Bu loglar sayesinde 404 hatalar\u0131, yava\u015f istekler veya konfig\u00fcrasyon problemlerini h\u0131zl\u0131ca yakalayabilirsiniz.<\/p>\n<h3><span id=\"2_Otomatik_Yedekleme_Cron_ile\">2. Otomatik Yedekleme (Cron ile)<\/span><\/h3>\n<p>Panel olmadan da <code>cron<\/code> kullanarak d\u00fczenli dosya ve veritaban\u0131 yedekleri alabilirsiniz. \u00d6rne\u011fin g\u00fcnl\u00fck veritaban\u0131 yede\u011fi i\u00e7in bir bash beti\u011fi yaz\u0131p cron\u2019a ekleyebilirsiniz. Cron mant\u0131\u011f\u0131na panel taraf\u0131nda daha al\u0131\u015f\u0131k olanlar i\u00e7in, ilham olmas\u0131 a\u00e7\u0131s\u0131ndan <a href=\"https:\/\/www.dchost.com\/blog\/cpanel-ve-directadminde-otomatik-gorevler-planlama-cron-job-ile-yedek-rapor-ve-bakim-isleri\/\">cron job ile yedek ve bak\u0131m i\u015fleri rehberimizi<\/a> okuyabilirsiniz; oradaki prensiplerin ayn\u0131s\u0131 SSH taraf\u0131nda da ge\u00e7erlidir.<\/p>\n<h3><span id=\"3_Izleme_ve_Alarm_Kurmak\">3. \u0130zleme ve Alarm Kurmak<\/span><\/h3>\n<p>VPS\u2019inizin CPU, RAM, disk ve yan\u0131t s\u00fcresini izlemek, panel olmadan da m\u00fcmk\u00fcn ve hatta \u00e7o\u011fu zaman daha esnektir. Prometheus + Grafana veya daha hafif \u00e7\u00f6z\u00fcmlerle kendi izleme altyap\u0131n\u0131z\u0131 kurabilirsiniz. Ba\u015flang\u0131\u00e7 seviyesi i\u00e7in, <a href=\"https:\/\/www.dchost.com\/blog\/vps-izleme-ve-alarm-kurulumu-prometheus-grafana-ve-uptime-kuma-ile-baslangic\/\">VPS izleme ve alarm kurulumu rehberimizde<\/a> onlarca sunucuyu tek panelden izlemenin pratik yolunu anlatt\u0131k.<\/p>\n<h3><span id=\"4_Guvenlik_Kontrol_Listesini_Unutmayin\">4. G\u00fcvenlik Kontrol Listesini Unutmay\u0131n<\/span><\/h3>\n<p>SSH sertle\u015ftirme, firewall, g\u00fcncellemeler, fail2ban, dosya izinleri ve uygulama taraf\u0131 g\u00fcvenlik ayarlar\u0131\u2026 T\u00fcm bunlar bir araya geldi\u011finde, panel kullanmasan\u0131z bile olduk\u00e7a diren\u00e7li bir altyap\u0131n\u0131z olur. Konuyu daha sistematik ele almak i\u00e7in, <a href=\"https:\/\/www.dchost.com\/blog\/vps-sunucu-guvenligi-pratik-olceklenebilir-ve-dogrulanabilir-yaklasimlar\/\">VPS sunucu g\u00fcvenli\u011fi i\u00e7in pratik ve do\u011frulanabilir yakla\u015f\u0131mlar makalemizi<\/a> de okuman\u0131z\u0131 tavsiye ederim.<\/p>\n<h2><span id=\"Paylasimli_Hostingden_VPSe_Gecenler_Icin_Notlar\">Payla\u015f\u0131ml\u0131 Hosting\u2019den VPS\u2019e Ge\u00e7enler \u0130\u00e7in Notlar<\/span><\/h2>\n<p>Bu rehberi okuyanlar\u0131n \u00f6nemli bir k\u0131sm\u0131, muhtemelen daha \u00f6nce <a href=\"https:\/\/www.dchost.com\/tr\/web-hosting\">payla\u015f\u0131ml\u0131 hosting<\/a> kullanm\u0131\u015f ve \u015fimdi DCHost \u00fczerinde kendi VPS\u2019ine ge\u00e7en ki\u015filer. Aradaki fark b\u00fcy\u00fck: Art\u0131k her \u015fey sizin kontrol\u00fcn\u00fczde ve yapt\u0131\u011f\u0131n\u0131z her ayar\u0131n etkisini \u00e7ok daha net g\u00f6r\u00fcyorsunuz.<\/p>\n<p>Mevcut sitenizi panelden yeni bir VPS\u2019e ta\u015f\u0131ma s\u00fcrecinde neleri s\u0131rayla yapman\u0131z gerekti\u011fini, e-posta ve DNS taraf\u0131nda kesinti ya\u015famamak i\u00e7in hangi ad\u0131mlar\u0131n kritik oldu\u011funu <a href=\"https:\/\/www.dchost.com\/blog\/paylasimli-hostingden-vpse-nasil-gecersin-kesintisiz-tasima-icin-sicacik-bir-kontrol-listesi\/\">payla\u015f\u0131ml\u0131 hosting\u2019den VPS\u2019e ge\u00e7i\u015f kontrol listemizde<\/a> detayl\u0131 \u015fekilde anlatt\u0131k. Sadece yeni projeler de\u011fil, mevcut projelerinizi de SSH tabanl\u0131 bu esnek yap\u0131ya ta\u015f\u0131rken o rehberi elinizin alt\u0131nda tutman\u0131z faydal\u0131 olacakt\u0131r.<\/p>\n<h2><span id=\"Sonuc_Sadece_SSH_ile_Uretim_Hazir_Bir_VPS_Yonetmek_Mumkun\">Sonu\u00e7: Sadece SSH ile \u00dcretim Haz\u0131r Bir VPS Y\u00f6netmek M\u00fcmk\u00fcn<\/span><\/h2>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, bir web sitesini yay\u0131na almak i\u00e7in kontrol paneli \u015fart de\u011fil. DCHost \u00fczerinde kiralad\u0131\u011f\u0131n\u0131z yal\u0131n bir Linux VPS ile:<\/p>\n<ul>\n<li>SSH anahtar tabanl\u0131 g\u00fcvenli eri\u015fimi kurduk,<\/li>\n<li>Sistemi g\u00fcncelledik ve SSH eri\u015fimini sertle\u015ftirdik,<\/li>\n<li>UFW ile temel g\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirdik,<\/li>\n<li>Nginx + PHP-FPM + MariaDB y\u0131\u011f\u0131n\u0131yla modern bir web altyap\u0131s\u0131 haz\u0131rlad\u0131k,<\/li>\n<li>Alan ad\u0131n\u0131z\u0131 DNS ile VPS\u2019e y\u00f6nlendirdik,<\/li>\n<li>Let\u2019s Encrypt (certbot) ile \u00fccretsiz SSL kurup HTTP\u2019yi HTTPS\u2019e y\u00f6nlendirdik,<\/li>\n<li>Statik site, basit PHP uygulamas\u0131 ve WordPress i\u00e7in pratik deploy \u00f6rnekleri g\u00f6rd\u00fck,<\/li>\n<li>Yedekleme, log izleme ve alarm taraf\u0131nda panel ba\u011f\u0131ms\u0131z \u00e7\u00f6z\u00fcmlerden bahsettik.<\/li>\n<\/ul>\n<p>\u0130lk bak\u0131\u015fta komut sat\u0131r\u0131 g\u00f6z\u00fcn\u00fcz\u00fc korkutabilir; ancak birka\u00e7 kez ayn\u0131 ad\u0131mlar\u0131 uygulad\u0131ktan sonra, panelde \u201changi men\u00fcdeydi bu ayar?\u201d diye aranmaktan \u00e7ok daha h\u0131zl\u0131 ilerledi\u011finizi fark edeceksiniz. \u00dcstelik her yap\u0131land\u0131rmay\u0131 sat\u0131r sat\u0131r siz yapt\u0131\u011f\u0131n\u0131z i\u00e7in, sorun \u00e7\u0131kt\u0131\u011f\u0131nda neyi nerede d\u00fczeltece\u011finizi de \u00e7ok daha iyi biliyor olacaks\u0131n\u0131z.<\/p>\n<p>E\u011fer hala \u201cnereden ba\u015flayaca\u011f\u0131m?\u201d diyorsan\u0131z, en pratik yol k\u00fc\u00e7\u00fck bir test projesi i\u00e7in DCHost\u2019ta hafif bir VPS kiralamak, bu rehberi takip ederek s\u0131f\u0131rdan bir ortam kurmak ve deneme yan\u0131lma ile kendinizi rahatlatmak. \u0130htiya\u00e7 b\u00fcy\u00fcd\u00fck\u00e7e, DCHost\u2019un daha g\u00fc\u00e7l\u00fc VPS, <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a> ve colocation \u00e7\u00f6z\u00fcmleriyle ayn\u0131 yakla\u015f\u0131m\u0131 \u00f6l\u00e7eklendirmeniz m\u00fcmk\u00fcn.<\/p>\n<p>Kontrol paneli olmadan VPS y\u00f6netimi, uzun vadede size hem teknik \u00f6zg\u00fcrl\u00fck hem de maliyet avantaj\u0131 sa\u011flayacak g\u00fc\u00e7l\u00fc bir beceri. Bu rehberi favorilerinize ekleyin; yeni her proje i\u00e7in k\u00fc\u00e7\u00fck k\u00fc\u00e7\u00fck iyile\u015ftirerek kendi &#8220;alt\u0131n \u015fablonunuzu&#8221; olu\u015fturun.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Kontrol Paneli Olmadan VPS Y\u00f6netimi Neden Mant\u0131kl\u0131?2 \u00d6n Haz\u0131rl\u0131k: VPS, Domain ve Eri\u015fim Bilgileri2.1 1. Uygun VPS Plan\u0131n\u0131 Se\u00e7mek2.2 2. \u0130\u015fletim Sistemi ve S\u00fcr\u00fcm Tercihi2.3 3. SSH Bilgilerini Haz\u0131r Etmek3 SSH ile \u0130lk Ba\u011flant\u0131 ve Kullan\u0131c\u0131 Olu\u015fturma3.1 1. Yeni Kullan\u0131c\u0131 ve Sudo Yetkisi3.2 2. SSH Anahtar Tabanl\u0131 Giri\u015f4 Temel G\u00fcvenlik: G\u00fcncellemeler, SSH Ayarlar\u0131 ve [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2894,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-2893","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/2893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=2893"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/2893\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/2894"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=2893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=2893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=2893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}