Foro de elhacker.net

Informática => Tutoriales - Documentación => Mensaje iniciado por: Castg! en 2 Febrero 2010, 20:40 pm



Título: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: Castg! en 2 Febrero 2010, 20:40 pm
bueno mas que nada esto va para los argentinos, porq no se como conseguir dominio distinto gratis. aunque tambien se necesita ser español par auna de las paginas.


El objetivo de este tutorial es:
  • Instalar Apache, Php, MySql y PhpMyAdmin en Linux Debian 5.0.
  • Instalar No-IP, configurarlo y utilizarlo para DNS dinamicas.
  • Crear un Dominio .com.ar en http://nic.ar
  • Redireccionar dominio No-IP a dominio .com.ar con CDMON.


Bueno comenzemos por el principio. traten de hacer toda la instalacion ininterrumpida para evitar cualquier error :p.
la verdad aca no vamos a usar nada de xampp ni lampp ni nada raro, todo manual. para alguien que lo alla intentado en windows es dificl configurarlo y siempre trae problemas, pero a mi me trajo problemas instalar xampp asi que opte por instalarlo manualmente.
comenzamos por abrir un terminal como root:



Instalando el server!:


Instalando Apache2:

Código
  1. apt-get install apache2

cuando termine ya podran colocar sus archivos (no php todavia) en /var/www. el archivo de configuracion de apache se encuentra en /etc/apache2/apache2.conf.


Instalando Php 5:

Código
  1. apt-get install php5

y despues:

Código
  1. apt-get install libapache2-mod-php5

y ahora ya pueden usar archivos php.

Instalando MySql:

Código
  1. apt-get install mysql-server mysql-client php5-mysql

facil hasta ahora no? jejej configuren todo lo que dice del usuario y contraseña. por defecto crea un user root sin password, yo recomiendo que utilicen una contraseña buena y segura... el archivo de configuracion se encuentra en: /etc/mysql/my.cnf

Instalando PhpMyAdmin:

Código
  1. apt-get install phpmyadmin

ahora editamos el archivo: /etc/apache2/apache2.conf poniendo
Código
  1. gedit /etc/apache2/apache2.conf
y agregamos esta linea
Código
  1. Include /etc/phpmyadmin/apache.conf

el archivo de configuracion de phpmyadmin es: /etc/phpmyadmin/


ahora por ultimo reinicimaos apache y nos fijamos si todo anda correctamente...

Código
  1. /etc/init.d/apache2 restart

privilegios:

