<?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>Samet Kilictas's Blog &#187; HowTo</title>
	<atom:link href="http://samet.kilictas.com/category/howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://samet.kilictas.com</link>
	<description>Personal E-Notebook</description>
	<lastBuildDate>Fri, 30 Apr 2010 07:29:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Bash Shell Scripting Tutorial</title>
		<link>http://samet.kilictas.com/bash-shell-scripting-tutorial/</link>
		<comments>http://samet.kilictas.com/bash-shell-scripting-tutorial/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 07:19:24 +0000</pubDate>
		<dc:creator>Samet Kilictas</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://samet.kilictas.com/?p=420</guid>
		<description><![CDATA[Basics This tutorial assumes that you already know how to log in to your UNIX machine, bring up the bash shell, and run basic commands such as ls and cat. Getting to this point is fairly easy, but unfortunately this is the level that most users stay at indefinitely. This tutorial is intended to help [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Basics</strong><br />
This tutorial assumes that you already know how to log in to your UNIX machine, bring up the bash shell, and run basic commands such as ls and cat. Getting to this point is fairly easy, but unfortunately this is the level that most users stay at indefinitely. This tutorial is intended to help you start to learn the more advanced features of using a shell, and specifically bash, one of the most powerful shells available.</p>
<p>Please note that most of the command themselves are not explained; you can examine their functionality yourself by either reading their man page, or just experimenting with them to see what they do.</p>
<p><strong>Redirection</strong><br />
Normally programs take input from our keyboard, and display the output to our screens. However, these are just the defaults &#8211; UNIX has the ability to redirect the input (commonly referred to as stdin, short for standard input) and output (commonly referred to as stdout, short for standard output).</p>
<p>Here is a simple example: the cat command displays the contents of a file to the screen. But we can redirect those contents to a file using the redirection operator &#8216;&gt;&#8217;, like so:</p>
<pre class="brush: bash">
$ cat myfile.txt
This is the contents of the file myfile.txt
$ cat myfile.txt &gt; newfile.txt
$ cat newfile.txt
This is the contents of the file myfile.txt
$
</pre>
<p>In effect, we&#8217;ve made cat do the same thing as cp, by redirecting the output from the screen to a file. This isn&#8217;t terribly useful, but consider another, similar, scenario: cat can take multiple arguments, and it will display the files one after the other. This can be used to append one file onto another and create a new, combined file.</p>
<pre class="brush: bash">
$ cat file1.txt
The quick brown fox...
$ cat file2.txt
...jumped over the lazy dog.
$ cat file1.txt file2.txt &gt; combined.txt
$ cat combined.txt
The quick brown fox...
...jumped over the lazy dog.
</pre>
<p>Neat, eh?</p>
<p>We can also redirect the input, so that a program takes the contents of a file as if it were typed at your keyboard. cat doesn&#8217;t take any input, so let&#8217;s use bc, a command line calculator. Normally, you run the program, and it lets you type in calculations such as &#8220;2+2&#8243;, and then displays the result. But if you have a file which already contains the calculations, you can send it straight to bc &#8211; faster and more powerful than cutting-and-pasting the text in with your mouse.</p>
<pre class="brush: bash">
$ cat calc.txt
2+2
$ bc &lt; calc.txt 4 $ </pre>
<p> A final note: you can use two output redirect symbols together &#8211; &gt;&gt; &#8211; to indicate that you want to append the file, not overwrite it. Hence:</p>
<pre class="brush: bash">
$ cat file1.txt
Contents of file1.
$ cat file2.txt
Contents of file2.txt.
$ cat file2.txt &gt;&gt; file1.txt
$ cat file1.txt
Contents of file1.
Contents of file2.txt.
$
</pre>
<p><span id="more-420"></span></p>
<p><strong>Pipes</strong><br />
Pipes are similar to redirection, but they are even more powerful, because they allow you to send input and output back and forth between programs. For example, let&#8217;s say that you want to send the calculation &#8220;2+2&#8243; to bc in a single command, without creating a file for redirection, or firing up bc and then entering the calculation. You can use the command echo, which normally sends output to the screen:</p>
<pre class="brush: bash">
$ echo 2+2
2+2
$
</pre>
<p>But instead we can send it through a pipe using the pipe character &#8216;|&#8217;, which you create by typing shift-backslash on your keyboard.</p>
<pre class="brush: bash">
$ echo 2+2 | bc
4
$
</pre>
<p>One thing that may throw you off about this example is that it seems intuitively out of order; bc is the &#8220;important&#8221; program being run, and normally we would expect that to come first. But it doesn&#8217;t, and for good reason: the pipeline works by sending the output of each successive program to the one immediately to its right. In this case, echo has to run first, because it generates the text &#8220;2+2&#8243; and stuffs it into the pipe. bc then receives the &#8220;2+2&#8243; text, and does its thing, which is process the calculation.</p>
<p>Possibly one of the most immediately useful features of the UNIX command line is the ability to fire off an email instantaneously using the mail command.</p>
<pre class="brush: bash">
$ echo &quot;Hey, I sent this mail from the bash command line!&quot; | mail -s &quot;bash rocks&quot; user@host.com
</pre>
<p><strong>Combinations</strong><br />
The true power of UNIX shells, and especially bash, is reflected in your ability to mix and match redirection, pipes, and other operators almost limitlessly. Here&#8217;s a combination example: we send 2+2 through the pipe, which bc calculates, and then sends the output to a file.</p>
<pre class="brush: bash">
$ echo 2+2 | bc &gt; result.txt
$ cat result.txt
4
$
</pre>
<p><strong>Variables</strong><br />
Variables are values that you give a name. They are significant because you can call them by that name throughout your bash &#8220;code&#8221;, but it can contain different values at different times. A simpler way to think about them is that they are simply storage containers, for keeping data around that you will later use within bash.</p>
<p>Here is an example of assigning a value, and then displaying its contents:</p>
<pre class="brush: bash">
$ MYVAR=3
$ echo $MYVAR
3
$
</pre>
<p>When the variable is first assigned (and created), the $ symbol is not used. From that point forward, however, it must be prefixed with the $ symbol or it will not be properly recognized by bash.</p>
<p>Variables can contain text, numbers, lists &#8211; just about anything that you can think of. There is no &#8220;type casting&#8221; as in structured programming languages, so you need not keep track of what sort of data is stored where.</p>
<p>It&#8217;s possible to do basic math with variables, like so:</p>
<pre class="brush: bash">
$ A=2
$ B=3
$ C=$((A+B))
$ echo $C
5
</pre>
<p>A simple use for variables is to save some data temporarily that you&#8217;re going to use in a later command, possibly several commands. In this example, we&#8217;ll get a list of files, print each one, append them to a master file, and then delete them.</p>
<pre class="brush: bash">
$ FILES=*.txt
$ lpr $FILES
$ cat $FILES &gt;&gt; master.txt
$ rm $FILES
</pre>
<p>So far variables might not seem terribly useful. In fact, their power doesn&#8217;t become obvious until we start using constructs such as loops.</p>
<p><strong>Loops</strong><br />
Computers are excellent at repetitious tasks. Yet all too often, because of limited user interfaces (especially the GUI interfaces that are the most popular), computer users find themselves doing mindless tasks, such as renaming a long list of files. This is a task that is ideal for an iterative loop. It is &#8220;iterative&#8221; because we step through each item in a list, doing a similar operation on each one. The two main types of loops are for loops and while loops, but let&#8217;s focus on for loops as they are generally more useful at the command line.</p>
<p>The format of the for loop command is as follows:</p>
<p>for counter in list; do command; done</p>
<p>Everything in italics are items you need to replace with your own values. Counter is the name of the variable you want to use to count with; it can be any single word. List is a list of items, one after the other, that you wish to step through, one by one. And command is what you actually want to do to each one. Since an example is worth a thousand words, take a look:</p>
<pre class="brush: bash">
$ for i in 1 2 3; do echo Loop iteration: $i; done
Loop iteration: 1
Loop iteration: 2
Loop iteration: 3
$
</pre>
<p>The counter variable is called &#8220;i&#8221;, and you may note that when referring to it in places other than right after the for we place a $ character in front of its name, so it becomes $i.</p>
<p>The list is 1, 2, and 3. List items should be separated by spaces.</p>
<p>The command is &#8220;echo Loop iteration: $i&#8221;. This command gets run for each member of the list; and the counter variable ($i) gets replaced with the current list member we are executing on each time we step through it. Thus, the first time it prints &#8220;Loop iteration: 1&#8243; because the value of $i is 1.</p>
<p>One neat trick we can use is to use wildcard characters (* and ?) in order to loop through files in the current directory. As a simple example, we could simply print each filename, duplicating the effect of the command ls:</p>
<pre class="brush: bash">
$ ls
file1.txt file2.txt
$ for i in *; do echo $i; done
file1.txt
file2.txt
$
</pre>
<p>That&#8217;s not so useful, but let&#8217;s say that we want to rename each file to start with the word &#8220;my&#8221;.</p>
<pre class="brush: bash">
$ ls
file1.txt file2.txt
$ for i in *; do mv $i my-$i; done
$ ls
myfile1.txt myfile2.txt
$
</pre>
<p><strong>Backticks</strong><br />
The magical backticks (the character `) are one of the best kept secrets of shell scripting, but at the same time one of the most useful. They allow you to run a secondary command inside of a new shell, and the output from that command will be placed onto the command line on the spot! As usual, and example shows best.</p>
<pre class="brush: bash">
$ cat masterfile.txt
file1.txt
file2.txt
file3.txt
$ cat `grep -l 2 masterfile.txt`
This is the contents of file 2.
$
</pre>
<p>In this example, the result of the command &#8220;grep -l 2 masterfile.txt&#8221; is going to be &#8220;file2.txt&#8221;. Normally that would just be displayed to the screen, and at that point you could manually type &#8220;cat file2.txt&#8221; to see its contents. But you can do it in a single command with backticks; the output of the grep command (&#8220;file2.txt&#8221;) is substituted on the command line, producing the command &#8220;cat file2.txt&#8221; for you!</p>
<p><strong>Bringing It All Together</strong><br />
At this point, you need to explore these tools yourself in order to get a better understanding of their great flexibility. Provided below are a number of examples to aid in your exploration of these topics.</p>
<p>Converting a list of filenames into lower case</p>
<pre class="brush: bash">
$ for i in *; do mv $i `echo $i | tr A-Z a-z`; done
</pre>
<p>Printing out only files which contain the text &#8220;PrintMe&#8221;</p>
<pre class="brush: bash">
$ lpr `grep -l PrintMe *`
</pre>
<p>Determining the difference in length (number of lines) between two files</p>
<pre class="brush: bash">
$ echo `cat file1.txt | wc -l` - `cat file2.txt | wc -l` | bc
</pre>
<p>Sending mail to a list of email addresses in a file</p>
<pre class="brush: bash">
$ for addr in `cat email-addresses.txt`; do cat message.txt | mail -s &quot;Hi there!&quot; $addr; done
</pre>
<p>Archiving all logfiles to a file named after the current date</p>
<pre class="brush: bash">
$ tar czvf logs-`date +%m%d%y`.tar.gz *.log
</pre>
<p><strong><em>Queued from</em></strong> : <a title="Here" href="http://www.tlc-networks.polito.it/giaccone/corsi/laboratorio/Scripting/Bash/bash.html">Here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://samet.kilictas.com/bash-shell-scripting-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM RAD 7.5 on Ubuntu Karmic 32 Bit</title>
		<link>http://samet.kilictas.com/ibm-rad-7-5-on-ubuntu-karmic-32-bit/</link>
		<comments>http://samet.kilictas.com/ibm-rad-7-5-on-ubuntu-karmic-32-bit/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 17:08:32 +0000</pubDate>
		<dc:creator>Samet Kilictas</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[Karmic]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Websphere]]></category>

		<guid isPermaLink="false">http://samet.kilictas.com/?p=396</guid>
		<description><![CDATA[Lets assume you were using ubuntu 9.04 jaunty and now you have upgraded your distribution to 9.10 karmic. Before i get into 9.10 version i had my RAD 7.5 installed and running. Then decided to upgrade my distro. I&#8217;ve read an article and futures of karmic distro, that says plenty of packages getting updated. After getting done [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-399 alignleft" title="IBM Rational Application Developer" src="http://samet.kilictas.com/wp-content/uploads/2009/12/rtl-mark-title-235x50.gif" alt="IBM Rational Application Developer" width="235" height="50" /><br />
Lets assume you were using ubuntu 9.04 jaunty and now you have upgraded your distribution to 9.10 karmic. Before i get into 9.10 version i had my RAD 7.5 installed and running. Then decided to upgrade my distro. I&#8217;ve read an article and futures of karmic distro, that says plenty of packages getting updated. After getting done with upgrade process i tried to run my RAD 7.5 , it was ok for the first time but there were plenty of errors on screen.</p>
<p>First of all when you upgrade your distro, the gcc++ package gets upgareded so libstdc++.so.5 file to libstdc++.so.6 .Unfortunately RAD 7.5 version looks for libstdc++.5.so file on your system. You have to download this file. Download it by using link below;</p>
<p><a title="http://packages.debian.org/stable/base/libstdc++5" href="http://packages.debian.org/stable/base/libstdc++5">http://packages.debian.org/stable/base/libstdc++5</a></p>
<p>Then install this deb package (If you are running on another linux distro you have to place it just next to where your libstdc++.6.so file, you can use &#8220;locate libstdc++.so.6&#8243; command to see where your file is). Then copy below bash script and paste it any of your text editor, save it as &#8220;run.sh&#8221;. From now on, you can use this script to run your RAD 7.5.</p>
<pre class="brush: bash">
#!/bin/bash
export GTK_NATIVE_WINDOWS=1
/where/your/RADis &amp;
</pre>
<p>After this process your problem should be gone. Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://samet.kilictas.com/ibm-rad-7-5-on-ubuntu-karmic-32-bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generate ER diagram by appliying reverse enginnering technique</title>
		<link>http://samet.kilictas.com/generate-er-diagram-by-appliying-reverse-enginnering-technique/</link>
		<comments>http://samet.kilictas.com/generate-er-diagram-by-appliying-reverse-enginnering-technique/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 07:52:47 +0000</pubDate>
		<dc:creator>Samet Kilictas</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Diagram]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Reverse Engineering]]></category>
		<category><![CDATA[Workbench]]></category>

		<guid isPermaLink="false">http://samet.kilictas.com/?p=320</guid>
		<description><![CDATA[Yesterday, i needed to generate an ER diagram for one of my databases that i am working on. Well, i didn&#8217;t meet with Mysql Workbench visual database tool before. It made my day. MySQL Workbench is a visual database design application that can be used to efficiently design, manage and document database schemata. And it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://samet.kilictas.com/wp-content/uploads/2009/06/mysql-workbench-oss.png"><img class="size-full wp-image-321 alignleft" style="margin: 5px;" title="mysql-workbench-oss" src="http://samet.kilictas.com/wp-content/uploads/2009/06/mysql-workbench-oss.png" alt="" width="250" height="145" /></a><br />
Yesterday, i needed to generate an ER diagram for one of my databases that i am working on. Well, i didn&#8217;t meet with Mysql Workbench visual database tool before. It made my day. MySQL Workbench is a visual database design application that can be used to efficiently design, manage and document database schemata. And it is available under GPL license. This application is allowing you to generate a diagram for a database using its reverse engineering tool. And the good thing is after generating process you may modify it anyway. I think i am going to use this application in future. For detailed information go in this link below :</p>
<p><a href="http://dev.mysql.com/downloads/workbench/5.1.html">http://dev.mysql.com/downloads/workbench/5.1.html</a></p>
<p>Keep in touch foxes  ( :</p>
]]></content:encoded>
			<wfw:commentRss>http://samet.kilictas.com/generate-er-diagram-by-appliying-reverse-enginnering-technique/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to install Nvidia Driver 180.29 on your ubuntu</title>
		<link>http://samet.kilictas.com/how-to-install-nvidia-driver-18029-on-your-ubuntu/</link>
		<comments>http://samet.kilictas.com/how-to-install-nvidia-driver-18029-on-your-ubuntu/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 17:13:38 +0000</pubDate>
		<dc:creator>Samet Kilictas</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[180.29]]></category>
		<category><![CDATA[8.10]]></category>
		<category><![CDATA[Nvidia]]></category>

		<guid isPermaLink="false">http://samet.kilictas.com/?p=265</guid>
		<description><![CDATA[If you are using older drivers then 180.29 version you should* install new drivers so you will have better performence with 180.29 version. Don&#8217;t worry it is piece of cake to install it on your ubuntu. Firstly, go on ( System-&#62;Administration-&#62;Software Sources ) then click on &#8220;Third-Party software&#8221; tab. Now you should see a button [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://samet.kilictas.com/wp-content/uploads/2009/03/nvidia-settings.png"><img class="alignnone size-medium wp-image-264" title="nvidia-settings" src="http://samet.kilictas.com/wp-content/uploads/2009/03/nvidia-settings.png" alt="" width="48" height="48" /></a> If you are using older drivers then 180.29 version you should* install new drivers so you will have better performence with 180.29 version. Don&#8217;t worry it is piece of cake to install it on your ubuntu.</p>
<p>Firstly, go on ( System-&gt;Administration-&gt;Software Sources ) then click on &#8220;Third-Party software&#8221; tab. Now you should see a button &#8220;+Add&#8221; shows on it.</p>
<blockquote><p><code>deb <a title="http://ppa.launchpad.net/anders-kaseorg/ppa/ubuntu" href="http://ppa.launchpad.net/anders-kaseorg/ppa/ubuntu">http://ppa.launchpad.net/anders-kaseorg/ppa/ubuntu</a> intrepid main<br />
deb-src <a title="http://ppa.launchpad.net/anders-kaseorg/ppa/ubuntu" href="http://ppa.launchpad.net/anders-kaseorg/ppa/ubuntu">http://ppa.launchpad.net/anders-kaseorg/ppa/ubuntu</a> intrepid main</code></p></blockquote>
<p>As you see above there is two lines of address. You should add them one-by-one by clicking this &#8220;+Add&#8221; button. when you are done with that it is time to get PPA keys for this repository.</p>
<p>Now use there commands</p>
<blockquote><p>cd ~/Desktop<br />
gedit temp.key</p></blockquote>
<p><span id="more-265"></span></p>
<p>A Gedit window should be appear now. Then paste this key code inside of that window.</p>
<blockquote>
<pre>-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.0.10

mI0ESXak3QEEAKTdBfrFtEvBel4kluGh2d99v56PzgPB4gJKz5wET4sItbxZDU9hA61kt1hl
o/84l1696hWQvnVCXrXOI2g7ZW3RD/xs/HTG6gBcVjPAW7StXYQ6sLWNEu3mgZ4FA9RdEox2
38F0kqqozx187Tvq/OQBHVzPekcdQkaWPf8QkbJ3ABEBAAG0IExhdW5jaHBhZCBQUEEgZm9y
IEFuZGVycyBLYXNlb3JniEYEExECAAYFAkl3qLwACgkQG9iXoSX6XFaRLgCeLdHCeGYski0Q
YDIfiytgNzH5uFcAoIjEEHAXY9Z4N/nBDurP/Dzx/8M0iLYEEwECACAFAkl2pN0CGwMGCwkI
BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRBimK00QTV2y8i7A/0XzwwjyTWdbcShItGhK4E3l/n0
Lq2JtCtJsjKphOOoE6pW3AjnrGayKZ5FNJoRVZYXNzIaeHhv6qlxdVTNiftUxIXJGOKRmCFJ
jYiltLTmJH+IGOCZAfMlT72AVKOLygEudLHF3KgdCX5/aW7sjCGtuvLJopL6zkcJpiJfoe2e
JA==
=ZaVk
-----END PGP PUBLIC KEY BLOCK-----</pre>
</blockquote>
<p>Then just save it. If this key above doesn&#8217;t works then try <a href="http://keyserver.ubuntu.com:11371/pks/lookup?search=0x026491A5DD081BDC6CDFC0DE6298AD34413576CB&amp;op=index">http://keyserver.ubuntu.com:11371/pks/lookup?search=0x026491A5DD081BDC6CDFC0DE6298AD34413576CB&amp;op=index</a> this link so you can find current key there. Now we are really close to make nvidia 180.29 working on our ubuntu. Now go on ( System-&gt;Administration-&gt;Software Sources ) then click on Authentication tab then you will see &#8220;+ Import Key File&#8221; button there. Click on it and find your &#8220;temp.key&#8221; file on your Desktop. Then click ok there you go now you are ready to make it work.</p>
<p>By the way you must be sure your old driver is working on 3D mode. Now open terminal again and write this commands</p>
<blockquote><p><code>sudo apt-get update<br />
sudo apt-get install nvidia-glx-180</code></p></blockquote>
<p>When it prompts on screen press &#8220;Y&#8221; button on your keyboard then Enter button. Now all you have to do it give it some time. After a quick restart you will have your drivers running you computer</p>
]]></content:encoded>
			<wfw:commentRss>http://samet.kilictas.com/how-to-install-nvidia-driver-18029-on-your-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Subversion (SVN) Server Nasıl Kurulur (Turkish)</title>
		<link>http://samet.kilictas.com/subversion-svn-server-nasil-kurulur/</link>
		<comments>http://samet.kilictas.com/subversion-svn-server-nasil-kurulur/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 01:18:35 +0000</pubDate>
		<dc:creator>Samet Kilictas</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[SourceSafe]]></category>
		<category><![CDATA[SubVersion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Team Foundation Server]]></category>

		<guid isPermaLink="false">http://samet.kilictas.com/?p=160</guid>
		<description><![CDATA[Merhaba arkadaşlar subversion hakkında türkçe yazılmış çok fazla kaynak olmamasından dolayı bu yazımı türkçe yazdığımı belirtmek istiyorum. Halen ingilizce dilinin artık global bir dil olduğunun bazı kişiler tarafından kabul edilmeyişide ayrı bir tartışma konusu bence. Neyse hemen anlatmaya başlıyorum. Aslında kişisel olarak bir projeyi tek başıma yapıyorsam bunda daha başarılı olabildiğimi düşünüyordum ancak bazı nedenlerden [...]]]></description>
			<content:encoded><![CDATA[<p>Merhaba arkadaşlar subversion hakkında türkçe yazılmış çok fazla kaynak olmamasından dolayı bu yazımı türkçe yazdığımı belirtmek istiyorum. Halen ingilizce dilinin artık global bir dil olduğunun bazı kişiler tarafından kabul edilmeyişide ayrı bir tartışma konusu bence.</p>
<p>Neyse hemen anlatmaya başlıyorum. Aslında kişisel olarak bir projeyi tek başıma yapıyorsam bunda daha başarılı olabildiğimi düşünüyordum ancak bazı nedenlerden dolayı anladım ki atasözümüz olan &#8220;Bir elin nesi var iki elin sesi&#8221; var sözü gerçekten yerinde ve mantıklı söylenmiş bir söz. <img src='http://samet.kilictas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Geçenlerde üniversitede grup çalışması yaptıgım samimi arkadaşlar ile bir projeye başlama kararı aldık ve ortak bir çalışma ortamı oluşturmam gerekiyordu. Ortak çalışma ortamı çok şekilde yaratılabilir aslında;</p>
<ul>
<li>Subversion</li>
<li>CVS</li>
<li>SourceSafe</li>
<li>Team Foundation Server</li>
<li>Birkaç duyulmamış sistem daha</li>
</ul>
<p>Bu sistemler arasında en mantıklı ve uygulanabilirliği açısından rahat olan sistemin subversion olduğunu düşünüyorum. Linux altında çalışmışlığınız var ise bir Subversion (SVN) server kurmak yanlızca 30 saniyenizi alacaktır. Subversion sistemini windows işletim sistemilerinde de kurabiliyoruz ancak tabiki biz linuxumuza kurup rahat ve hızlı çalışmanın tadına varacağız <img src='http://samet.kilictas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-160"></span></p>
<p>Ben extra bir server bulamadığımdan dolayı kendi bilgisayarıma Vmware kurup onun üzerindeki sanal makine yardımıyla subversion yayımı yapmaya başladım. Sizinde benim gibi bu aralar imkanlarınız biraz kısıtlı ise vmware tek çözüm gibi görünüyor. Kuruluma geçmeden önce ubuntu distromuzu bilgisayarımıza kuralım bu kısım tamamiyle size ait. (Vmware kullanacaksanız ubuntu server edition tavsiyemdir.)</p>
<p>Şimdi sisteminize yeni bir ubuntu kurulumu var ve üzerinde apache2 sunucusu sorunsuz olarak çalışıyor kabul edelim.  Bu aşamadan sonra yapmamız gereken sadece apache2 server a gerekli eklentileri yapıp subversion serveri kullanılabilir hale getirmek.</p>
<p>Subversion server için subversion ve libapache2-svn paketlerini kurmamız gerekli, bunu için</p>
<pre class="brush: php">sudo apt-get install subversion libapache2-svn</pre>
<p>komutunu kullanarak bu paketleri serverımıza kuruyoruz. Artık SVN modüllerini apache2 serverımızda port 80 ile kullanılabilir hale getirdik. Paketleri yüklediğimizde modüller otomatik olarak aktif hale gelmiş olması ancak biz yinede bi kontrol edelim. Bunun için</p>
<pre class="brush: php">sudo a2enmod dav_svn</pre>
<p>komutunu kullanıyoruz ve kullanım sonrasında bize &#8220;already enabled&#8221; gibi bir uyarı gelmesi gerekiyor şu an tam olarak hatırlamıyorum. Şimdide apache2 de bir kaç ayarlama yapmamız gerekiyor.</p>
<pre class="brush: php">sudo nano /etc/apache2/mods-enabled/dav_svn.conf</pre>
<p>açılan dosyarı konsolda şu şekilde değiştirmemiz gerekiyor. (Genelde satır önlerindeki # işaretini kaldırarak kolaylıkla yapabilirsiniz)</p>
<pre class="brush: php">
&amp;lt; Location /svn &amp;gt;
DAV svn
SVNPath /home/svn

AuthType Basic
AuthName &quot;Subversion Repository - veya repository adı&quot;
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
&amp;lt; / Location &amp;gt;
</pre>
<p>buradaki /home/svn dizinini kendi repository dizininize göre değiştirebilirsiniz. Aynı kalmasında bir sakınca yok aslında. dizinimizin /home/svn olduğunu varsayarak devam ediyorum.</p>
<pre class="brush: php">sudo mkdir /home/svn
sudo svnadmin create /home/svn</pre>
<p>şimdide apache2 yi bu repository için owner yapmamız gerekiyor.</p>
<pre class="brush: php">sudo chown -R www-data /home/svn</pre>
<p>repository&#8217; e erişimimizi biraz güvenli hale getirebilmek için bir şifre belirleyelim.</p>
<pre class="brush: php">sudo htpasswd -cm /etc/apache2/dav_svn.passwd kullanı_adınız</pre>
<p>daha sonra sistem sizden şifrenizi belirlemenizi isteyecektir. Bu aşamadan sonra yapmamız gereken tek şey apache serverimizi yeniden başlatmak.</p>
<pre class="brush: php">sudo /etc/init.d/apache2 restart</pre>
<p>bu aşamaya kadar kazasız belasız geldiyseniz artık sizin <span style="text-decoration: underline;"><strong>http://sun.ucu.nuz/svn</strong></span> altında bir subversion serverınız var. Tebrikler <img src='http://samet.kilictas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>İyi Çalışmalar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://samet.kilictas.com/subversion-svn-server-nasil-kurulur/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>.htaccess problem at Apache2 (Ubuntu)</title>
		<link>http://samet.kilictas.com/htaccess-problem-at-apache2-ubuntu/</link>
		<comments>http://samet.kilictas.com/htaccess-problem-at-apache2-ubuntu/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 00:07:02 +0000</pubDate>
		<dc:creator>Samet Kilictas</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[apache2]]></category>

		<guid isPermaLink="false">http://samet.kilictas.com/?p=63</guid>
		<description><![CDATA[Hi, Everyone, Today i have faced with a problem which made me sick of apache2. Since i&#8217;ve done with this stupid problem it will be my pleasure to writing solution to my blog page   Ok!, If you are running apache2 first you should know about that you got the configuration file at ; sudo nano [...]]]></description>
			<content:encoded><![CDATA[<p>Hi, Everyone,</p>
<p>Today i have faced with a problem which made me sick of apache2. Since i&#8217;ve done with this stupid problem it will be my pleasure to writing solution to my blog page   <img src='http://samet.kilictas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ok!, If you are running apache2 first you should know about that you got the configuration file at ;</p>
<blockquote><p>sudo nano /etc/apache2/apache2.conf -&gt; just check out this file to see what it contains exaclty</p></blockquote>
<p>and you can see error log&#8217;s at ;</p>
<blockquote><p>sudo nano /var/log/apache2/error.log  -&gt; which helps a lot</p></blockquote>
<p>So, to enable .htaccess files on your server first you have to edit ;</p>
<blockquote><p>sudo nano /etc/apache2/sites-available/default</p></blockquote>
<p>when you open this file you have to see some lines like;</p>
<blockquote><p>DocumentRoot <span style="color: #ff9900;">/var/www/</span><br />
&lt;Directory /&gt;<br />
Options FollowSymLinks<br />
AllowOverride All<br />
&lt;/Directory&gt;<br />
&lt;Directory /var/www/&gt;<br />
Options Indexes FollowSymLinks MultiViews<br />
<span style="color: #ff9900;">AllowOverride None</span><br />
Order allow,deny<br />
allow from all<br />
&lt;/Directory&gt;</p></blockquote>
<p>you have to be sure the Document root is correct. Then you need to change the &#8220;<span style="color: #ff9900;">AllowOverride None</span>&#8221; to &#8220;<span style="color: #ff9900;">AllowOverride All</span>&#8221; then we are done with this part.</p>
<p><span id="more-63"></span></p>
<p>And now as step2 to enable .htaccess file your apache2 you should enable rewrite.load mod. If you take a look at /etc/apache2 directory you are going to see that there are some folders like &#8220;mods-available&#8221; and &#8220;mods-enabled&#8221;. mods-available folder contains some mods for apache2 which you may use. mods-enable folder only contains the mods which are enable <img src='http://samet.kilictas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
This is the tricky point, if you don&#8217;t copy the rewrite.load file from mods-available to mods-enable, your apache2 isn&#8217;t going to load rewrite mod.  Even you are done with /etc/apache2/sites-available/default file since the mod is didnt load so you will get &#8220;<span style="color: #ff0000;">500 Internal Server Error</span>&#8220;.</p>
<p>Samet</p>
]]></content:encoded>
			<wfw:commentRss>http://samet.kilictas.com/htaccess-problem-at-apache2-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
