Servidores Caseros: Armá tu propio Hosting
Servidores Caseros: Armá tu propio Hosting
Cristian Wilgenhoff
Tomás González Dowling
Sebastián Montini
¿Cómo empiezo?
¿Cómo empiezo?
De las herramientas libres más conocidas, tenemos:
De las herramientas libres más conocidas, tenemos:
Apache HTTP Server 2
"PHP Hypertext Pre-processor"
Manejador de Base de Datos (DBMS)
Instalando la Suite(I):
Instalando la Suite(I):
● Instalamos apache2 y sus dependencias:
# apt-get install apache2 apache2-doc apache2-mpm-prefork
apache2-utils libexpat1 ssl-cert
● Instalamos php5 y sus módulos:
# apt-get install libapache2-mod-php5 php5 php5-common
php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick
php5-imap php5-json php5-mcrypt php5-memcache php5-mhash
php5-ming php5-mysql php5-ps php5-pspell php5-recode
php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
[ Va a preguntar si queremos instalar libc-client sin el soporte de Maildir, a esto
le contestamos que SI . ]
Instalando la Suite(II):
Instalando la Suite(II):
● Instalamos MySQL:
# apt-get install mysql-server mysql-client libmysqlclient15-dev
● Corremos el servicio Apache:
# /etc/init.d/apache start
[ Por defecto esta corriendo apache en el puerto 80. Esto se puede
chequear desde cualquier navegador mirando http://localhost/ ]
Configuración de MySQL:
Configuración de MySQL:
● Una vez instalado debemos editar /etc/mysql/my.cnf
[...]
#bind-address = 127.0.0.1
[...]
Con esto logramos que el
servicio este disponible
no solamente para el
localhost.
● Reiniciamos el servicio de MySQL:
# /etc/init.d/mysql restart
● Seteamos un password para la base de datos :
# mysqladmin -h localhost -u root password CONTRASEÑA
Configuración de Apache(I):
Configuración de Apache(I):
● Como le agregamos soporte para todos los modulos imaginables,
tenemos que decirle a apache cuales son las nuevas “extensiones”
que debe ejecutar, para esto:
– Editamos /etc/apache2/mods-available/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml
index.cgi index.php index.php3 index.pl index.xhtml
</IfModule>
Configuración de Apache(II):
Configuración de Apache(II):
● Puertos en que escucha apache:
– Por defecto es el puerto 80 [ /etc/apache2/ports.conf ]
Listen 80
● La configuraciones globales están en [ /etc/apache2/apache2.conf ]
– ServerRoot "/etc/apache2" /*Ubicación de los archivos de
configuración del servidor*/
– Timeout 300 /*Tiempo de espera desde una misma IP (300s)*/
– KeepAlive On /*Si quedara esperando o no conecciones
persistentes*/
Configuración de Apache(III):
Configuración de Apache(III):
● Dominios Virtuales:
– Cuando en un mismo servidor se hospedan varios
dominios, como se distinguen ?
– Surge el concepto de dominios virtuales, varios dominios
dentro de un mismo servidor.
– Por defecto, en las nuevas versiones de apache (ver. 2), se
crea un DV llamado default, que es el que corre por
defecto.
Configuración de Apache(IV):
Configuración de Apache(IV):
• Los DV se guardan en /etc/apache2/sites-available/
• Cada archivo se tiene esta forma básicamente, ejemplo [gulBAC]:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin
[email protected]
ServerName http://gulbac.org.ar
DocumentRoot /var/www/gulbac
ErrorLog /var/log/apache2/error-gulbac.log
</VirtualHost>
Configuración de Apache(V):
Configuración de Apache(V):
● Activamos el Dominio Virtual creado [gulBAC]:
# cd /etc/apache2/sites-available/
# a2ensite gulbac
[ Nota: ]
a2ensite == Apache2 enable site
a2dissite == Apache2 disable site /*Desactivar DV*/
● Finalizada la configuracion, reiniciamos el servicio:
# /etc/init.d/apache2 force-reload
Instalando un Administrador de
Instalando un Administrador de
MySQL:
MySQL:
● Descargamos “phpmyadmin”.
● Lo descomprimimos en donde dice nuestro DocumentRoot del Dominio
Virtual. [ pej. /var/www/pma ]
● Editamos el archivo de configuración [/var/www/pma/config.inic.php]:
[...]
$cfg['blowfish_secret'] = 'una frase secreta!';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
[...]
Creando una base de datos en
Creando una base de datos en
phpmyadmin:
phpmyadmin:
● Nos logueamos con el password y usuario q creamos.
● Creamos la base de datos.
Introducción a CMS:
Introducción a CMS:
● ¿Que es un CMS?
● ¿Que puedo hacer ?
● ¿Cuales son los CMS mas conocidos?
Drupal
Spip
Instalación de un CMS(I):
Instalación de un CMS(I):
● Elegimos un CMS para un administrar un
blog.
● Recordar la base de datos que creamos, o
hacer una nueva.
● Pasos de Instalación:
– Descargar Wordpress de la pagina official.
– Lo descomprimimos [ pej. /var/www/blog ]
Instalación de un CMS(II):
Instalación de un CMS(II):
● Editamos el archivo /var/www/blog/wp-config.php /*archivo de
configuración de wp*/
[...]
define('DB_NAME', 'Wordpress'); /*La que creamos en anteriores pasos*/
define('DB_USER', 'root');
define('DB_PASSWORD', 'CONTRASEÑA');
[...]
● En nuestro navegador ponemos http://localhost/blog
Sirve para entrar
en la parte de
administración.
Instalación de un CMS(III):
Instalación de un CMS(III):
● Y nuestro Blog:
Forwardeo de Puertos:
Forwardeo de Puertos:
● Necesitaremos fowardear el puerto 80 (http-default) para
que nuestro WebServer sea accesible desde afuera.
Dominios y DNS
Dominios y DNS
1) Registramos nuestro dominio en nic.ar
2) Registramos una nueva cuenta en zoneedit.com
3) Agregamos una zona nueva
4) Delegamos los DNS's en nic.ar
DNS Dinámicos:
DNS Dinámicos:
●¿Que pasa si yo tengo IP dinámica en casa?
● Simplemente modificamos el cron:
# crontab -e
y agregamos:
0,15,30,45 * * * * wget -O - --http-user=USER --http-
passwd=PASSWORD
'http://dynamic.zoneedit.com/auth/dynamic.html?
host=tudominio.com.ar,www.tudominio.com.ar'
Licencias de los Softwares
Licencias de los Softwares
● Apache: Apache License [1]
● PHP: PHP License [2]
● MySQL : GPL o Uso comercial.
● Phpmyadmin: GPL
● Wordpress: GPL
[1] http://es.wikipedia.org/wiki/Licencia_Apache
[2] http://www.php.net/license/3_01.txt
++ Extras ++
++ Extras ++
● ¿ Que le faltaría para ser el mejor Servidor ?
● Servicio de Correo Electronico (SMTP) [ nbSMTP,
Sendmail, Exim ]
● Servicio SSH [ OpenSSH ].
● Servicio FTP [ proFTPd ].
● Encriptación y Autentificación SSL.
● Retocar conceptos de seguridad.[ Permitir solo port 80 ]
● Cerveza, paciencia, y sobre todo muchas ganas de
aprender.
Links de Interes
Links de Interes
– http://www.apache.org
– http://www.mysql.com
– http://www.php.net
– http://www.phpmyadmin.net
– http://wiki.xtech.com.ar/index.php/Servidor_web_Apache
– http://howtoforge.com/perfect_setup_debian_etch
– http://www.joomla.org
– http://www.wordpress.org
– http://www.mediawiki.org
– http://www.spip.net/es
– http://www.drupal.org.es
– http://www.snewscms.com/
¿ Preguntas ?
¿ Preguntas ?
Atribución-Compartir Obras Derivadas Igual 2.5 -
Argentina
Comentarios de: Servidores Caseros: Armá tu propio Hosting (0)
No hay comentarios