Código
  1. chmod -R 777 /var/www/*



No-IP:


nos creamos un usuario en su pagina oficial: http://www.no-ip.com/newUser.php (http://www.no-ip.com/newUser.php)

y completamos nuestros datos... Nos logeamos yvamos a la parte de "Hosts/Redirects"

(http://r.i.elhacker.net/cache?url=http://img689.imageshack.us/img689/3909/pantallazoqa.png)

yo ya tengo uno hecho pero les explico como lo hice...

vamos a add host

(http://r.i.elhacker.net/cache?url=http://img59.imageshack.us/img59/1775/pantallazo1u.png)

diria que dejen el mismo dominio que les da... ponen el nombre que quieran... y dan a "Create Host" y ya tienen el dominio creado.



Instalando No-IP2:


bueno, simple tambien:

Código
  1. apt-get install noip2

configuran con sus datos y si no mal recuerdo se inicia solo, sino ponen
Código
  1. noip2

y ya entrando a el dominio que configuraron tendria que decir "IT'S WORKS".



Creando dominio en nic.ar:



vamos a registrar dominio, ponen el nombre de su dominio y si quieren cambian el subdominio, cada subdominio varian los datos que tienen que ingresar despues...

seleccionan la entidad registrante osea ustedes, si nunca habian realizado esto ponen nueva entidaad y completan los cambios. lo mismo en el siguiente paso.

despus ponen en "delegar" y ponen estos datos: (nomas dos)
# ns1.cdmon.net  212.36.74.129
# ns2.cdmon.net  212.36.75.129
# ns3.cdmon.net  213.186.58.203

ponen en delegar y les va a llegar un mail que lo tienen que reenviar al mail "emisor". despues tendran que esperar aproximadamente unos dos dias a que se terminen todos los tramites...




Creando usuario en CDMon:


bueno, esta es una pagina española, completen con sus datos reales aunque digan que sean en españa, igual la pagina dice que su ip queda registrada. todo esto por motivos de seguridad y por si algun vivo te juankea la pc ¬¬. vamos a la pagina de registro https://www.cdmon.com/cas/pcontrol/alta.php y completamos todos los datos, un ejemplo de nif es : A28555456, porfavor si algun español me dice si esto de poner un nif es ilegal lo borro al instante...

se dan de alta, activan la cuenta con un email que te manda la web.. y empezamos a configurar.

les quiero decir que haciendo el post me di cuenta que se podia hacer todo directamente con cdmon, pero no se como hacerlo :p mas adelante hago otro de ultima... jejejej.

se logean y van a DNS Estatica. en la parte de "->Nuevo dominio en el servidor DNS" ponen el nombre de su dominio .com.ar. si se fijan un poquito mas abajo estan las dns que les di... presionan en añadir y ven que se agrego el dominio a una lista, apretan en el dominio y ponen gestionar...

ponen en "Redireccion URL". en "direccion url" ponen el nombre de su dominio no-ip, mi ejemplo castg.no-ip.biz. ahora en la parte de "HEAD" pueden modificar oviamente el <head> ;D jejej por ejemploponerle un title porq por defecto no dice anda. ponen en guardar y LISTO! talvez tengan que esperar unpoco.

bueno, este es el final del tutorial. pueden ver un ejemplo mio: http://castg.com.ar

la pagina principal se parece a la de wamp pero la modifique asi tambien me dice los archivos. si les gusta aca tienen el codigo: (yo le puse una autentificacion http asi no cualquiera ve mis archivos :P!)

les aviso que falta completa depuracion. jajaj pero como es personal jejej.
me base tambien en el metodo de tener las imagenes en el mismo archivo

Código
  1. <?php
  2. $log = false;
  3. if(!isset($_SERVER['PHP_AUTH_USER'])){
  4. Header('WWW-Authenticate: Basic realm="Para ver los contenidos tenes que estar autorizado"');
  5. exit();
  6. }elseif($_SERVER['PHP_AUTH_USER']=="usuario" && $_SERVER['PHP_AUTH_PW']=='pass'){
  7. $log = true;
  8. }
  9. $server = $_SERVER["SERVER_NAME"];
  10.  
  11. // repertoires à  ignorer dans les projets
  12.  
  13. $projectsListIgnore = array ('.','..');
  14.  
  15.  
  16.  
  17.  
  18.  
  19. // textes
  20.  
  21. $langues = array(
  22.  
  23. 'en' => array(
  24.  
  25. 'langue' => 'Español',
  26.  
  27. 'autreLangue' => 'Version franchute',
  28.  
  29. 'autreLangueLien' => 'fr',
  30.  
  31. 'titreHtml' => 'WAMPSERVER Homepage',
  32.  
  33. 'titreConf' => 'Configuracion del server',
  34.  
  35. 'versa' => 'Apache Version :',
  36.  
  37. 'versp' => 'PHP Version :',
  38.  
  39. 'versm' => 'MySQL Version :',
  40.  
  41. 'phpExt' => 'Extensiones disponibles: ',
  42.  
  43. 'titrePage' => 'Herramientas',
  44.  
  45. 'txtProjet' => 'Mis proyectos',
  46.  
  47. 'txtNoProjet' => 'No projects yet.<br />To create a new one, just create a directory in \'www\'.',
  48.  
  49. 'txtAlias' => 'Aliases',
  50.  
  51. 'txtNoAlias' => 'No Alias yet.<br />To create a new one, use the WAMPSERVER menu.',
  52.  
  53. 'faq' => 'http://www.incasoft.com.ar/'
  54.  
  55. ),
  56.  
  57. 'fr' => array(
  58.  
  59. 'langue' => 'Français',
  60.  
  61. 'autreLangue' => 'English Version',
  62.  
  63. 'autreLangueLien' => 'en',
  64.  
  65. 'titreHtml' => 'Accueil WAMPSERVER',
  66.  
  67. 'titreConf' => 'Configuration Serveur',
  68.  
  69. 'versa' => 'Version de Apache:',
  70.  
  71. 'versp' => 'Version de PHP:',
  72.  
  73. 'versm' => 'Version de MySQL:',
  74.  
  75. 'phpExt' => 'Extensions Charg&eacute;es: ',
  76.  
  77. 'titrePage' => 'Outils',
  78.  
  79. 'txtProjet' => 'Vos Projets',
  80.  
  81. 'txtNoProjet' => 'Aucun projet.<br /> Pour en ajouter un nouveau, cr&eacute;ez simplement un r&eacute;pertoire dans \'www\'.',
  82.  
  83. 'txtAlias' => 'Vos Alias',
  84.  
  85. 'txtNoAlias' => 'Aucun alias.<br /> Pour en ajouter un nouveau, utilisez le menu de WAMPSERVER.',
  86.  
  87. 'faq' => 'http://www.wampserver.com/faq.php'
  88.  
  89. )
  90.  
  91. );
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99. // images
  100.  
  101. $pngFolder = <<< EOFILE
  102.  
  103. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAABhlBMVEX//v7//v3///7//fr//fj+/v3//fb+/fT+/Pf//PX+/Pb+/PP+/PL+/PH+/PD+++/+++7++u/9+vL9+vH79+r79+n79uj89tj89Nf889D88sj78sz78sr58N3u7u7u7ev777j67bL67Kv46sHt6uP26cns6d356aP56aD56Jv45pT45pP45ZD45I324av344r344T14J734oT34YD13pD24Hv03af13pP233X025303JL23nX23nHz2pX23Gvn2a7122fz2I3122T12mLz14Xv1JPy1YD12Vz02Fvy1H7v04T011Py03j011b01k7v0n/x0nHz1Ejv0Hnuz3Xx0Gvz00buzofz00Pxz2juz3Hy0TrmznzmzoHy0Djqy2vtymnxzS3xzi/kyG3jyG7wyyXkwJjpwHLiw2Liw2HhwmDdvlXevVPduVThsX7btDrbsj/gq3DbsDzbrT7brDvaqzjapjrbpTraojnboTrbmzrbmjrbl0Tbljrakz3ajzzZjTfZijLZiTJdVmhqAAAAgnRSTlP///////////////////////////////////////8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9XzUpQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAB90RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgOLVo0ngAAACqSURBVBiVY5BDAwxECGRlpgNBtpoKCMjLM8jnsYKASFJycnJ0tD1QRT6HromhHj8YMOcABYqEzc3d4uO9vIKCIkULgQIlYq5haao8YMBUDBQoZWIBAnFtAwsHD4kyoEA5l5SCkqa+qZ27X7hkBVCgUkhRXcvI2sk3MCpRugooUCOooWNs4+wdGpuQIlMDFKiWNbO0dXTx9AwICVGuBQqkFtQ1wEB9LhGeAwDSdzMEmZfC0wAAAABJRU5ErkJggg==
  104.  
  105. EOFILE;
  106.  
  107. $pngFolderGo = <<< EOFILE
  108.  
  109. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJISURBVDjLpZPLS5RhFIef93NmnMIRSynvgRF5KWhRlmWbbotwU9sWLupfCBeBEYhQm2iVq1oF0TKIILIkMgosxBaBkpFDmpo549y+772dFl5bBIG/5eGch9+5KRFhOwrYpmIAk8+OjScr29uV2soTotzXtLOZLiD6q0oBUDjY89nGAJQErU3dD+NKKZDVYpTChr9a5sdvpWUtClCWqBRxZiE/9+o68CQGgJUQr8ujn/dxugyCSpRKkaw/S33n7QQigAfxgKCCitqpp939mwCjAvEapxOIF3xpBlOYJ78wQjxZB2LAa0QsYEm19iUQv29jBihJeltCF0F0AZNbIdXaS7K6ba3hdQey6iBWBS6IbQJMQGzHHqrarm0kCh6vf2AzLxGX5eboc5ZLBe52dZBsvAGRsAUgIi7EFycQl0VcDrEZvFlGXBZshtCGNNa0cXVkjEdXIjBb1kiEiLd4s4jYLOKy9L1+DGLQ3qKtpW7XAdpqj5MLC/Q8uMi98oYtAC2icIj9jdgMYjNYrznf0YsTj/MOjzCbTXO48RR5XaJ35k2yMBCoGIBov2yLSztNPpHCpwKROKHVOPF8X5rCeIv1BuMMK1GOI02nyZsiH769DVcBYXRneuhSJ8I5FCmAsNomrbPsrWzGeocTz1x2ht0VtXxKj/Jl+v1y0dCg/vVMl4daXKg12mtCq9lf0xGcaLnA2Mw7hidfTGhL5+ygROp/v/HQQLB4tPlMzcjk8EftOTk7KHr1hP4T0NKvFp0vqyl5F18YFLse/wPLHlqRZqo3CAAAAABJRU5ErkJggg==
  110.  
  111. EOFILE;
  112.  
  113. $gifLogo = <<< EOFILE
  114.  
  115. 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
  116.  
  117. EOFILE;
  118.  
  119. $pngPlugin = <<< EOFILE
  120.  
  121. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABmklEQVR42mL4//8/AyUYIIDAxK5du1BwXEb3/9D4FjBOzZ/wH10ehkF6AQIIw4B1G7b+D09o/h+X3gXG4YmteA0ACCCsLghPbPkfm9b5PzK5439Sdg9eAwACCEyANMBwaFwTGIMMAOEQIBuGA6Mb/qMbABBAEAOQnIyMo1M74Tgiqf2/b3gVhgEAAQQmQuKa/8ekdYMxyLCgmEYMHJXc9t87FNMAgACCGgBxIkgzyDaQU5FxQGQN2AUBUXX/vULKwdgjsOQ/SC9AAKEEYlB03f+oFJABdSjYP6L6P0guIqkVjt0DisEGAAQQigEgG0AhHxBVi4L9wqvBBiEHtqs/xACAAAIbEBBd/x+Eg2ObwH4FORmGfYCaQRikCUS7B5YBNReBMUgvQABBDADaAtIIwsEx9f/Dk9pQsH9kHTh8XANKMAIRIIDAhF9ELTiQQH4FaQAZCAsskPNhyRpkK7oBAAEEMSC8GsVGkEaYIlBghcU3gbGzL6YBAAEEJnzCgP6EYs/gcjCGKQI5G4Z9QiswDAAIIAZKszNAgAEAHgFgGSNMTwgAAAAASUVORK5CYII=
  122.  
  123. EOFILE;
  124.  
  125. $pngWrench = <<< EOFILE
  126.  
  127. iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAA3NCSVQICAjb4U/gAAABO1BMVEXu7u7n5+fk5OTi4uLg4ODd3d3X19fV1dXU1NTS0tLPz8+7z+/MzMy6zu65ze65zu7Kysq3zO62zO3IyMjHx8e1yOiyyO2yyOzFxcXExMSyxue0xuexxefDw8OtxeuwxOXCwsLBwcGuxOWsw+q/v7+qweqqwuqrwuq+vr6nv+qmv+m7u7ukvumkvemivOi5ubm4uLicuOebuOeat+e0tLSYtuabtuaatuaXteaZteaatN6Xs+aVs+WTsuaTsuWRsOSrq6uLreKoqKinp6elpaWLqNijo6OFpt2CpNyAo92BotyAo9+dnZ18oNqbm5t4nt57nth7ntp4nt15ndp3nd6ZmZmYmJhym956mtJzm96WlpaVlZVwmNyTk5Nvl9lultuSkpKNjY2Li4uKioqIiIiHh4eGhoZQgtVKfNFdha6iAAAAaXRSTlMA//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////914ivwAAAACXBIWXMAAAsSAAALEgHS3X78AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAAKFJREFUGJVjYIABASc/PwYkIODDxBCNLODEzGiQgCwQxsTlzJCYmAgXiGKVdHFxYEuB8dkTOIS1tRUVocaIWiWI8IiIKKikaoD50kYWrpwmKSkpsRC+lBk3t2NEMgtMu4wpr5aeuHcAjC9vzadjYyjn7w7lK9kK6tqZK4d4wBQECenZW6pHesEdFC9mbK0W7otwsqenqmpMILIn4tIzgpG4ADUpGMOpkOiuAAAAAElFTkSuQmCC
  128.  
  129. EOFILE;
  130.  
  131. $favicon = <<< EOFILE
  132.  
  133. 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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADx5dJX7ceM/+/Iif/u1Ku5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADx7+kG7NSvpOrMnMjt5NUmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z9AH///////P0AH//////8/QAD//////z9AAD//////P0AwB/////8/YB4B/////z9wD8Af////P3gH8AH///8/fAP+AB///z9+Af/AB///P38A//AD//8/f4B//AP//z9/wB//A///P3/gD/wD//8/f/gH8Af//z9//APAB///P3/+AQAf//8/f/8AAH///z9//4AA////P3//AAP///8/f/wAD////z9/8AAH////P3+AAAP///8/fAAEAf///z94AB8A////P3AA/4B///8/cAP/wD///z9wD4fgH///P3h/A/AH//8/f/8D+AP//z9//gP+AP//P3/8B8cAf/8/f/wPg4Af/z9/+B+DwA//P3/4PwPwA/8/f/x/A/gA/z9///8D/AA/P3///wP/AD8/f///B+GAPz9///8HwcA/P3///wfA8D8/f///D8D8fz9/////wP//P3/////gf/8/f////+B//z9/////8P//P3/////w//8/SgAAAAYAAAAMAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7jFuUp18I8LR8QLS/k2RD3NDGAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqZhvhplwC/6ZcA/2nXg/trW4q0LiHTm3OtJkPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJonqGpFkB/6ZdBfzNsJBSxaB5MLyNXISvcSvPtX9FmcCWZzYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk2c4IuIJGtqRaAf+mXQn4v5duWgAAAADVw7MCw5puQLeDSqCxdjXCuopTd8qqiSLd08wBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39DACLuHT66kWgH/pVwG+7mKV2oAAAAAAAAAAAAAAADFonoPvI5cZa5wLcKraCDct4FGmMGWZV3Ip4UmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANrItwm1gUuopFoB/6VaAv68i1Z1AAAAAAAAAAAAAAAAAAAAAAAAAADNro0vvI1YiqdfEuukWQL9rnArysmphkcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn494DvpBgl6RZAf+kWQD/uINLhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqsjgq8j16TpVoA/7R5PMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+HlAbaARoqlWgH/pFoA/76RY5Dh2tUCAAAAAAAAAAAAAAAAxKaHILyMV5qmXgn3pFgA/7+RYHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3hEx4pVsE/aRaAf+2g02izLCTBsmtkCS3hU6Zpl0I+KRZAP+qZhjmvpNmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwptxYadfCfilWwH/rW0k06ZeCvWkWQD/qWMT7rmIUX3CnXYSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKrY8gv5RlgqhiDvOlXAH/plwB/6VbAP+7jlyFzriiDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIpn8ByqqHNraBRqimXQn3pVoA/6VaAf+xdTLDrGkc4qVbAf+rZxvh0bmiLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz7CQG7aBR6qraR3dpVsD/aVaAf+lXAj5t4JGrMmqijvNs5gB07ugIq1sJNulWwH/p18Q7c+2mkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtHs/qaVaAP+kWQH/qGQT6r6PXInGo4AjAAAAAAAAAAAAAAAAAAAAAMqxlxaucCrGpVoB/6VcCvbBmWxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3cu2NreBSKrAl2pbzbOXCgAAAAAAAAAA49K2K8eONbzSp2VuAAAAAAAAAADVw7EKuYhUpKRZAP+lWwP9toJIhd/VzwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhy6gSxocj38F5AP/PoFicAAAAAAAAAAAAAAAA4+HjAreDSoGkWgT9pFkB/65wK8rPtZkmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNmkyvwXgA/8yYRrXizqkJAAAAAO7n3QXewJt56NW9OgAAAADHpYFOp2AR7aVcAf+nXw30uYlTadG7owEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN7LrRrCfQ/0ypVBpuHStwsAAAAAAAAAAODAl2/YoFj/3LR+sgAAAAAAAAAAzrWbJq1tJdClWgH/pFkB/7V9P7jHpoMpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOqGwPAAAAAAAAAAAAAAAAAAAAAN60f8HZolz/3ryRmwAAAAAAAAAAAAAAANrNvwm7jl+PpVsD/aVbAf+mXgn4t4VNmr+WaDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANyye8HYoVj/4saiXgAAAAAAAAAA7OHPCOvXtjvn2sUCxJ51UKplGOilWwH/pVsB/6RaAv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANyzf7TZpWLt7eXcFQAAAAAAAAAA7tq7gu7Jjf/s17VyAAAAANjIuBO7i1WPrGsi3KxrJtQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrYwSXix6YuAAAAAAAAAAAAAAAA7dm6he7Kkf/uz57WAAAAAAAAAAAAAAAA0bmhA8uqiQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8ejbIe3KkvTty5Xs49K6BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO7bvYDt06mpAAAAAAAAAAAAAAAAAAAAAAAAAAAH//9BAf//QQB//0EEB/9Bg4D/QcHwP0Hg/D9B8Dg/QfwAf0H+AP9B/AP/QeAD/0GAAf9BgeD/QYYwP0H8OB9B/CIHQfhjA0H944BB/+MAQf/jEEH/5xxB//8PQf//n0EoAAAAEAAAACAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsHMux6xrH9m3g0puxaR+EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALZ8PcGmXQT8wJNieLV/RpK3gkmLvZBeNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRtJQfrWsh3apmGOTAlmcr0LefCriES1q6iVKNtHs+dsOedDPLrIoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCzkx6rayLYp2EO67uLVjQAAAAAAAAAAMCXayC3gkmCrm8q0LR7O7O/lGVHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA18OtFrBzL82nYAzwxaJ/PgAAAAAAAAAAAAAAAM2ylROwdC3LsXQv0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9lGgPrGsfwqdfC/XAmW9Mya2QELWCSHunYRDsrGsg2cSbbzkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANG6pAmxdjLKpl0G+ahiEOyraRvauolUacKddggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz7WYBriESlyvcSnLpVoB/q5tItelWgH+u4pViQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIqIEHsnk3q6hiDu+mXAf5sHMvqsWgeTsAAAAAtX9DeqVaAv22gkaf0bifBgAAAAAAAAAAAAAAAAAAAAAAAAAA28SwDbZ/Qre3g0eAxqN+HgAAAADNn1Zm0adlMQAAAAC9kWJapl0J9q5wKLvKrI0WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRo1ltwXoF+tKpaEkAAAAA597SB8KbcDqrZxrkqWQT572QX0oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADey60Lw4EY59GmYVgAAAAA48qpM9ikYPDl0bgYy66PGaxrIcGlWwP9tn9CmcemgxIAAAAAAAAAAAAAAAAAAAAAAAAAANW3iwcAAAAAAAAAAN60foLZpF7459vMDgAAAADazL8EuIVNgKVcBPuoYhDts3s8hQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbsn153rWAvQAAAADv59oI7dChwevYuTPHpH85sXUww6lkFuYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6tjBEOLHphQAAAAA7ebaCO7NmOrsz6GVAAAAAAAAAADIpYECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADv2rlu68+jggAAAAAAAAAAAAAAAA//nEED/5xBAD+cQYYPnEHDj5xB4A+cQfAfnEHAf5xBAh+cQQkPnEHxB5xB4gGcQfYgnEH+QJxB/kacQf/nnEE=
  134.  
  135. EOFILE;
  136. $gifFile = <<< EOFILE
  137. R0lGODlhFAAUAMQbAP39/fz8/MnJyfv7+/r6+vj4+Pn5+ff398zMzN/f3/X19fHx8fT09MvLy+Li
  138. 4u7u7vLy8tDQ0M7Ozuvr6/b29s3NzePj4+/v7+3t7fPz8/Dw8P///wAAAAAAAAAAAAAAACH5BAEA
  139. ABsALAAAAAAUABQAAAWP4CaOZGme6GkhQuu2CYAixgDcwW1U8SkEh+CBAXkEMJJeSQAoEAoGSubR
  140. PEQSph+BMDAUFBocQJAN5AABw3BxmQTIS7H5qYAsxtmbHu1VKN55aGIDAwUFeHFmimgDBAaAiYpm
  141. hFuIJExnk4SEliNMOJIDinCXZ3I5ZqQjDTZ7qHMIJg4NL7UCCA4puru8GyEAOw==
  142. EOFILE;
  143. $gifCross = <<<EOFILE
  144. iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADtSURBVHjajFC7DkFREJy9iXg0t+EHRKJDJSqRuIVaJT7AF+jR+xuNRiJyS8WlRaHWeOU+kBy7eyKhs8lkJrOzZ3OWzMAD15gxYhB+yzAm0ndez+eYMYLngdkIf2vpSYbCfsNkOx07n8kgWa1UpptNII5VR/M56Nyt6Qq33bbhQsHy6aR0WSyEyEmiCG6vR2ffB65X4HCwYC2e9CTjJGGok4/7Hcjl+ImLBWv1uCRDu3peV5eGQ2C5/P1zq4X9dGpXP+LYhmYz4HbDMQgUosWTnmQoKKf0htVKBZvtFsx6S9bm48ktaV3EXwd/CzAAVjt+gHT5me0AAAAASUVORK5CYII=
  145. EOFILE;
  146.  
  147.  
  148.  
  149.  
  150.  
  151. //affichage du phpinfo
  152.  
  153. if (isset($_GET['phpinfo']))
  154.  
  155. {
  156.  
  157.  
  158. exit();
  159.  
  160. }
  161.  
  162.  
  163.  
  164.  
  165.  
  166. //affichage des images
  167.  
  168. if (isset($_GET['img']))
  169.  
  170. {
  171.  
  172.    switch ($_GET['img'])
  173.  
  174.    {
  175.  
  176.        case 'pngFolder' :
  177.  
  178.        header("Content-type: image/png");
  179.  
  180.        echo base64_decode($pngFolder);
  181.  
  182.        exit();
  183.  
  184.  
  185.  
  186.        case 'pngFolderGo' :
  187.  
  188.        header("Content-type: image/png");
  189.  
  190.        echo base64_decode($pngFolderGo);
  191.  
  192.        exit();
  193.  
  194.  
  195.  
  196.        case 'gifLogo' :
  197.  
  198.        header("Content-type: image/gif");
  199.  
  200.        echo base64_decode($gifLogo);
  201.  
  202.        exit();
  203.  
  204.        case 'pngPlugin' :
  205.  
  206.        header("Content-type: image/png");
  207.  
  208.        echo base64_decode($pngPlugin);
  209.  
  210.        exit();
  211.  
  212.  
  213.  
  214.        case 'pngWrench' :
  215.  
  216.        header("Content-type: image/png");
  217.  
  218.        echo base64_decode($pngWrench);
  219.  
  220.        exit();
  221.  
  222.  
  223.  
  224.        case 'favicon' :
  225.  
  226.        header("Content-type: image/x-icon");
  227.  
  228.        echo base64_decode($favicon);
  229.  
  230.        exit();
  231.  
  232.        case 'gifFile' :
  233.  
  234.        header("Content-type: image/gif");
  235.  
  236.        echo base64_decode($gifFile);
  237.  
  238.        exit();
  239.  
  240.        case 'gifCross' :
  241.  
  242.        header("Content-type: image/gif");
  243.  
  244.        echo base64_decode($gifCross);
  245.  
  246.        exit();
  247.  
  248.  
  249.  
  250.    }
  251.  
  252. }
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260. // Définition de la langue et des textes
  261.  
  262.  
  263.  
  264. if (isset ($_GET['lang']))
  265.  
  266. {
  267.  
  268. $langue = $_GET['lang'];
  269.  
  270. }
  271.  
  272. elseif (isset ($_SERVER['HTTP_ACCEPT_LANGUAGE']) AND preg_match("/^fr/", $_SERVER['HTTP_ACCEPT_LANGUAGE']))
  273.  
  274. {
  275.  
  276. $langue = 'fr';
  277.  
  278. }
  279.  
  280. else
  281.  
  282. {
  283.  
  284. $langue = 'en';
  285.  
  286. }
  287.  
  288.  
  289. // recuperation des projets
  290.  
  291. $handle=opendir(".");
  292.  
  293. $projectContents = '';
  294. $pDir='<ul class="pdir">';
  295. $pFile='<ul class="pfile">';
  296.  
  297. while ($dire = readdir($handle))
  298.  
  299. {
  300. if(!in_array($dire,$projectsListIgnore)){
  301.  
  302. if (is_dir($dire))
  303.  
  304. {
  305. if($log==true){
  306.  
  307. $pDir .= "<li><a href=\"$dire\">$dire</a></li>";}else{
  308. $pDir .= "<li><a>Prohidibo para ti!</a></li>";}
  309.  
  310. }
  311. elseif(!in_array($dire,$projectsListIgnore))
  312. {
  313. if(explode("~",$dire)){
  314. $dire=str_replace("~","",$dire);
  315. }
  316. if($log==true){
  317. $pFile .= "<li><a href=\"".$dire."\">".$dire."</a></li>";}else{
  318. $pFile .= "<li><a>Prohidibo para ti!</a></li>";}
  319. }
  320.  
  321. }
  322. }
  323. $pDir .= '</ul>';
  324. $pFile .= '</ul>';
  325. $projectContents .= $pDir.$pFile;
  326.  
  327. closedir($handle);
  328.  
  329. if (!isset($projectContents))
  330.  
  331. $projectContents = $langues[$langue]['txtNoProjet'];
  332.  
  333.  
  334.  
  335.  
  336.  
  337. //initialisation
  338.  
  339. $phpExtContents = '';
  340.  
  341.  
  342.  
  343. // recuperation des extensions PHP
  344.  
  345. $loaded_extensions = get_loaded_extensions();
  346.  
  347. foreach ($loaded_extensions as $extension)
  348.  
  349. $phpExtContents .= "<li>${extension}</li>";
  350.  
  351. // termina pagina de wamp
  352.  
  353. //
  354. if($log==true){
  355. $add=' <ul class="tools">
  356.  
  357. <li><a href="?phpinfo=1">phpinfo()</a></li>
  358.  
  359. <li><a href="phpmyadmin/">phpmyadmin</a></li>
  360. <li><a href="ftp://'.$server.'">Ftp</a></li>
  361. </ul>';
  362. }else{
  363. $add="";
  364. }
  365.  
  366. $pag=<<<EOPAGE
  367.  
  368. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  369.  
  370. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  371.  
  372.  
  373.  
  374. <html lang="en" xml:lang="en">
  375.  
  376. <head>
  377.  
  378. <title>Contenido PC-Castg | Wamp Server</title>
  379.  
  380. <meta http-equiv="Content-Type" content="txt/html; charset=utf-8" />
  381.  
  382.  
  383.  
  384. <style type="text/css">
  385.  
  386. * {
  387.  
  388. margin: 0;
  389.  
  390. padding: 0;
  391.  
  392. }
  393.  
  394.  
  395.  
  396. html {
  397.  
  398. background: #ddd;
  399.  
  400. }
  401.  
  402. body {
  403.  
  404. margin: 1em 10%;
  405.  
  406. padding: 1em 3em;
  407.  
  408. font: 80%/1.4 tahoma, arial, helvetica, lucida sans, sans-serif;
  409.  
  410. border: 1px solid #999;
  411.  
  412. background: #eee;
  413.  
  414. position: relative;
  415.  
  416. }
  417.  
  418. #head {
  419.  
  420. margin-bottom: 1.8em;
  421.  
  422. margin-top: 1.8em;
  423.  
  424. padding-bottom: 0em;
  425.  
  426. border-bottom: 1px solid #999;
  427.  
  428. letter-spacing: -500em;
  429.  
  430. text-indent: -500em;
  431.  
  432. height: 125px;
  433.  
  434. background: url(img-index/log.png) 0 0 no-repeat;
  435.  
  436. }
  437.  
  438. .utility {
  439.  
  440. position: absolute;
  441.  
  442. right: 4em;
  443.  
  444. top: 145px;
  445.  
  446. font-size: 0.85em;
  447.  
  448. }
  449.  
  450. .utility li {
  451.  
  452. display: inline;
  453.  
  454. }
  455.  
  456.  
  457.  
  458. h2 {
  459.  
  460. margin: 0.8em 0 0 0;
  461.  
  462. }
  463.  
  464.  
  465.  
  466. ul {
  467.  
  468. list-style: none;
  469.  
  470. margin: 0;
  471.  
  472. padding: 0;
  473.  
  474. }
  475.  
  476. #head ul li, dl ul li, #foot li {
  477.  
  478. list-style: none;
  479.  
  480. display: inline;
  481.  
  482. margin: 0;
  483.  
  484. padding: 0 0.2em;
  485.  
  486. }
  487. ul.pfile {
  488.  
  489. line-height: 26px;
  490.  
  491. }
  492. ul.pfile a {
  493.  
  494. padding-left: 22px;
  495.  
  496. background: url(index.php?img=gifFile) 0 50% no-repeat;
  497. }
  498.  
  499. ul.pdir, ul.tools {
  500.  
  501. list-style: none;
  502.  
  503. line-height: 24px;
  504.  
  505. }
  506.  
  507. ul.pdir a, ul.tools a{
  508.  
  509. padding-left: 22px;
  510.  
  511. background: url(index.php?img=pngFolder) 0 100% no-repeat;
  512.  
  513. }
  514. li.pfile {
  515.  
  516. line-height: 26px;
  517.  
  518. }
  519. li.pfile a {
  520.  
  521. padding-left: 22px;
  522.  
  523. background: url(index.php?img=gifFile) 0 50% no-repeat;
  524. }
  525.  
  526. ul.tools a {
  527.  
  528. background: url(index.php?img=pngWrench) 0 100% no-repeat;
  529.  
  530. }
  531.  
  532. dl {
  533.  
  534. margin: 0;
  535.  
  536. padding: 0;
  537.  
  538. }
  539.  
  540. dt {
  541.  
  542. font-weight: bold;
  543.  
  544. text-align: right;
  545.  
  546. width: 11em;
  547.  
  548. clear: both;
  549.  
  550. }
  551.  
  552. dd {
  553.  
  554. margin: -1.35em 0 0 12em;
  555.  
  556. padding-bottom: 0.4em;
  557.  
  558. overflow: auto;
  559.  
  560. }
  561.  
  562. dd ul li {
  563.  
  564. float: left;
  565.  
  566. display: block;
  567.  
  568. width: 16.5%;
  569.  
  570. margin: 0;
  571.  
  572. padding: 0 0 0 20px;
  573.  
  574. background: url(index.php?img=pngPlugin) 2px 50% no-repeat;
  575.  
  576. line-height: 1.6;
  577.  
  578. }
  579.  
  580. a {
  581.  
  582. color: #024378;
  583.  
  584. font-weight: bold;
  585.  
  586. text-decoration: none;
  587.  
  588. }
  589.  
  590. a:hover {
  591.  
  592. color: #04569A;
  593.  
  594. text-decoration: underline;
  595.  
  596. }
  597.  
  598. #foot {
  599.  
  600. text-align: center;
  601.  
  602. margin-top: 1.8em;
  603.  
  604. border-top: 1px solid #999;
  605.  
  606. padding-top: 1em;
  607.  
  608. font-size: 0.85em;
  609.  
  610. }
  611.  
  612.     </style>
  613.  
  614.    
  615.  
  616. <link rel="shortcut icon" href="index.php?img=favicon" type="image/ico" />
  617.  
  618.     <style type="text/css">
  619.  
  620. <!--
  621.  
  622. #Layer1 {
  623.  
  624. position:absolute;
  625.  
  626. width:86px;
  627.  
  628. height:20px;
  629.  
  630. z-index:1;
  631.  
  632. left: 604px;
  633.  
  634. top: 16px;
  635.  
  636. }
  637.  
  638. .Estilo1 {
  639.  
  640. color: #FF0000;
  641.  
  642. font-weight: bold;
  643.  
  644. }
  645.  
  646. -->
  647.  
  648.     </style>
  649.  
  650. </head>
  651.  
  652.  
  653.  
  654. <body>
  655.  
  656.  
  657. <div id="head">
  658.  
  659. </div>
  660.  
  661.  
  662.  
  663. <h2> {$langues[$langue]['titreConf']} </h2>
  664.  
  665.  
  666.  
  667. <dl class="content">
  668.  
  669. <dt>{$langues[$langue]['phpExt']}</dt>
  670.  
  671. <dd>
  672.  
  673. <ul>
  674.  
  675. ${phpExtContents}
  676.  
  677. </ul>
  678.  
  679. </dd>
  680.  
  681. </dl>
  682.  
  683. <h2>{$langues[$langue]['titrePage']}</h2>
  684.  
  685. $add
  686.  
  687. <h2>{$langues[$langue]['txtProjet']}</h2>
  688.  
  689. $projectContents
  690.  
  691. </body>
  692.  
  693. </html>
  694.  
  695. EOPAGE;
  696.  
  697. echo $pag;
  698.  
  699. ?>



bueno, cualquiera que sepa como conseguir otro dominio gratis, contacteme y lo agregamos ;)
les aviso que les robe un icono a elhacker.net para esta pagina xD!


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: fede_cp en 3 Febrero 2010, 00:39 am
Feo eso de no agradecer loco!, mira lo que es este pedazo de tutorial!!!!


castg como siempre, impecable.


saludos y buena vida!


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: Castg! en 3 Febrero 2010, 00:41 am
jajaj espero que si. cuando alguien lo pruebe !!! vale decir que esta mal!!! aunque no creo porq asi lo tengo yto! jajajja


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: Castg! en 3 Febrero 2010, 18:23 pm
loco me costo hacer este tutorial, aunque no les sirva podrian decir si esta bueno o malo no?


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: VanHan en 27 Febrero 2010, 08:06 am
Lindo tutorial  :)

Salu2
[vHn]


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: Castg! en 27 Febrero 2010, 14:00 pm
muchas gracias  :D


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: Banti en 27 Febrero 2010, 17:46 pm
+10 (?)

Gran tuto para el que comienza con un webserver casero... A ver si cone sto se evita el flood "No me anda noip" o "no me agarra el dominio nicar" jaja...

Lo de colocar el dominio de nic.ar en no-ip siempre me intereso pero siempre tube una paja enorme para hacerlo, a ver si ahora lo ago :P


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: Castg! en 27 Febrero 2010, 18:41 pm
debe haber mas formas, pero esta es la unioca q conozco por ahora... jejje buenisimo que te haya gustado ;)


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: [Hack]R007 en 11 Mayo 2010, 21:36 pm
Muy bueno amigo. te  pasaste saludos


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: awaiss en 20 Julio 2011, 21:20 pm
Excelente hermano, gracias por tu trabajo, muy recomendable


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: brusfer en 24 Marzo 2012, 23:51 pm
Muy buen tutorial , pero tengo un inconveniente... cuando ingreso la direccion del no ip me dirije a mi modem, le hice ping a esa direccion y me muestra mi ip publica . el tema es cuando quiero ver la web desde otro dispositivo no la encuentra :S en linux hay que abrir el puerto 80 ? uso webmin para administrar los servidores.
alguna idea de porque no me muestra la web? es la que tiene por defecto apache porque necesito que se vea primero . :s
disculpen mi ignorancia talves es una pavada y no me doy  cuenta y lo de cdmon ya lo hice estoy esperando la avilitacion de la direccion en nicar.
gracias por el tuto y espero puedan darme una mano


Título: Re: Servidor en Debian + No-ip + Dominio .com.ar
Publicado por: Castg! en 25 Marzo 2012, 22:54 pm
desactiva la administracion remota de tu router y activa el nat del puerto 80 http desde ip publica a tu ip privada. configura en tu servidor tu ip privada como estatica para que siempre sea la misma y solo a vos te abra el puerto