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

<channel>
	<title>prəʊɡræmə</title>
	<atom:link href="http://www.deepcell.org/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.deepcell.org/blog</link>
	<description>(Or &#34;computer programmer&#34;, &#34;developer&#34;) Someone who writes or debugs computer programs, for a living or for fun. &#34;Analyst/developer&#34; is a common equivalent job title, implying the added role of system analysis. The term may be qualified according to the type of software - &#34; application programmer&#34;, &#34; system programmer&#34;, etc.</description>
	<lastBuildDate>Thu, 03 May 2012 21:19:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>CBO &#8211; Classificação Brasileira de Ocupações</title>
		<link>http://www.deepcell.org/blog/?p=144&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cbo-classificacao-brasileira-de-ocupacoes</link>
		<comments>http://www.deepcell.org/blog/?p=144#comments</comments>
		<pubDate>Thu, 03 May 2012 21:17:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=144</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=144"></g:plusone></div>
Estou disponibilizando o arquivo CBO ocupação em formato SQL para quem interessar, visto que é algo muito utilizado no cotidiano de programadores de sistemas. O arquivo se encontra nesse endereço -> cbo-ocupacao.zip]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=144"></g:plusone></div>
<p>Estou disponibilizando o arquivo CBO ocupação em formato SQL para quem interessar, visto que é algo muito utilizado no cotidiano de programadores de sistemas.</p>
<p>O arquivo se encontra nesse endereço -> <a href="http://deepcell.org/~costa/cbo-ocupacao.zip" title="CBO_OCUPACAO" target="_blank">cbo-ocupacao.zip</a></p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144&t=CBO+%E2%80%93+Classifica%C3%A7%C3%A3o+Brasileira+de+Ocupa%C3%A7%C3%B5es" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144&amp;text=CBO+%E2%80%93+Classifica%C3%A7%C3%A3o+Brasileira+de+Ocupa%C3%A7%C3%B5es&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144&amp;title=CBO+%E2%80%93+Classifica%C3%A7%C3%A3o+Brasileira+de+Ocupa%C3%A7%C3%B5es" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144&amp;name=CBO+%E2%80%93+Classifica%C3%A7%C3%A3o+Brasileira+de+Ocupa%C3%A7%C3%B5es" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144&amp;title=CBO+%E2%80%93+Classifica%C3%A7%C3%A3o+Brasileira+de+Ocupa%C3%A7%C3%B5es" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144&amp;title=CBO+%E2%80%93+Classifica%C3%A7%C3%A3o+Brasileira+de+Ocupa%C3%A7%C3%B5es" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D144" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=144</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como usar a API GeoNames?</title>
		<link>http://www.deepcell.org/blog/?p=133&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-usar-a-api-geonames</link>
		<comments>http://www.deepcell.org/blog/?p=133#comments</comments>
		<pubDate>Thu, 03 May 2012 01:57:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[GeoNames]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=133</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=133"></g:plusone></div>
Depois de perder tempo com dezenas de scripts inuteis acabei por aderir o uso da API do geonames.org. Abaixo segue como utilizar dados dessa API em projetos. Brazil Country PostalCode / Place Aqui vem o java scritp que precisa ser incluído no HTML ou ser chamado de algum local. Você ainda vai precisar fazer essa ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=133"></g:plusone></div>
<p>Depois de perder tempo com dezenas de scripts inuteis acabei por aderir o uso da API do geonames.org. Abaixo segue como utilizar dados dessa API em projetos.</p>
<pre class="brush:html">
<script type="text/javascript" src="http://api.geonames.org/export/geonamesData.js?username=demo"></script>
<script type="text/javascript" src="scripts/jsr_class.js"></script>
<form name="myform">
<select id="countrySelect" name="country">
<option value="BR"> Brazil</option>
</select>
<input id="postalcodeInput" onblur="postalCodeLookup();" type="text" name="postalcode" size="10" />
<input id="placeInput" onblur="closeSuggestBox();" type="text" name="place" readonly="readonly" size="30" />
<input id="ufPlaceInput" onblur="closeSuggestBox();" type="text" name="uf" readonly="readonly" size="30" />
<div id="suggestBoxElement" style="visibility: hidden;"></div>
<table>
<tbody>
<tr>
<td>Country</td>
</tr>
<tr>
<td valign="top">PostalCode / Place</td>
</tr>
</tbody>
</table>
</form>
</pre>
<p>Aqui vem o java scritp que precisa ser incluído no HTML ou ser chamado de algum local.</p>
<p><span id="more-133"></span></p>
<pre class="brush:js">
<script type="text/javascript">
// postalcodes is filled by the JSON callback and used by the mouse event handlers of the suggest box
var postalcodes;

// this function will be called by our JSON callback
// the parameter jData will contain an array with postalcode objects
function getLocation(jData) 
{
  if (jData == null) 
  {
    // There was a problem parsing search results
    return;
  }

  // save place array in 'postalcodes' to make it accessible from mouse event handlers
  postalcodes = jData.postalcodes;

  if (postalcodes.length > 1) 
  {
    // we got several places for the postalcode
    // make suggest box visible
    document.getElementById('suggestBoxElement').style.visibility = 'visible';
    var suggestBoxHTML  = '';
    // iterate over places and build suggest box content
    for (i=0;i< jData.postalcodes.length;i++) {
      // for every postalcode record we create a html div 
      // each div gets an id using the array index for later retrieval 
      // define mouse event handlers to highlight places on mouseover
      // and to select a place on click
      // all events receive the postalcode array index as input parameter
      suggestBoxHTML += "
<div class='suggestions' id=pcId" + i + " onmousedown='suggestBoxMouseDown(" + i +")' onmouseover='suggestBoxMouseOver(" +  i +")' onmouseout='suggestBoxMouseOut(" + i +")'> " + postalcodes[i].countryCode + ' ' + postalcodes[i].postalcode + ' &nbsp;&nbsp; ' + postalcodes[i].placeName  + ' ' + postalcodes[i].adminName1 +'</div>

';
    }
    // display suggest box
    document.getElementById('suggestBoxElement').innerHTML = suggestBoxHTML;
  } 
  else 
  {
    if (postalcodes.length == 1) 
    {
      // exactly one place for postalcode
      // directly fill the form, no suggest box required 
      var placeInput = document.getElementById("placeInput");
      placeInput.value = postalcodes[0].placeName;

      var ufPlaceInput = document.getElementById("ufPlaceInput");
      ufPlaceInput.value = postalcodes[0].adminName1;
    }
    closeSuggestBox();
  }
}

