Tener subdominios dinamicos es mucho más barato que tener varios dominios ya que solo necesitas uno y puede ser muy útil en tu web por ejemplo si vas a:
- internacionalizar el sitio: http://es.dominio.com, http://en.dominio.com
- para que cada usuario tenga su propio subdominio: http://gafeman.dominio.com
- para anuncios clasificados en una ciudad: http://madrid.dominio.com
Que sepa sólo se puede hacer en servidores dedicados, como por ejemplo hetzner.
Requisitos:
- Poder administrar el fichero de entradas DNS de tu dominio
- Tener apache y mod_rewrite en tu servidor
- tener permisos para conectarte al servidor via SSH
Pasos:
1. Editar entradas DNS del dominio, es un fichero con un contenido parecido a este:
www IN A ip
ftp IN CNAME www
imap IN CNAME www
loopback IN CNAME localhost
pop IN CNAME www
relay IN CNAME www
smtp IN CNAME www
@ IN MX 10 mail
añade la siguiente linea debajo de la linea que empieza por www:
* IN A www
2. Edita la configuración del dominio apache, tienes que añadir la siguiente linea en negrita para que acepte los subdominios:
ServerName dominio.com
ServerAlias *.dominio.com
ServerAdmin webmaster@localhost
3. Crea un fichero .htaccess en la raiz de tu servidor
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
4. Reinicia el apache, en la terminal y conectado por SSH a tu servidor ejecuta el siguiente comando:
/etc/init.d/apache2 reload
5. Obtiene el subdominio con PHP
$subdominio = current( explode( ‘.’, $_SERVER['HTTP_HOST'] ) );
Por ejemplo con el dominio http://madrid.dominio.com, $subdominio tendría el valor madrid.
Ejemplos:
Enlaces de interés:
Hace un rato me he dado cuenta que el blog se ha cascado, mostraba un error 500 – internal server error
La verdad es que aún no sé por que ha aparecido este error, no he tocado ningun fichero de configuración del servidor, pero en fin ya esta todo oquei!
Para solucionarlo lo primero que he intentado ha sido reiniciar el apache escribiendo en la terminal:
/etc/init.d/apache2 restart -force
Al ejecutar dicho comando han aparecido estas lineas feas:
Forcing reload of web server (apache2)…[Thu Jan 29 13:00:32 2009] [warn] module php5_module is already loaded, skipping
[Thu Jan 29 13:00:32 2009] [warn] NameVirtualHost 213.239.199.50:0 has no VirtualHosts
[Thu Jan 29 13:00:32 2009] [warn] NameVirtualHost *:0 has no VirtualHosts
httpd (no pid file) not running
[Thu Jan 29 13:00:32 2009] [warn] module php5_module is already loaded, skipping
[Thu Jan 29 13:00:32 2009] [warn] NameVirtualHost 213.239.199.50:0 has no VirtualHosts
[Thu Jan 29 13:00:32 2009] [warn] NameVirtualHost *:0 has no VirtualHosts
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
failed!
Parece que no se ha podido reiniciar el servidor porque hay algun proceso que esta ocupando el puerto 80.
Buscando en google he encontrado la solución para el error make_sock could not bind to address
La solución definitiva con 2 comandos
- Matar los procesos que ocupan el puerto 80 con el comando:
fuser -k 80/tcp - Reiniciar de nuevo el apache:
/etc/init.d/apache2 restart -force
El amigo Pablo me ha dejado una serie de preguntas sobre el servidor de viciao2k3, ahí van:
¿Dónde está?
Europa > Alemania > Nuremberg > Hetzner
La máquina que contraté es el modelo DS 3000
Hardware:
- AMD Athlon 64 3700+
- 1 GB DDR400 RAM
- 2 x 160 GB SATA HDD
Software:
- Linux Debian Etch 64 bits LAMP (Linux + Apache + MySQL + PHP)
- Servidor web lighttpd (por defecto, viene instalado apache2)
- PHP
- MySQL
- eAccelerator
- Panel de control Webmin
Otras características:
- 100% administrado vía SSH
- Ancho de banda: 1000 GB / mes
- Network Availability min. 99%
¿Cuanto pagas?
El primer pago fue de 148 euros y cada mes 49 euros
Método de pago admitido tarjeta de crédito, si resides en Alemania puedes pagar con transferencia bancaria
¿Es bueno o malo?
Excelente, pero me gustaría concretar lo que me gusta y lo que no:
Lo bueno:
- El hardware a ese precio esta muy bien
- Hoygan, es el servidor dedicado más barato que he encontrado
- Lo tienes listo el mismo día que lo contratas
- El servicio técnico responde rápidamente normalmente si no es festivo en menos de 1 hora
Lo malo:
- Los idiomas del servicio técnico inglés y alemán
- El panel de control del cliente esta en alemán (yo aún no lo he usado)
- El panel de control del servidor a mi no me gusta
- Nadie controla el servidor, tienes que estar al día con las actualizaciones y los problemas que haya
- Poca información, cuando te registras sólo te dan una IP, un usuario y contraseña para que te conectes a través de SSH
Conclusión:
Si estás sobrepasando los limites de tu servidor y sabes un poco de linux
Hetzner es una buena opción
19:46:00 up 22 days, 23:41, 1 user, load average: 0.10, 0.07, 0.01
¿Vosotros lo veis normal?
Como he dicho en anteriores ocasiones no tengo ni idea de linux y menos de administración de sistemas
Es la primera vez que estoy en un servidor dedicado y llevo unos días que estoy preocupado por el contador de días del uptime
¿Alguien sabe si cada x días tengo que hacer algo en especial?
Por decir una tontería, reiniciar el sistema
Antes de todo, quiero decir que este tutorial esta pensado para servidores con apache o lighttpd instalado
Es posible que en tu blog accediendo a:
www.tudomino.com/wp-content/uploads/
Se muestre una lista de directorios y ficheros, así:
Servidor web apache:

Servidor web lighttpd:

Si te aparece una pagina de error 403 Forbidden o una pagina en blanco no continúes leyendo este tutorial, seguramente ya lo tendrás configurado
Normalmente, eso ocurre si en el directorio no se encuentra un fichero:
index.html, index.htm o index.php.
Mostrar todos los directorios y ficheros no es muy seguro, pero puedes ocultarlos.
Continuar leyendo »










carcheky dijo:
yo prefiero hacerlo así:
$z=fgets($f1,50);
de esta manera vas asignando a la variable $z el contenido de cada línea, y si lo que quieres es leer todo el fichero e imprimirlo puedes hacerlo así:
$f1=fopen(“fichero.txt”,”r”);
while (!feof($f1)
{
$z=fgets($f1,50);
echo “$z”;
}
fclose($f1);
además, también puedes separar el contenido de una linea en variables, especificando que vas a usar como separador:
$f1=fopen(“fichero.txt”,”r”);
$z=fgets($f1,50);
$a=explode(” “,$z);
fclose($f1);
donde $a[1], $a[2]…$a[n] son las distintas variables con cada palabra separada con un espacio que el proceso encuentre en la linea elegida