{"id":31886,"date":"2025-10-15T06:41:58","date_gmt":"2025-10-15T03:41:58","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31886"},"modified":"2025-10-15T06:41:58","modified_gmt":"2025-10-15T03:41:58","slug":"giris-ve-on-gereksinimler","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/","title":{"rendered":"Giri\u015f ve \u00d6n Gereksinimler"},"content":{"rendered":"<p><body><\/p>\n<h2>Giri\u015f ve \u00d6n Gereksinimler<\/h2>\n<p>Apache CouchDB, NoSQL veritabanlar\u0131 aras\u0131nda \u00f6ne \u00e7\u0131kan, dok\u00fcman tabanl\u0131 ve da\u011f\u0131t\u0131k bir veritaban\u0131 sistemidir. Verileri JSON format\u0131nda depolar, RESTful API \u00fczerinden eri\u015fim sa\u011flar ve y\u00fcksek kullan\u0131labilirlik, esneklik ve \u00f6l\u00e7eklenebilirlik sunar. Genellikle Erlang programlama dili ile yaz\u0131lm\u0131\u015ft\u0131r.<\/p>\n<p>Bu rehberde, Ubuntu 13.04 x64 VPS \u00fczerinde CouchDB&#8217;yi kaynak koddan nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz. Kaynak koddan kurulum, size en g\u00fcncel s\u00fcr\u00fcmlere eri\u015fme, belirli derleme se\u00e7eneklerini kullanma ve sisteminizle daha entegre bir yap\u0131land\u0131rma yapma esnekli\u011fi sunar. Ubuntu 13.04&#8217;\u00fcn eski bir s\u00fcr\u00fcm oldu\u011funu ve \u00fcretim ortamlar\u0131 i\u00e7in g\u00fcncel LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcmlerinin tercih edilmesi gerekti\u011fini belirtmek \u00f6nemlidir. Ancak bu rehber, spesifik olarak Ubuntu 13.04 gereksinimi olan kullan\u0131c\u0131lar i\u00e7indir.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki maddelerin haz\u0131r oldu\u011fundan emin olun:<\/p>\n<p>*   <strong>Ubuntu 13.04 x64 VPS:<\/strong> 64-bit Ubuntu 13.04 i\u015fletim sistemine sahip bir sanal sunucu.<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Kurulum i\u00e7in gerekli paketleri y\u00fcklemek ve sistem genelinde de\u011fi\u015fiklikler yapmak \u00fczere root eri\u015fimi veya sudo yetkisine sahip bir kullan\u0131c\u0131.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131 ve CouchDB kaynak kodunu indirmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 kullan\u0131m\u0131 ve dosya d\u00fczenleme konular\u0131nda temel d\u00fczeyde bilgi sahibi olmak.<\/p>\n<p>Kuruluma ba\u015flamadan \u00f6nce sunucunuzdaki paket listesini g\u00fcncelleyip mevcut paketleri y\u00fckseltmek iyi bir al\u0131\u015fkanl\u0131kt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\nsudo apt-get upgrade -y<\/code><\/pre>\n<p>Bu komutlar, sisteminizin en g\u00fcncel paket bilgisine sahip olmas\u0131n\u0131 ve mevcut t\u00fcm yaz\u0131l\u0131mlar\u0131n son s\u00fcr\u00fcmlerine g\u00fcncellenmesini sa\u011flar.<\/p>\n<h2>Gerekli Ba\u011f\u0131ml\u0131l\u0131klar\u0131n Kurulumu<\/h2>\n<p>CouchDB&#8217;yi kaynak koddan derlemek i\u00e7in bir dizi ba\u011f\u0131ml\u0131l\u0131\u011fa ihtiyac\u0131m\u0131z var. Bu ba\u011f\u0131ml\u0131l\u0131klar aras\u0131nda Erlang (CouchDB&#8217;nin yaz\u0131ld\u0131\u011f\u0131 dil), Mozilla SpiderMonkey JavaScript motoru, ICU k\u00fct\u00fcphaneleri, OpenSSL, libcurl ve derleme ara\u00e7lar\u0131 bulunmaktad\u0131r.<\/p>\n<h3>Derleme Ara\u00e7lar\u0131 ve Temel K\u00fct\u00fcphaneler<\/h3>\n<p>\u00d6ncelikle, kaynak koddan derleme yapmak i\u00e7in gerekli olan temel ara\u00e7lar\u0131 ve baz\u0131 sistem k\u00fct\u00fcphanelerini kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y build-essential autoconf automake libtool pkg-config\nsudo apt-get install -y libicu-dev libcurl4-openssl-dev<\/code><\/pre>\n<p>*   <code>build-essential<\/code>: gcc, g++, make gibi temel derleme ara\u00e7lar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>autoconf<\/code>, <code>automake<\/code>, <code>libtool<\/code>: Otomatik yap\u0131land\u0131rma ve derleme s\u00fcre\u00e7leri i\u00e7in gereklidir.<br \/>\n*   <code>pkg-config<\/code>: Derleme s\u0131ras\u0131nda k\u00fct\u00fcphane ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 bulmaya yard\u0131mc\u0131 olur.<br \/>\n*   <code>libicu-dev<\/code>: Uluslararas\u0131 Bile\u015fenler i\u00e7in Unicode k\u00fct\u00fcphanesi (ICU). CouchDB taraf\u0131ndan uluslararas\u0131la\u015ft\u0131rma ve yerelle\u015ftirme i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>libcurl4-openssl-dev<\/code>: HTTP istekleri i\u00e7in kullan\u0131lan curl k\u00fct\u00fcphanesinin geli\u015ftirme dosyalar\u0131. OpenSSL deste\u011fi ile birlikte gelir.<\/p>\n<h3>Erlang Kurulumu<\/h3>\n<p>CouchDB, Erlang ile yaz\u0131ld\u0131\u011f\u0131 i\u00e7in sisteminizde uygun bir Erlang s\u00fcr\u00fcm\u00fcn\u00fcn y\u00fckl\u00fc olmas\u0131 \u015fartt\u0131r. Ubuntu 13.04 depolar\u0131 genellikle CouchDB 1.x s\u00fcr\u00fcmleri i\u00e7in yeterli olan Erlang s\u00fcr\u00fcmlerini sunar.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y erlang-dev erlang-nox<\/code><\/pre>\n<p>*   <code>erlang-dev<\/code>: Erlang geli\u015ftirme dosyalar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>erlang-nox<\/code>: Sunucu ortamlar\u0131 i\u00e7in Erlang \u00e7al\u0131\u015fma zaman\u0131n\u0131 (grafiksel aray\u00fczs\u00fcz) kurar.<\/p>\n<p>Erlang kurulumunu do\u011frulayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">erl -version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 olarak Erlang&#8217;\u0131n y\u00fckl\u00fc s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6rmelisiniz (\u00f6rne\u011fin, <code>Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version R16B03<\/code>).<\/p>\n<h3>Mozilla SpiderMonkey Kurulumu<\/h3>\n<p>CouchDB, g\u00f6r\u00fcn\u00fcm olu\u015fturma (map\/reduce) ve di\u011fer JavaScript tabanl\u0131 i\u015flevler i\u00e7in bir JavaScript motoruna ihtiya\u00e7 duyar. Eski CouchDB s\u00fcr\u00fcmleri genellikle Mozilla SpiderMonkey&#8217;i kullan\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install -y libmozjs185-dev<\/code><\/pre>\n<p>*   <code>libmozjs185-dev<\/code>: SpiderMonkey 1.8.5 motorunun geli\u015ftirme dosyalar\u0131.<\/p>\n<p>Bu ba\u011f\u0131ml\u0131l\u0131klar\u0131 kurduktan sonra, CouchDB kaynak kodunu indirmeye ve derlemeye haz\u0131r\u0131z.<\/p>\n<h2>CouchDB Kaynak Kodunun \u0130ndirilmesi ve Derlenmesi<\/h2>\n<p>\u015eimdi CouchDB&#8217;nin kaynak kodunu indirecek, derleyecek ve sistemimize kuraca\u011f\u0131z. Bu rehber i\u00e7in, eski Ubuntu 13.04 ile uyumlu ve yayg\u0131n olarak kullan\u0131lan CouchDB 1.6.1 s\u00fcr\u00fcm\u00fcn\u00fc kullanaca\u011f\u0131z.<\/p>\n<h3>CouchDB Kaynak Kodunu \u0130ndirme<\/h3>\n<p>\u00d6ncelikle, kaynak kodunu indirmek i\u00e7in ge\u00e7ici bir dizine gidelim ve paketi indirelim:<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\nwget http:\/\/archive.apache.org\/dist\/couchdb\/source\/1.6.1\/apache-couchdb-1.6.1.tar.gz<\/code><\/pre>\n<p>Ard\u0131ndan, indirilen tar.gz dosyas\u0131n\u0131 a\u00e7al\u0131m:<\/p>\n<pre><code class=\"language-bash\">tar -zxvf apache-couchdb-1.6.1.tar.gz\ncd apache-couchdb-1.6.1<\/code><\/pre>\n<h3>CouchDB Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h3>\n<p>G\u00fcvenlik nedenleriyle, CouchDB&#8217;nin kendi \u00f6zel kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015fmas\u0131 \u00f6nerilir. Bu kullan\u0131c\u0131ya gerekli izinleri atayaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">sudo adduser --system --no-create-home --shell \/bin\/bash --group couchdb<\/code><\/pre>\n<p>Bu komut, <code>couchdb<\/code> ad\u0131nda bir sistem kullan\u0131c\u0131s\u0131 ve grubu olu\u015fturur. <code>--no-create-home<\/code> ev dizini olu\u015fturmazken, <code>--shell \/bin\/bash<\/code> kullan\u0131c\u0131n\u0131n bir kabu\u011fa sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>CouchDB&#8217;yi Derleme ve Kurma<\/h3>\n<p>\u015eimdi s\u0131ra CouchDB&#8217;yi derlemeye geldi. Derleme i\u015flemi <code>configure<\/code>, <code>make<\/code> ve <code>make install<\/code> ad\u0131mlar\u0131ndan olu\u015fur. <code>configure<\/code> komutu, sisteminizdeki ba\u011f\u0131ml\u0131l\u0131klar\u0131 kontrol eder ve derleme ortam\u0131n\u0131 haz\u0131rlar. <code>--prefix<\/code> parametresi ile CouchDB&#8217;nin kurulaca\u011f\u0131 dizini belirtiriz; genellikle <code>\/usr\/local<\/code> veya <code>\/opt<\/code> tercih edilir. Biz <code>\/usr\/local<\/code> dizinini kullanaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">.\/configure --prefix=\/usr\/local \\\n            --with-js-lib=\/usr\/lib\/x86_64-linux-gnu \\\n            --with-js-include=\/usr\/include\/js<\/code><\/pre>\n<p>*   <code>--prefix=\/usr\/local<\/code>: CouchDB&#8217;nin kurulaca\u011f\u0131 k\u00f6k dizini belirtir.<br \/>\n*   <code>--with-js-lib=\/usr\/lib\/x86_64-linux-gnu<\/code>: SpiderMonkey k\u00fct\u00fcphanelerinin bulundu\u011fu dizini belirtir.<br \/>\n*   <code>--with-js-include=\/usr\/include\/js<\/code>: SpiderMonkey ba\u015fl\u0131k dosyalar\u0131n\u0131n bulundu\u011fu dizini belirtir.<\/p>\n<p>E\u011fer <code>configure<\/code> ad\u0131m\u0131nda herhangi bir hata al\u0131rsan\u0131z, genellikle eksik bir ba\u011f\u0131ml\u0131l\u0131k veya yanl\u0131\u015f bir yol belirtimi nedeniyledir. Hata mesaj\u0131n\u0131 dikkatlice okuyarak sorunu gidermeye \u00e7al\u0131\u015f\u0131n.<\/p>\n<p><code>configure<\/code> ba\u015far\u0131l\u0131 olduktan sonra, derleme i\u015flemini ba\u015flatal\u0131m:<\/p>\n<pre><code class=\"language-bash\">make<\/code><\/pre>\n<p>Bu i\u015flem sunucunuzun performans\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir.<\/p>\n<p>Derleme tamamland\u0131\u011f\u0131nda, CouchDB&#8217;yi sisteminize kural\u0131m. Bu ad\u0131m i\u00e7in root yetkileri gereklidir.<\/p>\n<pre><code class=\"language-bash\">sudo make install<\/code><\/pre>\n<p>Kurulumdan sonra, CouchDB&#8217;nin kuruldu\u011fu dizinin sahipli\u011fini <code>couchdb<\/code> kullan\u0131c\u0131s\u0131na verelim:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R couchdb:couchdb \/usr\/local\/lib\/couchdb \/usr\/local\/bin\/couchdb \/usr\/local\/etc\/couchdb \/usr\/local\/var\/lib\/couchdb \/usr\/local\/var\/log\/couchdb \/usr\/local\/var\/run\/couchdb<\/code><\/pre>\n<p>Bu komut, CouchDB&#8217;nin t\u00fcm dosyalar\u0131n\u0131n ve dizinlerinin <code>couchdb<\/code> kullan\u0131c\u0131s\u0131 ve grubuna ait olmas\u0131n\u0131 sa\u011flar. Bu, CouchDB&#8217;nin g\u00fcvenli bir \u015fekilde kendi kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015fabilmesi i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h2>CouchDB Yap\u0131land\u0131rmas\u0131 ve Ba\u015flat\u0131lmas\u0131<\/h2>\n<p>CouchDB ba\u015far\u0131yla derlenip kurulduktan sonra, onu yap\u0131land\u0131rmam\u0131z ve ba\u015flatmam\u0131z gerekiyor.<\/p>\n<h3>Temel Yap\u0131land\u0131rma<\/h3>\n<p>CouchDB&#8217;nin yap\u0131land\u0131rma dosyalar\u0131 genellikle <code>local.ini<\/code> ve <code>default.ini<\/code>&#8216;dir. <code>default.ini<\/code> varsay\u0131lan ayarlar\u0131 i\u00e7erirken, <code>local.ini<\/code> bu ayarlar\u0131 ge\u00e7ersiz k\u0131lmak veya ek ayarlar yapmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>Yap\u0131land\u0131rma dosyalar\u0131 <code>\/usr\/local\/etc\/couchdb\/<\/code> dizininde bulunur. <code>local.ini<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek CouchDB&#8217;nin davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftirebiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/usr\/local\/etc\/couchdb\/local.ini<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki ayarlar\u0131 <code>[chttpd]<\/code> b\u00f6l\u00fcm\u00fcne ekleyebilir veya d\u00fczenleyebilirsiniz:<\/p>\n<pre><code class=\"language-ini\">[chttpd]\n; CouchDB'nin dinleyece\u011fi IP adresi. Varsay\u0131lan olarak 127.0.0.1 (localhost)\n; E\u011fer d\u0131\u015far\u0131dan eri\u015fim istiyorsan\u0131z 0.0.0.0 yap\u0131n.\nbind_address = 127.0.0.1\n; CouchDB'nin dinleyece\u011fi port. Varsay\u0131lan 5984.\nport = 5984<\/code><\/pre>\n<p>E\u011fer d\u0131\u015far\u0131dan eri\u015fim istiyorsan\u0131z <code>bind_address<\/code> de\u011ferini <code>0.0.0.0<\/code> olarak de\u011fi\u015ftirmeyi unutmay\u0131n. Ayr\u0131ca, y\u00f6netici kullan\u0131c\u0131s\u0131 olu\u015fturmak i\u00e7in <code>[admins]<\/code> b\u00f6l\u00fcm\u00fcne bir kullan\u0131c\u0131 ad\u0131 ve parola ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-ini\">[admins]\nadmin_kullanici_adi = admin_parolasi<\/code><\/pre>\n<p>Dosyay\u0131 kaydedip kapat\u0131n (CTRL+O, Enter, CTRL+X).<\/p>\n<h3>CouchDB&#8217;yi Ba\u015flatma<\/h3>\n<p>CouchDB&#8217;yi ba\u015flatman\u0131n en basit yolu, <code>couchdb<\/code> kullan\u0131c\u0131s\u0131 olarak do\u011frudan komut sat\u0131r\u0131ndan \u00e7al\u0131\u015ft\u0131rmakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo -i -u couchdb \/usr\/local\/bin\/couchdb<\/code><\/pre>\n<p>Bu komut, CouchDB&#8217;yi arka planda \u00e7al\u0131\u015ft\u0131rmaz. Konsol \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmek ve sorun gidermek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. \u00c7\u0131kt\u0131da herhangi bir hata yoksa, CouchDB&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 varsayabiliriz. Program\u0131 durdurmak i\u00e7in CTRL+C tu\u015flar\u0131na basabilirsiniz.<\/p>\n<p>CouchDB&#8217;nin bir servis olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in Upstart (Ubuntu 13.04&#8217;te kullan\u0131lan init sistemi) beti\u011fi olu\u015fturabiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/init\/couchdb.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">description \"CouchDB\"\n\nstart on runlevel [2345]\nstop on runlevel [!2345]\n\nrespawn\nrespawn limit 10 5\n\nexec \/usr\/local\/bin\/couchdb<\/code><\/pre>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. \u015eimdi CouchDB servisini ba\u015flatabiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo start couchdb<\/code><\/pre>\n<p>Servisin durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo status couchdb<\/code><\/pre>\n<h3>Kurulumu Do\u011frulama<\/h3>\n<p>CouchDB&#8217;nin d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in <code>curl<\/code> komutunu kullanabiliriz:<\/p>\n<pre><code class=\"language-bash\">curl http:\/\/127.0.0.1:5984\/<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, a\u015fa\u011f\u0131daki gibi bir JSON \u00e7\u0131kt\u0131s\u0131 almal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-json\">{\"couchdb\":\"Welcome\",\"uuid\":\"<some_uuid>\",\"version\":\"1.6.1\",\"vendor\":{\"name\":\"The Apache Software Foundation\"}}<\/code><\/pre>\n<p>Ayr\u0131ca, web tabanl\u0131 aray\u00fcz\u00fc olan Futon&#8217;a da bir web taray\u0131c\u0131s\u0131 \u00fczerinden eri\u015febilirsiniz. Taray\u0131c\u0131n\u0131zda <code>http:\/\/YOUR_VPS_IP_ADDRESS:5984\/_utils\/<\/code> adresine gidin (e\u011fer <code>bind_address<\/code>&#8216;i <code>0.0.0.0<\/code> olarak ayarlad\u0131ysan\u0131z). E\u011fer <code>bind_address<\/code>&#8216;i <code>127.0.0.1<\/code> olarak b\u0131rakt\u0131ysan\u0131z, sadece sunucu i\u00e7inden eri\u015febilirsiniz.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu rehberde, Ubuntu 13.04 x64 VPS \u00fczerinde Apache CouchDB&#8217;yi kaynak koddan ba\u015far\u0131yla kurmay\u0131 \u00f6\u011frendiniz. Bu s\u00fcre\u00e7, gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131n y\u00fcklenmesini, kaynak kodun indirilip derlenmesini ve CouchDB&#8217;nin temel yap\u0131land\u0131rmas\u0131n\u0131 i\u00e7erir. Kaynak koddan kurulum, sisteminize \u00f6zel ayarlamalar yapma ve CouchDB&#8217;nin \u00e7al\u0131\u015fma prensiplerini daha iyi anlama f\u0131rsat\u0131 sunar.<\/p>\n<p>Unutmay\u0131n ki Ubuntu 13.04 eski bir i\u015fletim sistemi s\u00fcr\u00fcm\u00fcd\u00fcr ve g\u00fcvenlik g\u00fcncellemeleri almamaktad\u0131r. \u00dcretim ortamlar\u0131 i\u00e7in her zaman g\u00fcncel ve desteklenen bir Ubuntu LTS s\u00fcr\u00fcm\u00fc kullanman\u0131z \u00f6nerilir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>S: <code>make<\/code> veya <code>configure<\/code> ad\u0131m\u0131nda hatalar al\u0131yorum, ne yapmal\u0131y\u0131m?<\/strong><br \/>\n<strong>C:<\/strong> Bu genellikle eksik veya yanl\u0131\u015f s\u00fcr\u00fcmdeki ba\u011f\u0131ml\u0131l\u0131klar nedeniyle olur. Hata mesaj\u0131n\u0131 dikkatlice okuyun. Genellikle hangi k\u00fct\u00fcphanenin eksik oldu\u011funu veya hangi s\u00fcr\u00fcm\u00fcn beklendi\u011fini belirtir. Gerekirse <code>apt-get install<\/code> komutlar\u0131yla eksik paketleri y\u00fckleyin veya mevcut paketlerin do\u011fru s\u00fcr\u00fcmde oldu\u011fundan emin olun.<\/p>\n<p><strong>S: CouchDB \u00e7al\u0131\u015fm\u0131yor veya <code>curl http:\/\/127.0.0.1:5984\/<\/code> komutu yan\u0131t vermiyor.<\/strong><br \/>\n<strong>C:<\/strong><br \/>\n1.  <strong>G\u00fcnl\u00fckleri Kontrol Edin:<\/strong> CouchDB&#8217;nin log dosyalar\u0131n\u0131 (<code>\/usr\/local\/var\/log\/couchdb\/couchdb.log<\/code>) kontrol edin. Hata mesajlar\u0131 genellikle burada bulunur.<br \/>\n2.  <strong>Kullan\u0131c\u0131 \u0130zinleri:<\/strong> CouchDB dizinlerinin ve dosyalar\u0131n\u0131n sahipli\u011finin <code>couchdb<\/code> kullan\u0131c\u0131s\u0131na ait oldu\u011fundan emin olun (<code>sudo chown -R couchdb:couchdb \/usr\/local\/lib\/couchdb<\/code>).<br \/>\n3.  <strong>Port \u00c7ak\u0131\u015fmas\u0131:<\/strong> 5984 portunun ba\u015fka bir servis taraf\u0131ndan kullan\u0131l\u0131p kullan\u0131lmad\u0131\u011f\u0131n\u0131 kontrol edin (<code>sudo netstat -tulnp | grep 5984<\/code>).<br \/>\n4.  <strong>Yap\u0131land\u0131rma:<\/strong> <code>local.ini<\/code> dosyas\u0131ndaki <code>bind_address<\/code> ve <code>port<\/code> ayarlar\u0131n\u0131 kontrol edin.<br \/>\n5.  <strong>Servis Durumu:<\/strong> <code>sudo status couchdb<\/code> komutu ile servisin ger\u00e7ekten \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n.<\/p>\n<p><strong>S: CouchDB&#8217;ye d\u0131\u015far\u0131dan eri\u015femiyorum.<\/strong><br \/>\n<strong>C:<\/strong><br \/>\n1.  <strong><code>bind_address<\/code> Ayar\u0131:<\/strong> <code>local.ini<\/code> dosyas\u0131nda <code>bind_address = 0.0.0.0<\/code> olarak ayarland\u0131\u011f\u0131ndan emin olun.<br \/>\n2.  <strong>G\u00fcvenlik Duvar\u0131 (Firewall):<\/strong> VPS&#8217;inizin g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin, <code>ufw<\/code> veya sa\u011flay\u0131c\u0131n\u0131z\u0131n paneli) 5984 portuna gelen ba\u011flant\u0131lara izin veriyor mu kontrol edin. Gerekirse izin verin: <code>sudo ufw allow 5984<\/code>.<br \/>\n3.  <strong>A\u011f Yap\u0131land\u0131rmas\u0131:<\/strong> VPS sa\u011flay\u0131c\u0131n\u0131z\u0131n a\u011f ayarlar\u0131nda herhangi bir k\u0131s\u0131tlama olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/p>\n<p><strong>S: Y\u00fckseltme yapmak istersem ne yapmal\u0131y\u0131m?<\/strong><br \/>\n<strong>C:<\/strong> Yeni bir s\u00fcr\u00fcm y\u00fckseltmek i\u00e7in, yeni s\u00fcr\u00fcm\u00fcn kaynak kodunu indirmeniz, yukar\u0131daki derleme ad\u0131mlar\u0131n\u0131 tekrarlaman\u0131z ve <code>make install<\/code> yapman\u0131z gerekir. CouchDB veri dizini (<code>\/usr\/local\/var\/lib\/couchdb<\/code>) ayr\u0131 tutuldu\u011fu s\u00fcrece verileriniz g\u00fcvende kalacakt\u0131r. Y\u00fckseltme yapmadan \u00f6nce her zaman veritaban\u0131n\u0131z\u0131n yede\u011fini alman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<p><strong>S: Ubuntu 13.04 yerine daha yeni bir Ubuntu s\u00fcr\u00fcm\u00fcnde kurulum farkl\u0131 m\u0131 olur?<\/strong><br \/>\n<strong>C:<\/strong> Temel ad\u0131mlar benzer olsa da, baz\u0131 ba\u011f\u0131ml\u0131l\u0131k paketlerinin adlar\u0131 veya s\u00fcr\u00fcmleri farkl\u0131l\u0131k g\u00f6sterebilir. \u00d6rne\u011fin, <code>libmozjs185-dev<\/code> yerine daha yeni SpiderMonkey veya V8 motoru paketleri gerekebilir. Ayr\u0131ca, Ubuntu 15.04&#8217;ten itibaren <code>systemd<\/code> kullan\u0131ld\u0131\u011f\u0131 i\u00e7in <code>upstart<\/code> beti\u011fi yerine bir <code>systemd<\/code> servis dosyas\u0131 olu\u015fturman\u0131z gerekir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Giri\u015f ve \u00d6n Gereksinimler\nApache CouchDB, NoSQL veritabanlar\u0131 aras\u0131nda \u00f6ne \u00e7\u0131kan, dok\u00fcman tabanl\u0131 ve da\u011f\u0131t\u0131k bir veritaban\u0131 sistemidir","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":[1],"tags":[],"class_list":{"0":"post-31886","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>Giri\u015f ve \u00d6n Gereksinimler - 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\/giris-ve-on-gereksinimler\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Giri\u015f ve \u00d6n Gereksinimler\" \/>\n<meta property=\"og:description\" content=\"Giri\u015f ve \u00d6n Gereksinimler Apache CouchDB, NoSQL veritabanlar\u0131 aras\u0131nda \u00f6ne \u00e7\u0131kan, dok\u00fcman tabanl\u0131 ve da\u011f\u0131t\u0131k bir veritaban\u0131 sistemidir\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-15T03:41:58+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=\"10 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Giri\u015f ve \u00d6n Gereksinimler\",\"datePublished\":\"2025-10-15T03:41:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/\"},\"wordCount\":1743,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/\",\"name\":\"Giri\u015f ve \u00d6n Gereksinimler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-15T03:41:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Giri\u015f ve \u00d6n Gereksinimler\"}]},{\"@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":"Giri\u015f ve \u00d6n Gereksinimler - 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\/giris-ve-on-gereksinimler\/","og_locale":"tr_TR","og_type":"article","og_title":"Giri\u015f ve \u00d6n Gereksinimler","og_description":"Giri\u015f ve \u00d6n Gereksinimler Apache CouchDB, NoSQL veritabanlar\u0131 aras\u0131nda \u00f6ne \u00e7\u0131kan, dok\u00fcman tabanl\u0131 ve da\u011f\u0131t\u0131k bir veritaban\u0131 sistemidir","og_url":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-15T03:41:58+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"10 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Giri\u015f ve \u00d6n Gereksinimler","datePublished":"2025-10-15T03:41:58+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/"},"wordCount":1743,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/","url":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/","name":"Giri\u015f ve \u00d6n Gereksinimler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-15T03:41:58+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/giris-ve-on-gereksinimler\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Giri\u015f ve \u00d6n Gereksinimler"}]},{"@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\/31886","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=31886"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31886\/revisions"}],"predecessor-version":[{"id":31887,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31886\/revisions\/31887"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}