function closeSuggestBox() 
{
  document.getElementById('suggestBoxElement').innerHTML = '';
  document.getElementById('suggestBoxElement').style.visibility = 'hidden';
}

// remove highlight on mouse out event
function suggestBoxMouseOut(obj) 
{
  document.getElementById('pcId'+ obj).className = 'suggestions';
}

// the user has selected a place name from the suggest box
function suggestBoxMouseDown(obj) 
{
  closeSuggestBox();
  var placeInput = document.getElementById("placeInput");
  placeInput.value = postalcodes[obj].placeName;
}

// function to highlight places on mouse over event
function suggestBoxMouseOver(obj) 
{
  document.getElementById('pcId'+ obj).className = 'suggestionMouseOver';
}

// this function is called when the user leaves the postal code input field
// it call the geonames.org JSON webservice to fetch an array of places 
// for the given postal code 
function postalCodeLookup() 
{
  var country = document.getElementById("countrySelect").value;
  if (geonamesPostalCodeCountries.toString().search(country) == -1) 
  {
     return; // selected country not supported by geonames
  }
  // display loading in suggest box
  document.getElementById('suggestBoxElement').style.visibility = 'visible';
  document.getElementById('suggestBoxElement').innerHTML = '<small><i>loading ...</i></small>';

  var postalcode = document.getElementById("postalcodeInput").value;

  request = 'http://api.geonames.org/postalCodeLookupJSON?postalcode=' + postalcode  + '&#038;country=' + country  + '&#038;username=demo&#038;callback=getLocation';

  // Create a new script object
  aObj = new JSONscriptRequest(request);
  // Build the script tag
  aObj.buildScriptTag();
  // Execute (add) the script tag
  aObj.addScriptTag();
}

// set the country of the user's ip (included in geonamesData.js) as selected country 
// in the country select box of the address form
function setDefaultCountry() 
{
  var countrySelect = document.getElementById("countrySelect");
  for (i=0;i< countrySelect.length;i++) 
  {
    // the javascript geonamesData.js contains the countrycode
    // of the userIp in the variable 'geonamesUserIpCountryCode'
    if (countrySelect[i].value == geonamesUserIpCountryCode) 
    {
      // set the country selectionfield
      countrySelect.selectedIndex = i;
    }
  }
}
</script>
</pre>
<p>Você ainda vai precisar fazer essa chamada no seu HTML -></p>
<pre class="brush:html"><script type="text/javascript" src="http://www.geonames.org/export/jsr_class.js"></script></pre>
<p>De uma olhada especialmente nessa parte do script {jsr_class.js} -&gt; "A SECURITY WARNING FROM DOUGLAS CROCKFORD:" e use isso por sua conta e risco. ;)</p>
<p>Observação: Foi adicionado o estado ( postalcodes[i].adminName1 ) a este script, pois só exibia a cidade.</p>
<p>Fonte de Referência -&gt; <a title="API GeoNames" href="http://geonames.org" target="_blank">http://geonames.org</a></p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133&t=Como+usar+a+API+GeoNames%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133&amp;text=Como+usar+a+API+GeoNames%3F&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133&amp;title=Como+usar+a+API+GeoNames%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133&amp;name=Como+usar+a+API+GeoNames%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133&amp;title=Como+usar+a+API+GeoNames%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133&amp;title=Como+usar+a+API+GeoNames%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D133" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=133</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como usar a API do Linkedln?</title>
		<link>http://www.deepcell.org/blog/?p=124&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-usar-a-api-do-linkedln</link>
		<comments>http://www.deepcell.org/blog/?p=124#comments</comments>
		<pubDate>Mon, 16 Apr 2012 23:51:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Linkedln]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Linkedln API php]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=124</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=124"></g:plusone></div>
Abaixo estou colocando como usar a API do Linkeln de forma rápida e fácil sem muitos contornor, sem precisar instalar extensão PECL do php, isso funciona em qualquer host na internet que esteja com a versão PHP v5.3.8+ A principio eu gostaria de fazer uma chamada a API apenas para mostrar o método de recomendações ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=124"></g:plusone></div>
<p>Abaixo estou colocando como usar a API do Linkeln de forma rápida e fácil sem muitos contornor, sem precisar instalar extensão PECL do php, isso funciona em qualquer host na internet que esteja com a versão PHP v5.3.8+</p>
<p>A principio eu gostaria de fazer uma chamada a API apenas para mostrar o método de recomendações da API, mas eu vi que esse é um método privado e não é possível chama-lo se o usuário não autenticar-se com as suas credenciais do Linkedln.</p>
<p>Como uma imagem (codigo) vale mais que mil palavras, abaixo segue parte do codigo e o link para download deles.</p>
<p><a title="Demo.zip" href="http://www.deepcell.org/app/linkedin/dc/demo.zip" target="_blank">http://www.deepcell.org/app/linkedin/dc/demo.zip</a></p>
<p>&nbsp;</p>
<p><span id="more-124"></span></p>
<pre class="brush:php">/**
 * Session existance check.
 *
 * Helper function that checks to see that we have a 'set' $_SESSION that we can
 * use for the demo.
 */
function oauth_session_exists() {
  if((is_array($_SESSION)) &amp;&amp; (array_key_exists('oauth', $_SESSION))) {
    return TRUE;
  } else {
    return FALSE;
  }
}

