Taller de LAMP
Taller de LAMP
Linux + Apache + MySQL + PHP
Linux + Apache + MySQL + PHP
Sergio Cayuqueo
Sergio Cayuqueo
[email protected]
[email protected]
Futa Traw
Gran Parlamento Indígena Nacional
CaFeCONF 2006
CaFeCONF 2006
Sobre la charla
Esquema LAMP
Linux + Apache + MySQL+ PHP
¿Que podemos hacer?
Podemos utilizar un ordenador como servidor Web.
Desarrollar sitios web dinámicos (Portales,
Aplicaciones web etc).
Como un servidor casero, escolar con ADSL, Cable,
Con dominio propio (.com,.org. com.ar, .edu.ar etc)
etc.
¿Para que ?
Para tener nuestros archivos disponibles desde
cualquier lugar si necesidad de un servicio pago,
con nuestro propio espacio y ancho de banda.
En casa
Galerías de fotos (ej Galrey), documentos,
paquetes, mi pagina personal, cosas que no
puedo llevar en un pendrive, cosas que quiero
que vean todos.
En la escuela
La página de la escuela, archivos, tp's cosas de
los alumnos, cosas que no me puedo mandar por
mail del colegio a casa etc etc
GNU/Linux
Sistema operativo
Libre
Instalación simple, configuración
Mucha documentación
Amplio soporte
Muchas distribuciones a medida
Ej. Lamppix
PHP
Orientado al Web
Soporte de mútiples sistemas de bases de datos
Oracle, MySQL, PostgreSQL etc (aprox 10 o mas)
Modular
Muchas extensiones, scripts, documentos, la documentación
oficial muy completa, listas de correo por todo el mundo
Muy fácil de aprender
Apache
●Servidor web
● Multiplataforma
● Módulos
● Múltiples lenguajes
● Autenticación, control etc
● El mas usado
● Mucha documentación
● Paquetes para casi todas las distros
Apache
apt-get install apache
apt-get install libapache-mod-php4
Configuración
/etc/apache2/apache2.conf
/etc/apache2/ports.conf
/etc/apache2/sites-available
/etc/apache2/sites-enable
PHP4
/etc/php4/apache/php.ini
/var/www
/usr/lib/cgi-bin
Apache
<?
phpinfo();
?>
MySQL
Servidor de Bases de datos SQL
Almacenamos datos en un servidor y los podemos modificar
o extraer por medio de scripts en php (libros de visitas, CMS,
WebLog, etc)
apt-get install mysql-server mysql-client php4-mysql
/etc/mysql
/var/lib/mysql
www.mysql.com
Que podemos instalar en el servidor
Gestores de contenido, muchas webs diferentes con host's virtuales etc
/etc/apache2/sites-available
<VirtualHost *>
ServerAdmin
[email protected]
DocumentRoot /var/www/cayu/
ServerName cayu.com.ar
ServerAlias www.cayu.com.ar
ScriptAlias /cgi-bin/ /var/www/cayu/cgi-bin/
# ErrorLog /var/log/apache2/cayu.com.ar-error.log
# CustomLog /var/log/apache2/cayu.com.ar-access.log common
</VirtualHost>
ln -s /etc/apache2/sites-available/cayu /etc/apache2/sites-enabled
DNS Dinamico
DynDns http://dyndns.org
Zone Edit http://www.zoneedit.com
Every Dns http://www.everydns.net/
FreeDNS http://freedns.afraid.org/
ZoneEdit
ZoneEdit
ZoneEdit
DDClient
Daemon que cuando realizamos la conexión PPP y/o que
cada xxx cantidad de segundos actualiza la IP
Debian/Ubuntu/Derivados
apt-get install ddclient
Codigo fuente en Perl
http://ddclient.sourceforge.net/
DDClient
Daemon que cuando realizamos la conexión PPP o que cada
xxx cantidad de segundos actualiza la IP
/etc/ddclient.conf
pid=/var/run/ddclient.pid
protocol=zoneedit1
use=web, web=zoneedit.com/checkip.html
#use=if if=eth0
server=www.zoneedit.com
login=Sergio
password=MiPasswordDificil
wildcard=yes
cd4046.com.ar,cayu.com.ar.........
pid=/var/run/ddclient.pid
protocol=dyndns2
use=web, web=checkip.dyndns.org
#use=if, if=eth0
server=members.dyndns.org
login=Sergio
password=MiPasswordMasDificilQueElAnterior
wildcard=yes
cd4046.homelinux.org
WebLog
http://www.simplephpblog.com/
PhpSysInfo
apt-get install
phpsysinfo
http://phpsysinfo.sf.net
Visitors
apt-get install visitors
http://www.hping.org/visitors
30 * * * * cayu run-parts --report /etc/cron.hourly
/etc/cron.hourly
#!/bin/bash
visitors -A -g 50 -k 50 -o html /var/log/apache2/access.log > /var/www/stats.html
Visitors
Ordena los archivos log's mensual, diaria, semanal etc.
Logrotate
Y los comprime
cayu@servidor:/etc/logrotate.d$ cat apache
/var/log/apache/*.log {
monthly
missingok
rotate 52
compress
delaycompress
notifempty
create 644 root root
sharedscripts
postrotate
/etc/init.d/apache reload > /dev/null
endscript
}
Amule giFT
Programas p2p como daemon en nuestro server constantemente
compartiendo archivos
deb http://www.vollstreckernet.de/debian/ stable amule
deb http://www.vollstreckernet.de/debian/ stable wx
deb ftp://ftp.berlios.de/pub/gift-fasttrack unstable main
apt-get install amule-daemon giftd libfasttrack-gift libopenft-gift
libgnutella-gift
Amulegui
giftoxic
Tip's
/etc/crontab
0,5,10,15,20,25,30,35,40,45,50,55 * * * * root /etc/ppp/re-up-ppp
/etc/ppp/re-up-ppp ( -rwxr-x--- root root )
#!/bin/bash
IFCONFIG=`ifconfig`
BUSCADO=ppp0
echo "estoy buscado "$BUSCADO" en el ifconfig"
echo $IFCONFIG |grep $BUSCADO &> /dev/null
if [ $? = 0 ]; then
echo "ppp0 esta aparentemente activa, no se hace nada al respecto"
else
echo "esta desconectado del ciudad, intento reconectar"
pon
fi
Tip's
Desactivar Root
(como root) password -l
Usar sudo
apt-get install sudo
/etc/sudoers
root ALL=(ALL) ALL
%cayu ALL=(ALL) ALL
(como usuario en sudoers) cayu:~$password -u root
Reactivar Root
Tip's
SSH
Port 555
AllowUsers cayu
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes
PrintMotd no
PrintLastLog no
#ListenAddress 192.168.1.50
Para iniciar, detener o reiniciar todo demonio en
Recordar
Debian
/etc/init.d/[nombre-servicio] start
stop
restart
update-rd.d -f ssh remove
update-rd.d -f ssh dafaults
Habilitar NAT y googlear
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Nota: ver postfix
Teniendo en cuenta lo anterior
Podemos tener nuestra propia empresa de hosting y
venderle espacio a mis vecinos :p
Panel de control libre (quotas de disco, estadisticas,
bases de datos, armado de planes a medida etc etc)
ISP Config www.ispconfig.org
VHCS www.vhcs.net
...con un servidor las 24hs del día conectado
los limites los pone su imaginación...
Final
Sergio Cayuqueo
JID
[email protected]
[email protected]
http://www.futatraw.org.ar
http://www.lanux.org.ar
Comentarios de: Taller de LAMP (0)
No hay comentarios