{"id":36406,"date":"2025-12-15T21:40:56","date_gmt":"2025-12-15T18:40:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36406"},"modified":"2025-12-15T21:40:56","modified_gmt":"2025-12-15T18:40:56","slug":"processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/","title":{"rendered":"ProcessWire Web Sitesini Ubuntu VPS&#8217;ye Ta\u015f\u0131ma Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>ProcessWire Web Sitesini Ubuntu VPS&#8217;ye Ta\u015f\u0131ma Rehberi<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web sitelerinin performans\u0131, g\u00fcvenli\u011fi ve \u00f6l\u00e7eklenebilirli\u011fi b\u00fcy\u00fck \u00f6nem ta\u015f\u0131maktad\u0131r. ProcessWire, esnek yap\u0131s\u0131 ve geli\u015ftirici dostu \u00f6zellikleriyle \u00f6ne \u00e7\u0131kan g\u00fc\u00e7l\u00fc bir \u0130\u00e7erik Y\u00f6netim Sistemi (CMS) iken, Ubuntu tabanl\u0131 bir Sanal \u00d6zel Sunucu (VPS) ise web projeleri i\u00e7in ideal bir kontrol, performans ve g\u00fcvenlik ortam\u0131 sunar. Mevcut bir ProcessWire web sitesini payla\u015f\u0131ml\u0131 bir bar\u0131nd\u0131rma ortam\u0131ndan veya ba\u015fka bir sunucudan Ubuntu VPS&#8217;ye ta\u015f\u0131mak, projenizin potansiyelini tam anlam\u0131yla ortaya \u00e7\u0131karman\u0131n \u00f6nemli bir ad\u0131m\u0131d\u0131r. Bu teknik makale, ProcessWire web sitenizi sorunsuz bir \u015fekilde Ubuntu VPS&#8217;ye ta\u015f\u0131man\u0131z i\u00e7in ad\u0131m ad\u0131m kapsaml\u0131 bir rehber sunmaktad\u0131r.<\/p>\n<h4>Ama\u00e7 ve Kapsam<\/h4>\n<p>Bu makalenin temel amac\u0131, ProcessWire web sitesi dosyalar\u0131n\u0131n, veritaban\u0131n\u0131n ve yap\u0131land\u0131rmalar\u0131n\u0131n Ubuntu VPS ortam\u0131na nas\u0131l aktar\u0131laca\u011f\u0131n\u0131, web sunucusu (Apache veya Nginx) ve PHP gibi gerekli bile\u015fenlerin nas\u0131l kurulup yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 detayland\u0131rmakt\u0131r. Ayr\u0131ca, ta\u015f\u0131ma sonras\u0131 kontroller, performans optimizasyonlar\u0131 ve g\u00fcvenlik \u00f6nlemleri gibi kritik konulara da de\u011finilerek, okuyucunun ba\u015far\u0131l\u0131 ve g\u00fcvenli bir ta\u015f\u0131ma s\u00fcreci ger\u00e7ekle\u015ftirmesi hedeflenmektedir. Makale, orta d\u00fczeyde Linux ve web sunucusu bilgisine sahip geli\u015ftiriciler ve sistem y\u00f6neticileri i\u00e7in uygundur.<\/p>\n<h3>Neden Ubuntu VPS ve ProcessWire?<\/h3>\n<p>ProcessWire ve Ubuntu VPS kombinasyonu, bir\u00e7ok web projesi i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir temel olu\u015fturur. Bu b\u00f6l\u00fcm, bu se\u00e7imin arkas\u0131ndaki nedenleri a\u00e7\u0131klamaktad\u0131r.<\/p>\n<h4>ProcessWire&#8217;\u0131n Avantajlar\u0131<\/h4>\n<ul>\n<li><strong>Esneklik ve G\u00fc\u00e7:<\/strong> ProcessWire, sayfa alanlar\u0131 (fields) ve \u015fablonlar (templates) \u00fczerinde tam kontrol sa\u011flayarak, neredeyse her t\u00fcrl\u00fc web sitesi yap\u0131s\u0131n\u0131 olu\u015fturman\u0131za olanak tan\u0131r. Geli\u015ftiricilere b\u00fcy\u00fck bir \u00f6zg\u00fcrl\u00fck sunar.<\/li>\n<li><strong>Performans:<\/strong> Hafif yap\u0131s\u0131 ve optimize edilmi\u015f veritaban\u0131 sorgular\u0131 sayesinde ProcessWire, genellikle y\u00fcksek performansl\u0131d\u0131r.<\/li>\n<li><strong>G\u00fcvenlik:<\/strong> G\u00fcvenlik odakl\u0131 bir mimariye sahiptir ve d\u00fczenli g\u00fcncellemelerle potansiyel zafiyetler h\u0131zla giderilir.<\/li>\n<li><strong>Kullan\u0131m Kolayl\u0131\u011f\u0131 (Geli\u015ftiriciler \u0130\u00e7in):<\/strong> API&#8217;si olduk\u00e7a sezgisel ve g\u00fc\u00e7l\u00fcd\u00fcr, bu da \u00f6zel i\u015flevselliklerin kolayca entegre edilmesini sa\u011flar.<\/li>\n<li><strong>K\u00fc\u00e7\u00fck Ayak \u0130zi:<\/strong> Di\u011fer baz\u0131 CMS&#8217;lere k\u0131yasla daha az kaynak t\u00fcketir.<\/li>\n<\/ul>\n<h4>VPS&#8217;in Esnekli\u011fi ve Kontrol\u00fc<\/h4>\n<ul>\n<li><strong>Tam Kontrol:<\/strong> VPS, payla\u015f\u0131ml\u0131 bar\u0131nd\u0131rman\u0131n aksine, i\u015fletim sistemi d\u00fczeyinde tam kontrol sa\u011flar. Bu, sunucu yaz\u0131l\u0131mlar\u0131n\u0131 (PHP, MySQL, Apache\/Nginx) istedi\u011finiz gibi yap\u0131land\u0131rabilece\u011finiz anlam\u0131na gelir.<\/li>\n<li><strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Web sitenizin trafi\u011fi artt\u0131\u011f\u0131nda, VPS kaynaklar\u0131n\u0131 (CPU, RAM, Disk) kolayca y\u00fckseltebilirsiniz.<\/li>\n<li><strong>\u0130zolasyon:<\/strong> Di\u011fer kullan\u0131c\u0131lar\u0131n kaynak kullan\u0131m\u0131ndan etkilenmezsiniz, bu da daha istikrarl\u0131 bir performans sunar.<\/li>\n<li><strong>G\u00fcvenlik:<\/strong> Kendi g\u00fcvenlik \u00f6nlemlerinizi uygulayabilir ve sunucuyu tamamen kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re kilitleyebilirsiniz.<\/li>\n<\/ul>\n<h4>Ubuntu&#8217;nun Kararl\u0131l\u0131\u011f\u0131 ve Topluluk Deste\u011fi<\/h4>\n<ul>\n<li><strong>Kararl\u0131l\u0131k:<\/strong> Ubuntu Server, kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenilirli\u011fi ile bilinen pop\u00fcler bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Uzun S\u00fcreli Destek (LTS) s\u00fcr\u00fcmleri, uzun vadeli projeler i\u00e7in idealdir.<\/li>\n<li><strong>Geni\u015f Topluluk:<\/strong> Ubuntu&#8217;nun geni\u015f bir kullan\u0131c\u0131 ve geli\u015ftirici toplulu\u011fu vard\u0131r. Herhangi bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda, \u00e7evrimi\u00e7i forumlarda veya belgelerde h\u0131zl\u0131ca \u00e7\u00f6z\u00fcm bulabilirsiniz.<\/li>\n<li><strong>G\u00fcncel Paketler:<\/strong> Ubuntu&#8217;nun paket y\u00f6neticisi APT, yaz\u0131l\u0131mlar\u0131 kolayca kurman\u0131za ve g\u00fcncel tutman\u0131za olanak tan\u0131r.<\/li>\n<\/ul>\n<h3>Ta\u015f\u0131ma \u00d6ncesi Haz\u0131rl\u0131klar<\/h3>\n<p>Ba\u015far\u0131l\u0131 bir ta\u015f\u0131ma i\u00e7in \u00f6n haz\u0131rl\u0131klar kritik \u00f6neme sahiptir. Bu ad\u0131mlar\u0131 dikkatlice takip etmek, olas\u0131 sorunlar\u0131 minimize edecektir.<\/p>\n<h4>Mevcut Ortam\u0131n Analizi<\/h4>\n<p>Mevcut ProcessWire web sitenizin \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucunun teknik \u00f6zelliklerini not al\u0131n. Bu bilgiler, yeni VPS&#8217;i do\u011fru \u015fekilde yap\u0131land\u0131rman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<ul>\n<li><strong>PHP S\u00fcr\u00fcm\u00fc:<\/strong> <code>php -v<\/code> komutu veya <code>phpinfo()<\/code> fonksiyonu ile mevcut PHP s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc \u00f6\u011frenin. Yeni VPS&#8217;te en az ayn\u0131 veya daha yeni ve ProcessWire taraf\u0131ndan desteklenen bir PHP s\u00fcr\u00fcm\u00fc kullanmal\u0131s\u0131n\u0131z (\u00f6rne\u011fin, PHP 8.1 veya \u00fczeri).<\/li>\n<li><strong>PHP Uzant\u0131lar\u0131:<\/strong> <code>php -m<\/code> komutu veya <code>phpinfo()<\/code> \u00e7\u0131kt\u0131s\u0131ndan ProcessWire i\u00e7in gerekli olan (gd, mbstring, curl, xml, zip, pdo_mysql) ve kulland\u0131\u011f\u0131n\u0131z di\u011fer uzant\u0131lar\u0131 (\u00f6rne\u011fin, imagick) kontrol edin.<\/li>\n<li><strong>MySQL\/MariaDB S\u00fcr\u00fcm\u00fc:<\/strong> Veritaban\u0131 sunucunuzun s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin.<\/li>\n<li><strong>Web Sunucusu:<\/strong> Apache mi yoksa Nginx mi kullan\u0131l\u0131yor? Yap\u0131land\u0131rma dosyalar\u0131na eri\u015fiminiz varsa, bu bilgileri inceleyin.<\/li>\n<li><strong>ProcessWire S\u00fcr\u00fcm\u00fc:<\/strong> Kulland\u0131\u011f\u0131n\u0131z ProcessWire s\u00fcr\u00fcm\u00fcn\u00fc not al\u0131n.<\/li>\n<\/ul>\n<h4>Yedekleme (Veritaban\u0131 ve Dosyalar)<\/h4>\n<p>Bu, ta\u015f\u0131ma s\u00fcrecinin en \u00f6nemli ad\u0131m\u0131d\u0131r. Herhangi bir aksakl\u0131k durumunda geri d\u00f6nebilece\u011finiz eksiksiz bir yede\u011fe sahip olmak zorunludur.<\/p>\n<ul>\n<li><strong>Veritaban\u0131 Yedekleme:<\/strong> SSH eri\u015fiminiz varsa, <code>mysqldump<\/code> komutunu kullanarak veritaban\u0131n\u0131z\u0131 yedekleyin:\n<pre><code class=\"language-bash\">mysqldump -u [veritabani_kullanicisi] -p[veritabani_parolasi] [veritabani_adi] > veritabani_yedek.sql<\/code><\/pre>\n<p>        E\u011fer phpMyAdmin kullan\u0131yorsan\u0131z, oradan da veritaban\u0131n\u0131 d\u0131\u015fa aktarabilirsiniz.<\/li>\n<li><strong>Dosya Yedekleme:<\/strong> T\u00fcm ProcessWire dosyalar\u0131n\u0131z\u0131 (genellikle <code>public_html<\/code> veya <code>www<\/code> dizini alt\u0131ndad\u0131r) s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f bir ar\u015fiv dosyas\u0131 olarak yedekleyin.\n<pre><code class=\"language-bash\">tar -czvf processwire_yedek.tar.gz \/path\/to\/your\/processwire\/root<\/code><\/pre>\n<p>        Bu ar\u015fivin i\u00e7inde ProcessWire&#8217;\u0131n t\u00fcm \u00e7ekirdek dosyalar\u0131, mod\u00fclleri, temalar\u0131 ve \u00f6zellikle <code>site\/assets\/<\/code> dizini bulunmal\u0131d\u0131r.<\/li>\n<\/ul>\n<h4>Gerekli Bilgilerin Toplanmas\u0131<\/h4>\n<ul>\n<li><strong>Veritaban\u0131 Kimlik Bilgileri:<\/strong> Mevcut ProcessWire sitenizin <code>site\/config.php<\/code> dosyas\u0131nda bulunan veritaban\u0131 ad\u0131, kullan\u0131c\u0131 ad\u0131 ve parolas\u0131.<\/li>\n<li><strong>FTP\/SSH Bilgileri:<\/strong> Mevcut sunucunuza eri\u015fim i\u00e7in gerekli bilgiler.<\/li>\n<li><strong>Alan Ad\u0131 Bilgileri:<\/strong> Alan ad\u0131n\u0131z\u0131n kay\u0131tl\u0131 oldu\u011fu yerden DNS y\u00f6netim paneline eri\u015fim bilgileri.<\/li>\n<\/ul>\n<h4>Yeni VPS Se\u00e7imi ve SSH Eri\u015fimi<\/h4>\n<p>G\u00fcvenilir bir VPS sa\u011flay\u0131c\u0131s\u0131 se\u00e7in (DigitalOcean, Linode, Vultr, AWS, Google Cloud vb.). Ubuntu Server&#8217;\u0131n son LTS s\u00fcr\u00fcm\u00fcn\u00fc i\u00e7eren bir VPS olu\u015fturun ve SSH eri\u015fimi i\u00e7in root veya sudo yetkili bir kullan\u0131c\u0131 olu\u015fturun. G\u00fcvenlik i\u00e7in SSH anahtar \u00e7ifti kullanman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<pre><code class=\"language-bash\">ssh -i \/path\/to\/your\/private_key.pem user@your_vps_ip<\/code><\/pre>\n<h3>Ubuntu VPS Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Yeni VPS&#8217;inizi ProcessWire i\u00e7in haz\u0131r hale getirme ad\u0131mlar\u0131.<\/p>\n<h4>VPS&#8217;e \u0130lk Ba\u011flant\u0131 ve Temel G\u00fcvenlik Ayarlar\u0131<\/h4>\n<p>VPS&#8217;e ilk ba\u011fland\u0131\u011f\u0131n\u0131zda baz\u0131 temel g\u00fcvenlik ayarlar\u0131n\u0131 yapman\u0131z \u00f6nemlidir.<\/p>\n<ul>\n<li><strong>Sudo Yetkili Kullan\u0131c\u0131 Olu\u015fturma:<\/strong> Root kullan\u0131c\u0131s\u0131 yerine sudo yetkileri olan bir kullan\u0131c\u0131 ile \u00e7al\u0131\u015fmak daha g\u00fcvenlidir.\n<pre><code class=\"language-bash\">adduser [kullanici_adi]\nusermod -aG sudo [kullanici_adi]<\/code><\/pre>\n<p>        Ard\u0131ndan root yerine bu kullan\u0131c\u0131 ile giri\u015f yap\u0131n.<\/li>\n<li><strong>SSH Anahtarlar\u0131:<\/strong> Parola ile giri\u015f yerine SSH anahtarlar\u0131 kullanmak g\u00fcvenli\u011fi art\u0131r\u0131r. Mevcut anahtar\u0131n\u0131z\u0131 yeni kullan\u0131c\u0131n\u0131n <code>.ssh\/authorized_keys<\/code> dosyas\u0131na ekleyin.\n<pre><code class=\"language-bash\">mkdir -p ~\/.ssh\nchmod 700 ~\/.ssh\nnano ~\/.ssh\/authorized_keys<\/code><\/pre>\n<p>        Genel anahtar\u0131n\u0131z\u0131 yap\u0131\u015ft\u0131r\u0131n ve kaydedin. SSH yap\u0131land\u0131rmas\u0131nda (<code>\/etc\/ssh\/sshd_config<\/code>) <code>PasswordAuthentication no<\/code> yaparak parola ile giri\u015fi devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<\/li>\n<li><strong>G\u00fcvenlik Duvar\u0131 (UFW):<\/strong> Yaln\u0131zca gerekli portlara (SSH, HTTP, HTTPS) izin verin.\n<pre><code class=\"language-bash\">sudo ufw allow OpenSSH\nsudo ufw allow http\nsudo ufw allow https\nsudo ufw enable<\/code><\/pre>\n<\/li>\n<\/ul>\n<h4>G\u00fcncelleme ve Y\u00fckseltme<\/h4>\n<p>Sisteminizi g\u00fcncel tutmak, g\u00fcvenlik ve kararl\u0131l\u0131k a\u00e7\u0131s\u0131ndan \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h4>Gerekli Yaz\u0131l\u0131mlar\u0131n Kurulumu<\/h4>\n<p>ProcessWire&#8217;\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in bir web sunucusu (Apache veya Nginx), PHP ve bir veritaban\u0131 sunucusu (MySQL veya MariaDB) gereklidir.<\/p>\n<ul>\n<li><strong>Web Sunucusu (Apache):<\/strong>\n<pre><code class=\"language-bash\">sudo apt install apache2 -y<\/code><\/pre>\n<p>        Apache&#8217;yi ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start apache2\nsudo systemctl enable apache2<\/code><\/pre>\n<\/li>\n<li><strong>Web Sunucusu (Nginx):<\/strong>\n<pre><code class=\"language-bash\">sudo apt install nginx -y<\/code><\/pre>\n<p>        Nginx&#8217;i ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start nginx\nsudo systemctl enable nginx<\/code><\/pre>\n<\/li>\n<li><strong>PHP-FPM (PHP FastCGI Process Manager):<\/strong> ProcessWire i\u00e7in \u00f6nerilen PHP s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin, PHP 8.1) kurun.\n<pre><code class=\"language-bash\">sudo apt install php8.1-fpm php8.1-mysql php8.1-gd php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip php8.1-intl -y<\/code><\/pre>\n<p>        Gerekirse <code>php8.1-imagick<\/code> gibi ek uzant\u0131lar\u0131 da kurun. PHP-FPM&#8217;i ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start php8.1-fpm\nsudo systemctl enable php8.1-fpm<\/code><\/pre>\n<\/li>\n<li><strong>Veritaban\u0131 Sunucusu (MariaDB):<\/strong> MySQL yerine genellikle daha iyi performans sunan MariaDB tercih edilebilir.\n<pre><code class=\"language-bash\">sudo apt install mariadb-server -y<\/code><\/pre>\n<p>        MariaDB&#8217;yi g\u00fcvenli hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo mysql_secure_installation<\/code><\/pre>\n<p>        Bu komut, root parolas\u0131 ayarlaman\u0131za, anonim kullan\u0131c\u0131lar\u0131 kald\u0131rman\u0131za, uzaktan root giri\u015fini devre d\u0131\u015f\u0131 b\u0131rakman\u0131za ve test veritaban\u0131n\u0131 kald\u0131rman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/li>\n<\/ul>\n<h3>ProcessWire Veritaban\u0131n\u0131n Ta\u015f\u0131nmas\u0131<\/h3>\n<p>Mevcut veritaban\u0131n\u0131z\u0131 yeni VPS&#8217;e aktarma ad\u0131mlar\u0131.<\/p>\n<h4>Mevcut Veritaban\u0131n\u0131 D\u0131\u015fa Aktarma (Tekrar Kontrol)<\/h4>\n<p>Bu ad\u0131m\u0131 daha \u00f6nce yapt\u0131ysan\u0131z, yedek dosyan\u0131z\u0131n yeni VPS&#8217;e aktar\u0131lmaya haz\u0131r oldu\u011fundan emin olun.<\/p>\n<h4>Yeni VPS&#8217;te Veritaban\u0131 Olu\u015fturma ve Kullan\u0131c\u0131 Tan\u0131mlama<\/h4>\n<p>Yeni sunucunuzda ProcessWire i\u00e7in \u00f6zel bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015fturun.<\/p>\n<pre><code class=\"language-bash\">sudo mysql -u root -p<\/code><\/pre>\n<p>MySQL\/MariaDB komut isteminde:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE [yeni_veritabani_adi] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER '[yeni_kullanici_adi]'@'localhost' IDENTIFIED BY '[yeni_parola]';\nGRANT ALL PRIVILEGES ON [yeni_veritabani_adi].* TO '[yeni_kullanici_adi]'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n<p>Bu bilgileri (veritaban\u0131 ad\u0131, kullan\u0131c\u0131 ad\u0131, parola) not al\u0131n.<\/p>\n<h4>Veritaban\u0131n\u0131 \u0130\u00e7e Aktarma<\/h4>\n<p>Daha \u00f6nce yedekledi\u011finiz <code>.sql<\/code> dosyas\u0131n\u0131 VPS&#8217;e aktar\u0131n (\u00f6rne\u011fin <code>scp<\/code> ile) ve ard\u0131ndan i\u00e7e aktar\u0131n:<\/p>\n<pre><code class=\"language-bash\">scp \/path\/to\/local\/veritabani_yedek.sql user@your_vps_ip:\/tmp\/veritabani_yedek.sql<\/code><\/pre>\n<p>VPS \u00fczerinde:<\/p>\n<pre><code class=\"language-bash\">mysql -u [yeni_kullanici_adi] -p[yeni_parola] [yeni_veritabani_adi] < \/tmp\/veritabani_yedek.sql<\/code><\/pre>\n<h3>ProcessWire Dosyalar\u0131n\u0131n Ta\u015f\u0131nmas\u0131<\/h3>\n<p>Web sitesi dosyalar\u0131n\u0131z\u0131 yeni sunucuya aktarma ve do\u011fru izinleri ayarlama.<\/p>\n<h4>Dosyalar\u0131 S\u0131k\u0131\u015ft\u0131rma (Tekrar Kontrol)<\/h4>\n<p>Mevcut sunucunuzdan ProcessWire dosyalar\u0131n\u0131z\u0131n s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f bir <code>tar.gz<\/code> veya <code>zip<\/code> ar\u015fivi olarak haz\u0131r oldu\u011fundan emin olun.<\/p>\n<h4>Dosyalar\u0131 VPS'e Aktarma<\/h4>\n<p>S\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyay\u0131 VPS'e aktar\u0131n. \u00d6rne\u011fin, <code>scp<\/code> komutuyla:<\/p>\n<pre><code class=\"language-bash\">scp \/path\/to\/local\/processwire_yedek.tar.gz user@your_vps_ip:\/var\/www\/html\/<\/code><\/pre>\n<p>Bu \u00f6rnekte <code>\/var\/www\/html\/<\/code> Apache'nin varsay\u0131lan k\u00f6k dizinidir. Nginx kullan\u0131yorsan\u0131z, genellikle <code>\/var\/www\/<\/code> alt\u0131nda alan ad\u0131n\u0131za \u00f6zel bir dizin olu\u015fturursunuz (\u00f6rn. <code>\/var\/www\/example.com\/public_html<\/code>).<\/p>\n<h4>Dosyalar\u0131 \u00c7\u0131kartma ve Do\u011fru \u0130zinleri Ayarlama<\/h4>\n<p>VPS \u00fczerinde, dosyalar\u0131 aktard\u0131\u011f\u0131n\u0131z dizine gidin ve ar\u015fivden \u00e7\u0131kar\u0131n:<\/p>\n<pre><code class=\"language-bash\">cd \/var\/www\/html\/ # veya Nginx i\u00e7in \u00f6zel dizininiz\nsudo tar -xzvf processwire_yedek.tar.gz<\/code><\/pre>\n<p>ProcessWire'\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in dosya ve dizin izinlerinin do\u011fru ayarlanmas\u0131 \u00e7ok \u00f6nemlidir. Web sunucusu kullan\u0131c\u0131s\u0131n\u0131n (Apache i\u00e7in <code>www-data<\/code>, Nginx i\u00e7in genellikle <code>www-data<\/code> veya <code>nginx<\/code>) ProcessWire dizinlerine yazma eri\u015fimi olmal\u0131d\u0131r, \u00f6zellikle <code>site\/assets\/<\/code> dizinine.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/html\/processwire_root_folder\/\nsudo find \/var\/www\/html\/processwire_root_folder\/ -type d -exec chmod 755 {} \\;\nsudo find \/var\/www\/html\/processwire_root_folder\/ -type f -exec chmod 644 {} \\;\nsudo chmod -R 775 \/var\/www\/html\/processwire_root_folder\/site\/assets\/<\/code><\/pre>\n<p><code>processwire_root_folder<\/code> yerine ProcessWire dosyalar\u0131n\u0131z\u0131n bulundu\u011fu ger\u00e7ek dizin ad\u0131n\u0131 yaz\u0131n. <code>site\/assets\/<\/code> dizinine 775 izni vermek genellikle yeterlidir, ancak baz\u0131 durumlarda 777 gerekebilir (ancak g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nerilmez).<\/p>\n<h3>ProcessWire Yap\u0131land\u0131rmas\u0131n\u0131n G\u00fcncellenmesi<\/h3>\n<p>ProcessWire'\u0131n yeni ortamda do\u011fru \u00e7al\u0131\u015fmas\u0131 i\u00e7in yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemelisiniz.<\/p>\n<h4><code>site\/config.php<\/code> Dosyas\u0131n\u0131n D\u00fczenlenmesi<\/h4>\n<p>ProcessWire'\u0131n k\u00f6k dizinindeki <code>site\/config.php<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki bilgileri yeni VPS ortam\u0131n\u0131za g\u00f6re g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-php\">nano \/var\/www\/html\/processwire_root_folder\/site\/config.php<\/code><\/pre>\n<ul>\n<li><strong>Veritaban\u0131 Bilgileri:<\/strong>\n<pre><code class=\"language-php\">$config->dbName = '[yeni_veritabani_adi]';\n$config->dbUser = '[yeni_kullanici_adi]';\n$config->dbPass = '[yeni_parola]';\n$config->dbHost = 'localhost'; \/\/ Genellikle 'localhost' kal\u0131r<\/code><\/pre>\n<\/li>\n<li><strong>Base URL:<\/strong> Web sitenizin yeni alan ad\u0131n\u0131 veya IP adresini ayarlay\u0131n.\n<pre><code class=\"language-php\">$config->baseURL = 'http:\/\/www.alanadiniz.com\/'; \/\/ veya https:\/\/<\/code><\/pre>\n<p>        E\u011fer siteniz bir alt dizinde \u00e7al\u0131\u015facaksa, bunu da belirtmelisiniz: <code>http:\/\/www.alanadiniz.com\/alt-dizin\/<\/code><\/li>\n<\/ul>\n<h4>Gerekirse <code>site\/assets\/cache<\/code> ve <code>site\/assets\/logs<\/code> Dizinlerinin Temizlenmesi<\/h4>\n<p>Bazen ta\u015f\u0131ma sonras\u0131 \u00f6nbellek veya log dosyalar\u0131 eski ortamdan kalan hatal\u0131 veriler i\u00e7erebilir. Bu dizinlerin i\u00e7eri\u011fini temizlemek sorunlar\u0131 \u00e7\u00f6zebilir.<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/var\/www\/html\/processwire_root_folder\/site\/assets\/cache\/*\nsudo rm -rf \/var\/www\/html\/processwire_root_folder\/site\/assets\/logs\/*<\/code><\/pre>\n<h3>Web Sunucusu Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Web sunucunuzu (Apache veya Nginx) ProcessWire'\u0131 bar\u0131nd\u0131racak \u015fekilde yap\u0131land\u0131r\u0131n.<\/p>\n<h4>Apache Yap\u0131land\u0131rmas\u0131<\/h4>\n<ul>\n<li><strong>Virtual Host Olu\u015fturma:<\/strong> Yeni bir sanal ana bilgisayar dosyas\u0131 olu\u015fturun.\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/alanadiniz.com.conf<\/code><\/pre>\n<p>        \u0130\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin (<code>alanadiniz.com<\/code> ve dizin yollar\u0131n\u0131 kendi sitenize g\u00f6re de\u011fi\u015ftirin):<\/p>\n<pre><code class=\"language-apache\">\n<VirtualHost *:80>\n    ServerAdmin webmaster@localhost\n    ServerName alanadiniz.com\n    ServerAlias www.alanadiniz.com\n    DocumentRoot \/var\/www\/html\/processwire_root_folder\/\n\n    <Directory \/var\/www\/html\/processwire_root_folder\/>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n<\/VirtualHost>\n        <\/code><\/pre>\n<\/li>\n<li><strong>Rewrite Mod\u00fcl\u00fc Etkinle\u015ftirme:<\/strong> ProcessWire'\u0131n URL yap\u0131s\u0131 i\u00e7in <code>mod_rewrite<\/code> gereklidir.\n<pre><code class=\"language-bash\">sudo a2enmod rewrite<\/code><\/pre>\n<\/li>\n<li><strong>Siteyi Etkinle\u015ftirme ve Apache'yi Yeniden Ba\u015flatma:<\/strong>\n<pre><code class=\"language-bash\">sudo a2ensite alanadiniz.com.conf\nsudo systemctl restart apache2<\/code><\/pre>\n<\/li>\n<\/ul>\n<h4>Nginx Yap\u0131land\u0131rmas\u0131<\/h4>\n<ul>\n<li><strong>Server Block Olu\u015fturma:<\/strong> Nginx i\u00e7in yeni bir server block dosyas\u0131 olu\u015fturun.\n<pre><code class=\"language-bash\">sudo nano \/etc\/nginx\/sites-available\/alanadiniz.com<\/code><\/pre>\n<p>        \u0130\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi ekleyin (<code>alanadiniz.com<\/code> ve dizin yollar\u0131n\u0131 kendi sitenize g\u00f6re de\u011fi\u015ftirin):<\/p>\n<pre><code class=\"language-nginx\">\nserver {\n    listen 80;\n    listen [::]:80;\n    server_name alanadiniz.com www.alanadiniz.com;\n    root \/var\/www\/html\/processwire_root_folder\/;\n    index index.php index.html index.htm;\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:\/var\/run\/php\/php8.1-fpm.sock; # PHP s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re g\u00fcncelleyin\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    location ~ \/\\.ht {\n        deny all;\n    }\n\n    error_log \/var\/log\/nginx\/alanadiniz.com_error.log;\n    access_log \/var\/log\/nginx\/alanadiniz.com_access.log;\n}\n        <\/code><\/pre>\n<\/li>\n<li><strong>Siteyi Etkinle\u015ftirme ve Nginx'i Yeniden Ba\u015flatma:<\/strong>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/alanadiniz.com \/etc\/nginx\/sites-enabled\/\nsudo nginx -t # Yap\u0131land\u0131rma hatas\u0131 kontrol\u00fc\nsudo systemctl restart nginx<\/code><\/pre>\n<\/li>\n<\/ul>\n<h3>DNS Ayarlar\u0131 ve Alan Ad\u0131 Y\u00f6nlendirmesi<\/h3>\n<p>Web sitenizin yeni sunucuyu i\u015faret etmesi i\u00e7in DNS kay\u0131tlar\u0131n\u0131 g\u00fcncellemeniz gerekmektedir.<\/p>\n<h4>DNS Kay\u0131tlar\u0131n\u0131 G\u00fcncelleme<\/h4>\n<p>Alan ad\u0131n\u0131z\u0131n kay\u0131tl\u0131 oldu\u011fu sa\u011flay\u0131c\u0131n\u0131n DNS y\u00f6netim paneline giri\u015f yap\u0131n ve a\u015fa\u011f\u0131daki kay\u0131tlar\u0131 g\u00fcncelleyin:<\/p>\n<ul>\n<li><strong>A Kayd\u0131:<\/strong> Alan ad\u0131n\u0131z\u0131 (<code>alanadiniz.com<\/code>) yeni VPS'inizin IP adresine y\u00f6nlendirin.<\/li>\n<li><strong>CNAME Kayd\u0131 (iste\u011fe ba\u011fl\u0131):<\/strong> <code>www<\/code> alt alan ad\u0131n\u0131 <code>alanadiniz.com<\/code>'a veya do\u011frudan VPS IP adresine y\u00f6nlendirin.<\/li>\n<\/ul>\n<h4>TTL S\u00fcresi ve Yay\u0131lma<\/h4>\n<p>DNS de\u011fi\u015fikliklerinin internet genelinde yay\u0131lmas\u0131 (propagate) biraz zaman alabilir. Bu s\u00fcre, Kay\u0131t Ya\u015fam S\u00fcresi (TTL) de\u011ferine ba\u011fl\u0131d\u0131r. Genellikle birka\u00e7 dakika ile 24 saat aras\u0131nda de\u011fi\u015febilir. Bu s\u00fcre zarf\u0131nda siteniz eski veya yeni sunucudan y\u00fcklenebilir.<\/p>\n<h3>Ta\u015f\u0131ma Sonras\u0131 Kontroller ve Optimizasyonlar<\/h3>\n<p>Sitenizin yeni ortamda sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak ve performans\u0131n\u0131 art\u0131rmak i\u00e7in yap\u0131lmas\u0131 gerekenler.<\/p>\n<h4>Web Sitesinin \u00c7al\u0131\u015f\u0131r Durumda Olup Olmad\u0131\u011f\u0131n\u0131 Kontrol Etme<\/h4>\n<p>DNS yay\u0131l\u0131m\u0131n\u0131 beklerken, <code>\/etc\/hosts<\/code> dosyan\u0131z\u0131 d\u00fczenleyerek sitenizi yerel olarak test edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/hosts<\/code><\/pre>\n<p>\u015eu sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-plaintext\">[VPS_IP_ADRESI] alanadiniz.com www.alanadiniz.com<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zdan alan ad\u0131n\u0131z\u0131 ziyaret ederek sitenizin a\u00e7\u0131l\u0131p a\u00e7\u0131lmad\u0131\u011f\u0131n\u0131 kontrol edin. Daha sonra <code>\/etc\/hosts<\/code> dosyas\u0131ndaki de\u011fi\u015fikli\u011fi geri almay\u0131 unutmay\u0131n.<\/p>\n<h4>T\u00fcm Sayfalar\u0131 ve \u0130\u015flevleri Test Etme<\/h4>\n<p>Ana sayfa, alt sayfalar, ileti\u015fim formu, admin paneli, kullan\u0131c\u0131 giri\u015fi, resimler, CSS ve JavaScript dosyalar\u0131n\u0131n d\u00fczg\u00fcn y\u00fcklendi\u011fini kontrol edin. \u00d6zellikle ProcessWire admin panelinde t\u00fcm i\u015flevlerin (sayfa olu\u015fturma, d\u00fczenleme, resim y\u00fckleme vb.) \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<\/p>\n<h4>Hata G\u00fcnl\u00fcklerini Kontrol Etme<\/h4>\n<p>Web sunucusu ve PHP hata g\u00fcnl\u00fcklerini d\u00fczenli olarak kontrol edin:<\/p>\n<ul>\n<li><strong>Apache:<\/strong> <code>\/var\/log\/apache2\/error.log<\/code><\/li>\n<li><strong>Nginx:<\/strong> <code>\/var\/log\/nginx\/alanadiniz.com_error.log<\/code> (yap\u0131land\u0131rman\u0131za ba\u011fl\u0131 olarak)<\/li>\n<li><strong>PHP-FPM:<\/strong> <code>\/var\/log\/php8.1-fpm.log<\/code> (veya PHP s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re)<\/li>\n<li><strong>ProcessWire:<\/strong> <code>site\/assets\/logs\/errors.log<\/code><\/li>\n<\/ul>\n<h4>Performans Optimizasyonlar\u0131<\/h4>\n<ul>\n<li><strong>OPcache:<\/strong> PHP kodunuzu \u00f6nbelle\u011fe alarak performans\u0131 art\u0131r\u0131r. Genellikle PHP-FPM ile birlikte gelir ve varsay\u0131lan olarak etkindir. Ayarlar\u0131n\u0131 <code>php.ini<\/code> dosyas\u0131ndan kontrol edebilirsiniz.<\/li>\n<li><strong>Gzip S\u0131k\u0131\u015ft\u0131rma:<\/strong> Web sunucunuzda Gzip s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirerek bant geni\u015fli\u011fini azalt\u0131n ve sayfa y\u00fckleme s\u00fcrelerini h\u0131zland\u0131r\u0131n.\n<ul>\n<li><strong>Apache:<\/strong> <code>mod_deflate<\/code> etkinle\u015ftirin (<code>sudo a2enmod deflate<\/code>).<\/li>\n<li><strong>Nginx:<\/strong> <code>gzip on;<\/code> ve ilgili ayarlar\u0131 server block'unuza ekleyin.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Resim Optimizasyonu:<\/strong> ProcessWire'\u0131n yerle\u015fik resim i\u015fleme yeteneklerini kullanarak resimleri uygun boyutlarda ve formatlarda sunun. Gerekirse <code>php8.1-imagick<\/code> uzant\u0131s\u0131n\u0131 kurun.<\/li>\n<li><strong>Taray\u0131c\u0131 \u00d6nbellekleme:<\/strong> Statik dosyalar i\u00e7in taray\u0131c\u0131 \u00f6nbellekleme kurallar\u0131 ekleyerek tekrarlayan ziyaretlerde y\u00fckleme s\u00fcrelerini azalt\u0131n.<\/li>\n<\/ul>\n<h4>HTTPS Kurulumu (Let's Encrypt ile SSL)<\/h4>\n<p>Web sitenizin g\u00fcvenli\u011fi ve SEO performans\u0131 i\u00e7in HTTPS kullanmak zorunludur. Let's Encrypt, \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install certbot python3-certbot-apache # Apache i\u00e7in\nsudo apt install certbot python3-certbot-nginx # Nginx i\u00e7in<\/code><\/pre>\n<p>Sertifikay\u0131 olu\u015fturun ve yap\u0131land\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo certbot --apache # Apache i\u00e7in\nsudo certbot --nginx # Nginx i\u00e7in<\/code><\/pre>\n<p>Sertbot, otomatik olarak sertifikay\u0131 kuracak ve web sunucusu yap\u0131land\u0131rman\u0131z\u0131 g\u00fcncelleyecektir. Ayr\u0131ca otomatik yenilemeyi de kurar.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Ta\u015f\u0131ma s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz yayg\u0131n sorunlar ve bunlar\u0131n \u00e7\u00f6z\u00fcmleri.<\/p>\n<ul>\n<li><strong>Veritaban\u0131 Ba\u011flant\u0131 Hatalar\u0131:<\/strong>\n<ul>\n<li><code>site\/config.php<\/code> dosyas\u0131ndaki <code>dbName<\/code>, <code>dbUser<\/code>, <code>dbPass<\/code> ve <code>dbHost<\/code> bilgilerini kontrol edin.<\/li>\n<li>MariaDB\/MySQL sunucusunun \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun (<code>sudo systemctl status mariadb<\/code>).<\/li>\n<li>Veritaban\u0131 kullan\u0131c\u0131s\u0131n\u0131n do\u011fru izinlere sahip oldu\u011funu do\u011frulay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Dosya \u0130zinleri Sorunlar\u0131:<\/strong>\n<ul>\n<li>Web sunucusu kullan\u0131c\u0131s\u0131n\u0131n (www-data) ProcessWire dizinlerine (\u00f6zellikle <code>site\/assets\/<\/code>) yazma izni oldu\u011fundan emin olun. <code>chown<\/code> ve <code>chmod<\/code> komutlar\u0131n\u0131 tekrar kontrol edin.<\/li>\n<li>Dosyalar\u0131n okunabilir oldu\u011fundan emin olun (genellikle 644) ve dizinlerin y\u00fcr\u00fct\u00fclebilir oldu\u011fundan (genellikle 755) emin olun.<\/li>\n<\/ul>\n<\/li>\n<li><strong>URL Yeniden Yazma (Rewrite) Hatalar\u0131:<\/strong>\n<ul>\n<li><strong>Apache:<\/strong> <code>mod_rewrite<\/code> mod\u00fcl\u00fcn\u00fcn etkin oldu\u011fundan emin olun (<code>sudo a2enmod rewrite<\/code>). Virtual host dosyan\u0131zda <code><Directory><\/code> blo\u011fu i\u00e7inde <code>AllowOverride All<\/code> oldu\u011fundan emin olun.<\/li>\n<li><strong>Nginx:<\/strong> Server block'unuzdaki <code>location \/<\/code> blo\u011funun <code>try_files $uri $uri\/ \/index.php?$query_string;<\/code> sat\u0131r\u0131n\u0131 i\u00e7erdi\u011finden emin olun.<\/li>\n<li>ProcessWire admin panelinde \"Templates\" > \"URLs\" b\u00f6l\u00fcm\u00fcndeki ayarlar\u0131 kontrol edin.<\/li>\n<\/ul>\n<\/li>\n<li><strong>PHP Mod\u00fcl\u00fc Eksiklikleri:<\/strong>\n<ul>\n<li>Bo\u015f beyaz sayfa (WSOD) veya belirli i\u015flevlerin \u00e7al\u0131\u015fmamas\u0131 durumunda, <code>phpinfo()<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 kontrol ederek gerekli t\u00fcm PHP uzant\u0131lar\u0131n\u0131n (gd, mbstring, curl, xml, zip, pdo_mysql vb.) y\u00fckl\u00fc ve etkin oldu\u011fundan emin olun. Eksik olanlar\u0131 kurun ve PHP-FPM'i yeniden ba\u015flat\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Bo\u015f Beyaz Sayfa (WSOD - White Screen of Death):<\/strong>\n<ul>\n<li>Genellikle PHP hatalar\u0131ndan kaynaklan\u0131r. <code>php.ini<\/code> dosyas\u0131nda <code>display_errors = On<\/code> ve <code>error_reporting = E_ALL<\/code> yaparak hatalar\u0131 g\u00f6r\u00fcn\u00fcr hale getirin (yaln\u0131zca hata ay\u0131klama s\u0131ras\u0131nda, canl\u0131 sunucuda devre d\u0131\u015f\u0131 b\u0131rak\u0131n).<\/li>\n<li>Web sunucusu, PHP-FPM ve ProcessWire hata g\u00fcnl\u00fcklerini kontrol edin.<\/li>\n<li>ProcessWire'\u0131n <code>site\/config.php<\/code> dosyas\u0131nda <code>$config->debug = true;<\/code> ve <code>$config->dev = true;<\/code> ayarlar\u0131n\u0131 ge\u00e7ici olarak etkinle\u015ftirerek daha detayl\u0131 hata mesajlar\u0131 alabilirsiniz.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>G\u00fcvenlik \u00d6nlemleri<\/h3>\n<p>VPS'inizin ve ProcessWire sitenizin g\u00fcvenli\u011fini sa\u011flamak i\u00e7in ek \u00f6nlemler al\u0131n.<\/p>\n<ul>\n<li><strong>SSH G\u00fcvenli\u011fi:<\/strong>\n<ul>\n<li>SSH anahtar \u00e7ifti kullan\u0131n ve parola ile giri\u015fi devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<\/li>\n<li>Varsay\u0131lan SSH portunu (22) farkl\u0131 bir porta de\u011fi\u015ftirin (<code>\/etc\/ssh\/sshd_config<\/code>).<\/li>\n<li>Root kullan\u0131c\u0131s\u0131n\u0131n SSH ile do\u011frudan giri\u015fini devre d\u0131\u015f\u0131 b\u0131rak\u0131n (<code>PermitRootLogin no<\/code>).<\/li>\n<\/ul>\n<\/li>\n<li><strong>G\u00fcvenlik Duvar\u0131 (UFW):<\/strong> Yaln\u0131zca gerekli portlara (22\/SSH - e\u011fer de\u011fi\u015ftirdiyseniz yeni port, 80\/HTTP, 443\/HTTPS) izin verin.<\/li>\n<li><strong>Fail2ban Kurulumu:<\/strong> SSH, web sunucusu ve di\u011fer hizmetlere y\u00f6nelik kaba kuvvet sald\u0131r\u0131lar\u0131n\u0131 otomatik olarak engelleyen Fail2ban'\u0131 kurun.\n<pre><code class=\"language-bash\">sudo apt install fail2ban<\/code><\/pre>\n<p>        Yap\u0131land\u0131rma dosyalar\u0131n\u0131 (<code>\/etc\/fail2ban\/jail.local<\/code>) d\u00fczenleyerek korumak istedi\u011finiz servisleri etkinle\u015ftirin.<\/li>\n<li><strong>PHP G\u00fcvenli\u011fi:<\/strong> <code>php.ini<\/code> dosyas\u0131nda <code>disable_functions<\/code> ile tehlikeli PHP fonksiyonlar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n (exec, shell_exec, system, passthru vb.). <code>open_basedir<\/code> ayar\u0131n\u0131 kullanarak PHP'nin yaln\u0131zca belirli dizinlere eri\u015fmesini sa\u011flay\u0131n.<\/li>\n<li><strong>ProcessWire G\u00fcvenli\u011fi:<\/strong>\n<ul>\n<li>Admin panelinin URL'ini de\u011fi\u015ftirin (<code>site\/config.php<\/code> i\u00e7indeki <code>$config->adminURL<\/code>).<\/li>\n<li>T\u00fcm kullan\u0131c\u0131lar i\u00e7in g\u00fc\u00e7l\u00fc ve benzersiz parolalar kullan\u0131n.<\/li>\n<li>ProcessWire ve t\u00fcm mod\u00fcllerinizi g\u00fcncel tutun.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Yedekleme Stratejileri<\/h3>\n<p>Web sitenizin g\u00fcvenli\u011fini sa\u011flaman\u0131n en \u00f6nemli yollar\u0131ndan biri d\u00fczenli yedeklemelerdir.<\/p>\n<ul>\n<li><strong>Otomatik Yedekleme \u00c7\u00f6z\u00fcmleri (Cron \u0130\u015fleri):<\/strong>\n<p>Veritaban\u0131 ve dosyalar\u0131n\u0131z i\u00e7in d\u00fczenli yedeklemeleri otomatikle\u015ftirmek i\u00e7in cron i\u015fleri kullan\u0131n. \u00d6rne\u011fin, g\u00fcnl\u00fck veritaban\u0131 yedeklemesi ve haftal\u0131k dosya yedeklemesi ayarlayabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo crontab -e<\/code><\/pre>\n<p>\u00d6rnek cron i\u015fleri:<\/p>\n<pre><code class=\"language-plaintext\">0 3 <em> <\/em> * mysqldump -u [db_user] -p[db_pass] [db_name] > \/path\/to\/backups\/db_$(date +\\%Y\\%m\\%d).sql\n30 3 <em> <\/em> 7 tar -czvf \/path\/to\/backups\/files_$(date +\\%Y\\%m\\%d).tar.gz \/var\/www\/html\/processwire_root_folder\/<\/code><\/pre>\n<\/li>\n<li><strong>Uzak Depolama (S3, Dropbox, Google Drive):<\/strong>\n<p>Yedeklerinizi sunucunuzdan ayr\u0131, g\u00fcvenli bir uzak depolama alan\u0131na (Amazon S3, Dropbox, Google Drive gibi bulut hizmetleri) g\u00f6ndermek, sunucu ar\u0131zas\u0131 durumunda veri kayb\u0131n\u0131 \u00f6nler. <code>s3cmd<\/code>, <code>rclone<\/code> gibi ara\u00e7lar bu entegrasyon i\u00e7in kullan\u0131labilir.<\/p>\n<\/li>\n<\/ul>\n<h3>Sonu\u00e7<\/h3>\n<p>ProcessWire web sitenizi Ubuntu VPS'ye ta\u015f\u0131mak, projenizin performans\u0131, g\u00fcvenli\u011fi ve \u00f6l\u00e7eklenebilirli\u011fi a\u00e7\u0131s\u0131ndan \u00f6nemli bir ad\u0131md\u0131r. Bu kapsaml\u0131 rehberde, ta\u015f\u0131ma \u00f6ncesi haz\u0131rl\u0131klardan ba\u015flayarak, Ubuntu VPS'nin kurulumu ve yap\u0131land\u0131r\u0131lmas\u0131na, ProcessWire veritaban\u0131 ve dosyalar\u0131n\u0131n aktar\u0131m\u0131na, web sunucusu yap\u0131land\u0131rmas\u0131na ve ta\u015f\u0131ma sonras\u0131 kontrol ve optimizasyonlara kadar t\u00fcm kritik ad\u0131mlar\u0131 detayl\u0131 bir \u015fekilde ele ald\u0131k. Ayr\u0131ca, s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara \u00e7\u00f6z\u00fcmler ve g\u00fc\u00e7l\u00fc g\u00fcvenlik \u00f6nlemleri ile yedekleme stratejileri hakk\u0131nda bilgi verdik.<\/p>\n<p>Her ad\u0131m\u0131n dikkatle takip edilmesi ve kar\u015f\u0131la\u015f\u0131lan sorunlarda hata g\u00fcnl\u00fcklerinin incelenmesi, ba\u015far\u0131l\u0131 bir ta\u015f\u0131ma s\u00fcreci i\u00e7in anahtard\u0131r. Unutmay\u0131n ki, her web sitesi ve sunucu ortam\u0131 kendine \u00f6zg\u00fc olabilir, bu nedenle bu rehberi kendi \u00f6zel durumunuza g\u00f6re uyarlaman\u0131z gerekebilir. Do\u011fru planlama ve dikkatli uygulama ile ProcessWire sitenizi yeni, g\u00fc\u00e7l\u00fc ve g\u00fcvenli Ubuntu VPS ortam\u0131n\u0131za ba\u015far\u0131yla ta\u015f\u0131yabilir, dijital varl\u0131\u011f\u0131n\u0131z\u0131n potansiyelini tam anlam\u0131yla ortaya \u00e7\u0131karabilirsiniz.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"ProcessWire Web Sitesini Ubuntu VPS&#8217;ye Ta\u015f\u0131ma Rehberi\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web sitelerinin performans\u0131, g\u00fcvenli\u011fi ve \u00f6l\u00e7ekle","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-36406","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ProcessWire Web Sitesini Ubuntu VPS&#039;ye Ta\u015f\u0131ma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ProcessWire Web Sitesini Ubuntu VPS&#039;ye Ta\u015f\u0131ma Rehberi\" \/>\n<meta property=\"og:description\" content=\"ProcessWire Web Sitesini Ubuntu VPS&#039;ye Ta\u015f\u0131ma Rehberi Giri\u015f G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web sitelerinin performans\u0131, g\u00fcvenli\u011fi ve \u00f6l\u00e7ekle\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-15T18:40:56+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"ProcessWire Web Sitesini Ubuntu VPS&#8217;ye Ta\u015f\u0131ma Rehberi\",\"datePublished\":\"2025-12-15T18:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/\"},\"wordCount\":3083,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/\",\"name\":\"ProcessWire Web Sitesini Ubuntu VPS'ye Ta\u015f\u0131ma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-15T18:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ProcessWire Web Sitesini Ubuntu VPS&#8217;ye Ta\u015f\u0131ma Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ProcessWire Web Sitesini Ubuntu VPS'ye Ta\u015f\u0131ma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"ProcessWire Web Sitesini Ubuntu VPS'ye Ta\u015f\u0131ma Rehberi","og_description":"ProcessWire Web Sitesini Ubuntu VPS'ye Ta\u015f\u0131ma Rehberi Giri\u015f G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda web sitelerinin performans\u0131, g\u00fcvenli\u011fi ve \u00f6l\u00e7ekle","og_url":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-15T18:40:56+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"ProcessWire Web Sitesini Ubuntu VPS&#8217;ye Ta\u015f\u0131ma Rehberi","datePublished":"2025-12-15T18:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/"},"wordCount":3083,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/","name":"ProcessWire Web Sitesini Ubuntu VPS'ye Ta\u015f\u0131ma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-15T18:40:56+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/processwire-web-sitesini-ubuntu-vpsye-tasima-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ProcessWire Web Sitesini Ubuntu VPS&#8217;ye Ta\u015f\u0131ma Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36406"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36406\/revisions"}],"predecessor-version":[{"id":36407,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36406\/revisions\/36407"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}