try {
  // include the LinkedIn class
  require_once('linkedin_3.2.0.class.php');

  // start the session
  if(!session_start()) {
    throw new LinkedInException('This script requires session support, which appears to be disabled according to session_start().');
  }
</pre>
<p>Para ver todo o script, faça o download do arquivo acima.<br />
No proximo post pretendo mostrar como fazer o mesmo no twitter e facebook.</p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124&t=Como+usar+a+API+do+Linkedln%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124&amp;text=Como+usar+a+API+do+Linkedln%3F&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124&amp;title=Como+usar+a+API+do+Linkedln%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124&amp;name=Como+usar+a+API+do+Linkedln%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124&amp;title=Como+usar+a+API+do+Linkedln%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124&amp;title=Como+usar+a+API+do+Linkedln%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D124" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=124</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking News</title>
		<link>http://www.deepcell.org/blog/?p=120&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=breaking-news</link>
		<comments>http://www.deepcell.org/blog/?p=120#comments</comments>
		<pubDate>Mon, 02 Apr 2012 01:19:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[breaking news]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=120</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=120"></g:plusone></div>
]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=120"></g:plusone></div>
<p><!-- tweet id : 186433162707075072 --><br />
<style type='text/css'>#bbpBox_186433162707075072 a { text-decoration:none; color:#4C5E54; }#bbpBox_186433162707075072 a:hover { text-decoration:underline; }</style>
<div id='bbpBox_186433162707075072' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#1A1918; background-image:url(http://a0.twimg.com/profile_background_images/383770664/x0e703ded7f83441d5969061741fd371.jpg); background-repeat:no-repeat'>
<div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#272B2A; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>Break News: BBC News &#8211; Email and web use &#8216;to be monitored&#8217; under new laws <a href="http://t.co/9yc5SuKi" rel="nofollow">http://t.co/9yc5SuKi</a>, see more <a href="http://t.co/JOZ3kVul" rel="nofollow">http://t.co/JOZ3kVul</a></span>
<div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://www.deepcell.org/blog/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on 2012/04/01 9:41 am' href='http://twitter.com/#!/deepcell/status/186433162707075072' target='_blank'>2012/04/01 9:41 am</a> via <a href="http://www.tweetedtimes.com" rel="nofollow" target="blank">The Tweeted Times</a><a href='https://twitter.com/intent/tweet?in_reply_to=186433162707075072' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=186433162707075072' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=186433162707075072' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div>
<div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=deepcell'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a0.twimg.com/profile_images/1585743716/dc_logo_trans_normal.png' /></a></div>
<div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=deepcell'>@deepcell</a>
<div style='margin:0; padding-top:2px'>Software and Web Dev</div>
</div>
<div style='clear:both'></div>
</div>
</div>
<p><!-- end of tweet --></p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120&t=Breaking+News" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120&amp;text=Breaking+News&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120&amp;title=Breaking+News" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120&amp;name=Breaking+News" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120&amp;title=Breaking+News" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120&amp;title=Breaking+News" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D120" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=120</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exemplo básico de INSERT com substituição de valores no arrays</title>
		<link>http://www.deepcell.org/blog/?p=98&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exemplo-basico-de-insert-com-substituicao-de-valores-no-arrays</link>
		<comments>http://www.deepcell.org/blog/?p=98#comments</comments>
		<pubDate>Tue, 27 Dec 2011 02:17:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=98</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=98"></g:plusone></div>
Esse é um exemplo clássico e básico de como substituir um valor de uma chave no array, existem outras formas de fazer isso, mas desse jeito é simples, funcional e de certa forma torna as coisas genérico, pois é possível tratar qualquer entrada de dados dessa maneira, veja a function br2sql_slash(), ela converte data do ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=98"></g:plusone></div>
<p>Esse é um exemplo clássico e básico de como substituir um valor de uma chave no array, existem outras formas de fazer isso, mas desse jeito é simples, funcional e de certa forma torna as coisas genérico, pois é possível tratar qualquer entrada de dados dessa maneira, veja a function br2sql_slash(), ela converte data do formato brasileiro para o formato do banco mysql. Eu estou acostumado a separar a parte de operações do banco em Model. Para verifications, error handling and sanitization geralmente faço isso separadamente. Você pode criar uma classe com todos os métodos de verificações, ou simplesmente criar um script com funções de verificação (mais comum), isso realmente não importa como será feito, o importante é fazer todo o procedimento.</p>
<p>&nbsp;</p>
<pre class="brush:php">if ($_POST)
{
/* commom vars */
$table = "atendimento";

foreach ($_POST as $key =&gt; $val)
{
/* Array replace values */
if ($key == "abertura")
{
$abertura = br2sql_slash( $val );
$_POST['abertura'] = $abertura;
}
if ($key == "inicio")
{
$inicio = br2sql_slash( $val );
$_POST['inicio'] = $inicio;
}
if ($key == "termino")
{
$termino = br2sql_slash( $val );
$_POST['termino'] = $termino;
}
}

/* exemplo de insert */
$inserts = array();
$inserts = $_POST;
print_r($inserts);

mysql_insert($table, $inserts);
/* exemplo de insert */

$last_insert_id = get_maxid( $table );
}

/* function br2sql_slash() */

function br2sql_slash( $date )
{
$aux = explode( " ", $date );
$aux_date = explode ( "/", $aux[0] );
$aux_date = "$aux_date[2]-$aux_date[1]-$aux_date[0]";
return $aux_date = "$aux_date $aux[1]";
}

