<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kim bu Cem K? &#187; linux</title>
	<atom:link href="http://kimbucemk.com/etiket/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://kimbucemk.com</link>
	<description></description>
	<lastBuildDate>Mon, 23 Apr 2012 21:27:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>VPS&#8217;le WordPress&#8217;i Anlaştırma</title>
		<link>http://kimbucemk.com/teknik/vpsle-wordpressi-anlastirma/</link>
		<comments>http://kimbucemk.com/teknik/vpsle-wordpressi-anlastirma/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 22:07:16 +0000</pubDate>
		<dc:creator>Cem K.</dc:creator>
				<category><![CDATA[Teknik]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://kimbucemk.com/?p=189</guid>
		<description><![CDATA[Türkiye&#8217;deki hosting firmalarını geçersek, paylaşımlı sunucu firmalarının çoğu WordPress konusunda büyük rahatlık sağlıyor. Sistemin dosya yükleme aracı gerekli klasörleri otomatik olarak yaratıyor ve Core Update fonksiyonu FTP bilgisi istemeden sorunsuzca güncelleme yapıp eklenti/tema kurmamıza izin veriyor. VPS&#8217;lerde ise bunun için kendimiz uğraşmamız gerekiyor. Birçok sorunun çözümü yokmuş gibi gözükse de, aslında çok basit bir şekilde [...]]]></description>
			<content:encoded><![CDATA[<p>Türkiye&#8217;deki hosting firmalarını geçersek, <a href="http://codex.wordpress.org/Core_Update_Host_Compatibility">paylaşımlı sunucu firmalarının çoğu</a> WordPress konusunda büyük rahatlık sağlıyor. Sistemin dosya yükleme aracı gerekli klasörleri otomatik olarak yaratıyor ve Core Update fonksiyonu FTP bilgisi istemeden sorunsuzca güncelleme yapıp eklenti/tema kurmamıza izin veriyor.</p>
<p>VPS&#8217;lerde ise bunun için kendimiz uğraşmamız gerekiyor. Birçok sorunun çözümü yokmuş gibi gözükse de, aslında çok basit bir şekilde tüm özellikler çalıştırılabiliyor.<img title="Daha fazla..." src="http://kimbucemk.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /><span id="more-189"></span>Öncelikle VPS&#8217;lerde başımıza gelebilecek hatalara bir göz atalım:</p>
<p><strong>Dosya Yükleme: </strong>WordPress&#8217;in dosya yükleme sistemi süper çalışıyor. Özellikle fotoğraflar için mucizeler yaratıyor sistem. Otomatik olarak farklı boyutlar yaratıyor, tarihe göre klasörlere atıyor, hatta otomatik olarak galeriler yaratmanıza izin veriyor. Fakat VPS&#8217;lerde dosya izinleri nedeniyle bunların hiçbirini yapamıyor. Bunun için ya <em>/wp-content/uploads</em> dizinine 777 izni veriyorlar, veya kullanıcısını <em>www-data</em> yapıyorlar ki, birincisi büyük bir güvenlik açığı, ikincisi ise kullanıcının kendisinin dizini kullanamaması anlamına geliyor.</p>
<p><strong>Otomatik güncelleme, eklenti/tema yükleme:</strong> WordPress&#8217;i 1.5 sürümünden beri kullanan biri olarak en başta ben sorabilirim &#8220;ananınızın karnından otomatik güncellemeyle mi doğdunuz&#8221; diye. Fakat sağladığı rahatlığı tattıktan sonra vazgeçemiyorsunuz. Ne yazık ki, dosya izinlerini tamir etseniz bile bu özellik inatla çalışmayabiliyor. FTP bilgilerini verince çalışabilme ihtimali olsa da, çoğu kullanıcı VPS&#8217;ine FTP sunucusu kurmamayı tercih ediyor.</p>
<h3>Önemli not:</h3>
<p>Ben 2 yıldır VPS kullanmama rağmen, Slicehost&#8217;ta Debian kullanırken Zerigo&#8217;da Ubuntu&#8217;ya geçtim. Kısaca kullanacağım kullanıcı isimleri ve terimler, özellikle <em>www-data</em>, Debian tabanlı dağıtımlara özgü olabilir. Başka dağıtımların sunucu grubu için<em> apache</em> veya <em>nobody</em> kullanabildiğini gözönünde bulundurup dağıtımınıza göre ayar yapmak isteyebilirsiniz.</p>
<h2>Aşama Aşama VPS Tamiri</h2>
<h3>1. Aşama: Dosya İzinleri Belirleme</h3>
<p>Bu, bu yazıda okuyacağınız en uzun, en hileli, en karmaşık, ve büyük ihtimalle beceremeyip yine bir güvenlik açığı verdiğim tek bölüm olacak. (Eğer bir hata bulursanız lütfen uyarın, na yorum kısmı aşağıda.)</p>
<p>Öncelikle, <strong><em>www-data</em> grubunu kendi kullanıcımıza eklememiz</strong> gerekiyor. Burada, kendi kullanıcı adımın <em>cemk</em> olduğunu varsayıyoruz.</p>
<pre class="brush: bash; title: ;">
sudo usermod -a -G www-data cemk
</pre>
<p>Bunun geçerli olduğunu görmek için, çıkış yapıp tekrar girmeniz gerekiyor. Daha sonra test etmek için <em>groups</em> komutunu çalıştırabiliriz. Kendi kullanıcı adımızın yanında bir de <em>www-data</em>&#8216;yı görmemiz gerekiyor.</p>
<pre class="brush: bash; title: ;">
c111 ~: groups
cemk www-data
</pre>
<p>Şimdi klasörlerimizin gruplarını değiştirmemiz gerekiyor. Eğer bilmiyorsanız, devam etmeden önce <em>chmod, chown</em> ve <em>chgrp</em> komutları hakkında detaylı bilgi almak isteyebilirsiniz.</p>
<p>Bu aşamada, bütün sitelerimizin grubunu <em>www-data</em> yapacağız. Apache <em>www-data</em> grubuna dahil olduğu, ve biz de kendi kullanıcımızı bu gruba dahil ettiğimiz için, <em>chmod</em> ile bu dizinlere verdiğimiz tüm grup izinlerini hem Apache kullanabilecek, hem de biz kullanabileceğiz.</p>
<p>Önce bir ek bilgi: Ben sitelerimi ev dizinimin altında &#8220;sites&#8221; isimli bir dizinde tutuyorum. Aynı şekilde &#8220;logs&#8221; ve &#8220;apps&#8221; diye ayrı dizinlerim de var. Fakat bizi şu anda ilgilendiren &#8220;sites&#8221; ve içindekiler. Burada varolan tüm öğelerin grubunu <em>cemk</em>&#8216;dan <em>www-data</em>&#8216;ya tek satırla çeviriyoruz.</p>
<pre class="brush: bash; title: ;">
sudo chgrp -R www-data /home/cemk/sites/
</pre>
<p>Peki ya yeni eklenecek klasörler? Onun için de bir satır komutumuz var. Normalde tüm dizinlere 750 (kullanıcıya yazma, gruba okuma, gerisine nanik) ve<em> uploads</em> dizinine 770 (kullanıcı ve gruba yazma, gerisine nanik) hakkı vermek mantıklı olan, fakat WordPress otomatik güncellerken <strong>tüm dizinleri ve dosyaları</strong> güncellediği için bütün sitelere olduğu gibi 770 veriyoruz.</p>
<pre class="brush: bash; title: ;">
sudo chmod -R 2770 /home/cemk/sites/
</pre>
<p>En baştaki <strong>2</strong>, &#8220;set group ID&#8221; biti oluyor. Böylece o dizin altında sizin tarafınızdan yaratılan yeni dizin ve dosyalar da <em>www-data</em> grubuna dahil olurlar otomatikman.</p>
<p>Şimdi bir WordPress kurulumu yapın, ve dosya yüklemeyi deneyin. Et voilà! Çalıştığını göreceksiniz. Tabii belli bir boyuttan fazlasını yüklemeye çalışmazsanız.</p>
<h3>2. Aşama: Dosya Boyutu Belirleme</h3>
<p>Bunun için önce php.ini ayar dosyamızı bulmamız gerekiyor. Bunun nerede olduğunu phpinfo() komutuyla öğrenebiliyoruz. <strong>Loaded Configuration File</strong> kısmında yazan dizin, ayar dosyamız oluyor.</p>
<pre class="brush: bash; title: ;">
sudo nano /etc/php5/apache2/php.ini
</pre>
<p>Burada <em>upload_max_filesize</em> ve <em>post_max_size</em> ayarını bulup &#8220;2M&#8221;den istediğimiz değere çıkartıyoruz. Ben 64M yaptım. VPS&#8217;inizin RAM miktarına göre istediğiniz gibi arttırıp azaltabilirsiniz.</p>
<p><strong>Ekleme (20.07.2010): </strong><em>memory_limit</em> değeri de varsayılanda 16MB imiş. VPS&#8217;imdeki hiçbir WordPress kurulumunu 3.2 Beta&#8217;ya geçtikten sonra yükseltemediğimde farkettim ki, yeterli değil. 128M yapmak sorunu çözdü.</p>
<h3>3. Aşama: Otomatik Güncelleştirme, Eklenti/Tema Yükleme</h3>
<p>Diyeceksiniz ki &#8220;iyi güzel hoş, ayarı verdik, dizinlerimize artık sunucumuz da yazabiliyor, <em>e zlib desteği de var PHP&#8217;mizin</em>, peki biz neden hâlâ otomatik güncelleştirmeye veya eklenti/tema yüklemeye tıkladığımızda FTP bilgisi istiyor bu WordPress?&#8221;</p>
<p>Haklısınız. Ben de çok araştırdım. Meğerse son bir tanımlama yapmamız gerekiyormuş WordPress&#8217;e, bu özelliği kullanabileceğini anlatan. <em>wp-config.php</em> dosyasını açıp sonuna aşağıdaki satırı eklemek yetiyor.</p>
<pre class="brush: php; title: ;">

define('FS_METHOD', 'direct');
</pre>
<p>Böylece artık bütün WordPress özelliklerini rahatça VPS&#8217;imizde, tıpkı paylaşımlı hosting&#8217;lerde olduğu gibi, ama daha fazla esneklikle kullanabiliyoruz.</p>
<p>Afiyet olsun!</p>
<p><strong>Dipnot:</strong> Bu işlemleri yaparken sık sık yedek alın. Bunun için <a href="http://slicehost.com">Slicehost</a> veya <a href="http://www.zerigo.com">Zerigo</a> gibi &#8220;snapshot&#8221; almanıza izin veren VPS&#8217;leri tercih edebilirsiniz. (Hatta kendinizi cömert hissediyorsanız Zerigo&#8217;dan <a href="http://www.zerigo.com/ref/w29p1f">referrer kodum</a>la bir paket alıp bana hosting desteğinde bulunabilirsiniz.)</p>
]]></content:encoded>
			<wfw:commentRss>http://kimbucemk.com/teknik/vpsle-wordpressi-anlastirma/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

