<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8130968209798558799</id><updated>2017-06-22T06:05:26.942+03:00</updated><category term="Genel"/><category term="Bilişim"/><category term="bilgisayar"/><category term="java"/><category term="programming"/><category term="php"/><category term="linux"/><category term="Programlama"/><category term="sunum"/><category term="uml"/><category term="pardus"/><category term="yazılım"/><category term="mysql"/><category term="ubuntu"/><category term="web"/><category term="apache"/><category term="javascript"/><category term="algorithm"/><category term="algoritma"/><category term="eclipse"/><category term="fedora"/><category term="sql"/><category term="android"/><category term="kitap"/><category term="network"/><category term="install"/><category term="jquery"/><category term="server"/><category term="update"/><category term="örnek"/><category term="Şifreleme"/><category term="css"/><category term="howto"/><category term="html"/><category term="https"/><category term="installation"/><category term="javaee"/><category term="jdk"/><category term="jsf"/><category term="symfony"/><category term="tutorial"/><category term="website"/><category term="windows"/><category term="Röportaj"/><category term="advice"/><category term="ajax"/><category term="arayüz"/><category term="array"/><category term="bilgisayar ağları"/><category term="bilgisayar mühendisliği"/><category term="c programlama"/><category term="captcha"/><category term="code"/><category term="coding"/><category term="command"/><category term="console"/><category term="cron job"/><category term="cronjob"/><category term="database"/><category term="datamining"/><category term="firewall"/><category term="ftp"/><category term="hayat"/><category term="htop"/><category term="http"/><category term="internet"/><category term="işletim sistemleri"/><category term="java8"/><category term="konsol"/><category term="life"/><category term="maven"/><category term="openssl"/><category term="password"/><category term="primefaces"/><category term="program"/><category term="röportajlar"/><category term="select"/><category term="selenium"/><category term="software"/><category term="ssl"/><category term="svn"/><category term="terminal"/><category term="tomcat"/><category term="upgrade"/><category term="vigenere"/><category term="web design"/><category term="wordpress"/><category term="1980"/><category term="404"/><category term="academic"/><category term="algorithms"/><category term="algoritmalar"/><category term="apple"/><category term="application"/><category term="arge"/><category term="article"/><category term="ascii"/><category term="bankacı"/><category term="bash"/><category term="berber problemi"/><category term="big data"/><category term="bigdecimal"/><category term="binary tree"/><category term="blog"/><category term="book"/><category term="book review"/><category term="bootmgr"/><category term="box"/><category term="box-shadow"/><category term="brightness"/><category term="browser"/><category term="button"/><category term="c"/><category term="checksum"/><category term="client"/><category term="compile"/><category term="complete tree"/><category term="connect"/><category term="connection"/><category term="count"/><category term="country"/><category term="cron"/><category term="crontab"/><category term="cyber security"/><category term="dao"/><category term="data"/><category term="data warehouse"/><category term="data warehousing"/><category term="debian"/><category term="debug key"/><category term="derlemek"/><category term="design"/><category term="developer"/><category term="dinamik"/><category term="divide"/><category term="division"/><category term="document"/><category term="donanım"/><category term="driver"/><category term="drjava"/><category term="dtd"/><category term="eksik"/><category term="encryption"/><category term="entrepreneurship"/><category term="faces"/><category term="form"/><category term="framework"/><category term="future"/><category term="girişimcilik"/><category term="google"/><category term="google maps"/><category term="gölge"/><category term="history"/><category term="httpd"/><category term="humour"/><category term="image"/><category term="increment"/><category term="innerhtml"/><category term="input"/><category term="insertion sort"/><category term="integer"/><category term="j2ee"/><category term="javaserver"/><category term="javaserver faces"/><category term="jre"/><category term="json"/><category term="junit"/><category term="juno"/><category term="komut"/><category term="list"/><category term="log"/><category term="log file"/><category term="mail"/><category term="mailing"/><category term="merge sort"/><category term="mühendislik"/><category term="national cyber security"/><category term="ncsam"/><category term="nohup"/><category term="page not found"/><category term="pdt"/><category term="post"/><category term="pre"/><category term="preorder"/><category term="presentation"/><category term="private key"/><category term="programmer"/><category term="proje yönetimi"/><category term="protection"/><category term="public key"/><category term="real"/><category term="regular expression"/><category term="release key"/><category term="resize"/><category term="responsive design"/><category term="review"/><category term="risk"/><category term="routing"/><category term="screen"/><category term="search"/><category term="security"/><category term="selector"/><category term="send"/><category term="seo"/><category term="seo tips"/><category term="service"/><category term="servis"/><category term="setup"/><category term="sftp"/><category term="shadow"/><category term="singleton"/><category term="slider"/><category term="smtp"/><category term="solr"/><category term="sorgu"/><category term="sosyal"/><category term="ssh2"/><category term="static"/><category term="steve jobs"/><category term="submit"/><category term="subnet"/><category term="sudo"/><category term="swiftmailer"/><category term="symfony2"/><category term="syntax"/><category term="sıralama algoritması"/><category term="technical"/><category term="test"/><category term="theme"/><category term="tips"/><category term="tomee"/><category term="traversal"/><category term="tree"/><category term="tutor"/><category term="türkçe"/><category term="ubunt"/><category term="udp"/><category term="ufw"/><category term="veritabanı"/><category term="virtual"/><category term="vps"/><category term="wamp"/><category term="webservice"/><category term="window"/><category term="wireless"/><category term="wlan"/><category term="workspace"/><category term="www"/><category term="xml"/><category term="yüksek lisans"/><category term="zend"/><category term="öneri"/><category term="örnek kod"/><title type='text'>Seval&#39;s Technology Blog</title><subtitle type='html'>Software development, Computers, Networks, Security, Programming, Java, PHP, Python, SQL, XML, and so on...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default?start-index=26&amp;max-results=25'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>181</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-4838770047764416317</id><published>2017-02-07T23:04:00.000+03:00</published><updated>2017-02-07T23:06:32.000+03:00</updated><title type='text'>Mühendis neyle yaşar</title><content type='html'>Sizi rüyadan uyandırmak istiyorum. Uyanın.&lt;br /&gt;&lt;br /&gt;Bir çok mühendis arkadaşımdan da bildiğim gibi mühendislerin öğrencilik hayatı neredeyse her mühendis için çok parlak geçer. İnsan o zamanlar her şeyi başarabileceğine, dağları tek başına aşabileceğine inanıyor. Üniversitenin ilk yıllarında çok saf ve çok temiz hayallerimiz oluyor.&lt;br /&gt;&lt;br /&gt;Beni de bu hayallerle kandırıp mühendislik yazmaya ikna etmişlerdi. Bu konuda matematik öğretmenimin büyük rolü vardır. Fakat ÖSS&#39;de puanı Hacettepe TIP, Ankara TIP gibi bölümlere de yeten herkesin aklından bir keşke sorusu geçmiştir. Benim de aynen öyle oldu. Bölümü okurken ohh iyi ki bu bölümü yazmışım der, sonra mezun olunca meslekte istenen kariyere ulaşamayınca off keşke bu bölümü yazmasaydım dersiniz. İşte mühendislik böyle sevgi isteyen, emek isteyen ve sizin verdiğinizden hep daha azını veren bir bölümdür. Bunu iş hayatına atılınca anlarsınız.&lt;br /&gt;&lt;br /&gt;İş hayatında hiç olmaz dediğiniz şeyler başınıza gelir. Evet ben de ne yazık ki çok kez iş aradım. Hiçbir yerde 5 yıl boyunca çalışmadım, ve bu şekilde 5 yıl çalışanlara da şaşırdım. Sektörden sektöre, alandan alana atladım. Sürekli yeni domain öğrendim. Her yıl proje değiştirdim. Bazen üzerinde çalıştığım programlama dili bile değişti. Peki ne için? Bazen mecbur bırakıldım, bazen mutlu olmak için kendim istedim. Sonunda tepkisizliği öğrendim. Aynı projede 5 yıl çalışmak için tepkisiz olmak gerekiyormuş. Ancak o şekilde mutlu insanlar olarak çalışabiliriz.&lt;br /&gt;&lt;br /&gt;Okul ve üniversite hayatıma bakıyorum, hep mutlu ve hep istediğini elde eden birisi var. Hep bir hayali olan, ve çok çalışkan birisi. Şimdi ise bir şey isteyemiyor. İsteme güdüsünü kaybetmiş. İnsan sektörde birkaç yıl geçirdikten sonra Tolstoy gibi insan neyle yaşar diye sorgulamaya başlıyor.&lt;br /&gt;&lt;br /&gt;Her mühendis mezun olunca bir evi bir arabası olsun ister. Ailesinden maddi bir yardım alamazsa bunlara sahip olmak yıllarını alır. Bu mühendisler ilk yıl ucuz ikinci el bir araba alır, birkaç yıl sonra biraz daha iyisi ile değiştirirler. En az 5 yıl kirada oturduktan sonra elde avuçta ne varsa verip üstüne 10 yıllık kredi çekip ev alırlar. Böyle böyle yaşam enerjilerinin hepsi kredi borçlarına gider.&lt;br /&gt;&lt;br /&gt;Sadece borçlar değil, çalışma şartları da mühendislerde ağır bir depresyon yaratıyor. 24 yaşına kadar hep el üstünde tutulmuş, mühendis olacak diye büyük adam olacak sanılmış gençler, iş hayatında kötü yöneticilerin eline düşerek depresyona sürüklenmektedir. Bu gençler de 30 yaşına doğru karanlıklaşmaya başlar. Sonra kendi iç karanlıklarını etraflarındaki ışık saçan yeni mezunlara bulaştırmaya başlarlar.&lt;br /&gt;&lt;br /&gt;Yıllar geçince eskiden hayalini kurdukları saygın meslekte olduklarını unuturlar. İnsanlar onlara aşağılayıcı ithamlarda bulunurken kredi borcunu, faturaları ödeyebilmek için maaş almak zorunda olduklarını düşünüp işten çıkarılmamak için susarlar. Yani artık insan duygusuzlaşmaya ve söylenenlere karşı tepkisizleşmeye başlar. İşte böyle olunca aynı yerde 5 yıl çalışabilirsin.&lt;br /&gt;&lt;br /&gt;Sektörün de istediği insan tipi budur. Koyun gibi düşünmeden çalışan insanlar, mühendisler, mühendislerimiz. Bu insanlar kimseye bulaşmazlar, eline bir iş verirsin bir şekilde yürütüp götürürler işi. Yıllanırlar, tecrübe sahibi olurlar. Ama aynı yerde çakılıp kalırlar. Kimse onların fikrini sormaz. Onlara mühendis gibi davranmayan insanlar onlardan mühendislik yapmasını beklerler. Her işi en ince detayıyla düşünerek temiz ve kaliteli iş yapan insanlar performansta eksi, bozuk ama hızlı iş çıkaranlar performansta artı alırlar. Kendi bulunduğu yeri hazmedemeyen insanların altında çalışmak zorunda kalırlar. Bozuk yönetim şekillerini onlara yansıtan adamlara bir dur diyecek güçleri yoktur. Bu şekilde geçer yıllar.&lt;br /&gt;&lt;br /&gt;Tecrübelerini ve becerilerini daha etkin kullanabilecekleri, daha aktif olabilecekleri, daha fazla fikir üretebilecekleri, vizyonlarını daha da geliştirebilecekleri bir kariyer artık hayalden başka bir şey değildir.&lt;br /&gt;&lt;br /&gt;Uyanın, uyandırın.&lt;br /&gt;&lt;br /&gt;***</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/4838770047764416317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=4838770047764416317&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4838770047764416317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4838770047764416317'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2017/02/muhendis-neyle-yasar.html' title='Mühendis neyle yaşar'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-3267246677182543373</id><published>2016-11-24T10:51:00.001+03:00</published><updated>2016-11-24T10:51:51.834+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="java8"/><category scheme="http://www.blogger.com/atom/ns#" term="programlama"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Get a list from another list without for loop in Java 8</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-RvOr1T5psy4/WDacBuig3OI/AAAAAAAAALY/m0sv9TpHJqcIklUOdkhdQaGd0CHrJCwdwCLcB/s1600/java8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;165&quot; src=&quot;https://2.bp.blogspot.com/-RvOr1T5psy4/WDacBuig3OI/AAAAAAAAALY/m0sv9TpHJqcIklUOdkhdQaGd0CHrJCwdwCLcB/s320/java8.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In Java, you may need to create a new object list from another object list. This is needed when dependency injection is our concern. The general concept behind dependency injection is called Inversion of Control. According to this concept, a class should not configure its dependencies statically but should be configured from the outside. You may look at &quot;&lt;a href=&quot;http://www.vogella.com/tutorials/DependencyInjection/article.html&quot; target=&quot;_blank&quot;&gt;Using dependency injection in Java - Tutorial&lt;/a&gt;&quot; for a beautiful example.&lt;br /&gt;&lt;br /&gt;In old way, we run a for loop in Java to get the object list from another list. Lets look at the example below. There are two classes: Apple and Orange.&lt;br /&gt;&lt;br /&gt;public class Apple{&lt;br /&gt;&amp;nbsp; &amp;nbsp; private String color;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;public Apple(String color){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.color = color;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;public void setColor()(String color){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.color = color;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;public String getColor(){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return this.color;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class Orange{&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;private String myColor;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;public Orange(Apple apple){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.myColor = apple.getColor();&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;public void setMyColor()(String myColor){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; this.myColor= myColor;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;public String getMyColor(){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return this.myColor;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lets create an Apple list with 2 Apple objects:&lt;br /&gt;&lt;br /&gt;List&amp;lt;Apple&amp;gt; appleList = new ArrayList&amp;lt;&amp;gt;();&lt;br /&gt;Apple apple1 = new Apple(&quot;Red&quot;);&lt;br /&gt;Apple apple2 = new Apple(&quot;Green&quot;);&lt;br /&gt;appleList.add(apple1);&lt;br /&gt;appleList.add(apple2);&lt;br /&gt;&lt;br /&gt;&lt;i&gt;How to get an Orange list from this Apple list?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;In old Java:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;List&amp;lt;Orange&amp;gt; orangeList = new ArrayList&amp;lt;&amp;gt;();&lt;br /&gt;for(Apple apple : appleList) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; Orange orange = new Orange(apple);&lt;br /&gt;&amp;nbsp; &amp;nbsp; orangeList .add(orange);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;In Java 8:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;List&amp;lt;Orange&amp;gt; orangeList = appleList.stream().map(Orange::new).collect(Collectors.toList());&lt;br /&gt;&lt;br /&gt;This is the fastest and the shortest way to get a new list with 2 Orange objects which colors are Red and Green. Use Java 8 guys!&lt;br /&gt;&lt;br /&gt;***</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/3267246677182543373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=3267246677182543373&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/3267246677182543373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/3267246677182543373'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/11/get-list-from-another-list-without-for.html' title='Get a list from another list without for loop in Java 8'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/-RvOr1T5psy4/WDacBuig3OI/AAAAAAAAALY/m0sv9TpHJqcIklUOdkhdQaGd0CHrJCwdwCLcB/s72-c/java8.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-8952926824051866459</id><published>2016-10-25T10:31:00.003+03:00</published><updated>2016-10-25T10:32:34.111+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="java8"/><title type='text'>Getting an element list from a Set in Java 8</title><content type='html'>How to get list of an attribute of an object from Hash Set&amp;lt;Object&amp;gt;? Lets say we have a HashSet&amp;lt;Object&amp;gt; list and we want to get an attribute of all objects in a list, for example in a comma separated string. It is simple in Java 8:   &lt;br /&gt;&lt;br /&gt;&lt;pre code=&quot;java&quot;&gt;public class ErrorMessageDTO{&lt;br /&gt;    private String errorMessage;&lt;br /&gt;&lt;br /&gt;    public String getMessage() {&lt;br /&gt;        return errorMessage;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;pre code=&quot;java&quot;&gt;&lt;/pre&gt;&lt;pre code=&quot;java&quot;&gt;public String getErrorMessageCommaSeparatedFromErrorMessageDTO(Collection&amp;lt;ErrorMessageDTO&amp;gt; errorMessages) {&lt;br /&gt;        HashSet&amp;lt;String&amp;gt; allErrorMessages = new HashSet&amp;lt;&amp;gt;(errorMessages.stream()&lt;br /&gt;        .map(ErrorMessageDTO::getMessage).collect(Collectors.toList()));&lt;br /&gt;        return String.join(&quot;,&quot;, allErrorMessages );&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/8952926824051866459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=8952926824051866459&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/8952926824051866459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/8952926824051866459'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/10/getting-element-list-from-set-in-java-8.html' title='Getting an element list from a Set in Java 8'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-549154571662610988</id><published>2016-09-19T19:51:00.000+03:00</published><updated>2016-10-12T07:56:53.821+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="arge"/><title type='text'>Ne olacak bizim halimiz?</title><content type='html'>&lt;blockquote class=&quot;tr_bq&quot;&gt;İngiltere&#39;ye yerleştiğimden beri farkettiğim ve Türkiye&#39;de iken göremediğim şey ise &quot;think simple&quot; kavramıdır. Biz Türkiye ekosisteminde profesyonel ve sağlıklı düşünemiyoruz. Hiçbir şeyin önünü, arkasını göremiyoruz. Ticaret ahlakı yok. Alacak peşine düşmekten, çarkı döndürme kaygısından işimize odaklanamıyor ve işimizi geliştiremiyoruz. Ay sonunu getiremiyor, bankalara bulaşıyor ve bankalar için çalışıyoruz. Olmayan bir paranın peşinde, geri dönüşü olmayan bir yolda amaçsızca yürümeye devam ediyoruz.&lt;br /&gt;-- Çetin Karakaya&lt;/blockquote&gt;Aynı şeyler bilim geliştirmek isteyen, kar amacı gütmeyen ar-ge işleri yapmak isteyen kişiler için de geçerli. Bizim tek amacımız ülkemiz ve dünyamız için iyi şeyler yapabilmek. Fakat geçim sıkıntısının, bankalara olan borçların içerisinde öyle bir yüzüyoruz ki, bilim ve ar-ge yapabilecek bir kafa kalmıyor kimsede. Hayat denen çarkı döndürme kaygısı yüzünden profesyonel ve sağlıklı düşünemiyoruz. Ancak refah durumu iyi, kaygı durumu düşük olan ülkelerde temiz kafa ile güzel işler yapılabiliyor. Belki de ülkemize, ülkenin refahı için çalışan, bilimsel çalışmaları daha fazla destekleyen, inşaat işlerini teknoloji işlerinin önüne koymayan bir yönetim lazım. Yani yönetimimizde büyük reformlara ihtiyacımız var.&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/549154571662610988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=549154571662610988&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/549154571662610988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/549154571662610988'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/09/ne-olacak-bizim-halimiz.html' title='Ne olacak bizim halimiz?'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-691497264704458913</id><published>2016-09-03T12:51:00.001+03:00</published><updated>2016-10-12T07:52:51.569+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>How to connect Mysql with mysqli_connect function in PHP 7?</title><content type='html'>I tried these codes on WAMPSERVER 3 (64 BITS &amp;amp; PHP 5.6.15 &amp;amp; PHP 7) &amp;nbsp;and works fine. Have fun with PHP 7...&lt;br /&gt;&lt;br /&gt;JSON web service example with &lt;b&gt;PHP7&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;Lets have a mysql database. The name of database is general_db and there is one table called products. There are two columns: title and price. Add a few examples in database and try the webservice client. It will get the json from server.php and convert to array to use it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;Server codes (server.php):&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush: php&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$hostname=&quot;localhost&quot;;&lt;br /&gt;&lt;br /&gt;$username=&quot;root&quot;;&lt;br /&gt;&lt;br /&gt;$pass=&quot;&quot;;&lt;br /&gt;&lt;br /&gt;$dbname=&quot;general_db&quot;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$connect= mysqli_connect($hostname,$username,$pass,$dbname);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$result=mysqli_query($connect, &quot;select * from products&quot;) or die(&quot;Query Error&quot;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$jsonobj= array();&lt;br /&gt;&lt;br /&gt;while($res=$result-&amp;gt;fetch_object())&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;$jsonobj[]=$res;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$final_res=json_encode($jsonobj);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo $final_res;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;Client codes (client.php):&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush: php&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;$html=file_get_contents(&#39;http://localhost/myproject/server.php&#39;);&lt;br /&gt;&lt;br /&gt;$html=utf8_encode($html);&lt;br /&gt;&lt;br /&gt;$final_res=json_decode($html);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var_dump($final_res);&lt;br /&gt;&lt;br /&gt;//$final_res is an array which includes objects of products&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/691497264704458913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=691497264704458913&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/691497264704458913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/691497264704458913'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/09/how-to-connect-mysql-with-mysqliconnect.html' title='How to connect Mysql with mysqli_connect function in PHP 7?'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-8041239270087908422</id><published>2016-08-01T12:11:00.003+03:00</published><updated>2016-08-01T12:12:44.756+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>Convert Set to List in Java 8 and Convert List to Set in Java 8</title><content type='html'>&lt;b&gt;Convert Set to List in Java:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Set&amp;lt;Pencil&amp;gt;&lt;odemekalemi&gt; myPencilsSet = new HashSet&amp;lt;&amp;gt;()&lt;/odemekalemi&gt;&lt;br /&gt;&lt;odemekalemi&gt;List&amp;lt;Pencil&amp;gt;&lt;pencil&gt;&amp;nbsp;myPencilsList = new ArrayList&amp;lt;Pencil&amp;gt;&lt;pencil&gt;(myPencilsSet);&lt;/pencil&gt;&lt;/pencil&gt;&lt;/odemekalemi&gt;&lt;br /&gt;&lt;odemekalemi&gt;&lt;pencil&gt;&lt;pencil&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt; Sort a list in Java:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Collections.sort(myPencilsList);&amp;nbsp;&lt;/pencil&gt;&lt;/pencil&gt;&lt;/odemekalemi&gt;&lt;br /&gt;&lt;odemekalemi&gt;&lt;pencil&gt;&lt;pencil&gt;&lt;br /&gt;&lt;b&gt; Convert List to Set in Java:&lt;/b&gt;&lt;/pencil&gt;&lt;/pencil&gt;&lt;/odemekalemi&gt;&lt;br /&gt;&lt;odemekalemi&gt;&lt;pencil&gt;&lt;pencil&gt;&lt;br /&gt;&lt;/pencil&gt;&lt;/pencil&gt;&lt;/odemekalemi&gt;Pencil pencil1 = new Pencil(1)&lt;br /&gt;Pencil pencil2 = new Pencil(2)&lt;br /&gt;Pencil pencil3 = new Pencil(3)&lt;br /&gt;&lt;br /&gt;Set&amp;lt;Pencil&amp;gt; myPencilSet = new HashSet&amp;lt;&amp;gt;(Arrays.asList(pencil1, pencil2, pencil3))&lt;br /&gt;&lt;br /&gt;Thats it. It is so easy.</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/8041239270087908422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=8041239270087908422&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/8041239270087908422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/8041239270087908422'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/08/convert-set-to-list-in-java-8-and.html' title='Convert Set to List in Java 8 and Convert List to Set in Java 8'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-7155907206594720162</id><published>2016-05-09T10:50:00.002+03:00</published><updated>2016-05-09T10:50:31.271+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bilgisayar mühendisliği"/><category scheme="http://www.blogger.com/atom/ns#" term="mühendislik"/><category scheme="http://www.blogger.com/atom/ns#" term="sosyal"/><title type='text'>Bir ülkenin geleceği, gençliğin geleceğinden ayrı düşünülemez!</title><content type='html'>Harun Karadeniz, 1967-1968 İstanbul Teknik Üniversitesi yıllığında şu satırları kaleme aldı:&lt;br /&gt;&lt;br /&gt;“Gençliği ülke sorunları ile ilgilenmeyen bir ulusun sonu gelmiş demektir.Gençlik olarak biz, ülke sorunları ile ilgilenmeyi görev biliyoruz ve ülke sorunlarıyla ilgilenip etken olduğumuz ölçüde görevimizi yaptığımıza inanıyoruz.&lt;br /&gt;&lt;br /&gt;Çünkü ülkenin geleceği, gençliğin geleceğinden ayrı düşünülemez. Biz ülke sorunları ile ilgilenmekle, gerçekte kendi geleceğimize sahip çıkmış oluyoruz. Yaşlı kuşağın bize devredeceği Türkiye’yi, Amerikan üslerini, bizi Amerika’ya bağlayan ikili anlaşmaları, yıldan yıla artan dış borçları ve Türk halkının nasıl sömürüldüğünü görüp de ülke sorunlarıyla ilgilenmemek en yumuşak söyleyişle ihanettir. Türk ulusuna ihanettir. Türk devletinin geleceğine ihanettir.&lt;br /&gt;&lt;br /&gt;Gençliğin ülke sorunlarıyla ilgilenmesi ve sömürülen Türk halkından yana eylemler yapması, sömürgen çevreleri tedirgin etmekte ve bu çevreler “Gençlik siyaset yapıyor” diye feryadı basmaktadır.&lt;br /&gt;&lt;br /&gt;Egemen sınıfın isteğine kalırsa, onlar bizi yönetecekler, ömrümüz boyunca acısını çekeceğimiz ikili anlaşmalarla bizi bir yabancı devlete bağlayacaklardır. Fakat biz kadere boyun eğeceğiz, bu ikili anlaşmalara karşı çıkmayacağız.&lt;br /&gt;&lt;br /&gt;Bir doğu-batı savaşında onlar Türkiye’yi bir nükleer hedef haline getirecekler. Fakat biz NATO’ya karşı çıkmayacağız. Bütün yer altı kaynaklarımızı Amerika’ya peşkeş çekecekler, fakat biz bu sömürünün hesabını sormayacağız.&lt;br /&gt;&lt;br /&gt;Köylünün ürününü ucuza kapatarak köyle kardeşlerimizi sömürecekler, fakat biz köylüyü sömürüyorsunuz dahi demeyeceğiz. Kıbrıs’ta yolumuzu kesen 6. filo İstanbul Limanı’na demirleyecek, fakat biz 6. filoyu protesto etmeyeceğiz.&lt;br /&gt;&lt;br /&gt;Meslek bilgimizi kullanarak lüks binalar inşaa edeceğiz, fakat bu binalarda kimlerin yatıp kalktığını sormayacağız.Mühendis olarak silahlar yapacağız, fakat bu silahlar küçük ücretlerine zam isteyen işçi kardeşlerimize çevrildiği zaman ses çıkarmayacağız.&lt;br /&gt;&lt;br /&gt;Bugünün öğrencileri yarının meslek adamları olarak ülkemizin bütün sorunları ile ilgilenmek zorundayız. Öğrenciliği bitirip meslek hayatına atılacak olan biz mühendisler için iki yol vardır. Bu yollardan biri, kim için ve ne için üretim yaptığını düşünmeksizin egemen sınıfların yararına üretim yapmaktır. Kısaca neden ve niçinini düşünmeksizin bir miktar karşılığında üretim yapmak yani robotlaşmak.&lt;br /&gt;&lt;br /&gt;İkinci yol ise kim için ve ne için çalıştığını bilerek emekçi halkın yararına üretim yapma olanaklarını aramaktır. Bir başka deyişle, ikinci yol küçük bir azınlığın yararına robotlaşmak değil, büyük çoğunluğun, yani toplumun yararına çalışarak insanlaşmak yoludur.”&lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;&lt;br /&gt;1942 yılında Giresun’da doğan Harun Karadeniz, 1962’de İTÜ İnşaat Fakültesine girdi. &amp;nbsp;Fikir Kulüpleri Federasyonu’na üye oldu. İlerleyen süreçte TİP’le tanıştı. Öğrenci Derneği başkanlığı ve İTÜ Öğrenci Birliği başkanlığı yaptı. Birçok anti-emperyalist eylemin en ön saflarında, boykotlarda, okul işgallerinde kitlelere öncülük eden isimlerden biriydi. 1960-1980 döneminde ülkenin sosyal sorunu haline gelen özel okulların devletleştirilmesinde önemli bir rol oynadı.&amp;nbsp;12 Mart Darbesi (1971) sonrası TKP ve Dev-Genç davalarından yargılandı. Dev-Genç davasından tutukluyken hapishanede ciddi bir hastalığa yakalandı, tedavisine izin verilmedi. 15 Ağustos 1975’de öldü.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-TZSWL4VcMMk/VzBBL7DWjEI/AAAAAAAAAIg/SGfA7JewWgM-Wk2yES2cMnIv3SKNnjGzACLcB/s1600/harunkaradeniz.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://4.bp.blogspot.com/-TZSWL4VcMMk/VzBBL7DWjEI/AAAAAAAAAIg/SGfA7JewWgM-Wk2yES2cMnIv3SKNnjGzACLcB/s1600/harunkaradeniz.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Saygıyla anıyoruz…</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/7155907206594720162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=7155907206594720162&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/7155907206594720162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/7155907206594720162'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/05/bir-ulkenin-gelecegi-gencligin.html' title='Bir ülkenin geleceği, gençliğin geleceğinden ayrı düşünülemez!'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-TZSWL4VcMMk/VzBBL7DWjEI/AAAAAAAAAIg/SGfA7JewWgM-Wk2yES2cMnIv3SKNnjGzACLcB/s72-c/harunkaradeniz.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-2626409730211336257</id><published>2016-03-16T15:52:00.000+02:00</published><updated>2016-03-16T15:52:14.242+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="javaee"/><category scheme="http://www.blogger.com/atom/ns#" term="jsf"/><category scheme="http://www.blogger.com/atom/ns#" term="primefaces"/><category scheme="http://www.blogger.com/atom/ns#" term="update"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>How to upgrade Primefaces 3.5 to Primefaces 5.3?</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-5EoAtd35-_I/Vulk7XnZqsI/AAAAAAAAAII/ZiU4paHRT_8hpsWoaZxVVUEMwrbihxFuw/s1600/upgrade_to_primefaces_5.3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://1.bp.blogspot.com/-5EoAtd35-_I/Vulk7XnZqsI/AAAAAAAAAII/ZiU4paHRT_8hpsWoaZxVVUEMwrbihxFuw/s320/upgrade_to_primefaces_5.3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;In this article, I am going to talk about the steps to upgrade Primefaces. I installed Primefaces 5.3 and Primefaces Extensions 4.0.0. Primefaces 5.3 is totaly suitable with Primefaces Extensions 4.0.0. I was using Gradle as build automation system, so I am also giving the details for it. My JSF Mojarra version is 2.2. So lets start to steps....&lt;br /&gt;&lt;br /&gt;To upgrade from Primefaces 3.5, do the steps below. Do the changes which are required for both &lt;b&gt;PrimeFaces 4.0&lt;/b&gt; and &lt;b&gt;Primefaces 5.3&lt;/b&gt; :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;-- Menu changes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;1)&lt;/span&gt;&lt;/b&gt; Find &quot;MenuItem&quot;, replace with &quot;UIMenuItem&quot; (You can use find and replace tool of any IDE)&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;2)&lt;/span&gt;&lt;/b&gt; Find &quot;org.primefaces.model.MenuModel&quot;, replace with &quot;org.primefaces.model.menu.MenuModel&quot;&lt;br /&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;&lt;b&gt;3)&lt;/b&gt;&lt;/span&gt; Find &quot;org.primefaces.model.DefaultMenuModel&quot;, replace with &quot;org.primefaces.model.menu.DefaultMenuModel&quot;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;4)&lt;/span&gt;&lt;/b&gt; Find &quot;addMenuItem&quot;, replace with &amp;nbsp;&quot;addElement&quot;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;5)&lt;/span&gt;&lt;/b&gt; Find &quot;addSubmenu&quot;, replace with &quot;addElement&quot;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;-- Other changes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;6)&lt;/span&gt;&lt;/b&gt; Add into &lt;b&gt;web.xml&lt;/b&gt; :&lt;br /&gt;&amp;lt;context-param&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;param-name&amp;gt;facelets.SKIP_COMMENTS&amp;lt;/param-name&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;&lt;br /&gt;&amp;lt;/context-param&amp;gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;7)&lt;/span&gt;&lt;/b&gt; Delete all &lt;i&gt;showButtons=&quot;false&quot;&lt;/i&gt;.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;8)&lt;/span&gt;&lt;/b&gt; Change save file function:&lt;br /&gt;// save file&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FileOutputStream fos;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fos = new FileOutputStream(new File(pathToFile + fileName));&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InputStream inputstream = dosya.getInputstream();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int read = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte[] bytes = new byte[1024];&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while ((read = inputstream.read(bytes)) != -1) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fos.write(bytes, 0, read);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fos.close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;9)&lt;/span&gt;&lt;/b&gt; In Javascript, find all &lt;b&gt;.live(&quot;&lt;/b&gt; , replace with &lt;b&gt;.on(&quot;&lt;/b&gt;.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;10)&lt;/span&gt;&lt;/b&gt; In Javascript, find and replace variable names:&lt;br /&gt;Find: ([a-z]\w+).show\(\);&lt;br /&gt;Replace with: PF\(\&#39;$1\&#39;\).show\(\);&lt;br /&gt;Find: ([a-z]\w+).hide\(\);&lt;br /&gt;Replace with: PF\(\&#39;$1\&#39;\).hide\(\);&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;-- Changes required just for PrimeFaces 5.3&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now do the changes which is required just for PrimeFaces 5.3 :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;11)&lt;/span&gt;&lt;/b&gt; Remove all old PieChart, BarChart, and LineChart. You have to rewrite all of them with new way which is explained the website of Primefaces 5.3.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;12)&lt;/span&gt;&lt;/b&gt;&amp;nbsp;Update &lt;b&gt;faces-config.xml&lt;/b&gt;:&lt;br /&gt;&amp;lt;resource-handler&amp;gt;org.primefaces.application.resource.PrimeResourceHandler&amp;lt;/resource-handler&amp;gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;13)&lt;/span&gt;&lt;/b&gt; Update &lt;b&gt;build.gradle&lt;/b&gt;:&lt;br /&gt;dependencies {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compile &#39;org.primefaces:primefaces:5.3&#39;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compile &#39;org.primefaces.extensions:primefaces-extensions:4.0.0&#39;&lt;br /&gt;}&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;14)&lt;/span&gt;&lt;/b&gt; Create&amp;nbsp;&lt;b&gt;FileUploadRenderer which can be found in here.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;15)&lt;/span&gt;&lt;/b&gt; decode functions require 3 parameters, add null as 3rd parameter.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;16)&lt;/span&gt;&lt;/b&gt; Update MyClient.eml:&lt;br /&gt;&amp;lt;lib name=&quot;primefaces-5.3.jar&quot; scope=&quot;COMPILE&quot;&amp;gt;&lt;br /&gt;&amp;lt;relative-module-cls project-related=&quot;jar://$PROJECT_DIR/primefaces-5.3.jar!/&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/lib&amp;gt;&lt;br /&gt;&amp;lt;lib name=&quot;primefaces-extensions-4.0.0.jar&quot; scope=&quot;COMPILE&quot;&amp;gt;&lt;br /&gt;&amp;lt;relative-module-cls project-related=&quot;jar://$PROJECT_DIR$/primefaces-extensions-4.0.0.jar!/&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/lib&amp;gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;17)&lt;/span&gt;&lt;/b&gt; Update Lazy classes: The last parameter of &lt;i&gt;Load &lt;/i&gt;function must be &lt;i&gt;final Map&amp;lt;String, Object&amp;gt; filters&lt;/i&gt;.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;18)&lt;/span&gt;&lt;/b&gt; The old calendars are not working in Primefaces 5.3, so reimplement them.&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;19)&lt;/span&gt;&lt;/b&gt; Refresh Gradle, deploy&amp;amp;try the system.&lt;br /&gt;&lt;br /&gt;Have fun with your new JSF project with Primefaces 5.3.&lt;br /&gt;&lt;br /&gt;Seval.</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/2626409730211336257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=2626409730211336257&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/2626409730211336257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/2626409730211336257'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/03/how-to-upgrade-primefaces-35-to_16.html' title='How to upgrade Primefaces 3.5 to Primefaces 5.3?'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-5EoAtd35-_I/Vulk7XnZqsI/AAAAAAAAAII/ZiU4paHRT_8hpsWoaZxVVUEMwrbihxFuw/s72-c/upgrade_to_primefaces_5.3.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-9140658136174408142</id><published>2016-03-04T11:17:00.000+02:00</published><updated>2016-03-04T14:41:04.280+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="jsf"/><category scheme="http://www.blogger.com/atom/ns#" term="primefaces"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>How to upgrade Primefaces 3.5 to Primefaces 4.0?</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-5RqhS9mAVps/VtlSbxifksI/AAAAAAAAAHw/VAkldEFTaAQ/s1600/primefaces.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://4.bp.blogspot.com/-5RqhS9mAVps/VtlSbxifksI/AAAAAAAAAHw/VAkldEFTaAQ/s1600/primefaces.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Here are the step by step to upgrade Primefaces from 3.5 to 4.0 :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MenuModel is rewritten and not backward compatible with the old version. Change the import addresses with new ones.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;In Primefaces 3.5:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;background-color: #e4e4ff; color: navy; font-weight: bold;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt; &lt;/span&gt;org.primefaces.component.menuitem.MenuItem;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;import &lt;/span&gt;org.primefaces.model.DefaultMenuModel;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;import &lt;/span&gt;org.primefaces.model.MenuModel;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;In Primefaces 4.0:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;background-color: #e4e4ff; color: navy; font-size: 12pt; font-weight: bold;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: navy; font-size: 12pt; font-weight: bold;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;org.primefaces.component.menuitem.UIMenuItem;&lt;/span&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;import &lt;/span&gt;org.primefaces.model.menu.DefaultMenuModel;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: navy; font-weight: bold;&quot;&gt;import &lt;/span&gt;org.primefaces.model.menu.MenuModel;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;DataTable sortBy and filterBy expressions require the plain property name meaning &quot;name&quot; instead of &quot;#{person.name}&quot;. Backward compatibility is maintained for expressions like &quot;#{var.property}&quot; but not for complex expressions.&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;In Primefaces 3.5:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;background-color: whitesmoke; color: #333333; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;sortBy=&quot;#{projectName}&quot;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;In Primefaces 4.0:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;background-color: whitesmoke; color: #333333; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;sortBy=&quot;projectName&quot;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;FileUpload is reimplemented. Probably the old fileupload of Primefaces 3.5 is not going to work in JSF (Mojarra) with Primefaces 4.0. Use the solution mentioned in&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/a/19381134&quot;&gt;http://stackoverflow.com/a/19381134&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;disabledSelection option of column, moved to DataTable, change is backward compatible and the option will be removed from column in a future release. So remove &quot;disableSelection&quot; option from columns.&lt;/li&gt;&lt;li&gt;AutoComplete: removed process/global/onstart/oncomplete in favor of &quot;p:ajax event=&quot;query&quot; process/global/onstart/oncomplete&quot;. If you are already using ajax, so do not change anything.&lt;/li&gt;&lt;li&gt;Preferred way of accessing widgets is via PF(&#39;widgetVarName&#39;).show(), old way (e.g. widgetVarName.show()) is still supported and will be removed in a future version.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;In Primefaces 3.5:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;widgedVarName&lt;/span&gt;.&lt;span style=&quot;color: #7a7a43;&quot;&gt;hide&lt;/span&gt;();&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;In Primefaces 4.0:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;pre style=&quot;background-color: white; font-family: &#39;Courier New&#39;; font-size: 12pt;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;PF&lt;/span&gt;(&lt;span style=&quot;color: green; font-weight: bold;&quot;&gt;&#39;widgetVarName&#39;&lt;/span&gt;).&lt;span style=&quot;color: #7a7a43;&quot;&gt;hide&lt;/span&gt;();&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;You can use &lt;i&gt;find and replace&lt;/i&gt; function of Eclipse, IntellijIdea or Netbeans. To change all way of accessing widgets from plain variable name to PL(&#39;variableName&#39;), use regular expression.&lt;br /&gt;&lt;br /&gt;Search for:&amp;nbsp;([a-z]\w+).show\(\);&lt;br /&gt;&lt;br /&gt;Replace with:&amp;nbsp;PF\(\&#39;$1\&#39;\).show\(\);&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Sources&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/primefaces/primefaces/wiki/Migration-Guide&quot; target=&quot;_blank&quot;&gt;https://github.com/primefaces/primefaces/wiki/Migration-Guide&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://developer.axonivy.com/doc/latest/doc/migrationNotes/MigrationNotesDesigner5.1.html&quot; target=&quot;_blank&quot;&gt;http://developer.axonivy.com/doc/latest/doc/migrationNotes/MigrationNotesDesigner5.1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/9140658136174408142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=9140658136174408142&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/9140658136174408142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/9140658136174408142'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/03/how-to-upgrade-primefaces-35-to.html' title='How to upgrade Primefaces 3.5 to Primefaces 4.0?'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-5RqhS9mAVps/VtlSbxifksI/AAAAAAAAAHw/VAkldEFTaAQ/s72-c/primefaces.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-3872279726396813322</id><published>2016-02-06T21:33:00.001+02:00</published><updated>2016-02-06T21:38:29.090+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="yüksek lisans"/><title type='text'>Görev Tamamlandı</title><content type='html'>Şu hayatta en çok kendimizi ne zaman sorgularız biliyor musunuz, yapmamız gereken bir görevi yaparken. İşte o anlarda insan kendisinde bir şeyler yapacak gücü bulmak için savaşır. Benim yüksek lisansta tez yazma dönemim de işte böyle geçti. Ne zaman tez ile ilgili bir şey yapmak için bilgisayarın başına otursam kendimi sorgulamaya başlıyordum. İnsan kendisini sorguluyor. Bugüne kadar yaptıklarını, yapmak istediklerini, neler yapmak isteyip de yapamadıklarını... Hani ödev yapmanız gerekirken hayatta okumaya tenezzül etmeyeceğiniz kitapları okursunuz, izlemeyeceğiniz dizileri izlersiniz... Hani erken kalmanız gerekirken daha fazla uykunuz gelir. İşte o anlarda kendinizle savaşırsınız. Yüksek lisans yapmak aynen böyle bir şey. Yapmak istiyorsunuz, başarmak istiyorsunuz, ama yapmasanız da olur düşüncesi sizi bırakmıyor bir türlü. Zaten yıllarca çalışmaktan beyni yorulmuş insanların artık ders çalışmak istememesi çok doğal. Aynı zamanda derslerden başarısız oldukça pes etmeyip başarılı olana kadar savaşmak yaşlandıkça artık zor geliyor. Tez yazmak isterken hep ben neden bunu yapıyorum diye düşünüp durdum...&lt;br /&gt;&lt;br /&gt;Yüksek lisans en sonunda sizin ruhunuzda istek, gözlerinizde fer kalmadığı zaman bitiyor. İşte o zaman bitirdiğinize inanamıyorsunuz. O bitti gitti duygusuna bir türlü kapılamıyorsunuz. Sanki yarın olacak ben yine okula gitmek zorunda kalacağım. Çünkü yüksek lisansta geçirdiğim 3,5 yıl boyunca hem üniversitenin hem de yök&#39;ün dayattığı çok gereksiz dersleri almak zorunda kaldım. Öğretim&#39;in çok farklı bir doğası var. O anda kendinizi zorluyorsunuz, anladığınızı sanıyorsunuz, ezberliyorsunuz, ders bittikten 1 hafta sonra her şeyi unutuyorsunuz. Beyninizde geriye sadece ders hakkında bir fikriniz kalıyor. O zaman dersler fikir vermek içinse neden insanlara bu işkence yapılıyor. Bunu anlamak mümkün değil.&lt;br /&gt;&lt;br /&gt;Yüksek lisans akademik çalışma yapmak, yayın yapmak ve bilimsel aktivitelerde bulunmak için değil mi? Fakat yayın yapacak, araştırma yapacak vakti ilgi ve bilgi alanımız olmayan dersleri almakla harcamamız saçma değil mi... Bu derslerde zaten derse ilginiz değil ezberlediğiniz şeyler sizi başarıya götürüyor. Bunu tecrübeyle gördüm. Ne zaman ki ilgi duyduğum bir ders alsam başarısız oldum. Sonra bu başarısızlığı ilgi duymadığım ama ezber yaptığım derslerdeki başarılarımla telafi ettim. O zaman insan soruyor acaba başarısız mıyım, bıraksam mı... Bir yıl geçmiş ben sadece 2 ders geçebilmişim, o zaman ne yapsam?...&lt;br /&gt;&lt;br /&gt;Tam dersler bitti derken hoop tez başladı. Tezde yapabileceğime inanmadığım her şeye kendimi inandırdım ve yaptım. Yoksa bu tezler nasıl ortaya çıkardı? Bazen tıkandığım anlar oldu, pes ettiğim bıraktığım zamanlar yaşadım. Yapamayacağım dediğim çok an oldu...&lt;br /&gt;&lt;br /&gt;Kendimi çok sorguladım, çok inandırmaya çalıştım. Evet ben bunu yaparım diye kendimi inandırmaya çalıştım. Bu süreçte beynimi o kadar meşgul ettim ki kendimi unuttum. Her gün bir kaç kere linkedin&#39;e, facebook profilime girip ben kimim diye baktım. Kendimi hatırlayıp, kendime inancımı yeniledim. Evet ben buyum ve yapabilirim dedim. Linkedin benim aynam oldu. Ne zaman umudum yok olmaya başlasa, ne zaman kendimi içimde ağır bir sıkıntı ile bulsam o zaman linkedin&#39;e girdim. Kendime baktım ve bunu yapabilirim dedim. Geçmişte yaptıklarıma bakmak beni cesaretlendirdi.&lt;br /&gt;&lt;br /&gt;Önüme çıkan zorlukları bir basamak olarak görüp onları fırsata çevirmek için uğraştım. Dönem ortasında tez hocam tarafından terk edildim ve 2. kez tez hocası değiştirmek zorunda kalmamak için uğraştım. Aldığım bursu kaybettim ama geri ödememek için uğraştım. Hiç kimsenin almadığı dersleri aldım, bazen bıraktım bazen geçtim. İntibak yüzünden yeniden ders almak zorunda kaldım. Elimden gelenin en iyisini yaptım. Bu süreçte odtü bilgisayar mühendisliğinde verilen neredeyse bütün dersleri aldım, neredeyse bütün hocalarla tanıştım. Bu süreçte 4 kere iş değiştirdim. Çalıştığım yerlerde yaşadığım olumsuz deneyimlere üzülmedim. Hep tecrübe olarak gördüm ve yoluma devam ettim. İnsanlar hayatımızdan gelip geçerken ben seyrettim. Olduğum yeri, konumumu, yapabileceklerimi biliyordum. Kimsenin bunu bana söylemesine gerek yoktu. Ama öyle anlar oluyordu ki insanlardan kaçmak istiyordum. O zamanlarda odtü&#39;nün sevimli kampüsüne sığındım. Odtü benim için bazen herkesten kaçtığımda elimde bavulla gittiğim bazen sadece kafamı dinlemek için gittiğim bir yuvam oldu. Odtü bazen ağladığım bazen gülme krizlerine girdiğim acısıyla tatlısıyla yaşamımda büyük bir yer edindi.&lt;br /&gt;&lt;br /&gt;İnsanın hayatında her zaman dışarıdan gelen zorluklar olmuştur. Ama başarının önündeki en temel engel insanın kendisidir. Bence insan kendisiyle savaşmaktan korkmamalı. Ben bu noktaya gelebilmek için kendi kendimi yenmek zorunda kaldım. Pes edecek gibi olduğum zaman odtü kütüphanesine sığındım. En yakınımdaki insanlar bile bırak dedikleri halde bırakmadım. Çünkü kendime inanıyordum. Başkaları için çok kolay olabilirdi ama benim için hiç de öyle olmadı.&lt;br /&gt;&lt;br /&gt;Sonuçta insanlık için küçük, benim için büyük bir adım oldu. Bu süreçte büyüdüm, yaşlandım, kendimi tanıdım, yapmak istediğim işi, olmak istediğim insanı seçtim. Ben bu süreçte hayatımda olmasını istediğim şeylere karar verdim. Gerçekten böyle bir tecrübeyi her iyi kalpli insanın yaşamasını ve başarıyla tamamlamasını dilerim.&lt;br /&gt;&lt;br /&gt;Benim tez tamamlama sürecim halen devam ediyor. Tez jürisinden oy birliği ile geçtim. Bu son 3,5 yılda odtülü olmak güzeldi. Odtü&#39;de olmak son derece güzeldi. Üzerimdeki ağırlıktan kurtulmakla birlikte, insanın ömür boyu gururla taşıyacağı bir altın bileziği de odtüden almış oldum.&lt;br /&gt;&lt;br /&gt;Bunu bir anı olarak yazıyorum. İlerde baktığımda yaşadığım zorlukları hatırlamak için yazıyorum. Bu arada okuyorsunuz, takip ediyorsunuz çok teşekkür ederim. Okuduğunuzu biliyorum, linkedin&#39;de ne zaman açsam beni ekleyen birkaç okurum oluyor ama maalesef kabul edemiyorum. Bunun için çok üzgünüm. Bundan yıllar önce yüzyüze tanışmadığım insanları eklememe kararı almıştım. Sizin de böyle yapmanızı öneririm. Saygı ve selametle. &lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-WxWFHuZ_nqo/VrZJgJ-Va3I/AAAAAAAAAHc/StpGLTQm5GU/s1600/seval_c.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://4.bp.blogspot.com/-WxWFHuZ_nqo/VrZJgJ-Va3I/AAAAAAAAAHc/StpGLTQm5GU/s1600/seval_c.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;Belki de vakti gelmiştir yeniden çimlere uzanıp bulutları bi şeylere benzetmenin.. Hadi ama biraz sıyrılın hırslarınızdan, kaldırın başınızı bilgisayardan.. Bulutlar hala bi şeye benziyor, bakkallardan hala alışveriş yapanlar var mesela, mesela duvarların üstünde çekirdek çitleyen kızlar, bisikletli çocuklar var.. apartmanlardan azıcık uzaklaşsanız yıldızlar bile duruyor hala yerinde.. konuşacak çok şey var birbirimizin kusurları dışında.. hayat güzel kuşlar uçuyor, açın kanatlarınızı, hadi ama.&lt;br /&gt;--&lt;i&gt;Sevilay V.&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;***</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/3872279726396813322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=3872279726396813322&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/3872279726396813322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/3872279726396813322'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2016/02/gorev-tamamland.html' title='Görev Tamamlandı'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-WxWFHuZ_nqo/VrZJgJ-Va3I/AAAAAAAAAHc/StpGLTQm5GU/s72-c/seval_c.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-5544087222104239172</id><published>2015-12-20T12:19:00.002+02:00</published><updated>2015-12-20T12:22:49.949+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="advice"/><category scheme="http://www.blogger.com/atom/ns#" term="blog"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="technical"/><title type='text'>Technical blog advise: Toptal Engineering blog</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-_b-ICU5erUU/VnaBcCB6NHI/AAAAAAAAAGw/GzbNvzqgd8w/s1600/toptal-blog-java-engineering-blog.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-_b-ICU5erUU/VnaBcCB6NHI/AAAAAAAAAGw/GzbNvzqgd8w/s1600/toptal-blog-java-engineering-blog.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Editor of a technical blog -&lt;a href=&quot;http://www.toptal.com/blog&quot; target=&quot;_blank&quot;&gt;Toptal Engineering blog&lt;/a&gt;- reached me and I really love their blog. Their aim is to post technical publications like programming, software tools and tutorials. Their blog covers a variety of topics, across many programming languages and dev/design.&lt;br /&gt;&lt;br /&gt;There is post about Java in the Toptal Engineering blog. It is&amp;nbsp;&lt;a href=&quot;http://www.toptal.com/java/top-10-most-common-java-development-mistakes&quot; target=&quot;_blank&quot;&gt;Top 10 Most Common Mistakes That Java Developers Make: A Java Beginner’s Tutorial&lt;/a&gt; you can find it useful too. The topic says this post is for beginners but I think it is wrong. This blog post is for intermediate and advanced Java developers. Please bookmark it.&lt;br /&gt;&lt;br /&gt;One of the Java mistakes which I usually do is forgetting to close the buffer readers. Also I never pay attention to the memory issues while writing codes in Java. However we should clear our garbage collector sometimes. The most of the developers create unneeded objects. For example, we are using different string objects rather than directly append strings. In addition to this, we all have a lot of unneeded null objects in the software. The main reason why we use unneeded objects is that we want to see the errors if there is a fail. So our first concern is handling errors, so the performance comes next. However we can do some little tricks while writing Java codes and we may gain performance too. The blog post which I mentioned is about these little tricks.&lt;br /&gt;&lt;br /&gt;Have a nice read guys :)&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/5544087222104239172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=5544087222104239172&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/5544087222104239172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/5544087222104239172'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2015/12/technical-blog-advise-toptal.html' title='Technical blog advise: Toptal Engineering blog'/><author><name>Seval C.</name><uri>http://www.blogger.com/profile/00273140846190321743</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//3.bp.blogspot.com/-V3aaROH3Wfg/V9UboRPORDI/AAAAAAAAAKQ/c1ksZtQvOgQamg56adRbflUVEqJ3NsIsACK4B/s220/sevalc.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-_b-ICU5erUU/VnaBcCB6NHI/AAAAAAAAAGw/GzbNvzqgd8w/s72-c/toptal-blog-java-engineering-blog.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-5604043816521229331</id><published>2015-01-06T10:09:00.001+02:00</published><updated>2015-09-16T20:57:17.619+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="search"/><category scheme="http://www.blogger.com/atom/ns#" term="seo"/><category scheme="http://www.blogger.com/atom/ns#" term="seo tips"/><category scheme="http://www.blogger.com/atom/ns#" term="tips"/><title type='text'>SEO Tips</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/--DuFzRXgLRg/VKuXZSCXelI/AAAAAAAAKIg/PaBJFONMSWY/s1600/seo_search_engine_optimization_tips.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;290&quot; src=&quot;http://1.bp.blogspot.com/--DuFzRXgLRg/VKuXZSCXelI/AAAAAAAAKIg/PaBJFONMSWY/s1600/seo_search_engine_optimization_tips.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Don&#39;t spent a lot of money for &lt;b&gt;Search Engine Optimization&lt;/b&gt;. Here are easy tips... &lt;br /&gt;&lt;br /&gt;1. We should keep META-Description length under 160 characters. Search engines does not read after this length.&lt;br /&gt;&lt;br /&gt;2. If text to code ratio of the main page is around %15, this is too low. We may consider removing some of the scripts if they are not in use in the main page.&lt;br /&gt;&lt;br /&gt;3. Lets say we have 18 external links. We should keep them around 3 if we can. External links lowers reputation of the websites for search engines.&lt;br /&gt;&lt;br /&gt;4. Having keywords is good but if the page does not have the keywords in META-Keyword tag, search engines thinks we are spamming. We should remove unused keywords from the META. Also we shouldn’t use more than 20 keywords anytime.&lt;br /&gt;&lt;br /&gt;5. We have some broken links they are bad for SEO also. We can check them online using this tool &lt;a href=&quot;http://www.iwebtool.com/broken_link_checker&quot; target=&quot;_blank&quot;&gt;http://www.iwebtool.com/broken_link_checker&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. One of the important thing for SEO is back links. Right now we don’t have much back links. We need to establish high quality back links to  get better SEO results. I have this tool to start back linking but we need to consider adding web site to globally recognized directories like DMOZ, Yahoo, Archive.org etc. &lt;a href=&quot;http://smallseotools.com/backlink-checker/&quot; target=&quot;_blank&quot;&gt;http://smallseotools.com/backlink-checker/&lt;/a&gt; also this article is very useful on this purpose &lt;a href=&quot;http://blog.hubspot.com/blog/tabid/6307/bid/10322/The-Ultimate-List-50-Local-Business-Directories.aspx&quot; target=&quot;_blank&quot;&gt;http://blog.hubspot.com/blog/tabid/6307/bid/10322/The-Ultimate-List-50-Local-Business-Directories.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. Social media integration is another key point. Right now search engines don’t know our social accounts. google+ is a good starting point. We may add our website as a local business on map. This will help google to index website much faster. I think we should have twitter, linkedIn, facebook and google+ accounts to start.&lt;br /&gt;&lt;br /&gt;8.We should check W3C validity of the Html. We can check this here &lt;a href=&quot;http://validator.w3.org/&quot; target=&quot;_blank&quot;&gt;http://validator.w3.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;9. Add google analytics code into your website and analyze web site there to see if we have missed any other points.&lt;br /&gt;&lt;br /&gt;10. For the site links, best practice is, if the target url is in our domain we should not use _blank. If the target url is in a different domain we should use _blank.&lt;br /&gt;&lt;br /&gt;11. Bundling helps us to compress and minified js and css files into a single file for saving bandwidth and number of requests to load page. Inline scripts are important for SEO since search engines only reads first 100K of your web site. If we have inline scripts in the page, search engines will read these scripts instead of actual page content. We can also include having too many js or css links in the page to this problem. So bundling will help us for SEO purpose as well. Having a clean html is important as having a clean page layout. You can call it is occupational habit but I like to check html source of company web sites that I like to work with. Some of them are very clean and organized. They even hides messages in html like “Thank you for checking our source codes. We tried to keep everything clean and neat. Hope you enjoy!” In Wordpress there is a plugin called Js &amp;amp; Css Optimizer. You can combine and minify suitable css and js files using that plugin.&lt;br /&gt;&lt;br /&gt;12. Create a &lt;b&gt;sitemap.xml&lt;/b&gt; and submit it to Google with Google Web Master Tools. There is this site to generate sitemaps if we need to &lt;a href=&quot;https://www.xml-sitemaps.com/&quot; target=&quot;_blank&quot;&gt;https://www.xml-sitemaps.com/&lt;/a&gt; I used this all the time and had good results.&lt;br /&gt;&lt;br /&gt;13. &lt;b&gt;Robots.txt &lt;/b&gt;is so important for search engines. If you are using Wordpress, here is the best robots.txt file:&lt;br /&gt;&lt;br /&gt;sitemap: http://mywebsitename.com/sitemap.xml&lt;br /&gt;&lt;br /&gt;User-agent: *&lt;br /&gt;# disallow all files in these directories&lt;br /&gt;Disallow: /cgi-bin/&lt;br /&gt;Disallow: /wp-admin/&lt;br /&gt;Disallow: /wp-includes/&lt;br /&gt;Disallow: /wp-content/&lt;br /&gt;Disallow: /archives/&lt;br /&gt;Disallow: /*?*&lt;br /&gt;Disallow: *?replytocom&lt;br /&gt;Disallow: /wp-*&lt;br /&gt;Disallow: /author&lt;br /&gt;Disallow: /comments/feed/&lt;br /&gt;User-agent: Mediapartners-Google*&lt;br /&gt;Allow: /&lt;br /&gt;&lt;br /&gt;User-agent: Googlebot-Image&lt;br /&gt;Allow: /wp-content/uploads/&lt;br /&gt;&lt;br /&gt;User-agent: Adsbot-Google&lt;br /&gt;Allow: /&lt;br /&gt;&lt;br /&gt;User-agent: Googlebot-Mobile&lt;br /&gt;Allow: /&lt;br /&gt;&lt;br /&gt;14. &lt;b&gt;Before uploading a new image&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;* Rename it with keywords. E.g: crm-salesforce-secure-ImageName.jpg&lt;br /&gt;&lt;br /&gt;* Check it&#39;s size. Better less than 100 KB.&lt;br /&gt;&lt;br /&gt;15. &lt;b&gt;When adding a new image into a page&lt;/b&gt;: &lt;br /&gt;&lt;br /&gt;* Please add &quot;Alt&quot; attribute to all images. It should be meaningful. You can copy&amp;amp;paste the image name for image &quot;Alt&quot; attribute. &quot;Alt&quot; attribute is important for search engines.&lt;br /&gt;&lt;br /&gt;* You can add &quot;Link Title&quot;, it should be meaningful too. But that is not as important as &quot;Alt&quot; attribute.&lt;br /&gt;&lt;br /&gt;* You can add link to the images. The image link will be the same as image URL. (This enables Google will index our images and they will be searchable on Google Image Search). Link target can be &quot;_blank&quot; which means image is going to be opened in a new browser tab. If we use a lightbox plugin, we don&#39;t add target attiribute.&lt;br /&gt;&lt;br /&gt;16. &lt;b&gt;When adding a URL&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;* If the url is not in our host, you can give it like &quot;Open link in a new window tab&quot;. (This can be done using target=&quot;_blank&quot; attribute in html) In this way, our website will not closed, so user can return our website easily with browser tab.&lt;br /&gt;&lt;br /&gt;* Links should be meaningful. &quot;visit this&quot; is not proper, but &quot;visit crm&quot;.&lt;br /&gt;&lt;br /&gt;17.&lt;b&gt; Writing a Text&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;* Please use bold for key words. For example &quot;crm&quot; and &quot;Salesforce&quot; should be bold. Emphasized words are indexed in Google as a keyword.&lt;br /&gt;&lt;br /&gt;* Please use meaningful titles.&lt;br /&gt;&lt;br /&gt;* Use keywords in the first paragraph (especially in first sentence) and last paragraph. Use keywords like crm, secure, salesforce etc.&lt;br /&gt;&lt;br /&gt;18.&lt;b&gt; SEO Analysis &amp;amp; Reports&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Keyword Density (&lt;a href=&quot;http://smallseotools.com/keyword-density-checker/&quot; target=&quot;_blank&quot;&gt;http://smallseotools.com/keyword-density-checker/&lt;/a&gt;)&lt;br /&gt;Code To Text Ratio (&lt;a href=&quot;http://smallseotools.com/code-to-text-ratio-checker/&quot; target=&quot;_blank&quot;&gt;http://smallseotools.com/code-to-text-ratio-checker/&lt;/a&gt;)&lt;br /&gt;Link Analyze (&lt;a href=&quot;http://smallseotools.com/website-link-analyzer-tool/&quot; target=&quot;_blank&quot;&gt;http://smallseotools.com/website-link-analyzer-tool/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Keyword Position Checker (&lt;a href=&quot;http://smallseotools.com/keyword-position/&quot; target=&quot;_blank&quot;&gt;http://smallseotools.com/keyword-position/&lt;/a&gt;)&lt;br /&gt;Back Link Checker (&lt;a href=&quot;http://smallseotools.com/backlink-checker/&quot; target=&quot;_blank&quot;&gt;http://smallseotools.com/backlink-checker/&lt;/a&gt;)&lt;br /&gt;Page Rank Checker (&lt;a href=&quot;http://smallseotools.com/google-pagerank-checker/&quot; target=&quot;_blank&quot;&gt;http://smallseotools.com/google-pagerank-checker/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Seval / January 2014 / Ankara Turkey&amp;nbsp; </content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/5604043816521229331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=5604043816521229331&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/5604043816521229331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/5604043816521229331'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2015/01/seo-tips-by-seval-u.html' title='SEO Tips'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/--DuFzRXgLRg/VKuXZSCXelI/AAAAAAAAKIg/PaBJFONMSWY/s72-c/seo_search_engine_optimization_tips.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-2504131622133337310</id><published>2014-10-22T22:39:00.000+03:00</published><updated>2014-10-29T11:07:15.561+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cyber security"/><category scheme="http://www.blogger.com/atom/ns#" term="national cyber security"/><category scheme="http://www.blogger.com/atom/ns#" term="ncsam"/><category scheme="http://www.blogger.com/atom/ns#" term="password"/><category scheme="http://www.blogger.com/atom/ns#" term="protection"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><category scheme="http://www.blogger.com/atom/ns#" term="software"/><title type='text'>National Cyber Security Awareness Month (NCSAM)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-5R8DQ5qbKmk/VEgHUl7jLAI/AAAAAAAAJ40/oeZaEAPG3uI/s1600/cyber_security.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-5R8DQ5qbKmk/VEgHUl7jLAI/AAAAAAAAJ40/oeZaEAPG3uI/s1600/cyber_security.jpeg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;I have good news for you. I&#39;ve got an email from &lt;a href=&quot;http://www.singlehop.com/&quot; target=&quot;_blank&quot;&gt;SingleHop&lt;/a&gt; company. In this email, they indicated that &lt;b&gt;October &lt;/b&gt;is&amp;nbsp;&lt;b&gt;National Cyber Security Awareness Month&lt;/b&gt; (NCSAM). So I decided to write this post which is about cyber security :)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;It is a small Internet.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The first thing you should consider is that &lt;b&gt;Internet is not too big&lt;/b&gt; as you think. Most of us think that we are just a little point in a huge Internet ocean, so nobody would notice us. That is incorrect. Hackers use automated systems to search unsecured computers. They can detect you in a few minutes. Really.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;Everything is worthy!&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Secondly, you may think there is not any &lt;b&gt;valuable &lt;/b&gt;thing in your computer but you are wrong. When you use Internet, you can enter your passwords to login the websites. Sometimes you can enter bank account with your login credentials. You can buy some products online with your credit card info. This information is not only stored on your computer, but also passes a lot of computers during transaction. Hackers can reach your passwords easily by using network tracking programs. In addition to this, the documents you saved in your computer include metadata which consists of your personal information. Hackers can steal your identity from that metadata. All the documents you have are valuable.&lt;br /&gt;&lt;br /&gt;By the way, let me tell you something about your &lt;b&gt;passwords&lt;/b&gt;. Do not set same password for all websites and tools. Always use different passwords. Use upper case, lower case, numbers and different characters (e.g. #$%&amp;amp;?*+) to make your password stronger. I personally set my passwords with more than 10 characters in order to make difficult to determine with password crackers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;Do not trust antivirus programs.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The third thing is that you should not believe your &lt;b&gt;antivirus software &lt;/b&gt;in any case. It can not protect you always. You have to update your antivirus software and your operating system regularly. You better put a firewall to your computer. Security softwares are a must especially in &lt;i&gt;Windows&lt;/i&gt;. However these precautions are for known&amp;nbsp;threats, not for the new viruses. Keep them up-to-date!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;Did you delete them for real?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The last but not least thing is that your files are &lt;b&gt;never deleted&lt;/b&gt; from your computer when you delete them. I know this is complex but it is true. The files are stored in your harddrive separately. When you delete a file, it only deletes it&#39;s header, not it&#39;s body. Even if you click &quot;shift delete&quot; or even if you click &quot;empty recycle bin&quot;. All files still can be reachable. Moreover, when you delete something from social media, they are not actually deleted. All social media websites store everything on big databases, similar to the &lt;a href=&quot;https://www.singlehop.com/server-hosting/dedicated-servers-overview/&quot; target=&quot;_blank&quot;&gt;dedicated servers&lt;/a&gt; that SingleHop offers (but sometimes less secure). They also keep a copy of all things.&lt;br /&gt;&lt;br /&gt;Happy&amp;nbsp;National Cyber Security Awareness Month :)&lt;br /&gt;&lt;br /&gt;***</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/2504131622133337310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=2504131622133337310&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/2504131622133337310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/2504131622133337310'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/10/national-cyber-security-awareness-month.html' title='National Cyber Security Awareness Month (NCSAM)'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-5R8DQ5qbKmk/VEgHUl7jLAI/AAAAAAAAJ40/oeZaEAPG3uI/s72-c/cyber_security.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-5032729321479645617</id><published>2014-09-16T17:29:00.000+03:00</published><updated>2014-09-16T17:30:58.194+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="install"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>How To Create A Web Application Project With Maven In ECLiPSE</title><content type='html'>I&#39;ve written &quot;&lt;a href=&quot;http://chocotech.blogspot.com.tr/2014/09/maven-tutorial-how-to-install-maven-and.html&quot; target=&quot;_blank&quot;&gt;Maven Tutorial: How to install Maven and how to configure Maven on eclipse?&lt;/a&gt;&quot; document and now we are continuing with creating a web app with Maven in Eclipse. You can also watch online video tutorial: &lt;a href=&quot;http://www.youtube.com/watch?v=o-Y15VPw5KA&quot;&gt;http://www.youtube.com/watch?v=o-Y15VPw5KA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Create a Maven Web Project &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;i&gt;One way&lt;/i&gt;&lt;/span&gt;&lt;/b&gt; to create a web app is using command prompt. Open cmd, navigate into your workspace and use this command:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;bash&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: #f7f7f9; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 1px solid rgb(209, 209, 232); color: #333333; display: block; font-family: monospace; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin: 0px 0px 20px; orphans: auto; overflow-x: auto; padding: 10px; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px;&quot;&gt;mvn archetype:generate &lt;span style=&quot;color: #660033;&quot;&gt;-DgroupId&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;com.seval&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-DartifactId&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;myapp2&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-DarchetypeArtifactId&lt;/span&gt;=maven-archetype-webapp &lt;span style=&quot;color: #660033;&quot;&gt;-DinteractiveMode&lt;/span&gt;=&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Change the application name(DartifactId) and group id (DgroupId) if you want. I give the name myapp2 because I have a console application which name is myapp. This time I give the name myapp2.&lt;br /&gt;&lt;br /&gt;This command will create a web app in your workspace. For me it is &lt;b&gt;C:\workspace\myapp2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Import Maven Web Project into Eclipse&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You need an Eclipse for JavaEE developers. Go to &lt;a href=&quot;https://www.eclipse.org/downloads/&quot; target=&quot;_blank&quot;&gt;https://www.eclipse.org/downloads/&lt;/a&gt; and download&amp;nbsp; &quot;Eclipse IDE for Java EE Developers&quot;. I&#39;ve downloaded:&lt;br /&gt;&lt;br /&gt;Eclipse Java EE IDE for Web Developers.&lt;br /&gt;Version: Luna Release (4.4.0)&lt;br /&gt;Build id: 20140612-0600 &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Unzip Eclipse and run eclipse.exe file.&lt;/li&gt;&lt;li&gt;From Eclipse menu, File-&amp;gt;Import-&amp;gt;Maven-&amp;gt;Existing Maven Projects.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Click Next.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Choose C:\workspace\myapp2 as Root Directory.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Make selected pom.xml.&lt;/li&gt;&lt;li&gt;Click Finish.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;i&gt;In second way&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;, you can create a Maven Web App project &lt;b&gt;from Eclipse&lt;/b&gt; &lt;b&gt;Luna 4.4&lt;/b&gt;. Here are the steps.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Go to File-&amp;gt;New-&amp;gt;Other-&amp;gt;Maven-&amp;gt;Maven Project.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Click Next&lt;/li&gt;&lt;li&gt;Unselect &quot;Use Default Workspace&quot; and choose C:\workspace as a workspace.&lt;/li&gt;&lt;li&gt;Click Next.&lt;/li&gt;&lt;li&gt;Select maven-archetype-webapp from the list. It will be Artifact Id.&lt;/li&gt;&lt;li&gt;Click Next.&lt;/li&gt;&lt;li&gt;Fill the blanks with your project details. Mine is:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Group Id: com.seval&lt;/li&gt;&lt;li&gt;Artifact Id: myapp2&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Click Finish.&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Run Maven Web App in Eclipse&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Be sure you selected JDK7 for your project. Because selecting JRE7 cause error. Therefore check it out from Eclipse Package Explorer. Right Click to JRE, then you can change it with JDK7.&lt;br /&gt;&lt;br /&gt;To run Eclipse in Tomcat7, be sure you installed Tomcat7 correctly. I downloaded Tomcat-7.0.42 and unziped into C:\apache-tomcat-7.0.42 folder. Open &amp;lt;TOMCAT_HOME&amp;gt;\conf\server.xml and add this line between &amp;lt;Host&amp;gt; tags.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;lt;Context docBase=&quot;C:\workspace\myapp2\src\main\webapp&quot; path=&quot;/myapp2&quot; reloadable=&quot;true&quot;/&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-4XJJl86NHsQ/VBhFLGKiJRI/AAAAAAAAJ2I/UtjqM8_e2zk/s1600/tomcat-maven-conf-server.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-4XJJl86NHsQ/VBhFLGKiJRI/AAAAAAAAJ2I/UtjqM8_e2zk/s1600/tomcat-maven-conf-server.jpg&quot; height=&quot;476&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;After that go to Eclipse and right click to Project name, select Run As -&amp;gt; Run Configurations...&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-HXtHTho6GFM/VBhEYtb1lcI/AAAAAAAAJ2A/iJlE8FnRAmE/s1600/maven-project-run-on-eclipse.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-HXtHTho6GFM/VBhEYtb1lcI/AAAAAAAAJ2A/iJlE8FnRAmE/s1600/maven-project-run-on-eclipse.jpg&quot; height=&quot;534&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Right click to Maven Build from left menu, click &quot;New&quot;. So create a new configuration by using the following information. In Main tab:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Name: mavenRunOnTomcat&lt;/li&gt;&lt;li&gt;Base Directory: ${workspace_loc:/myapp2} &lt;/li&gt;&lt;li&gt;Goals: tomcat:run&lt;/li&gt;&lt;/ul&gt;You can click Browse Workspace and select your project. Click Apply and Click Run.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-DQNpDvFzHTw/VBhGJz9Lu3I/AAAAAAAAJ2Q/XTbUng_2QmQ/s1600/maven-eclipse-run-configurations.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-DQNpDvFzHTw/VBhGJz9Lu3I/AAAAAAAAJ2Q/XTbUng_2QmQ/s1600/maven-eclipse-run-configurations.jpg&quot; height=&quot;582&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Open your browser, go to&lt;b&gt; http://localhost:8080/myapp2/&lt;/b&gt; web address, you will see &quot;Hello World&quot; message.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-T9MikWXK710/VBhHD41Zi8I/AAAAAAAAJ2Y/19CsxaFirdY/s1600/2014-09-16%2B16_36_39-.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-T9MikWXK710/VBhHD41Zi8I/AAAAAAAAJ2Y/19CsxaFirdY/s1600/2014-09-16%2B16_36_39-.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/5032729321479645617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=5032729321479645617&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/5032729321479645617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/5032729321479645617'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/09/how-to-create-web-application-project.html' title='How To Create A Web Application Project With Maven In ECLiPSE'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-4XJJl86NHsQ/VBhFLGKiJRI/AAAAAAAAJ2I/UtjqM8_e2zk/s72-c/tomcat-maven-conf-server.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-2257080214263695730</id><published>2014-09-16T12:10:00.001+03:00</published><updated>2014-09-16T17:28:34.747+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="installation"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="javaee"/><category scheme="http://www.blogger.com/atom/ns#" term="jdk"/><category scheme="http://www.blogger.com/atom/ns#" term="maven"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Maven Tutorial: How to install Maven and how to configure Maven on eclipse?</title><content type='html'>&lt;b&gt;Apache Maven&lt;/b&gt;, is a software project management tool. The most powerful feature is able to download the project dependency libraries automatically.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 1: Install JDK7&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As a prerequiste, you have to install &lt;b&gt;JDK7&lt;/b&gt;. You can download from &lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html&quot; target=&quot;_blank&quot;&gt;http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html&lt;/a&gt; under the title &quot;Java SE Development Kit 7u67&quot;. I downloaded  &lt;b&gt;jdk-7u67-windows-i586.exe&lt;/b&gt; because my computer has Windows 32 bit.&lt;br /&gt;&lt;br /&gt;I recommend you to install JDK7 in a simple directory. Because space character in path can cause some problems in Windows later.&lt;br /&gt;&lt;br /&gt;Therefore I installed JDK7 in &lt;b&gt;C:\apps\jdk7&lt;/b&gt; and I installed JRE in &lt;b&gt;C:\apps\jre7&lt;/b&gt; directory.&lt;br /&gt;&lt;br /&gt;Open System Properties-&amp;gt;Advanced-&amp;gt;Environment Variables. Add JAVA_HOME environment variable. It will be C:\apps\jdk.&lt;br /&gt;&lt;br /&gt;Add Java into Path variable. It will be C:\apps\jdk7\bin.&lt;br /&gt;&lt;br /&gt;Open a new command prompt (cmd) and run&amp;nbsp; &lt;span style=&quot;color: #38761d;&quot;&gt;&lt;i&gt;java -version&lt;/i&gt;&lt;/span&gt; to verify that it is correctly installed.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 2: Install Maven&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Download latest package from &lt;a href=&quot;http://maven.apache.org/download.cgi&quot; target=&quot;_blank&quot;&gt;http://maven.apache.org/download.cgi&lt;/a&gt; web address. I downloaded &lt;b&gt;apache-maven-3.2.3-bin.zip&lt;/b&gt; file, because I am using Windows XP x86 right now.&lt;br /&gt;&lt;br /&gt;Unzip the distribution archive, i.e. apache-maven-3.2.3-bin.zip to the directory you wish to install Maven 3.2.3. I unziped into &lt;b&gt;C:\apps\apache-maven-3.2.3&lt;/b&gt; directory.&lt;br /&gt;&lt;br /&gt;Add the M2_HOME environment variable with the value C:\apps\apache-maven-3.2.3.&lt;br /&gt;&lt;br /&gt;Add Maven into PAth variable. It will be %M2_HOME%\bin.&lt;br /&gt;&lt;br /&gt;Your repository will be C:\Documents and Settings\&amp;lt;UserName&amp;gt;\.m2 directory (;For Windows XP only).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 3: Install Eclipse&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Download &lt;b&gt;Eclipse IDE for Java Developers&lt;/b&gt; from &lt;a href=&quot;https://www.eclipse.org/downloads/&quot; target=&quot;_blank&quot;&gt;https://www.eclipse.org/downloads/&lt;/a&gt; web address. I downloaded eclipse-java-luna-R-win32.zip.&lt;br /&gt;&lt;br /&gt;Unzip Eclipse and click &lt;b&gt;eclipse.exe&lt;/b&gt; file to run Eclipse. Create &lt;b&gt;C:\workspace&lt;/b&gt; folder and give it to Eclipse as a default workspace.&lt;br /&gt;&lt;br /&gt;From Eclipse menu, open Window-&amp;gt;Preferences-&amp;gt;Maven-&amp;gt;Installation. Click &quot;Add...&quot; and click &quot;Directory...&quot;, choose C:\apps\maven-3-2-3. Click Ok.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-8KGL5uMrvG4/VBfkYXXVLFI/AAAAAAAAJ1A/VPdRjlFQVlw/s1600/eclipse-new-maven-runtime.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-8KGL5uMrvG4/VBfkYXXVLFI/AAAAAAAAJ1A/VPdRjlFQVlw/s1600/eclipse-new-maven-runtime.jpg&quot; height=&quot;408&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Click Finish. Select new Maven installation and click Apply. Then click Ok.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-Ohrb14UXWxk/VBfk0A-HNyI/AAAAAAAAJ1I/PDPQvD8vRuk/s1600/Eclipse-preferences-new-maven.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-Ohrb14UXWxk/VBfk0A-HNyI/AAAAAAAAJ1I/PDPQvD8vRuk/s1600/Eclipse-preferences-new-maven.jpg&quot; height=&quot;556&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 4: Create a Project from Maven Template&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I want to store my project into C:\workspace so open command prompt (cmd) and go to that folder. Here is the command:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #274e13;&quot;&gt;&lt;b&gt;cd C:\workspace&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Run this command to create a Java project with Maven:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;bash&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: #f7f7f9; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 1px solid rgb(209, 209, 232); color: #333333; display: block; font-family: monospace; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin: 0px 0px 20px; orphans: auto; overflow-x: auto; padding: 10px; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px;&quot;&gt;mvn archetype:generate &lt;span style=&quot;color: #660033;&quot;&gt;-DgroupId&lt;/span&gt;=com.test.app&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-DartifactId&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;myapp&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-DarchetypeArtifactId&lt;/span&gt;=maven-archetype-quickstart &lt;span style=&quot;color: #660033;&quot;&gt;-DinteractiveMode&lt;/span&gt;=&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;false&lt;/span&gt;&lt;/pre&gt;DartifactId is the project name. You can change it as desired.&lt;br /&gt;&lt;br /&gt;After you run this command, the new project will be created in C:\workspace\myapp folder. This directory contains a file named pom.xml. Open pom.xml with Notepad++. This is Maven configuration file for this project.&lt;br /&gt;&lt;br /&gt;Open cmd, navigate into new project. Then run this command to convert Maven project to support Eclipse IDE:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #274e13;&quot;&gt;mvn eclipse:eclipse&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now import the new Maven project into Eclipse IDE as an Existing Maven Projects.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-t0bwLSJDxE4/VBfnEZolMBI/AAAAAAAAJ1U/THcVEA5I-H4/s1600/import-maven-projects-eclipse.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-t0bwLSJDxE4/VBfnEZolMBI/AAAAAAAAJ1U/THcVEA5I-H4/s1600/import-maven-projects-eclipse.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 5: Edit Your Project and Run&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Open App.java and add some other functions. We will test our project.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-b79PGhgo4vc/VBfo5hFXCHI/AAAAAAAAJ1g/eDdCxpBxEOc/s1600/try-maven-eclipse.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-b79PGhgo4vc/VBfo5hFXCHI/AAAAAAAAJ1g/eDdCxpBxEOc/s1600/try-maven-eclipse.jpg&quot; height=&quot;408&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Open cmd, navigate into your project folder. Now we can create Jar file by using Maven. Run this command:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #274e13;&quot;&gt;mvn package&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Open C:\workspace\myapp\target folder, you will see generated Jar file.&lt;br /&gt;&lt;br /&gt;Open cmd and navigate into your project folder. Run this command to run your new project:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #274e13;&quot;&gt;&lt;b&gt;java -cp target\myapp-1.0-SNAPSHOT.jar com.test.app.App&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will see &quot;hello world&quot; message.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to create jar file from Eclipse?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You can also create jar file by using Eclipse. You will see the pom.xml file from Eclipse package explorer window.&lt;br /&gt;- Right click to that pom.xml. &lt;br /&gt;- Run as -&amp;gt; Maven Build&lt;br /&gt;- Write &quot;clean install&quot; into Goals field.&lt;br /&gt;- Click Apply and Run&lt;br /&gt;&lt;br /&gt;This process will create &lt;i&gt;myapp-1.0-SNAPSHOT.jar&lt;/i&gt; file under &lt;i&gt;target&lt;/i&gt; folder.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;Step 6: Add Custom Library to Maven&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For example, let&#39;s add kaptcha libray. Download zip file and unzip it: &lt;a href=&quot;https://code.google.com/p/kaptcha/downloads/list&quot;&gt;https://code.google.com/p/kaptcha/downloads/list&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. Copy &lt;b&gt;kaptcha-2.3.2-jdk14.jar&lt;/b&gt; file under C drive. So it will be available like C:\kaptcha-2.3.2-jdk14.jar&lt;br /&gt;&lt;br /&gt;2. Open cmd and run this command (Your kaptcha version can be different):&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #274e13;&quot;&gt;mvn install:install-file -Dfile=&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;c:\kaptcha-2.3.2-jdk14.jar&lt;/b&gt;&lt;/span&gt; -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;2.3.2&lt;/span&gt;&lt;/b&gt; -Dpackaging=jar &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, the “kaptcha” jar is copied to your Maven local repository. The new library will be seen in (In Maven Repository) :&amp;nbsp; C:\Documents and Settings\&amp;lt;UserName&amp;gt;\.m2\repository\&lt;b&gt;com\google\code\kaptcha&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3. Declare the kaptcha coordinate in pom.xml:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;wp_syntax&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; color: #3c3c3c; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;xml&quot; style=&quot;background-color: #f7f7f9; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 1px solid rgb(209, 209, 232); color: #333333; display: block; font-family: monospace; font-size: 13px; line-height: 1.5; margin: 0px 0px 20px; overflow-x: auto; padding: 10px;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;dependency&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;groupId&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;com.google.code&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;/groupId&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;artifactId&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;kaptcha&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;/artifactId&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;version&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2.3&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;.2&lt;/span&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;/version&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;lt;/dependency&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-puwNQl4gsKY/VBf0PrPizHI/AAAAAAAAJ1w/Sg1RetFaIFg/s1600/maven-pom-xml.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-puwNQl4gsKY/VBf0PrPizHI/AAAAAAAAJ1w/Sg1RetFaIFg/s1600/maven-pom-xml.jpg&quot; height=&quot;390&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;4. Edit your project and build like in the Step 5:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;bash&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: #f7f7f9; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 1px solid rgb(209, 209, 232); color: #333333; display: block; font-family: monospace; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin: 0px 0px 20px; orphans: auto; overflow-x: auto; padding: 10px; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px;&quot;&gt;mvn package&lt;/pre&gt;&lt;pre class=&quot;bash&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: #f7f7f9; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 1px solid rgb(209, 209, 232); color: #333333; display: block; font-family: monospace; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.5; margin: 0px 0px 20px; orphans: auto; overflow-x: auto; padding: 10px; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px;&quot;&gt;&lt;span style=&quot;color: #274e13;&quot;&gt;&lt;b&gt;java -cp target\myapp-1.0-SNAPSHOT.jar com.test.app.App&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;*** &lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/2257080214263695730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=2257080214263695730&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/2257080214263695730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/2257080214263695730'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/09/maven-tutorial-how-to-install-maven-and.html' title='Maven Tutorial: How to install Maven and how to configure Maven on eclipse?'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-8KGL5uMrvG4/VBfkYXXVLFI/AAAAAAAAJ1A/VPdRjlFQVlw/s72-c/eclipse-new-maven-runtime.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-8097132061683030272</id><published>2014-09-05T11:41:00.000+03:00</published><updated>2014-09-05T11:43:38.747+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="install"/><category scheme="http://www.blogger.com/atom/ns#" term="installation"/><category scheme="http://www.blogger.com/atom/ns#" term="tomcat"/><category scheme="http://www.blogger.com/atom/ns#" term="tomee"/><title type='text'>How to install Apache TomEE on a server</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-j7K41Hxnnms/VAl3FVIGRQI/AAAAAAAAJzs/EUhYsWpYpVs/s1600/apache-tomee-logo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-j7K41Hxnnms/VAl3FVIGRQI/AAAAAAAAJzs/EUhYsWpYpVs/s1600/apache-tomee-logo.png&quot; height=&quot;95&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;To install Apache TomEE on a server:&lt;br /&gt;&lt;br /&gt;1. Go to &lt;a href=&quot;http://tomee.apache.org/download/tomee-1.6.0.html&quot; target=&quot;_blank&quot;&gt;http://tomee.apache.org/download/tomee-1.6.0.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Download Apache TomEE 1.6 webprofile (apache-tomee-webprofile.zip).&lt;br /&gt;&lt;br /&gt;3. Extract the zip file to a temporary folder.&lt;br /&gt;&lt;br /&gt;4. Copy the TomEE folder to a short path. Example: C:\apache-tomee-webprofile-1.6.0&lt;br /&gt;&lt;br /&gt;5. Open &lt;tomee home=&quot;&quot;&gt;&lt;b&gt;\conf\server.xml&lt;/b&gt; in a text editor. Place a “3” in front of each port number.&amp;nbsp;&lt;/tomee&gt;&lt;br /&gt;&lt;br /&gt;&lt;tomee home=&quot;&quot;&gt;Example: “8080” becomes “38080”. Changing port numbers will enable you to use TomEE, Tomcat7 and Apache at the same time.&lt;/tomee&gt;&lt;br /&gt;&lt;br /&gt;&lt;tomee home=&quot;&quot;&gt;6. If you are installing Tomcat7 and TomEE in the same server, do not set CATALINA_HOME variable in Windows.&lt;/tomee&gt;&lt;br /&gt;&lt;tomee home=&quot;&quot;&gt;&lt;br /&gt;7. Check that TomEE installation.&amp;nbsp;&lt;/tomee&gt;&lt;br /&gt;&lt;tomee home=&quot;&quot;&gt;Run &lt;tomee home=&quot;&quot;&gt;&lt;b&gt;/bin/startup.bat.&lt;/b&gt;&amp;nbsp;&lt;/tomee&gt;&lt;/tomee&gt;&lt;br /&gt;&lt;br /&gt;&lt;tomee home=&quot;&quot;&gt;&lt;tomee home=&quot;&quot;&gt;8. Open http://&lt;epshost&gt;localhost:38080 in a browser. The default Apache TomEE home page will appear.&lt;br /&gt;&lt;/epshost&gt;&lt;/tomee&gt;&lt;/tomee&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/8097132061683030272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=8097132061683030272&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/8097132061683030272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/8097132061683030272'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/09/how-to-install-apache-tomee-on-server.html' title='How to install Apache TomEE on a server'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-j7K41Hxnnms/VAl3FVIGRQI/AAAAAAAAJzs/EUhYsWpYpVs/s72-c/apache-tomee-logo.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-235538119187657343</id><published>2014-05-19T12:13:00.000+03:00</published><updated>2014-05-19T13:05:21.371+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="advice"/><category scheme="http://www.blogger.com/atom/ns#" term="application"/><category scheme="http://www.blogger.com/atom/ns#" term="book"/><category scheme="http://www.blogger.com/atom/ns#" term="book review"/><category scheme="http://www.blogger.com/atom/ns#" term="framework"/><category scheme="http://www.blogger.com/atom/ns#" term="kitap"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="review"/><category scheme="http://www.blogger.com/atom/ns#" term="symfony"/><category scheme="http://www.blogger.com/atom/ns#" term="symfony2"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="öneri"/><title type='text'>My Book Review: Extending Symfony2 Web Application Framework</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-aj0mx8rkEGE/U3m6zMem00I/AAAAAAAAJm0/URzGksTMl2o/s1600/Extending_Symfony2_Web_Application_Framework_book_review.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-aj0mx8rkEGE/U3m6zMem00I/AAAAAAAAJm0/URzGksTMl2o/s1600/Extending_Symfony2_Web_Application_Framework_book_review.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;I got the book&lt;b&gt; &quot;Extending Symfony2 Web Application Framework&quot;&lt;/b&gt; which is written by &lt;b&gt;Sébastien Armand&lt;/b&gt;. The first release of the book is in March 2014, so it is the latest published book about Symfony2 framework (PHP).&lt;br /&gt;&lt;br /&gt;I am a PHP developer for 4 years. I am developing not only websites but also server side scripting in PHP. I used a few frameworks of PHP and I created my own MVC framework too. However Symfony2 is the best framework I&#39;ve ever used.&lt;br /&gt;&lt;br /&gt;First of all, I would like to express Symfony2 to new PHP5 developers. &lt;b&gt;Symfony &lt;/b&gt;is a high performance PHP framework for developing MVC web applications. M is model, V is view and C is controller. This framework works in efficient way and allows you to develop a website faster, more secure and more scalable. If you understand the basics of Symfony2 before, then you can buy this book.&lt;br /&gt;&lt;br /&gt;This book addresses the developers who already know Symfony2 and PHP5 because it helps you to understand the subject deeply. The books offers features for &lt;b&gt;Symfony2.3 &lt;/b&gt;or higher and for &lt;b&gt;PHP5.4 &lt;/b&gt;and higher. Examples in the book are based on &lt;b&gt;MongoDB &lt;/b&gt;but you can convert it to MySQL and PostgreSQL.&lt;br /&gt;&lt;br /&gt;It starts to telling about &lt;b&gt;Services &lt;/b&gt;and &lt;b&gt;Listeners &lt;/b&gt;which are very importand in Symfony2. As a PHP developer, I didn&#39;t know services and listeners that much until I read the book. There is a GEO location example. It shows codes and defines classes. If you want to extend the framework, you should know how to create a class and put it in the service and how to create a listener.&lt;br /&gt;&lt;br /&gt;After these concepts, the book continues with commands and templates. It shows how to create a command for resizing user images step by step. For extending templates, it extends Twig which is the flexible, fast, and secure template language for &lt;b&gt;PHP&lt;/b&gt;. You can create your own custom Twig tags or your own function by extending Twig. Most of developers who use Symfony2 do not extend Twig or they don&#39;t know how to do it. You can learn it in an example in this book, however it shows just one form of extending the template. There are a lot of way to extend the template.&lt;br /&gt;&lt;br /&gt;In third chapter, there are useful tips about forms in Symfony2. This part is very comprehensive. In fourth chapter, it shows security tips by giving an example of &quot;Simple OAuth with GitHub&quot;. I have been already using Firewall structure for Symfony2 but there are more advanced security options in the book.&lt;br /&gt;&lt;br /&gt;Lastly &quot;Extending Symfony2 Web Application Framework&quot; gives examples on doctrine. &lt;b&gt;Doctrine &lt;/b&gt;has Object Relational Mapper (ORM) for PHP that sits on top of a powerful database abstraction layer (DBAL). One of its key features is the option to write database queries in a proprietary object oriented SQL dialect called Doctrine Query Language (DQL), inspired by Hibernates HQL. This provides developers with a powerful alternative to SQL that maintains flexibility without requiring unnecessary code duplication. In the book, there are methods to extend doctrine and entities.&lt;br /&gt;&lt;br /&gt;With all this, you will be fully equipped to create any type of extension in Symfony. In the last chapter, it shows how to reuse and share your custom extensions. The examples in the book are sufficient to learn. I benefitted from this book very much. I really recommend book of &amp;nbsp;&lt;b&gt;&quot;Extending Symfony2 Web Application Framework&quot; &lt;/b&gt;to people wanting to learn and use Symfony2 deeply in their projects.&lt;br /&gt;&lt;br /&gt;Seval U. / Software Engineer in Turkey&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: purple;&quot;&gt;Book Details&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;b&gt;&lt;a href=&quot;http://www.packtpub.com/extending-symfony-2-web-application-framework/book&quot; target=&quot;_blank&quot;&gt;Extending Symfony2 Web Application Framework&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Publisher : &lt;/b&gt;Packt Publishing&lt;br /&gt;&lt;b&gt;Author :&lt;/b&gt;&amp;nbsp;Sébastien Armand&lt;br /&gt;&lt;b&gt;Language :&lt;/b&gt; English&lt;br /&gt;&lt;b&gt;Paperback :&lt;/b&gt; 140 pages [ 235mm x 191mm ]&lt;br /&gt;&lt;b&gt;Release Date :&lt;/b&gt; March 2014&lt;br /&gt;&lt;b&gt;ISBN :&lt;/b&gt; 1783287195&lt;br /&gt;&lt;b&gt;ISBN 13 :&lt;/b&gt; 9781783287192&lt;br /&gt;&lt;b&gt;Topics and Technologies :&lt;/b&gt; All Books, Web Development, Open Source&lt;br /&gt;&lt;br /&gt;***</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/235538119187657343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=235538119187657343&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/235538119187657343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/235538119187657343'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/05/my-book-review-extending-symfony2-web.html' title='My Book Review: Extending Symfony2 Web Application Framework'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-aj0mx8rkEGE/U3m6zMem00I/AAAAAAAAJm0/URzGksTMl2o/s72-c/Extending_Symfony2_Web_Application_Framework_book_review.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-4246710918822579902</id><published>2014-05-06T16:05:00.001+03:00</published><updated>2014-07-10T14:29:58.650+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bilgisayar"/><category scheme="http://www.blogger.com/atom/ns#" term="bilgisayar mühendisliği"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="programlama"/><title type='text'>Java EE Öğrenmeye Nasıl Başlanır?</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-7QZckmdZyKo/U2jbgK2tuOI/AAAAAAAAJe0/I4yY25tzal4/s1600/java_ogrenmeye_nasil_baslanir_seval.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-7QZckmdZyKo/U2jbgK2tuOI/AAAAAAAAJe0/I4yY25tzal4/s1600/java_ogrenmeye_nasil_baslanir_seval.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Merhaba arkadaşlaaaar. Ben şimdi sizlere doğal java öğrenmek nasıl yapılır onu göstericem. Doğal bir şekilde. Doğal bir şekilde karşınızdayım :) Şööyle bir başlayalım isterseniz. Aypedden yazıyorum. Hd okumayı sakın ama sakın unutmayın. Hd güzel görünmek istiyorum. Ipad&#39;den yazıyorum, o yüzden. (Espiriyi anlamayanlar için bkz: &lt;a href=&quot;http://www.izlesene.com/video/kucuk-kizdan-dogal-makyaj-yapimi/6909554&quot;&gt;Doğal makyaj nasıl yapılır&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Önce bir blog açılır :) Bu önemli. Bence kurulum aşamasını yapmakla başlayın ve aşama aşama ekran görüntülerini alarak blogunuzda paylaşın.&lt;br /&gt;&lt;br /&gt;Misal yeni bir mysql veritabanı yaratacaksınız, ve bunu konsoldan yapacaksınız. Blogunuzda bunun komutları var diyelim, açar ve oradan kopyala yapıştır yaparsınız.&lt;br /&gt;&lt;br /&gt;O yüzden adım adım her yaptığınızı not edin derim. Çok faydasını göreceksiniz.&lt;br /&gt;&lt;br /&gt;Diyelim ki Java öğrenmek istiyorsunuz. İlk kurulum için size kurmanızı söyleceğim şeyler: &lt;b&gt;Ubuntu 13, jdk, Eclipse standart edition&lt;/b&gt;. (&lt;i&gt;Kesinlikle Paris&#39;ten 07 numara&lt;/i&gt;)&lt;br /&gt;&lt;br /&gt;Önce konsol uygulaması yazarak başlayın. Mesela Bubble Sort yapan bir konsol uygulaması geliştirin. Kullanıcıdan 10 tane sayı alacaksınız ve bu sayıları Bubble Sort yaparak sıralayıp sonucu konsola basacaksınız. Bunu mutlaka deneyin, &lt;i&gt;bu çok önemli&lt;/i&gt; :)&lt;br /&gt;&lt;br /&gt;İkinci olarak bu uygulamayı masaüstünde çalışan bir uygulama olarak geliştirin. Bu konuda &lt;b&gt;Eclipse &lt;/b&gt;ile arayüz nasıl geliştirilir araştırmanız lazım. Swing gibi bir arayüz kütüphanesi denersiniz. Kullanıcı ekrandaki 10 kutucuğa 10 tane sayı yazar ve &quot;Sırala&quot; isimli butona tıklayarak bu sayıların sıralanmasını ister. Kullanıcı gerçekten sayı girmiş mi kontrol edip hata mesajı attırmanız lazım. Eğer gerçekten 10 tane sayı girmiş ise bunları sıralayıp ekrana sonucu basarsınız.&lt;br /&gt;&lt;br /&gt;Son aşamada ise aynı şeyi bir &lt;b&gt;web sitesi&lt;/b&gt; olarak geliştirin. Bunun için JSF framework&#39;ünü deneyin. Yine sayfada 10 tane input kutucuğu olur, bunların içine kullanıcı sayıları girer. Bir tane de &quot;Sırala&quot; butonu olur. Butona tıklayınca sonuç sayfası açılır ve bu sayfada sayılar sıralanmış bir şekilde listelenir.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Java EE&lt;/b&gt;&#39;den önce &lt;b&gt;HMTL&lt;/b&gt;, &lt;b&gt;CSS &lt;/b&gt;ve &lt;b&gt;PHP5 &lt;/b&gt;öğrenin.&lt;br /&gt;İkinci aşamada bir sitede veritabanı işlemleri nasıl güvenilir yapılır, bir site nasıl daha hızlı geliştirilir ve nasıl daha hızlı çalışır onu öğrenin. Son aşamada ilk defa bir &lt;b&gt;framework &lt;/b&gt;kullanmayı öğrenin. Mesela şimdi &lt;b&gt;Symfony2 &lt;/b&gt;kullanabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Web framework&lt;/b&gt; mantığını, web ile ilgili önceden hiçbir şey yapmamış olanlar bilemez. Mesela birçok bilgisayar mühendisi &lt;b&gt;html &lt;/b&gt;ve &lt;b&gt;css &lt;/b&gt;yazmayı bilmiyorlar. Bunu sadece Türkiye için söylemiyorum, yurtdışında da durum böyle. Çünkü bu kişiler web ile ilgili işler yapmıyorlar. Embedded olabilir, mobil uygulama olabilir, backend sistem olabilir, veya masaüstü uygulaması olabilir. Bazıları da işin temelini öğrenmeden web geliştiricisi olmuş, bu yüzden framework kullanmayı öğrenmiş ama en ufak bir kod değişikliği yapamıyorlar. Mesela ekranda otomatik liste oluşturan bir kütüphane kullanıyorlar, ama o listede bir satırın daha geniş olmasını veya text-wrap yapılmasını istediğimde kodlarda bunu bulup değiştiremiyorlar. İyi bir geliştirici olmak istiyorsanız bottom-to-up ilerlemeniz lazım, up-to-bottom yapmaya çalışırsanız böyle en ufak bir &lt;b&gt;CSS &lt;/b&gt;değişikliğini yapamayacak kadar aciz kalırsınız. (&lt;i&gt;Bu çok önemli.&lt;/i&gt;)&lt;br /&gt;&lt;br /&gt;Bir internet uygulaması geliştiricisi olmak istiyorsanız bu işi sevmeniz lazım. Yani html ve css ile bir site nasıl yazılır bilmeniz lazım. Bir sitenin arkaplanını yazmadan önce ortaya görüntüsünü çıkarmalısınız. Frontend developer olun veya olmayın! &lt;i&gt;Bunu bilmek zorundasınız.&lt;/i&gt; Daha önceden çalıştığım bir firmada kendisini iyi developer zanneden bir arkadaş, ben backend developer&#39;ım diyordu ve yazdığı bir html&#39;de bütün listeleri şu şekilde oluşturmuştu:&lt;br /&gt;&lt;br /&gt;&amp;lt;li&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;listedeki birinci item&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;test12&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;Bunu gördükten sonra kendisine &quot;html dersleri&quot; diye bir eposta yolladım. Tabii ki çok bozuldu. Çünkü ul&#39;nin &lt;i&gt;unordered list&lt;/i&gt;, li&#39;nin ise &lt;i&gt;list item&lt;/i&gt; demek olduğunu bilmiyordu. Olması gerekenden tam tersi yazmıştı. Böyle komik duruma düşmeyi kim ister ki?&lt;br /&gt;&lt;br /&gt;Butonlarını, input kutucuklarını vs. doğru bir şekilde yazın. Nasıl doğru yazılır öğrenin. Bir form dahi oluşturamayacaksanız hiç internet işine girmeyin.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Youtube&lt;/b&gt;&#39;dan da aşama aşama anlatan videolar izleyebilirsiniz. Video izlemek çok öğretici oluyor. Video&#39;daki her bir adımı durdurup kendiniz de yapın.&lt;br /&gt;&lt;br /&gt;Yaa bu arada kirpiklerim çok uzun olduğu için ben pek tercih etmiyorum bunu. 07 numara paris marka olmazsa kesinlikle olmaz. Ayyy ordan aynı takma kirpik takmışım gibi gözüküyor değil mi, kirpiklerim çok uzun olduğu için :))) Asla kullanmam takma kirpik. Asla. Sivilceleri de patlatmak yüzde iz bırakıyormuş. O yüzden şimdi biz küçükken patlatmayalım. Umarım eyç di izlemişsinizdir. Bir sonraki HD yazımda görüşmek üzere.&lt;br /&gt;&lt;br /&gt;Umarım size ışık tutabilmişimdir :)&lt;br /&gt;&lt;br /&gt;***</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/4246710918822579902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=4246710918822579902&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4246710918822579902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4246710918822579902'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/05/java-ee-ogrenmeye-nasil-baslanir.html' title='Java EE Öğrenmeye Nasıl Başlanır?'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-7QZckmdZyKo/U2jbgK2tuOI/AAAAAAAAJe0/I4yY25tzal4/s72-c/java_ogrenmeye_nasil_baslanir_seval.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-4091444873179559989</id><published>2014-04-30T19:21:00.000+03:00</published><updated>2014-04-30T19:26:46.601+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="faces"/><category scheme="http://www.blogger.com/atom/ns#" term="internet"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="javaserver"/><category scheme="http://www.blogger.com/atom/ns#" term="javaserver faces"/><category scheme="http://www.blogger.com/atom/ns#" term="jsf"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="server"/><category scheme="http://www.blogger.com/atom/ns#" term="tutor"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="www"/><title type='text'>First JSF Application in NetBeans and GlassFish</title><content type='html'>We are going to creare our first &lt;b&gt;JSF (JavaServer Faces)&lt;/b&gt; application on &lt;b&gt;NetBeans&lt;/b&gt; and &lt;b&gt;GlassFish Server&lt;/b&gt;. I am going to tell my steps. I am using Ubuntu 13.10 64 bit, so I am going to tell you how to setup JSF development environment on it.&lt;br /&gt;&lt;br /&gt;In my computer Java Development Kit (JDK 7) is already installed, so I am passing this step. Lets continue with downloading NetBeans.&lt;br /&gt;&lt;br /&gt;Go to&amp;nbsp;&lt;a href=&quot;https://netbeans.org/&quot; target=&quot;_blank&quot;&gt;https://netbeans.org/&lt;/a&gt;&amp;nbsp;, click &quot;Download&quot; link and choose best NetBeans IDE type for your computer.&lt;br /&gt;&lt;br /&gt;You should downlod NetBeans for Java EE, or NetBeans which includes All packages.&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-MbTu-0HtEGo/U2Dm_7vXPfI/AAAAAAAAJak/4luUaV3w1gM/s1600/netbeans_for_jsf_jsp_hibernate_javaee_j2ee_java_ee.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-MbTu-0HtEGo/U2Dm_7vXPfI/AAAAAAAAJak/4luUaV3w1gM/s1600/netbeans_for_jsf_jsp_hibernate_javaee_j2ee_java_ee.png&quot; height=&quot;344&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;You have to download NetBeans for JavaEE or ALL from &lt;a href=&quot;https://netbeans.org/downloads/&quot;&gt;https://netbeans.org/downloads/&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Then it is going to download an installation file which has sh extension. I downloaded NetBeans 8.0 All &amp;nbsp;package (203 MB) for now. You should go to the folder which you downloaded the NetBeans installation file. Then you should make the installation file executable, after that you can run it. Here are the two commands:&lt;br /&gt;&lt;br /&gt;chmod +x&amp;nbsp;netbeans-8.0-linux.sh&lt;br /&gt;./netbeans-8.0-linux.sh&lt;br /&gt;&lt;br /&gt;To run the installer file, use: ./installer-file-name&lt;br /&gt;&lt;br /&gt;During installation, in the welcome page, you have to click &quot;Customize&quot;&lt;br /&gt;&lt;br /&gt;1. Click Customize.&lt;br /&gt;2. In the Customize Installation dialog box, make your selections. Select all.&lt;br /&gt;3. Click OK.&lt;br /&gt;&lt;br /&gt;After installation, you can open NetBeans from the menu. You are going to see a welcome page. Close the welcome page.&lt;br /&gt;&lt;br /&gt;From the menu, click Tools -&amp;gt; Servers.&lt;br /&gt;&lt;br /&gt;Click &quot;Add Server...&quot; button. Choose &quot;GlassFish Server&quot;, click Next.&lt;br /&gt;&lt;br /&gt;Confirm the &quot;Terms and Conditions&quot;, then click &quot;Download Now...&quot; button.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-c7rjGUW7_4o/U2Dp_fRhwzI/AAAAAAAAJaw/HI-MOdSsEGA/s1600/glassfish_server_on_netbeans.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-c7rjGUW7_4o/U2Dp_fRhwzI/AAAAAAAAJaw/HI-MOdSsEGA/s1600/glassfish_server_on_netbeans.png&quot; height=&quot;356&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Intalling the GlashFish server on NetBeans IDE 8.0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Choose GlassFish Server 4.0 (97.4 MB), and start the downloading. After downloading has finished, you can click Next and Finish. I am not changing the domain name or other parameters. Leave them as original.&lt;br /&gt;&lt;br /&gt;Capiche?&lt;br /&gt;&lt;br /&gt;You are going to see your server on the Servers window.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-egvTCHRj6u8/U2Dq87cJPyI/AAAAAAAAJa8/M5rlpI29Fdk/s1600/netbeans_servers_glassfish.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-egvTCHRj6u8/U2Dq87cJPyI/AAAAAAAAJa8/M5rlpI29Fdk/s1600/netbeans_servers_glassfish.png&quot; height=&quot;472&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Tools-&amp;gt;Servers window in NetBeans.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Now you should download some plugins. Go to menu Tools-&amp;gt;Plugins.&lt;br /&gt;&lt;br /&gt;Be sure this plugin is already installed:&lt;br /&gt;- &lt;b&gt;Java Web and EE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-y67R9aPeScQ/U2EWUP-zh5I/AAAAAAAAJbM/v2YCx6R6fSw/s1600/netbeans_plugins_java_web_ee.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-y67R9aPeScQ/U2EWUP-zh5I/AAAAAAAAJbM/v2YCx6R6fSw/s1600/netbeans_plugins_java_web_ee.png&quot; height=&quot;398&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;NetBeans IDE 8 - Plugins window: Java Web and EE&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&quot;Java Web and EE&quot; plugin actually includes these important plugins inside:&lt;br /&gt;- Java Web Applications&lt;br /&gt;- JSF&lt;br /&gt;&lt;br /&gt;In the old version of NetBeans, we were installing both one by one, but now it is not needed.&lt;br /&gt;&lt;br /&gt;If you don&#39;t have &quot;Java Web and EE&quot; plugin, you can install it by using the &quot;Available Plugins&quot; tab in the &quot;Plugins&quot; window.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #4c1130;&quot;&gt;Create your first JSF project&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Go to NetBeans menu, click File -&amp;gt; New Project -&amp;gt; Java Web.&lt;br /&gt;&lt;br /&gt;You should choose &quot;Web Application&quot; from the Projects window box. Click Next.&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-IveixEOq0ew/U2EX_uaI9ZI/AAAAAAAAJbY/ZVuZy9sYQ5o/s1600/netbeans_new_project_jsf.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-IveixEOq0ew/U2EX_uaI9ZI/AAAAAAAAJbY/ZVuZy9sYQ5o/s1600/netbeans_new_project_jsf.png&quot; height=&quot;440&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Open New JSF Project in NetBeans&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Name your application or just leave it as WebApplication1. Click Next.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-oUMl8DdvLDc/U2EY9bEEM4I/AAAAAAAAJbg/HmhV3Na5VUs/s1600/netbeans_new_project_jsf_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-oUMl8DdvLDc/U2EY9bEEM4I/AAAAAAAAJbg/HmhV3Na5VUs/s1600/netbeans_new_project_jsf_2.png&quot; height=&quot;358&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;In NetBeans, New JSF Project name&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;You can choose your Server and Java version in next window. I am choosing &lt;b&gt;GlashFish Server 4&lt;/b&gt; as server and &lt;b&gt;Java EE 7 Web&lt;/b&gt; as Java EE Version. Context Path is the address which you use in browser. It can stay as original. I didn&#39;t change it for now. Now you can click Next.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-F0sbQGWwdHc/U2EZP8C9AlI/AAAAAAAAJbo/PGgIlTAl9Mc/s1600/netbeans_new_project_jsf_3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-F0sbQGWwdHc/U2EZP8C9AlI/AAAAAAAAJbo/PGgIlTAl9Mc/s1600/netbeans_new_project_jsf_3.png&quot; height=&quot;378&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;In NetBeans, choose your server and Java version for your new JSF project.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;In the next window, you will face with some frameworks. Just choose &quot;JavaServer Faces&quot;. Then you can click &quot;Finish&quot; button.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-_jHQtSmI2jY/U2EauVyYOkI/AAAAAAAAJb0/vpa9b67Kpu8/s1600/netbeans_new_project_jsf_4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-_jHQtSmI2jY/U2EauVyYOkI/AAAAAAAAJb0/vpa9b67Kpu8/s1600/netbeans_new_project_jsf_4.png&quot; height=&quot;426&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;In NetBeans, you have to choose your framework while creating your JSF project.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;After finishing the creation of your new JSF project, you will see the project on the screen. You can click the project name in the Project Navigator box to see the what is in it.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-fHqjyc2bgZI/U2Eb92MKS7I/AAAAAAAAJcA/XLI7DgLH7Ag/s1600/javaserver_faces_jsf_new_project.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-fHqjyc2bgZI/U2Eb92MKS7I/AAAAAAAAJcA/XLI7DgLH7Ag/s1600/javaserver_faces_jsf_new_project.png&quot; height=&quot;408&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;New JavaServer Faces (JSF) Project - first look&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Let me explain the files briefly:&lt;br /&gt;&lt;br /&gt;index.xhtml is the file where you are going to write JavaServer Faces code.&lt;br /&gt;&lt;br /&gt;web.xml is the file where you can configure your project.&lt;br /&gt;&lt;br /&gt;You can see the content of web.xml in the following screenshot. You can duble-click the file and open it. It is just an xml file.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-wChHElAbwcI/U2EdOhBGkaI/AAAAAAAAJcM/JJ3rFFT6efg/s1600/jsf_web_xml_file_on_netbeans.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-wChHElAbwcI/U2EdOhBGkaI/AAAAAAAAJcM/JJ3rFFT6efg/s1600/jsf_web_xml_file_on_netbeans.png&quot; height=&quot;364&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;JavaServer Faces web.xml file&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Do you see the &quot;welcome-file-list&quot; tag? The project will open the faces/index.xhtml file first. You are saying the system &quot;that file is my first file, open it&quot; in this &quot;welcome-file-list&quot; tag. You can change it if you want.&lt;br /&gt;&lt;br /&gt;&amp;lt;welcome-file-list&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;welcome-file&amp;gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;&lt;b&gt;faces/index.xhtml&lt;/b&gt;&lt;/span&gt;&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;&amp;lt;/welcome-file-list&amp;gt;&lt;br /&gt;&lt;br /&gt;In the input.xhtml file, you will see some html tags are not familiar. The ordinary html tags are &amp;lt;html&amp;gt; and &amp;lt;title&amp;gt; , the other ones which starts with &lt;b&gt;&lt;span style=&quot;color: #20124d;&quot;&gt;&amp;lt;h:&lt;/span&gt;&lt;/b&gt; is real JavaServer Faces tags, e.g. &amp;lt;head&amp;gt;, &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;Now lets run our first dummy application :)&lt;br /&gt;&lt;br /&gt;Close web.xml file. Click index.xhtml so that it will be opened and selected in the screen. Then click &quot;Run&quot; button from the NetBeans menu.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-A0rynh1O1UM/U2EhI0wTl5I/AAAAAAAAJcY/NFuqY5WR48M/s1600/index_xhtml_jsf_file.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-A0rynh1O1UM/U2EhI0wTl5I/AAAAAAAAJcY/NFuqY5WR48M/s1600/index_xhtml_jsf_file.png&quot; height=&quot;412&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Run your first JSF application&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;It will open your default browser automatically. You will see the first page which is index.xhtml.&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-_68-L9o4dIY/U2EhZiWfk3I/AAAAAAAAJcg/hxTqbtxMXjg/s1600/first_application_jsf_with_glassfish_netbeans.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-_68-L9o4dIY/U2EhZiWfk3I/AAAAAAAAJcg/hxTqbtxMXjg/s1600/first_application_jsf_with_glassfish_netbeans.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;First Page of JSF project&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Congratulations! You are done well :)&lt;br /&gt;&lt;br /&gt;You can see some other helpful posts in the web to improve your first project JSF project. Maybe I can write more in other posts and give a reference link here.&lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/4091444873179559989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=4091444873179559989&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4091444873179559989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4091444873179559989'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/04/first-jsf-application-in-netbeans-and.html' title='First JSF Application in NetBeans and GlassFish'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-MbTu-0HtEGo/U2Dm_7vXPfI/AAAAAAAAJak/4luUaV3w1gM/s72-c/netbeans_for_jsf_jsp_hibernate_javaee_j2ee_java_ee.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-6826164641572907301</id><published>2014-02-22T22:40:00.002+02:00</published><updated>2014-03-08T23:44:12.336+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="document"/><category scheme="http://www.blogger.com/atom/ns#" term="howto"/><category scheme="http://www.blogger.com/atom/ns#" term="install"/><category scheme="http://www.blogger.com/atom/ns#" term="installation"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="symfony"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="web design"/><category scheme="http://www.blogger.com/atom/ns#" term="website"/><title type='text'>How to install Symfony2 in Ubuntu?</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-mohcpf1jthQ/UwkLCcJMzAI/AAAAAAAAJE8/rlZKzNuF4Po/s1600/symfony_logo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-mohcpf1jthQ/UwkLCcJMzAI/AAAAAAAAJE8/rlZKzNuF4Po/s1600/symfony_logo.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;I was using Ubuntu 12.10, then I installed Ubuntu 13.10. Both have the same instructions. You can try my steps in both. If you want, you can follow the steps of the official Symfony book: &lt;a href=&quot;http://symfony.com/doc/current/book/installation.html&quot;&gt;http://symfony.com/doc/current/book/installation.html&lt;/a&gt;. However I am writing my own description here, because mine is more clear for me.&lt;br /&gt;&lt;br /&gt;First of all, I would like to thank my Symfony experts who helped me very much indeed:&lt;br /&gt;- &lt;a href=&quot;https://github.com/davidromani&quot; target=&quot;_blank&quot;&gt;David Romaní&lt;/a&gt; from Spain&lt;br /&gt;- Ivan Maksimovic from  Stockholm&lt;br /&gt;- Gleb Tiltikov from Russia&lt;br /&gt;- Adrian Negreanu from Romania&lt;br /&gt;- Timu Eren from Turkey&lt;br /&gt;&lt;div class=&quot;Iyc d-k-l&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 1:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;b&gt;Geting the Composer:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Remember to get &lt;a href=&quot;https://getcomposer.org/&quot; target=&quot;_blank&quot;&gt;https://getcomposer.org/&lt;/a&gt; and &lt;a href=&quot;http://git-scm.com/&quot; target=&quot;_blank&quot;&gt;http://git-scm.com/&lt;/a&gt; installed before to start.&lt;br /&gt;&lt;br /&gt;You can use curl library to get composer:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;curl -s https://getcomposer.org/installer | php&lt;/pre&gt;&lt;br /&gt;Or download composer installer from here: &lt;a href=&quot;https://getcomposer.org/installer&quot; target=&quot;_blank&quot;&gt;https://getcomposer.org/installer &lt;/a&gt;&lt;br /&gt;Just copy the content and save it with name composer.php in your project folder, then run it with the following command to create &lt;b&gt;composer.phar&lt;/b&gt; file automatically:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;php composer.php&lt;/pre&gt;&lt;br /&gt;To make Composer globally usable, move composer.phar into /usr/local/bin without extension:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo mv composer.phar /usr/local/bin/composer&lt;/pre&gt;&lt;br /&gt;Make it executable:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo chmod +x /usr/local/bin/composer&lt;/pre&gt;&lt;br /&gt;Now you can check:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;composer --version&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 2:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Downloading Symfony:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Go into your project folder on terminal. Download symfony via composer:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;composer create-project symfony/framework-standard-edition . 2.4.*&lt;/pre&gt;&lt;br /&gt;It will ask you the configuration parameters, you can just click enter to use the default parameters or you can change them. I am just changing the mysql user&#39;s password. The others are the same. Here is the screenshot:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-dd6PrAtYKtE/UwjzmsRXfFI/AAAAAAAAJEU/18E8ECS6EQY/s1600/symfony_download_install_terminal_screenshot.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-dd6PrAtYKtE/UwjzmsRXfFI/AAAAAAAAJEU/18E8ECS6EQY/s1600/symfony_download_install_terminal_screenshot.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Be sure you are at the Symfony project folder. Now, to check Symfony is installed ok:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;php app/check.php&lt;/pre&gt;&lt;br /&gt;Run these 3 commands in order:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;APACHEUSER=`ps aux | grep -E &#39;[a]pache|[h]ttpd|[_]www|[w]ww-data&#39; | grep -v root | head -1 | cut -d\  -f1`&lt;br /&gt;&lt;br /&gt;sudo setfacl -R -m u:&quot;$APACHEUSER&quot;:rwX -m u:`whoami`:rwX app/cache app/logs&lt;br /&gt;&lt;br /&gt;sudo setfacl -dR -m u:&quot;$APACHEUSER&quot;:rwX -m u:`whoami`:rwX app/cache app/logs&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Fixing Error Messages and Configuring Apache:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Open your browser and test your new project. If you configure your Apache&#39;s localhost, you should see the Symfony project. If you are getting &lt;b&gt;403 Forbidden error&lt;/b&gt; on your browser, you should create a correct virtual host like this (I installed symfony into my home folder, so I am using this Apache configuration):&lt;br /&gt;&lt;br /&gt;Open Apache configuration file:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo gedit /etc/apache2/sites-enabled/000-default.conf&lt;/pre&gt;&lt;br /&gt;Delete whole content. Copy and paste the new content below (You should change where the DocumentRoot, log files and Directory):&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;virtualhost&gt;&lt;directory home=&quot;&quot; seval=&quot;&quot; symfonyproject=&quot;&quot; web=&quot;&quot;&gt; ServerName mywebsite.com&lt;br /&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt; DocumentRoot /home/seval/symfonyproject/web&lt;br /&gt; CustomLog /home/seval/symfonyproject/tmp/access_log common&lt;br /&gt; ErrorLog /home/seval/symfonyproject/tmp/error_log&lt;br /&gt; &amp;lt;Directory &quot;/home/seval/symfonyproject/web/&quot;&amp;gt;&lt;br /&gt;    #Options FollowSymLinks&lt;br /&gt;    Options Indexes FollowSymLinks Includes ExecCGI&lt;br /&gt;    AllowOverride All&lt;br /&gt;    Require all granted&lt;br /&gt; &amp;lt;/Directory&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;/directory&gt;&lt;/virtualhost&gt; &lt;br /&gt;&lt;/pre&gt;Our project folder is not the Apache&#39;s document folder. Actually the &quot;web&quot; folder in Symfony is the real document root of Apache. Please do not forget it.&lt;br /&gt;&lt;br /&gt;If you don&#39;t want to use Apache as a server, you can just use PHP&#39;s server:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;php -S localhost:9090 -t web&lt;/pre&gt;&lt;br /&gt;If you are getting &lt;b&gt;404 Not Found&lt;/b&gt; &lt;b&gt;error&lt;/b&gt; from the browser, maybe  you are looking the wrong place :) When you create your first bundle,  your server will work on development, so you should open /app_dev.php like http://mywebsite.com/app_dev.php/&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: purple;&quot;&gt;&lt;b&gt;Step 3:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creating a bundle:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There is an example demo bundle in Symfony which name is AcmeDemo, but we should create our own bundle. To create a bundle:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;php app/console generate:bundle --namespace=MyCompany/HelloBundle --format=yml&lt;/pre&gt;&lt;br /&gt;I am just clicking the enter if it asks anything. But I am writing &quot;yes&quot; when it asks &quot;Do you want to generate the whole directory structure?&quot;. Here is the screenshot:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-EFwgNN72te0/UwkFcmVpyII/AAAAAAAAJEk/1C3REBnc7sg/s1600/symfony_create_bundle_console.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-EFwgNN72te0/UwkFcmVpyII/AAAAAAAAJEk/1C3REBnc7sg/s1600/symfony_create_bundle_console.jpg&quot; height=&quot;568&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creating a database:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you write &quot;symfony&quot; as a database name while you were installing the symfony, the following command will create this database automatically:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;php app/console doctrine:database:create&lt;/pre&gt;&lt;br /&gt;After that, you should see the project on your browser. The first appearence will be like this:&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-B6uMTBNpbPk/UwkHBAdyxbI/AAAAAAAAJEw/juCNid3ZQ9o/s1600/symfony_first_install_screenshot.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-B6uMTBNpbPk/UwkHBAdyxbI/AAAAAAAAJEw/juCNid3ZQ9o/s1600/symfony_first_install_screenshot.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You should create also an Entity folder in src/MyCompany/HelloBundle/ folder. Then you can just create new PHP class like User.php and &quot;User&quot; will be your table name in database. You should write your columns into this class. Every class should have an unique ID parameter, so you should add these into every class:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;/**&lt;br /&gt;* @ORM\Id&lt;br /&gt;* @ORM\Column(type=&quot;integer&quot;)&lt;br /&gt;* @ORM\GeneratedValue(strategy=&quot;AUTO&quot;)&lt;br /&gt;*/&lt;br /&gt;protected $Id;&lt;/pre&gt;&lt;br /&gt;I think you can write your first Entity like the following:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;/**&lt;br /&gt;&amp;nbsp;* User Table on Database&lt;br /&gt;&amp;nbsp;* User: seval&lt;br /&gt;&amp;nbsp;* Date: 2/22/14&lt;br /&gt;&amp;nbsp;* Time: 10:28 PM&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;&lt;br /&gt;namespace MyCompany\HelloBundle\Entity;&lt;br /&gt;use Doctrine\ORM\Mapping as ORM;&lt;br /&gt;use Symfony\Component\Validator\Constraints as Assert;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;&amp;nbsp;* @ORM\Entity&lt;br /&gt;&amp;nbsp;* @ORM\Table(name=&quot;User&quot;)&lt;br /&gt;&amp;nbsp;* @ORM\Entity(repositoryClass=&quot;MyCompany\HelloBundle\Repository\UserRepository&quot;)&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;class User {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @ORM\Id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @ORM\Column(type=&quot;integer&quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @ORM\GeneratedValue(strategy=&quot;AUTO&quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected $id;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @ORM\Column(type=&quot;string&quot;, length=255, nullable=true, name=&quot;username&quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected $username;&lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;Now open your console, go to symfony project folder and run this command:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;php app/console doctrine:schema:update --dump-sql&lt;/pre&gt;&lt;br /&gt;This command will give you sql like this:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;CREATE TABLE User (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;&lt;/pre&gt;&lt;br /&gt;Now you can copy and paste it. You should run this sql command in phpmyadmin or mysql query console.&lt;br /&gt;&lt;br /&gt;The goal of Doctrine (ORM) is that you can work with entity objects directly (not records from a table). If the connection between symfony and the database is well configured then symfony commands deal with mysql automatically. First of all, we need to describe our entity classes and their relationships. You can take a look at these entities examples &lt;a href=&quot;https://github.com/davidromani/ionaiona/tree/master/src/Flux/ProductBundle/Entity&quot;&gt;https://github.com/davidromani/ionaiona/tree/master/src/Flux/ProductBundle/Entity&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You only need to execute 1 command:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;php app/console doctrine:schema:update --force&lt;/pre&gt;&lt;br /&gt;At this point if you go to phpmyadmin you will see a wonderful magic inside the symfony database. More basic information about doctrine mappings here &lt;a href=&quot;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html&quot;&gt;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html&lt;/a&gt; and here &lt;a href=&quot;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html&quot;&gt;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html&lt;/a&gt; but be careful because in Symfony+Doctrine annotations we need to type @ORM\Entity or @ORM\Column (not @Entity or @Column like in the examples)&lt;br /&gt;&lt;br /&gt;So, keep in mind these commands:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;app/console doctrine:mapping:info&lt;br /&gt;&lt;br /&gt;app/console doctrine:schema:validate&lt;/pre&gt;&lt;br /&gt;They are very usefull to know if everything is ok between the objects world and the relational world.&lt;br /&gt;&lt;br /&gt;Next, you need to create a repository class, this is the interface where you perform actions against the database like find an object, update, delete, etc... So create the file src/MyCompany/HelloBundle/Repository/UserRepository.php and write this:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;namespace MyCompany\HelloBundle\Repository; &lt;br /&gt;&lt;br /&gt;use Doctrine\ORM\EntityRepository; &lt;br /&gt;&lt;br /&gt;class UserRepository extends EntityRepository &lt;br /&gt;{ }&lt;/pre&gt;&lt;br /&gt;So if we extend our users repository from Doctrine\ORM\EntityRepository we automaticly get this methods available: find, findAll, findBy, findOneBy (and more...), but we can add new methods too. For example getAllEnabledUsersSortedByName() etc.&lt;br /&gt;&lt;br /&gt;Finally, go to your method inside in the controller and add the following codes. Assume that you are writing a login method:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;public function loginAction() &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $em = $this-&amp;gt;getDoctrine()-&amp;gt;getManager(); // this is how we get the doctrine service &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $user1 = $em-&amp;gt;getRepository(&#39;MyCompanyHelloBundle:User&#39;)-&amp;gt;find(1); // retrive the user with id = 1 directly from the users repository &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $this-&amp;gt;render(&#39;MyCompanyHelloBundle:Access:login.html.twig&#39;, array(&#39;user1&#39; =&amp;gt; $user1)); // put user1 (if exists) into the view &lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Of course, at this point, you need a user with ID=1 into DB, and put into twig template {{ user1 }} inside the block content if you want to see something.&lt;br /&gt;&lt;br /&gt;Read this page &lt;a href=&quot;http://symfony.com/doc/current/book/doctrine.html&quot;&gt;http://symfony.com/doc/current/book/doctrine.html&lt;/a&gt;. It is very long but very usefull.&lt;br /&gt;&lt;br /&gt;After creating an Entity: If you want to generate set and get methods automatically, you can use the following command:&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;pre style=&quot;color: black; line-height: normal;&quot;&gt;$ app/console generate:doctrine:entities MyCompanyHelloBundle&lt;br /&gt;Generating entities for bundle &quot;MyCompanyHelloBundle&quot;&lt;br /&gt;  &amp;gt; backing up User.php to User.php~&lt;br /&gt;&lt;/pre&gt;&lt;span style=&quot;color: black; line-height: normal;&quot;&gt;  &amp;gt; generating MyCompany\HelloBundle\Entity\User&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;/pre&gt;In next post, we can review this subject more deeply and we would see forms, validations and how to reuse third-party bundles. Please comment below if you have a question. See you later.&lt;br /&gt;&lt;br /&gt;***</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/6826164641572907301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=6826164641572907301&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/6826164641572907301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/6826164641572907301'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/02/how-to-install-symfony2-in-ubuntu.html' title='How to install Symfony2 in Ubuntu?'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-mohcpf1jthQ/UwkLCcJMzAI/AAAAAAAAJE8/rlZKzNuF4Po/s72-c/symfony_logo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-4247248405299972221</id><published>2014-02-22T01:33:00.002+02:00</published><updated>2014-02-22T01:33:21.758+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="driver"/><category scheme="http://www.blogger.com/atom/ns#" term="install"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="wireless"/><category scheme="http://www.blogger.com/atom/ns#" term="wlan"/><title type='text'>How to install Realtek Semiconductor Co., Ltd. Device rtl8723e Wireless Wlan Driver into Ubuntu 12.10</title><content type='html'>If you installed Ubuntu 12.10 and your wireless does not work, you should install your Wireless Driver. This problem can be seen especially on Toshiba Satellite laptops which has Realtek Semiconductor Co. Ltd. Device Wlan driver.&lt;br /&gt;&lt;br /&gt;Firstly, you should install the following packages into your Ubuntu 12.10:&lt;br /&gt;&lt;br /&gt;build-essential, libc6-dev, gcc, g++, make, dpkg-dev, linux-headers-generic and linux-headers matching your running kernel. &lt;br /&gt;&lt;br /&gt;Find out your running kernel with: &lt;br /&gt;&lt;br /&gt;uname -r &lt;br /&gt;&lt;br /&gt;For example, if you get 3.5.0-46-generic, then you will need to download and install linux-headers-3.5.0-46-generic.&lt;br /&gt;&lt;br /&gt;If you are downloading these files from another computer and carrying them to your computer in a USB disk, follow here: When you have all these packages downloaded, move them to the desktop of the Ubuntu machine and install them with: &lt;br /&gt;&lt;br /&gt;sudo dpkg -i Desktop/*.deb &lt;br /&gt;&lt;br /&gt;The wildcard * means install all the .deb files. Be sure to download 32-bit or 64-bit as appropriate. At the download site, 32-bit are called i386 and 64-bit are amd64. &lt;br /&gt;&lt;br /&gt;Now download the driver package here: &lt;a href=&quot;http://dl.dropbox.com/u/57056576/DRIVERS/REALTEK/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012.tar.gz&quot; target=&quot;_blank&quot;&gt;http://dl.dropbox.com/u/57056576/DRIVERS/REALTEK/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Transfer it to your desktop, too. Right-click the tar.gz and select Extract Here. &lt;br /&gt;&lt;br /&gt;Open base.c with a text editor. Comment out (or remove) the line 320 which is &quot;IEEE80211_HW_BEACON_FILTER&quot; (line 320 in base.c). This will handle with a problem which mentions here &lt;a href=&quot;http://askubuntu.com/questions/203078/wireless-card-realtek-rtl8723ae-bt-driver-not-compiling-on-quetzal&quot;&gt;http://askubuntu.com/questions/203078/wireless-card-realtek-rtl8723ae-bt-driver-not-compiling-on-quetzal&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back in the terminal, do: &lt;br /&gt;&lt;br /&gt;cd ~/Desktop/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012 &lt;br /&gt;make &lt;br /&gt;sudo make install &lt;br /&gt;sudo modprobe rtl8723e &lt;br /&gt;&lt;br /&gt;Reboot your computer. Good luck. &lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/4247248405299972221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=4247248405299972221&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4247248405299972221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/4247248405299972221'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/02/how-to-install-realtek-semiconductor-co.html' title='How to install Realtek Semiconductor Co., Ltd. Device rtl8723e Wireless Wlan Driver into Ubuntu 12.10'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-1005234437622168272</id><published>2014-01-29T14:54:00.001+02:00</published><updated>2014-02-17T19:39:49.940+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="client"/><category scheme="http://www.blogger.com/atom/ns#" term="connect"/><category scheme="http://www.blogger.com/atom/ns#" term="connection"/><category scheme="http://www.blogger.com/atom/ns#" term="encryption"/><category scheme="http://www.blogger.com/atom/ns#" term="https"/><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="openssl"/><category scheme="http://www.blogger.com/atom/ns#" term="server"/><category scheme="http://www.blogger.com/atom/ns#" term="ssl"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Encrypt MySQL connections with SSL</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-5LpL4UpBwUA/Uuj5_L2tEsI/AAAAAAAAI98/jEbF3c8J3Zw/s1600/openssl-3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-5LpL4UpBwUA/Uuj5_L2tEsI/AAAAAAAAI98/jEbF3c8J3Zw/s1600/openssl-3.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h2 style=&quot;background-color: white; background-image: none; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; font-family: sans-serif; font-size: 19px; font-weight: normal; line-height: 19.200000762939453px; margin: 0px 0px 0.6em; overflow: hidden; padding-bottom: 0.17em; padding-top: 0.5em;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;SSL_Konfiguration_aktivieren&quot;&gt;Enable SSL configuration&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;background-color: white; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;&lt;span style=&quot;font-family: sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.200000762939453px;&quot;&gt;In the MySQL configuration (/etc/mysql/my.cnf) SSL needs to be enabled with the accompanying certificates.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border: 1px dashed rgb(47, 111, 171); font-family: monospace, Courier; font-size: 13px; line-height: 1.3em; padding: 1em;&quot;&gt;ssl=1&lt;br /&gt;ssl-ca=/etc/mysql/ca-cert.pem&lt;br /&gt;ssl-cert=/etc/mysql/server-cert.pem&lt;br /&gt;ssl-key=/etc/mysql/server-key.pem&lt;br /&gt;&lt;/pre&gt;&lt;h2 style=&quot;background-color: white; background-image: none; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; font-family: sans-serif; font-size: 19px; font-weight: normal; line-height: 19.200000762939453px; margin: 0px 0px 0.6em; overflow: hidden; padding-bottom: 0.17em; padding-top: 0.5em;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;SSL_Zertifikate_erstellen&quot;&gt;Create SSL Certificates&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;background-color: white; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;&lt;span style=&quot;font-family: sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.200000762939453px;&quot;&gt;These codes create certificates with 2048 bits and a validity of 3650 days. After this period, the certificates must be renewed or re-created.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;&lt;span style=&quot;font-family: sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.200000762939453px;&quot;&gt;Note: Under Ubuntu 12.04, all certificates are stored in /etc/mysql/ folder with extension of &quot;.pem&quot;. In other words, all certificates will be *.pem files which stored in&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: sans-serif; line-height: 19.200000762939453px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: sans-serif; line-height: 19.200000762939453px;&quot;&gt;/etc/mysql/.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;&lt;span style=&quot;font-family: sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.200000762939453px;&quot;&gt;It is important in the preparation that the Common Name (CN) of the client and the server certificate should be different. E.g. &quot;MY SERVER&quot; and &quot;MY CLIENT&quot;. The common names are generally same with the url of website, you can give these common names like server.mywebsite.com and client.mywebsite.com.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;Also you should give different and strong passwords for each private keys.&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border: 1px dashed rgb(47, 111, 171); font-family: monospace, Courier; font-size: 13px; line-height: 1.3em; padding: 1em;&quot;&gt;cd /etc/mysql/&lt;br /&gt;&lt;br /&gt;openssl genrsa 2048 &amp;gt; ca-key.pem&lt;br /&gt;openssl req -new -x509 -nodes -days 3650 -key ca-key.pem &amp;gt; ca-cert.pem&lt;br /&gt;&lt;br /&gt;openssl req -newkey rsa:2048 -days 3560 -nodes -keyout server-key.pem &amp;gt; server-req.pem&lt;br /&gt;openssl rsa -in server-key.pem -out server-key.pem&lt;br /&gt;openssl x509 -req -in server-req.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 &amp;gt; server-cert.pem&lt;br /&gt;&lt;br /&gt;openssl req -newkey rsa:2048 -days 3650 -nodes -keyout client-key.pem &amp;gt; client-req.pem&lt;br /&gt;openssl rsa -in client-key.pem -out client-key.pem&lt;br /&gt;openssl x509 -req -in client-req.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 &amp;gt; client-cert.pem&lt;br /&gt;&lt;br /&gt;chmod 755 /etc/mysql/*.pem&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;Thereafter, the server must be restarted to activate the configuration.&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border: 1px dashed rgb(47, 111, 171); font-family: monospace, Courier; font-size: 13px; line-height: 1.3em; padding: 1em;&quot;&gt;/etc/init.d/mysql restart&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;Now you can check whether the configuration has been transferred correctly. Open mysql with the command of &quot;mysql -u root -p&quot;, enter your mysql root password. Then give the command below:&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border: 1px dashed rgb(47, 111, 171); font-family: monospace, Courier; font-size: 13px; line-height: 1.3em; padding: 1em;&quot;&gt;mysql&amp;gt; show variables like &#39;%ssl%&#39;;&lt;br /&gt;+---------------+----------------------------------+&lt;br /&gt;| Variable_name | Value                            |&lt;br /&gt;+---------------+----------------------------------+&lt;br /&gt;| have_openssl  | YES                              |&lt;br /&gt;| have_ssl      | YES                              |&lt;br /&gt;| ssl_ca        | /etc/mysql/ca-cert.pem           |&lt;br /&gt;| ssl_capath    |                                  |&lt;br /&gt;| ssl_cert      | /etc/mysql/server-cert.pem       |&lt;br /&gt;| ssl_cipher    |                                  |&lt;br /&gt;| ssl_key       | /etc/mysql/server-key.pem        |&lt;br /&gt;+---------------+----------------------------------+&lt;br /&gt;&lt;/pre&gt;&lt;h2 style=&quot;background-color: white; background-image: none; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; font-family: sans-serif; font-size: 19px; font-weight: normal; line-height: 19.200000762939453px; margin: 0px 0px 0.6em; overflow: hidden; padding-bottom: 0.17em; padding-top: 0.5em;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;MySQL_User_mit_aktivierter_SSL_Verschl.C3.BCsselung_erstellen&quot;&gt;Create MySQL user with SSL encryption&lt;/span&gt;&lt;/h2&gt;&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;In the following, the &#39;ssluser&#39;&amp;nbsp;is created of all rights (ALL PRIVILEGES) to all databases (*. *) In the&quot; localhost &quot;and must present a valid SSL client certificate. You should change the name of the user instead of &#39;ssluser&#39; and change the password instead of &quot;YOURSTRONGPASSWORD&quot; in the following command. (For more info about creating a database user, check this post out: &lt;a href=&quot;http://chocotech.blogspot.com.tr/2012/09/creating-mysql-database-and-user-on.html&quot; target=&quot;_blank&quot;&gt;http://chocotech.blogspot.com.tr/2012/09/creating-mysql-database-and-user-on.html&lt;/a&gt;)&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border: 1px dashed rgb(47, 111, 171); font-family: monospace, Courier; font-size: 13px; line-height: 1.3em; padding: 1em;&quot;&gt;GRANT ALL PRIVILEGES ON *.* TO &#39;ssluser&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;YOURSTRONGPASSWORD&#39; REQUIRE X509;&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;Of course, in this case, the limitation to &quot;localhost&quot; makes little sense, since encryption on the same server is not necessary. Instead, you should use an IP instead of &quot;localhost&quot; to access the server by using SSL.&lt;/div&gt;&lt;h2 style=&quot;background-color: white; background-image: none; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; font-family: sans-serif; font-size: 19px; font-weight: normal; line-height: 19.200000762939453px; margin: 0px 0px 0.6em; overflow: hidden; padding-bottom: 0.17em; padding-top: 0.5em;&quot;&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;Verschl.C3.BCsselte_MySQL_Verbindung_testen&quot;&gt;Test Encrypted MySQL Connection&lt;/span&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color: #f9f9f9; border: 1px dashed rgb(47, 111, 171); padding: 1em;&quot;&gt;&lt;span style=&quot;font-family: monospace, Courier; font-size: 13px; line-height: 1.3em;&quot;&gt;cd /etc/mysql/&lt;br /&gt;mysql -u ssluser --ssl-ca=ca-cert.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem&lt;/span&gt;&lt;span style=&quot;font-family: sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.200000762939453px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;&lt;span style=&quot;font-family: sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.200000762939453px;&quot;&gt;Using the SHOW STATUS LIKE &#39;Ssl_cipher&#39; command displays the encryption status of the connected MySQL clients.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;background-color: #f9f9f9; border: 1px dashed rgb(47, 111, 171); font-family: monospace, Courier; font-size: 13px; line-height: 1.3em; padding: 1em;&quot;&gt;mysql&amp;gt; SHOW STATUS LIKE &#39;Ssl_cipher&#39;;&lt;br /&gt;+---------------+--------------------+&lt;br /&gt;| Variable_name | Value              |&lt;br /&gt;+---------------+--------------------+&lt;br /&gt;| Ssl_cipher    | DHE-RSA-AES256-SHA | &lt;br /&gt;+---------------+--------------------+&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;The SSL keys must be copied to a remote host to have an access of course. Send&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&amp;nbsp;ca-cert.pem, client-cert.pem and client-key.pem files and the password of client private key to the remote host which wants to connect your mysql with SSL. In addtition to this, you should open 3306 port on firewall, because it is the mysql port. Do not forget the uncomment &quot;open_ssl&quot; extension from Apache config file.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;***&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/1005234437622168272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=1005234437622168272&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/1005234437622168272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/1005234437622168272'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/01/encrypt-mysql-connections-with-ssl.html' title='Encrypt MySQL connections with SSL'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-5LpL4UpBwUA/Uuj5_L2tEsI/AAAAAAAAI98/jEbF3c8J3Zw/s72-c/openssl-3.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-6169915050169607638</id><published>2014-01-29T14:30:00.000+02:00</published><updated>2014-01-29T14:58:16.933+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="ftp"/><category scheme="http://www.blogger.com/atom/ns#" term="http"/><category scheme="http://www.blogger.com/atom/ns#" term="https"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="ssl"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="ufw"/><title type='text'>How to Setup a Firewall with UFW on an Ubuntu and Debian Server</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-sBzDR0yq5NM/Uuj64gfW52I/AAAAAAAAI-M/LiVRUXlpbJE/s1600/firewall_ufw_ubuntu.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-sBzDR0yq5NM/Uuj64gfW52I/AAAAAAAAI-M/LiVRUXlpbJE/s1600/firewall_ufw_ubuntu.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Source:&lt;/b&gt; &lt;a href=&quot;https://www.digitalocean.com/community/articles/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-cloud-server&quot; target=&quot;_blank&quot;&gt;https://www.digitalocean.com/community/articles/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-cloud-server&lt;/a&gt;&lt;br /&gt;&lt;h3 style=&quot;clear: left; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17.5px; font-weight: 400; line-height: 32px; margin: 20px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Introduction&lt;/h3&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;One of the first lines of defense in securing your cloud server is a functioning firewall. In the past, this was often done through complicated and arcane utilities. There is a lot of functionality built into these utilities, iptables being the most popular nowadays, but they require a decent effort on behalf of the user to learn and understand them. Firewall rules are not something you want yourself second-guessing. To this end, UFW is a considerably easier-to-use alternative.&lt;/span&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;What is UFW?&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;UFW, or Uncomplicated Firewall, is a front-end to iptables. Its main goal is to make managing your firewall drop-dead simple and to provide an easy-to-use interface. It’s well-supported and popular in the Linux community—even installed by default in a lot of distros. As such, it’s a great way to get started securing your sever.&lt;/span&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Before We Get Started&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;First, obviously, you want to make sure UFW is installed. It should be installed by default in Ubuntu, but if for some reason it’s not, you can install the package using aptitude or apt-get using the following commands:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo aptitude install ufw&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;or&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo apt-get install ufw&lt;/pre&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Check the Status&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;You can check the status of UFW by typing:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw status&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;Right now, it will probably tell you it is inactive. Whenever ufw is active, you’ll get a listing of the current rules that looks similar to this:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;Status: active&lt;br /&gt;&lt;br /&gt;To               Action      From&lt;br /&gt;--               ------      ----&lt;br /&gt;22               ALLOW       Anywhere&lt;/pre&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Set Up Defaults&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;One of the things that will make setting up any firewall easier is to define some default rules for allowing and denying connections. UFW’s defaults are to deny all incoming connections and allow all outgoing connections. This means anyone trying to reach your cloud server would not be able to connect, while any application within the server would be able to reach the outside world. To set the defaults used by UFW, you would use the following commands:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw default deny incoming&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;and&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw default allow outgoing&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;Note: if you want to be a little bit more restrictive, you can also deny all outgoing requests as well. The necessity of this is debatable, but if you have a public-facing cloud server, it could help prevent against any kind of remote shell connections. It does make your firewall more cumbersome to manage because you’ll have to set up rules for all outgoing connections as well. You can set this as the default with the following:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw default deny outgoing&lt;/pre&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Allow Connections&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;The syntax is pretty simple. You change the firewall rules by issuing commands in the terminal. If we turned on our firewall now, it would deny all incoming connections. If you’re connected over SSH to your cloud server, that would be a problem because you would be locked out of your server. Let’s enable SSH connections to our server to prevent that from happening:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw allow ssh&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;As you can see, the syntax for adding services is pretty simple. UFW comes with some defaults for common uses. Our SSH command above is one example. It’s basically just shorthand for:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw allow 22/tcp&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;This command allows a connection on port 22 using the TCP protocol. If our SSH server is running on port 2222, we could enable connections with the following command:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw allow 2222/tcp&lt;/pre&gt;&lt;h3 style=&quot;clear: left; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17.5px; font-weight: 400; line-height: 32px; margin: 20px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Other Connections We Might Need&lt;/h3&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;Now is a good time to allow some other connections we might need. If we’re securing a web server with FTP access, we might need these commands:&lt;/span&gt;&lt;br /&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;code style=&quot;background-color: #f7f7f9; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(225, 225, 232); color: #dd1144; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 11px; line-height: 24.26666831970215px; padding: 2px 4px; white-space: nowrap;&quot;&gt;sudo ufw allow www&lt;/code&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;&amp;nbsp;or&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;background-color: #f7f7f9; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(225, 225, 232); color: #dd1144; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 11px; line-height: 24.26666831970215px; padding: 2px 4px; white-space: nowrap;&quot;&gt;sudo ufw allow 80/tcp&lt;/code&gt;&lt;br /&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;code style=&quot;background-color: #f7f7f9; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(225, 225, 232); color: #dd1144; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 11px; line-height: 24.26666831970215px; padding: 2px 4px; white-space: nowrap;&quot;&gt;sudo ufw allow ftp&lt;/code&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;&amp;nbsp;or&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;background-color: #f7f7f9; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(225, 225, 232); color: #dd1144; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 11px; line-height: 24.26666831970215px; padding: 2px 4px; white-space: nowrap;&quot;&gt;sudo ufw allow 21/tcp&lt;/code&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;You mileage will vary on what ports and services you need to open. There will probably be a bit of testing necessary. In addition, you want to make sure you leave your SSH connection allowed.&lt;/span&gt;&lt;br /&gt;&lt;h3 style=&quot;clear: left; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17.5px; font-weight: 400; line-height: 32px; margin: 20px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Port Ranges&lt;/h3&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;You can also specify port ranges with UFW. To allow ports 1000 through 2000, use the command:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw allow 1000:2000/tcp&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;If you want UDP:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw allow 1000:2000/udp&lt;/pre&gt;&lt;h3 style=&quot;clear: left; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17.5px; font-weight: 400; line-height: 32px; margin: 20px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;IP Addresses&lt;/h3&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;You can also specify IP addresses. For example, if I wanted to allow connections from a specific IP address (say my work or home address), I’d use this command:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw allow from 192.168.255.255&lt;/pre&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Denying Connections&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;Our default set up is to deny all incoming connections. This makes the firewall rules easier to administer since we are only selectively allowing certain ports and IP addresses through. However, if you want to flip it and open up all your server’s ports (not recommended), you could allow all connections and then restrictively deny ports you didn’t want to give access to by replacing “allow” with “deny” in the commands above. For example:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw allow 80/tcp&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;would allow access to port 80 while:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw deny 80/tcp&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;would deny access to port 80.&lt;/span&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Deleting Rules&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;There are two options to delete rules. The most straightforward one is to use the following syntax:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw delete allow ssh&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;As you can see, we use the command “delete” and input the rules you want to eliminate after that. Other examples include:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw delete allow 80/tcp&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;or&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw delete allow 1000:2000/tcp&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;This can get tricky when you have rules that are long and complex. A simpler, two-step alternative is to type:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw status numbered&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;which will have UFW list out all the current rules in a numbered list. Then, we issue the command:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw delete [number]&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;where “[number]” is the line number from the previous command.&lt;/span&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Turn It On&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;After we’ve gotten UFW to where we want it, we can turn it on using this command (remember: if you’re connecting via SSH, make sure you’ve set your SSH port, commonly port 22, to be allowed to receive connections):&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw enable&lt;/pre&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;You should see the command prompt again if it all went well. You can check the status of your rules now by typing:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw status&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;or&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw status verbose&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;for the most thorough display.&lt;/span&gt;&lt;br /&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;To turn UFW off, use the following command:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw disable&lt;/pre&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Reset Everything&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;If, for whatever reason, you need to reset your cloud server’s rules to their default settings, you can do this by typing this command:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;sudo ufw reset&lt;/pre&gt;&lt;h2 style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 22.5px; font-weight: 500; line-height: 32px; margin: 30px 0px 2px; text-rendering: optimizelegibility;&quot;&gt;Conclusion&lt;/h2&gt;&lt;hr style=&quot;border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-left-width: 0px; border-right-width: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; height: 0px; line-height: 24.26666831970215px; margin: 0px 0px 13px !important;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;You should now have a cloud server that is configured properly to restrict access to a subset of ports or IP addresses.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/6169915050169607638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=6169915050169607638&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/6169915050169607638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/6169915050169607638'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/01/how-to-setup-firewall-with-ufw-on.html' title='How to Setup a Firewall with UFW on an Ubuntu and Debian Server'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-sBzDR0yq5NM/Uuj64gfW52I/AAAAAAAAI-M/LiVRUXlpbJE/s72-c/firewall_ufw_ubuntu.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-1063167687202278183</id><published>2014-01-29T14:28:00.002+02:00</published><updated>2014-01-29T14:57:22.882+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="firewall"/><category scheme="http://www.blogger.com/atom/ns#" term="ftp"/><category scheme="http://www.blogger.com/atom/ns#" term="http"/><category scheme="http://www.blogger.com/atom/ns#" term="https"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="server"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="vps"/><title type='text'>Default Open Ports For Firewall</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-XDwDYmfRjsg/Uuj6qAo29YI/AAAAAAAAI-E/VLObvFL5x9o/s1600/firewall_ufw_ubuntu.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-XDwDYmfRjsg/Uuj6qAo29YI/AAAAAAAAI-E/VLObvFL5x9o/s320/firewall_ufw_ubuntu.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;The less access there is to your VPS, the more secure your server is. However, not all ports can be closed as the clients must be able to use your services.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;The ports opened by default are the following:&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: whitesmoke; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.14902); color: #333333; font-family: Monaco, Menlo, Consolas, &#39;Courier New&#39;, monospace; font-size: 12px; line-height: 16px; margin-bottom: 1em; margin-top: 1em; padding: 7.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;TCP_IN = &quot;20,21,22,25,53,80,110,143,&lt;wbr&gt;&lt;/wbr&gt;443,465,587,993,995&quot;&lt;br /&gt;&lt;br /&gt;TCP_OUT = &quot;20,21,22,25,53,80,110,113,&lt;wbr&gt;&lt;/wbr&gt;443&quot;&lt;br /&gt;&lt;br /&gt;UDP_IN = &quot;20,21,53&quot;&lt;br /&gt;&lt;br /&gt;UDP_OUT = &quot;20,21,53,113,123&quot;&lt;br /&gt;&lt;/pre&gt;&lt;span style=&quot;background-color: white; color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px;&quot;&gt;Services using the open ports:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;color: #111111; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; font-size: 17px; line-height: 24.26666831970215px; margin: 0px 0px 8px 25px; padding: 0px;&quot;&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 20: FTP data transfer&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 21: FTP control&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 22: Secure shell (SSH)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 25: Simple mail transfer protocol (SMTP)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 53: Domain name system (DNS)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 80: Hypertext transfer protocol (HTTP)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 110: Post office protocol v3 (POP3)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 113: Authentication service/identification protocol&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 123: Network time protocol (NTP)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 143: Internet message access protocol (IMAP)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 443: Hypertext transfer protocol over SSL/TLS (HTTPS)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 465: URL Rendesvous Directory for SSM (Cisco)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 587: E-mail message submission (SMTP)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 993: Internet message access protocol over SSL (IMAPS)&lt;/li&gt;&lt;li style=&quot;line-height: 16px;&quot;&gt;Port 995: Post office protocol 3 over TLS/SSL (POP3S)&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/1063167687202278183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=1063167687202278183&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/1063167687202278183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/1063167687202278183'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/01/default-open-ports-for-firewall.html' title='Default Open Ports For Firewall'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-XDwDYmfRjsg/Uuj6qAo29YI/AAAAAAAAI-E/VLObvFL5x9o/s72-c/firewall_ufw_ubuntu.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8130968209798558799.post-7521145598269554676</id><published>2014-01-22T21:14:00.001+02:00</published><updated>2014-01-22T22:34:51.992+02:00</updated><title type='text'>Git Local Repository Setup Guide on Ubuntu 12.04</title><content type='html'>Thanks for this great document: &lt;a href=&quot;https://github.com/alghanmi/ubuntu-desktop_setup/wiki/Git-Local-Repository-Setup-Guide&quot; target=&quot;_blank&quot;&gt;https://github.com/alghanmi/ubuntu-desktop_setup/wiki/Git-Local-Repository-Setup-Guide&lt;/a&gt;&amp;nbsp;(I am pasting this document into this post, because in the past, some of documents were lost which were very useful for me. So I am trying to save all beautiful and helpful documents under my hand.)&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-HbdBwIW1xsk/UuAq04MKFmI/AAAAAAAAI7c/uKVu2xglMs8/s1600/git_logo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-HbdBwIW1xsk/UuAq04MKFmI/AAAAAAAAI7c/uKVu2xglMs8/s1600/git_logo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id=&quot;head&quot; style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18.200000762939453px;&quot;&gt;&lt;h1 class=&quot;instapaper_title&quot; style=&quot;box-sizing: border-box; font-size: 30px; line-height: 1.1; margin: 15px 0px;&quot;&gt;Git Local Repository Setup Guide&lt;/h1&gt;&lt;h1 class=&quot;instapaper_title&quot; style=&quot;box-sizing: border-box; font-size: 30px; line-height: 1.1; margin: 15px 0px;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.7;&quot;&gt;The goal of this guide is to show you how to setup a local&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://git-scm.com/&quot; style=&quot;box-sizing: border-box; color: #4183c4; font-size: 15px; line-height: 1.7; text-decoration: none;&quot;&gt;git&lt;/a&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.7;&quot;&gt;&amp;nbsp;repository with a web interface on your local machine. The process involved creating a shared git user account to access the repository. The account is shared in the sense that all repository users will use it to push/pull from the server, but git is setup to give each user credit for their work.&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div id=&quot;wiki-content&quot; style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18.200000762939453px;&quot;&gt;&lt;div class=&quot;wrap&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;div class=&quot;gollum-markdown-content instapaper_body&quot; id=&quot;wiki-body&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;div class=&quot;markdown-body&quot; style=&quot;box-sizing: border-box; font-size: 15px; line-height: 1.7; margin: 0px -30px; overflow: hidden; padding: 0px 30px; word-wrap: break-word;&quot;&gt;&lt;h3 style=&quot;box-sizing: border-box; cursor: text; font-size: 1.5em; line-height: 1.7; margin: 1em 0px 15px; padding: 0px; position: relative;&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;https://github.com/alghanmi/ubuntu-desktop_setup/wiki/Git-Local-Repository-Setup-Guide#repository-setup--essentials&quot; name=&quot;repository-setup--essentials&quot; style=&quot;bottom: 0px; box-sizing: border-box; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-left: -30px; padding-left: 30px; padding-right: 6px; position: absolute; text-decoration: none; top: 0px;&quot;&gt;&lt;/a&gt;Repository Setup &amp;amp; Essentials&lt;/h3&gt;&lt;ol style=&quot;box-sizing: border-box; margin: 15px 0px; padding: 0px 0px 0px 30px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;First, we create the git user and set the account up for SSH Public Key Authentication and no terminal login. That means, the git account can not login using a password (only via PKA) and has no regular shell access. Instead, it will be using a special git shell with a limited set of commands&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Create git user account&lt;/span&gt;&lt;br /&gt;sudo adduser --shell &lt;span class=&quot;k&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;$(&lt;/span&gt;which git-shell&lt;span class=&quot;k&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;)&lt;/span&gt; --gecos &lt;span class=&quot;s1&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&#39;git version control&#39;&lt;/span&gt; --disabled-password git&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Add git user to the appropriate groups&lt;/span&gt;&lt;br /&gt;sudo usermod -a -G www-data git&lt;br /&gt;sudo usermod -a -G developers git&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Setup authorized_keys file for access&lt;/span&gt;&lt;br /&gt;sudo mkdir -p /home/git/.ssh&lt;br /&gt;sudo touch /home/git/.ssh/authorized_keys&lt;br /&gt;sudo chmod 600 /home/git/.ssh/authorized_keys&lt;br /&gt;sudo chmod 700 /home/git/.ssh&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Copy the git-shell-commands to get limited shell access&lt;/span&gt;&lt;br /&gt;sudo cp -r /usr/share/doc/git/contrib/git-shell-commands /home/git/&lt;br /&gt;sudo chmod 750 /home/git/git-shell-commands/*&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Fix permissions&lt;/span&gt;&lt;br /&gt;sudo chown -R git:git /home/git/&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Add your SSH key to the authorized key list. You can repeat this step for all users you wish to give access to. If you have yet to generate a key-pair,&amp;nbsp;&lt;a href=&quot;https://help.github.com/articles/generating-ssh-keys#platform-linux&quot; style=&quot;box-sizing: border-box; color: #4183c4; text-decoration: none;&quot;&gt;follow steps 1-3 in this article&lt;/a&gt;&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;cat ~/.ssh/id_rsa.pub &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /home/git/.ssh/authorized_keys&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Allow the&amp;nbsp;&lt;code style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 12px; margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;git&lt;/code&gt;&amp;nbsp;user to access the system via SSH&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;AllowUsers git&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /etc/ssh/sshd_config&lt;br /&gt;sudo service ssh restart&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Create a location to store repositories&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;sudo mkdir -p /home/repo&lt;br /&gt;sudo chown -R git:www-data /home/repo&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;box-sizing: border-box; cursor: text; font-size: 1.5em; line-height: 1.7; margin: 1em 0px 15px; padding: 0px; position: relative;&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;https://github.com/alghanmi/ubuntu-desktop_setup/wiki/Git-Local-Repository-Setup-Guide#gitweb-setup&quot; name=&quot;gitweb-setup&quot; style=&quot;bottom: 0px; box-sizing: border-box; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-left: -30px; padding-left: 30px; padding-right: 6px; position: absolute; text-decoration: none; top: 0px;&quot;&gt;&lt;/a&gt;GitWeb Setup&lt;/h3&gt;&lt;ol style=&quot;box-sizing: border-box; margin: 15px 0px; padding: 0px 0px 0px 30px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Install&amp;nbsp;&lt;a href=&quot;https://www.kernel.org/pub/software/scm/git/docs/gitweb.html&quot; style=&quot;box-sizing: border-box; color: #4183c4; text-decoration: none;&quot;&gt;gitweb&lt;/a&gt;&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;sudo apt-get install gitweb&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Update the gitweb configuration file at&amp;nbsp;&lt;code style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 12px; margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/etc/gitweb.conf&lt;/code&gt;&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;sudo cp /etc/gitweb.conf /etc/gitweb.conf.&lt;span class=&quot;k&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;$(&lt;/span&gt;date +%Y-%m-%d&lt;span class=&quot;k&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;sudo sed -i &lt;span class=&quot;s1&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&#39;s/^\$projectroot.*/\$projectroot = \\&quot;\\/home\\/repo\\&quot;;/&#39;&lt;/span&gt; /etc/gitweb.conf&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; -e &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;\n\n# User additions&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /etc/gitweb.conf&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;\\$feature{&#39;blame&#39;}{&#39;default&#39;} = [1];&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /etc/gitweb.conf&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;\\$feature{&#39;search&#39;}{&#39;default&#39;} = [1];&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /etc/gitweb.conf&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;\\$feature{&#39;highlight&#39;}{&#39;default&#39;} = [1];&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /etc/gitweb.conf&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;\\$feature{&#39;grep&#39;}{&#39;default&#39;} = [1];&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /etc/gitweb.conf&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Setup GitWeb executable in&amp;nbsp;&lt;code style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 12px; margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/home/git&lt;/code&gt;&amp;nbsp;and use&amp;nbsp;&lt;a href=&quot;http://kogakure.github.com/gitweb-theme/&quot; style=&quot;box-sizing: border-box; color: #4183c4; text-decoration: none;&quot;&gt;Kogakure&#39;s gitweb-theme&lt;/a&gt;&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;sudo mkdir /home/git/gitweb&lt;br /&gt;sudo ln -s /usr/share/gitweb/gitweb.cgi /home/git/gitweb/index.cgi&lt;br /&gt;git clone https://github.com/kogakure/gitweb-theme.git&lt;br /&gt;sudo mv gitweb-theme /home/git/gitweb/static&lt;br /&gt;sudo chown -R git:www-data /home/git/gitweb&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Edit Lighttpd configuration for localhost to include:&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;&lt;span class=&quot;cp&quot; style=&quot;box-sizing: border-box; color: #999999; font-weight: bold;&quot;&gt;# GitWeb&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;err&quot; style=&quot;background-color: #e3d2d2; box-sizing: border-box; color: #a61717;&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;HTTP&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;url&quot;&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;^/gitweb&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;/home/git/&quot;&lt;/span&gt;&lt;br /&gt; &lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;indexfiles&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;index.cgi&quot;&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;cgi&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot; style=&quot;box-sizing: border-box;&quot;&gt;assign&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;.cgi&quot;&lt;/span&gt; &lt;span class=&quot;o&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;s&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;box-sizing: border-box; cursor: text; font-size: 1.5em; line-height: 1.7; margin: 1em 0px 15px; padding: 0px; position: relative;&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;https://github.com/alghanmi/ubuntu-desktop_setup/wiki/Git-Local-Repository-Setup-Guide#create-a-helloworld-repository&quot; name=&quot;create-a-helloworld-repository&quot; style=&quot;bottom: 0px; box-sizing: border-box; color: #4183c4; cursor: pointer; display: block; left: 0px; margin-left: -30px; padding-left: 30px; padding-right: 6px; position: absolute; text-decoration: none; top: 0px;&quot;&gt;&lt;/a&gt;Create a HelloWorld Repository&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 15px; margin-top: 15px;&quot;&gt;Now that the infrastructure is setup, lets create a HelloWorld repository to test out the configuration.&lt;/div&gt;&lt;ol style=&quot;box-sizing: border-box; margin: 15px 0px; padding: 0px 0px 0px 30px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Create a bare repository&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Create the directory (always end with .git)&lt;/span&gt;&lt;br /&gt;sudo mkdir /home/repo/helloworld.git&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;cd&lt;/span&gt; /home/repo/helloworld.git&lt;br /&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Initialize a bare repository&lt;/span&gt;&lt;br /&gt;sudo git --bare init&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Some meta-data&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;Hello World Repository. Testing system configuration&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee /home/repo/helloworld.git/description&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;[gitweb]&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /home/repo/helloworld.git/config&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;echo&lt;/span&gt; -e &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;\towner = \\&quot;&lt;/span&gt;Rami Al-Ghanmi&lt;span class=&quot;se&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;\\&lt;/span&gt;&lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;&quot;&lt;/span&gt; &lt;span class=&quot;p&quot; style=&quot;box-sizing: border-box;&quot;&gt;|&lt;/span&gt; sudo tee -a /home/repo/helloworld.git/config&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;c&quot; style=&quot;box-sizing: border-box; color: #999988; font-style: italic;&quot;&gt;#Fix ownership of repository&lt;/span&gt;&lt;br /&gt;sudo chown -R git:www-data /home/repo/helloworld.git&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Clone the repository, though empty, and add some code. Ignore the warning about cloning an empty repository.&lt;div class=&quot;highlight&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;pre style=&quot;background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px; word-wrap: normal;&quot;&gt;git clone git@&lt;span class=&quot;k&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;$(&lt;/span&gt;hostname&lt;span class=&quot;k&quot; style=&quot;box-sizing: border-box; font-weight: bold;&quot;&gt;)&lt;/span&gt;:/home/repo/helloworld.git&lt;br /&gt;&lt;span class=&quot;nb&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;cd &lt;/span&gt;helloworld&lt;br /&gt;wget https://raw.github.com/gist/3205222/HelloWorld.cpp&lt;br /&gt;git add HelloWorld.cpp&lt;br /&gt;git commit -m &lt;span class=&quot;s2&quot; style=&quot;box-sizing: border-box; color: #dd1144;&quot;&gt;&quot;Initial commit with HelloWorld in C++&quot;&lt;/span&gt;&lt;br /&gt;git push origin master&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Now that we know the repository works, lets check the web interface. The URL should be: http://localhost/gitweb and you should see the helloworld repository. To check the code-base, follow the&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;tree&lt;/em&gt;&amp;nbsp;link.&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;box-sizing: border-box; margin-top: 15px;&quot;&gt;In conclusion, for any new repository you want to create follow the steps you did in&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;Create a HelloWorld Repository&lt;/em&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chocotech.blogspot.com/feeds/7521145598269554676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8130968209798558799&amp;postID=7521145598269554676&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/7521145598269554676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8130968209798558799/posts/default/7521145598269554676'/><link rel='alternate' type='text/html' href='http://chocotech.blogspot.com/2014/01/git-local-repository-setup-guide.html' title='Git Local Repository Setup Guide on Ubuntu 12.04'/><author><name>Seval</name><uri>http://www.blogger.com/profile/04675114843320785342</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-HbdBwIW1xsk/UuAq04MKFmI/AAAAAAAAI7c/uKVu2xglMs8/s72-c/git_logo.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>