/* insert mysql function */
function mysql_insert($table, $inserts)
{
	$values = array_map('mysql_real_escape_string', array_values($inserts));
	$keys   = array_keys($inserts);
	return mysql_query('INSERT INTO `'.$table.'` (`'.implode('`,`', $keys).'`) VALUES (\''.implode('\',\'', $values).'\')') or die("Error: mysql_insert " . mysql_error());
}</pre>
<p>&nbsp;</p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98&t=Exemplo+b%C3%A1sico+de+INSERT+com+substitui%C3%A7%C3%A3o+de+valores+no+arrays" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98&amp;text=Exemplo+b%C3%A1sico+de+INSERT+com+substitui%C3%A7%C3%A3o+de+valores+no+arrays&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98&amp;title=Exemplo+b%C3%A1sico+de+INSERT+com+substitui%C3%A7%C3%A3o+de+valores+no+arrays" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98&amp;name=Exemplo+b%C3%A1sico+de+INSERT+com+substitui%C3%A7%C3%A3o+de+valores+no+arrays" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98&amp;title=Exemplo+b%C3%A1sico+de+INSERT+com+substitui%C3%A7%C3%A3o+de+valores+no+arrays" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98&amp;title=Exemplo+b%C3%A1sico+de+INSERT+com+substitui%C3%A7%C3%A3o+de+valores+no+arrays" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D98" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=98</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como tornar seu phpMyAdmin acessível via https e visivel para outros hosts?</title>
		<link>http://www.deepcell.org/blog/?p=75&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-tornar-seu-phpmyadmin-acessivel-via-https-e-visivel-para-outros-hosts</link>
		<comments>http://www.deepcell.org/blog/?p=75#comments</comments>
		<pubDate>Tue, 11 Oct 2011 18:38:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[linux server]]></category>
		<category><![CDATA[phpMyAdmin]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=75</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=75"></g:plusone></div>
Isso foi um pequeno problema que encontrei quando precisei ter uma interface web para acessar meu banco de dados, mas isso precisava ser seguro e o acesso a um numero limitado de pessoas, então como fazer isso? &#160; Vou mostrar em poucas linhas como isso foi possível Por padrão a aplicação phpMyAdmin vem com permissão ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=75"></g:plusone></div>
<p>Isso foi um pequeno problema que encontrei quando precisei ter uma interface web para acessar meu banco de dados, mas isso precisava ser seguro e o acesso a um numero limitado de pessoas, então como fazer isso?</p>
<p>&nbsp;</p>
<p>Vou mostrar em poucas linhas como isso foi possível</p>
<p>Por padrão a aplicação phpMyAdmin vem com permissão de acesso apenas para o servidor localhost (127.0.0.1), mas vamos modificar isso.</p>
<p>&nbsp;</p>
<p>Se você estiver usando Windows abra o arquivo</p>
<p>C:\wamp\apps\phpmyadminX.X.X.X\config.inc.php e adicione a seguinte linha antes do final do arquivo (onde X.X.X.X é a sua versão)</p>
<p><span id="more-75"></span></p>
<p>$cfg['ForceSSL'] = TRUE; // isso vai forçar o uso do protocolo https</p>
<p>Agora abra -&gt; c:\wamp\alias\phpmyadmin.conf  e faça o seu arquivo pareçer com o codigo abaixo:</p>
<pre class="brush:php">&lt;Directory "c:/wamp/apps/phpmyadmin3.2.0.1/"&gt;
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.5.200
&lt;/Directory&gt;</pre>
<pre class="brush:php">&lt;Directory "/usr/share/phpmyadmin"&gt;
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.5.200
&lt;/Directory&gt;</pre>
<p>Onde 192.168.5.200 é o IP do meu servidor visível na LAN.<br />
Onde 127.0.0.1 é o meu loopback -&gt; localhost<br />
Onde Deny from all faz com que o servidor seja negado acesso para todos exceto para quem for permitido<br />
Allow from 127.0.0.1 permite que esse IP possa acessar o servidor<br />
Você pode incluir o IP que quiser dar acesso a aplicação phpMyAdmin</p>
<p>&nbsp;</p>
<p>Lembre-se que para poder acessar o seu servidor de fora, ele precisa estar visível na rede (LAN). Veja o outros artigos do blog, pois ensino como fazer isso.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>P.S. <em>Caso esteja usando Linux o arquivo <strong>phpmyadmin.conf</strong> fica localizado em -&gt; /etc/httpd/conf.d/phpmyadmin.conf</em></p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75&t=Como+tornar+seu+phpMyAdmin+acess%C3%ADvel+via+https+e+visivel+para+outros+hosts%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75&amp;text=Como+tornar+seu+phpMyAdmin+acess%C3%ADvel+via+https+e+visivel+para+outros+hosts%3F&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75&amp;title=Como+tornar+seu+phpMyAdmin+acess%C3%ADvel+via+https+e+visivel+para+outros+hosts%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75&amp;name=Como+tornar+seu+phpMyAdmin+acess%C3%ADvel+via+https+e+visivel+para+outros+hosts%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75&amp;title=Como+tornar+seu+phpMyAdmin+acess%C3%ADvel+via+https+e+visivel+para+outros+hosts%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75&amp;title=Como+tornar+seu+phpMyAdmin+acess%C3%ADvel+via+https+e+visivel+para+outros+hosts%3F" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D75" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=75</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando SSL/TLS no Servidor WAMP com Certificado auto-assinado</title>
		<link>http://www.deepcell.org/blog/?p=72&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=instalando-ssltls-no-servidor-wamp-com-certificado-auto-assinado</link>
		<comments>http://www.deepcell.org/blog/?p=72#comments</comments>
		<pubDate>Tue, 11 Oct 2011 18:12:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[linux server]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=72</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=72"></g:plusone></div>
Como prometido no último post, aqui estou escrevendo sobre a instalação do Protocolo HTTP sobre SSL/TLS para domínios na internet (WAN) ou rede local (LAN). O material que estou escrevendo abaixo pode ser aplicado nos dois casos, tanto para uma LAN ou para uma WAN. A primeira coisa que vamos precisar é ter o módulo ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=72"></g:plusone></div>
<p>Como prometido no último post, aqui estou escrevendo sobre a instalação do Protocolo HTTP sobre SSL/TLS para domínios na internet (WAN) ou rede local (LAN).</p>
<p>O material que estou escrevendo abaixo pode ser aplicado nos dois casos, tanto para uma LAN ou para uma WAN.</p>
<p>A primeira coisa que vamos precisar é ter o módulo &#8220;ssl_module&#8221; habilitado em nosso apache, e a extensão &#8220;php_openssl&#8221; também habilitada em noso php. Claro caso elas não estejam.</p>
<p>Vou tentar ir direto ao ponto para evitar confusões, esse artigo esta separado em duas sessões, instalaçao do protocolo de segurança (SSL) para <em>Windows</em> e para <em>Linux</em>.</p>
<p><span id="more-72"></span></p>
<p><strong>Para Windows (Todos)</strong></p>
<p>Aqui estou passando a <em>lista de Pré-Requisitos</em> para ter SSL/TLS funcionando para o seu servidor Windows.</p>
<p><strong>OpenSSL</strong> (http://www.openssl.org/related/binaries.html)</p>
<p>http://www.slproweb.com/products/Win32OpenSSL.html</p>
<p><strong>DLL&#8217;s necessárias</strong></p>
<ul>
<li>ssleay32.dll</li>
<li>libeay32.dll</li>
</ul>
<p>Ok com a lista de pré-requisitos vamos direto para a criação do nosso certificado de segurança auto-assinado.</p>
<p>Abra uma &#8220;shell DOS&#8221; no seu windows e navegue direto para <em>C:\wamp\bin\apache\apache2.2.11\bin</em></p>
<p>Agora digite essa linha no prompt -&gt; <em>openssl genrsa -aes256 -out pass.key 2048</em></p>
<p>Entre com o pass phrase (senha) e confirme a senha.</p>
<p>Agora vamos criar a chave para o servidor -&gt; <em>openssl rsa -in pass.key -out localhost.key</em><br />
Onde localhost é o nome do seu dominio (Isso pode ser qualquer nome, apenas certifique-se de que seja o mesmo nome em tudo que estiver usando ou problemas ocorreram).</p>
<p>Agora vai pedir a senha criada anteriormente, entre com ela.</p>
<p>Próximo passo é criar o nosso certificado SSL auto-assinado, o faremos com o seguinte comando -&gt;<br />
<em>openssl req -new -x509 -nodes -sha1 -key localhost.key -out localhost.crt -days 999 -config C:\wamp\bin\apache\apache2.2.11\conf\openssl.cnf</em></p>
<p>Agora você vai precisar preencher o cadastro para o certificado, preencha todos os campos até o fim. (Use BR para o pais Brasil)</p>
<p>Onde perguntar por <strong>Organization Name</strong> não se esqueça de entrar o nome do dominio (localhost ou o nome escolhido).</p>
<p>Para <strong>Organization Unit Name</strong> se você não souber ou não quiser preencher apenas coloque um ponto.</p>
<p>Para <strong>Common Name</strong> use o nome do domino novamente.</p>
<p>Feito, o certificado auto-assinado foi criado com sucesso!</p>
<p>&nbsp;</p>
<p>Agora abra o diretorio -&gt; c:\wamp\bin\apache\apache2.2.11\conf e crie uma nova pasta chamada ssl.</p>
<p>Vá para a pasta -&gt; c:\wamp\bin\apache\apache2.2.11\bin e copie os arquivos localhost.key e localhost.crt para a pasta -&gt; c:\wamp\bin\apache\apache2.2.8\conf\ssl recém criada.</p>
<p>Dentro da past ssl crie uma outra pasta chamada logs é onde todas as transações feitas sob o protocolo https serão gravadas.</p>
<p>Vá para -&gt; c:\wamp\bin\apache\apache2.2.11\conf\extra e abra o arquivo -&gt; httpd-ssl.conf</p>
<p>Encontre essa linha -&gt;</p>
<p>SSLSessionCache &#8220;shmcb:C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)&#8221;</p>
<p>e substitua por essa -&gt;</p>
<p>SSLSessionCache &#8220;shmcb:C:/wamp/bin/Apache/apache2.2.11/conf/ssl/logs/ssl_scache(512000)&#8221;</p>
<p>Agora encontre essa linha -&gt;</p>
<p>SSLCertificateFile &#8220;C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.crt&#8221;</p>
<p>e substitua por essa -&gt;</p>
<p>SSLCertificateFile &#8220;C:/wamp/bin/Apache/apache2.2.8/conf/ssl/localhost.crt&#8221;</p>
<p>Então encontre essa outra linha -&gt;</p>
<p>SSLCertificateKeyFile &#8220;C:/Program Files/Apache Software Foundation/Apache2.2/conf/server.key&#8221;</p>
<p>e substitua por essa -&gt;</p>
<p>SSLCertificateKeyFile &#8220;C:/wamp/bin/Apache/apache2.2.11/conf/ssl/localhost.key&#8221;</p>
<p>Então encontre essa outra linha -&gt; SSLMutex &#8220;file:C:/Program Files/Apache Software Foundation/Apache2.2/conf/ssl/logs/ssl_mutex&#8221;</p>
<p>e substitua por essa -&gt;</p>
<p>SSLMutex default</p>
<p>Em Virtual Host encontre -&gt;</p>
<p># General setup for the virtual host<br />
DocumentRoot &#8220;C:/Program Files/Apache Software Foundation/Apache2.2/htdocs&#8221;<br />
ServerName localhost:443<br />
ServerAdmin admin@localhost<br />
ErrorLog &#8220;C:/Program Files/Apache Software Foundation/Apache2.2/logs/error_log&#8221;<br />
TransferLog &#8220;C:/Program Files/Apache Software Foundation/Apache2.2/logs/access_log&#8221;</p>
<p>e substitua por -&gt;</p>
<p># General setup for the virtual host<br />
DocumentRoot &#8220;C:/wamp/www/ssl&#8221;<br />
ServerName localhost:443<br />
ServerAdmin admin@localhost<br />
ErrorLog &#8220;C:/wamp/bin/Apache/apache2.2.11/conf/ssl/logs/ssl_error.log&#8221;<br />
TransferLog &#8220;C:/wamp/bin/Apache/apache2.2.11/conf/ssl/logs/ssl_access.log&#8221;</p>
<p>&nbsp;</p>
<p>Então encontre-&gt;</p>
<p>&lt;Directory &#8220;C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin&#8221;&gt;<br />
SSLOptions +StdEnvVars<br />
&lt;/Directory&gt;</p>
<p>e substitua por -&gt;</p>
<p>&lt;Directory &#8220;C:/wamp/www/ssl&#8221;&gt;<br />
SSLOptions +StdEnvVars<br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride All<br />
Order allow,deny<br />
allow from all<br />
&lt;/Directory&gt;</p>
<p>&nbsp;</p>
<p>Encontre tambem -&gt;</p>
<p>CustomLog &#8220;C:/Program Files/Apache Software Foundation/Apache2.2/logs/ssl_request_log&#8221; \&#8221;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&#8221;%r\&#8221; %b&#8221;</p>
<p>e substitua por -&gt;</p>
<p>CustomLog &#8220;C:/wamp/logs/ssl_request.log&#8221; \<br />
&#8220;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&#8221;%r\&#8221; %b&#8221;</p>
<p>&nbsp;</p>
<p>Agora abra o seu httpd.conf em c:\wamp\bin\apache\apache2.2.11\conf e procure por essa linha -&gt;</p>
<p># Secure (SSL/TLS) connections<br />
#Include conf/extra/httpd-ssl.conf</p>
<p>&nbsp;</p>
<p>descomente a segunda linha, então ficaria dessa forma -&gt;</p>
<p># Secure (SSL/TLS) connections<br />
Include conf/extra/httpd-ssl.conf</p>
<p>&nbsp;</p>
<p>Não esqueça de salvar todas as alterações.</p>
<p>Agora copie aquelas 2 DLL&#8217;s que fizemos o download no inicio para a sua pasta -&gt; C:\Windows\System32</p>
<p>&nbsp;</p>
<p>Feito isso, você já pode testar o seu servidor com SSL, digite no browser -&gt; https://localhost</p>
<p>Provavelmente no firefox ele vai pedir para adicionar a exceção, na janea pop-up clique em &#8220;Get Certificate&#8221; e finalize clicando em -&gt; &#8221;Confirm Security Exception&#8221;</p>
<p>Agora o certificado de segurança auto-assinado foi adicionado com sucesso.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Para Linux (OpenSuse, CentOS)</strong></p>
<p>&nbsp;</p>
<p>estamos criando essa sessão.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72&t=Instalando+SSL%2FTLS+no+Servidor+WAMP+com+Certificado+auto-assinado" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72&amp;text=Instalando+SSL%2FTLS+no+Servidor+WAMP+com+Certificado+auto-assinado&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72&amp;title=Instalando+SSL%2FTLS+no+Servidor+WAMP+com+Certificado+auto-assinado" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72&amp;name=Instalando+SSL%2FTLS+no+Servidor+WAMP+com+Certificado+auto-assinado" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72&amp;title=Instalando+SSL%2FTLS+no+Servidor+WAMP+com+Certificado+auto-assinado" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72&amp;title=Instalando+SSL%2FTLS+no+Servidor+WAMP+com+Certificado+auto-assinado" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D72" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=72</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guia de acesso global para apache servers</title>
		<link>http://www.deepcell.org/blog/?p=65&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=guia-de-acesso-global-para-apache-servers</link>
		<comments>http://www.deepcell.org/blog/?p=65#comments</comments>
		<pubDate>Wed, 10 Aug 2011 03:13:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=65</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=65"></g:plusone></div>
Supondo que o seu ambiente já esteja instalado e funcionando, então vou direto para o guia de acesso global para servidores apache. Passo 1 Habilitar as portas associadas em todos os firewalls. Para comunicar entre o seu computador e outros computadores da LAN ou mesmo outros computadores fora da sua LAN, você vai precisar abilitar ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=65"></g:plusone></div>
<p>Supondo que o seu ambiente já esteja instalado e funcionando, então vou direto para o guia de acesso global para servidores apache.</p>
<p><strong>Passo 1</strong><br />
Habilitar as portas associadas em todos os firewalls.<br />
Para comunicar entre o seu computador e outros computadores da LAN ou mesmo outros computadores fora da sua LAN, você vai precisar abilitar a porta<br />
HTTP em todos os firewalls. Pessoas usam diferente firewalls, e cada firewall tem suas proprias regras, portanto aqui vou mostrar apenas o básico sobre<br />
como abilitar portas no firewall.</p>
<p>HTTP por padrão opera na porta 80. Alguns ISP bloqueiam a porta 80 por padrão, nesse caso use a porta 81, 8080, 8000, 8181, 8180, 8081, etc.. não importa qual porta vai usar aqui, o que importa é que a mesma porta deve estar habilitada em todos os firewalls e no servidor apache.</p>
<p>No geral esses são os nomes que vão apareçer no firewalls -&gt; Name: HTTP, Port Number: 80, Protocol: TCP. Claro substitua Port Number pela porta que<br />
for escolhida.</p>
<p><span id="more-65"></span></p>
<p><strong>Passo 2</strong><br />
Coloque o servidor apache online</p>
<p><strong>Passo 3</strong><br />
Habilitar as portas associadas em todos os roteadores.<br />
Exemplo: Vamos supor que o computador que esta com o apache instalado tem esse IP -&gt; 192.168.0.23. Então basicamente você vai precisar habilitar a porta<br />
no roteador dessa forma:</p>
<p>Isso é ilustrativo, pois cada router tem seu jeito de fazer isso; Alguns chamam isso de Port Forwarding, outros chamam Virtual Server, assim como outros<br />
ainda chamam isso de apenas Services. Caso esteja usando outra porta senão a porta 80, certifique-se de usar a mesma porta aqui.</p>
<p>Service Name: HTTP<br />
Start Port: 80<br />
End Port: 80<br />
Server IP: 192.168.0.23</p>
<p>Geralemente as configurações do router estão acessíveis nesses IPs: 192.168.0.1; 192.168.1.1; 192.168.2.1 com user/passwords do tipo admin/admin admin/password admin/&lt;vazio&gt;<br />
Em caso de dúvida procure pelo manual do fabricante na rede.</p>
<p><strong>Acesse suas páginas da sua propria LAN</strong><br />
Para maiores informações de como configurar Virtual Hosts no apache, veja nosso post anterior.<br />
Caso o seu IP onde o apache estiver instalado for 192.168.0.23 e você já ocnfigurou VHosts no apache, então acesse da seguinte forma:</p>
<p>Na maquina onde o apache esta instalado -&gt; http://localhost/folder<br />
Em máquinas da sua LAN -&gt; http://192.168.0.23/folder</p>
<p><strong>Acessar suas páginas de fora da sua LAN</strong><br />
Caso não tenha configurado os servidores DNSs, então acesse via o IP da WAN, acesse -&gt; http://whereismyip.com/ Esse é o IP da sua WAN, acesse da seguinte<br />
forma caso suas configurações de firewall e router foram para porta 80 -&gt; http://ip.da.sua.wan/folder<br />
Caso tenha configurado uma porta diferente então faça da seguinte forma -&gt; http://ip.da.sua.wan:8080/folder</p>
<p>&nbsp;</p>
<p><strong>Próx. post:</strong> Como criar um certificado auto-assinado, então como configurar esse certificado auto-assinado no seu apache, e então conseguir um certificado de segurança gratuito e confiável para substituir pelo certificado auto-assinado.</p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65&t=Guia+de+acesso+global+para+apache+servers" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65&amp;text=Guia+de+acesso+global+para+apache+servers&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65&amp;title=Guia+de+acesso+global+para+apache+servers" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65&amp;name=Guia+de+acesso+global+para+apache+servers" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65&amp;title=Guia+de+acesso+global+para+apache+servers" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65&amp;title=Guia+de+acesso+global+para+apache+servers" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D65" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=65</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Host no apache</title>
		<link>http://www.deepcell.org/blog/?p=34&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=virtual-host-no-apache</link>
		<comments>http://www.deepcell.org/blog/?p=34#comments</comments>
		<pubDate>Fri, 29 Jul 2011 18:44:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[linux server]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=34</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=34"></g:plusone></div>
Como existem inumeras formas de criar virtual host com apache tanto para acesso na sua rede local como acesso global, vou exemplificar o caminho mais direto e rápido de se fazer isso, sem ter que ler tons de documentação. Mesmo que você não tenha um dominio válido na internet, você pode seguir as instruções abaixo. ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=34"></g:plusone></div>
<p>Como existem inumeras formas de criar virtual host com apache tanto para acesso na sua rede local como acesso global, vou exemplificar o caminho mais direto e rápido de se fazer isso, sem ter que ler tons de documentação.<br />
Mesmo que você não tenha um dominio válido na internet, você pode seguir as instruções abaixo.</p>
<p>No meu exemplo vamos criar:</p>
<ul>
<li>1 localhost</li>
<li>1 dominio local (mydomain)</li>
<li>1 sub-dominio local (sub.mydomain)</li>
<li>1 domínio global (mydomain.org)</li>
<li>1 sub-domínio global (sub.mydomain.org)</li>
</ul>
<p><em>obs.: Esse guia pode ser usado para: LAMPP, XAMPP, WAMPP, EasyPHP, etc.. apenas certifique-se de que esta editando os arquivos corretos.</em></p>
<p>&nbsp;</p>
<p>Na prática -&gt;</p>
<p><span id="more-34"></span></p>
<p>Vamos assumir que você tenha 3 computadores, seja eles:</p>
<ul>
<li>computador 1</li>
<li>computador 2</li>
<li>laptop 1</li>
</ul>
<p>o servidor apache vai estar instalado no computador1 que tem o IP: 172.16.0.45</p>
<p>Use o comando ipconfig do dos ou ifconfig linux para conseguir seu IP da rede interna.<br />
Para pegar o seu IP real na internet, acesse -&gt; <a href="http://whereismyip.com/">http://whereismyip.com</a></p>
<p>&nbsp;</p>
<p><strong>Passo 1</strong></p>
<p>Crie uma pasta no seu webserver, geralmente em public_html, www, htdocs, isso depende de qual ambiente você tem instalado no seu computador1.</p>
<p>Precisamos criar 2 pastas que vão estar associadas com o dominio local e o sub-dominio local, ficaria assim</p>
<ul>
<li>public_html/mydomain</li>
<li>public_html/sub</li>
</ul>
<p>&nbsp;</p>
<p><strong>Passo 2</strong></p>
<p>Agora vamos criar pastas log dentro de cada pasta criada no passo 1, ou o seu servidor não irá funcionar.<br />
Ficaria assim:</p>
<ul>
<li>public_html/mydomain/logs</li>
<li>public_html/sub/logs</li>
</ul>
<p>&nbsp;</p>
<p><strong>Passo 3</strong></p>
<p>Editar o arquivo httpd.conf que esta localizado na pasta: <em>apache/apachex.x.x/conf/</em>. Mas isso depende da sua instalação, o arquivo pode estar em locais diferentes.</p>
<p>Achando o arquivo, localize a seguinte linha:</p>
<p># Virtual hosts<br />
#Include conf/extra/httpd-vhosts.conf</p>
<p>Apenas descomente a segunda linha removendo o sinal #, certifique-se de não ter espaços sobrando nem antes nem depois dessa linha.</p>
<p>&nbsp;</p>
<p><strong>Passo 4</strong></p>
<p>Agora é hora de editar o seu arquivo httpd-vhosts.conf   que esta localizado em: <em>apache/apachex.x.x/conf/extra</em>,</p>
<p>Apague todo o conteudo desse arquivo, faça um backup antes, caso algo de errado, você não ficar na mão.</p>
<p>Inclua o codigo abaixo no arquivo, perceba que ServerName localhost, vem por último, use o seu dominio principal por primeiro e locahost por último.</p>
<div>
<pre class="brush:php">NameVirtualHost *:80
&lt;VirtualHost *:80&gt;
ServerName www.mydomain.org
ServerAlias mydomain.org mydomain
DocumentRoot /home/user/public_html/mydomain
ErrorLog "/home/user/public_html/mydomain/logs/error.log"
CustomLog "/home/user/public_html/mydomain/logs/access.log" common
&lt;/VirtualHost&gt;</pre>
<pre class="brush:php">&lt;VirtualHost *:80&gt; 

ServerName sub.mydomain.org
ServerAlias sub
DocumentRoot /home/user/public_html/sub
ErrorLog "/home/user/public_html/sub/logs/error.log"
CustomLog "/home/user/public_html/sub/logs/access.log" common
&lt;/VirtualHost&gt;</pre>
<pre class="brush:php">&lt;VirtualHost *:80&gt; 

ServerName localhost
DocumentRoot /home/user/public_html/
ErrorLog "/home/user/public_html/logs/error.log"
CustomLog "/home/user/public_html/logs/access.log" common
&lt;/VirtualHost&gt;</pre>
</div>
<p><strong> Passo 5</strong></p>
<p>Agora você vai precisar editar seu arquivo hostname no linux ou host no windows.<br />
Esse arquivo no linux (debian) encontra-se em: <em>/etc/hostname</em><br />
No windows esse arquivo encontra-se em: <em>C:/Windows/System32/drivers/etc</em></p>
<p>Certifique-se de fazer isso no <strong>computador1 ,</strong></p>
<p>abra o arquivo hostname ou host, apague todos os dados que lá se encontram e subtitua pelos dados abaixo</p>
<p>127.0.0.1 localhost<br />
127.0.0.1 mydomain<br />
127.0.0.1 sub</p>
<p>&nbsp;</p>
<p><strong>Passo 6</strong></p>
<p>Nos outros computadores (<strong>computador 2</strong> e <strong>laptop 1</strong>) faça o meso do passo 5, só que subtitua o codigo do arquivo com esse código abaixo:</p>
<p>172.16.0.45 localhost<br />
172.16.0.45 mydomain<br />
172.16.0.45 sub</p>
<p><em> Lembre-se que 172.16.0.45 é o meu IP interno, substitua pelo seu, isso foi descrito na introdução do artigo, logo antes do passo 1.</em></p>
<p>&nbsp;</p>
<p><strong>Passo 7</strong></p>
<p>Restart o seu servidor XAMPP, LAMPP, WAMPP, PHPEasy ou seu apache server. Pronto isso já deve funcionar.</p>
<p>Para testar, abra o browser no computador 2 ou laptop 1 e digitie os endereços para testar:</p>
<p><em>http://mydomain</em><br />
<em> http://sub</em><br />
<em> http://localhost</em></p>
<p>&nbsp;</p>
<p><strong>Passo 8</strong></p>
<p>Em um computador fora da sua rede interna, acesse os seus sites da seguinte forma:</p>
<p>Se usando o IP</p>
<p>http://endereço_ip_valido (para acessar <em>mydomain.org</em>)<br />
http://endereço_ip_valido/sub (para acessar <em>sub.mydomain.org</em>)</p>
<p>Onde <em>endereço_ip_valido</em> é o endereço de IP válido e visível na internet, como mostrado no inicio do artigo.</p>
<p>&nbsp;</p>
<p><strong>Passo 9</strong></p>
<p>Se os DNS já foram configurados, então você vai conseguir acessar da seguinte forma:</p>
<p><em>http://mydomain.org</em> ou <em>http://www.mydomain.org</em> (para acessar <em>mydomain.org</em>)<br />
<em>http://sub.mydomain.com</em> (para acessar <em>sub.mydomain.org</em>)</p>
<p>&nbsp;</p>
<p>Fazendo como descritos nos passos anteriores você acaba de configurar virtual hosts no apache.</p>
<p>&nbsp;</p>
<p>Estamos criando um guia rápido e simples para configurar acessos global para os sites. Em breve.</p>
<p>&nbsp;</p>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34&t=Virtual+Host+no+apache" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34&amp;text=Virtual+Host+no+apache&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34&amp;title=Virtual+Host+no+apache" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34&amp;name=Virtual+Host+no+apache" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34&amp;title=Virtual+Host+no+apache" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34&amp;title=Virtual+Host+no+apache" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D34" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=34</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bem vindo prəʊɡræmə</title>
		<link>http://www.deepcell.org/blog/?p=6&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bem-vindo-pr%25c9%2599%25ca%258a%25c9%25a1raem%25c9%2599</link>
		<comments>http://www.deepcell.org/blog/?p=6#comments</comments>
		<pubDate>Mon, 11 Jul 2011 03:38:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[linux server]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false">http://www.deepcell.org/blog/?p=6</guid>
		<description><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=6"></g:plusone></div>
A tiny code to control iptables in linux servers. This is a basic script using ssh2 functions. The best way to go with ssh2 is in using KeyPairs (Public and Private Keys, soon I will come up with a script..) if($_SERVER["REMOTE_ADDR"] != "101.010.101.010"){ die("Access Denied"); } if (!($con = @ssh2_connect('101.010.101.010', 22))) { echo "[FAILED_CONNECT]\n"; exit(1); ]]></description>
			<content:encoded><![CDATA[<div style="display:inline;float:right;margin-left:1em"><g:plusone href="http://www.deepcell.org/blog/?p=6"></g:plusone></div>
<p>A tiny code to control iptables in linux servers. This is a basic script using ssh2 functions. The best way to go with ssh2 is in using KeyPairs (Public and Private Keys, soon I will come up with a script..)</p>
<pre class="brush:php">if($_SERVER["REMOTE_ADDR"] != "101.010.101.010"){

    die("Access Denied");
}

if (!($con = @ssh2_connect('101.010.101.010', 22))) {

	echo "[FAILED_CONNECT]\n";
	exit(1);
}
echo "[OK]\n";

if (!@ssh2_auth_password($con, "root", "$uK35_p@$")) {

	echo "[FAILED_AUTH_DENIED]\n";
	exit(1);
}
echo "[OK]\n";

#--------------------------------------------
$stdout_stream = ssh2_exec($con, "mv /root/file /etc/sysconfig/iptables | iptables.reload");

sleep(1);
$stderr_stream = ssh2_fetch_stream($stdout_stream, SSH2_STREAM_STDERR);

while($line = fgets($stderr_stream)) {

	echo "ERROR FOUND  \n";
	flush();
	echo $line."\n";
}

# Interface
echo "
<fieldset style="font: 80%/1 sans-serif; background-color: #000000; border: 1px solid YELLOW; color: yellow; width: 450px;">
<legend style="color: blue;"><strong>SHELL&gt;&gt;</strong></legend>

 "; while($line = fgets($stdout_stream)) { flush(); echo $line."\n"; } echo "</fieldset>

";

# Close Stream
fclose($stdout_stream);</pre>

				<div class="mr_social_sharing_wrapper">
				<!-- Social Sharing Toolkit v2.0.8 | http://www.active-bits.nl/support/social-sharing-toolkit/ --><span class="mr_social_sharing"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6&t=bem+vindo+pr%C9%99%CA%8A%C9%A1r%C3%A6m%C9%99" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/facebook.png" alt="Share on Facebook" title="Share on Facebook"/></a></span><span class="mr_social_sharing"><a href="https://twitter.com/share?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6&amp;text=bem+vindo+pr%C9%99%CA%8A%C9%A1r%C3%A6m%C9%99&amp;via=deepcell" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing"><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6&amp;title=bem+vindo+pr%C9%99%CA%8A%C9%A1r%C3%A6m%C9%99" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn"/></a></span><span class="mr_social_sharing"><a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6&amp;name=bem+vindo+pr%C9%99%CA%8A%C9%A1r%C3%A6m%C9%99" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/tumblr.png" alt="Share on Tumblr" title="Share on Tumblr"/></a></span><span class="mr_social_sharing"><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/stumbleupon.png" alt="Submit to StumbleUpon" title="Submit to StumbleUpon"/></a></span><span class="mr_social_sharing"><a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6&amp;title=bem+vindo+pr%C9%99%CA%8A%C9%A1r%C3%A6m%C9%99" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/delicious.png" alt="Save on Delicious" title="Save on Delicious"/></a></span><span class="mr_social_sharing"><a href="http://digg.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6&amp;title=bem+vindo+pr%C9%99%CA%8A%C9%A1r%C3%A6m%C9%99" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/digg.png" alt="Digg This" title="Digg This"/></a></span><span class="mr_social_sharing"><a href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.deepcell.org%2Fblog%2F%3Fp%3D6" target="_blank" class="mr_social_sharing_popup_link"><img src="http://www.deepcell.org/blog/wp-content/plugins/social-sharing-toolkit/images/icons_small/reddit.png" alt="Submit to reddit" title="Submit to reddit"/></a></span></div>]]></content:encoded>
			<wfw:commentRss>http://www.deepcell.org/blog/?feed=rss2&#038;p=6</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

