Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas

miércoles, 9 de febrero de 2011

Instalar un servidor LAMP en Fedora

Un servidor LAMP se refiere a la mezcla de Linux+Apache+Mysql+PHP en este caso les voy a mostrar como configurar un servidor con los siguientes componentes:

  • Apache 2 - Servidor Web de Linux
  • MySQL 5 - Servidor de base de datos MySQL
  • PHP4/5 - Lenguaje interpretado PHP
  • phpMyAdmin - Software de administración de base de datos via web

Nota: esta instalación es realizada para Fedora Core 7 (funciona también para Core 6 y Core 8 ) la instalación para Debian y Ubuntu la puedes encontrar aquí.

Voy a suponer que para hacer esta instalación tienes privilegios de root, así que una vez que entramos como root lo primero que debemos hacer es actualizar los paquetes necesarios en Fedora con el siguiente comando:

yum -y update && reboot

Como ya muchos saben yum (Yellow Update Manager) es el manejador de paquetes por excelencia de Fedora, este comando actualiza todos los paquetes que tengan actualizaciones en tu sistema, la opción -y hace que todas las preguntas que sean hechas con respecto a descargas y actualizaciones sean si automáticamente sin que tengamos que intervenir (claro esto es opcional depende de cada quien pero es más facil porque podemos dejar desantendida la actualización), el comando reboot lo que hace es que reinicia el sistema después que termine de actualizar.

Verás una lista de los paquetes que tienen una actualización disponible y cuanto es el tamaño total de la actualización, si colocaste la opción -y empezará inmediatamente a descargar los paquetes sino te preguntará si estas deacuerdo. Esto tardará un poco dependiendo de la cantidad de paquetes que tengas por actualizar.

Una vez que se actualice el sistema y se renicie ya estamos listo para comenzar con nuestra instalación.

Nota: esta instalación se hará con los repositorios por defectos que vienen con Fedora Core 7 por lo que no se debería necesitar instalar ningún repositorio extra.

1. Instalando Apache y PHP

Apache es el servidor web más utilizado en el mundo. Puede correr en varias plataformas tales como Unix, Linux, Microsoft Windows, Novell, etc. Es open source, estable, modular y muy configurable.

Para instalarlo utilizamos el siguiente comando:

yum install httpd

Esto instala la versión de Apache2. Si quisieras instalar la versión 1.3 de Apache en cambio de colocar httpd colocamos apache, sin embargo esta instalación se basará que has instalado la versión 2 de Apache.

Para iniciar el servidor de Apache ejecutamos

service httpd start

La otra decisión que tenemos que tomar es si vamos a utilizar php4 o php5, la principal diferencia entre estos dos es que php5 es orientado a objetos y php4 no, casí todas las aplicaciones web soportan php5, aunque hay algunas que todavía no, si estas desarrollando nuevas aplicaciones te recomiendo que de una vez pases a php5 y aprendas a programar orientado a objetos, pero a la final eso es a gusto de cada quien.

Para instalar PHP 5 ejecutamos:

yum install php php gd

Esto instalará la última versión de php y la librería de graficos gd que siempre es útil.

Para instalar PHP 4 en Fedora es un poco complicado ya que hasta donde yo se no existe en algun repositorio para instalarlo directamente con yum, si alguien sabe por favor hágamelo saber para colocarlo aquí.

Aquí podrás encontrar un tutorial de cómo instalar php4 en Fedora Core 6http://www.mjmwired.net/resources/mjm-fedora-php4.html yo no lo he probado para el Core 7 aunque creo que debería funcionar si alguien lo hace y le funciona hágamelo saber.

Los archivos de configuración de apache están ubicados en: /etc/httpd/conf/httpd.conf y la carpeta web por defecto esta en /var/www/html/

Antes de comprobar que el servidor está funcionando correctamente ejecutamos:

service httpd restart

para que los cambios hagan efecto.

Luego en nuestro navegador web escribimos http://localhost/ y aparecerá una pagína parecida a esta:

Pantalla Bienvenida Apache

Si quieres ver si PHP se instaló correctamente hay un comando de php que te dá toda la información necesaria para esto tenemos que crear un archivo:

nano /var/www/html/test.php

Dentro del archivo escribe y guardalo

Luego abre tu navegador web y escribe la dirección http://localhost/test.php debería aparecer una pantalla parecida a esta:

Pagina de phpinfo()

2. Instalando el Servidor de MySQL

Instalar un servidor de base de datos es siempre necesario si estas corriendo casi cualquier sitio interectivo con PHP o algún otro lenguaje como JSP. Recuerda que para correr este tipo de servidores es necesario que al menos tengas 256MB de RAM. El siguiente comando instalará el servidor MYSQL5 que es la última versión al momento de escribir este tutorial y la librería de php para trabajar con mysql.

yum install mysql-server  php-mysql

Para iniciar el servidor de mysql ejecutamos:

service mysqld start

El archivo de configuración de mysql se encuentra en : /etc/my.cnf

Iniciando Apache y MySQL como servicios

Para iniciar tanto Apache como MySQL cada vez que inicie nuestra PC necesitamos configurarlos como servicios para esto ejecutamos los siguientes comandos:

chkconfig --level 345 httpd on
chkconfig --level 345 mysqld on

Esto hace que tanto Apache como MySQL corran como servicios en los niveles 345 (tanto con o sin interfaz gráfica) cada vez que se inicia la PC.

Creando usuarios para utilizar MySQL y cambiar el password de Root

Por defecto mysql crea un usuario como root sin ningún password, por lo que es bueno crear un password para este usuario:

Para hacer esto coloca los siguientes comandos:

mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('nuevo-password') WHERE user='root';
mysql> FLUSH PRIVILEGES;

Nunca se debe usar el usuario de root para accesar a la base de datos ya que tiene todos los privilegios sobre todas las bases de datos y por lo tanto es muy inseguro. Por esto es aconsejable crear un usuario para cada base de datos que crees, es un poco dificil crear usuarios desde la consola por lo que es más rapido y más intuitivo crealo desde un panel de control como webmin o phpMyAdmin los cuales instalaremos a continuación.

3. Instalando PhpMyAdmin

PhpMyAdmin es un software de administración basado en web que es fácil de configurar y además gratis. Es muy facil de utilizar y además permite realizar casi todas las tareas necesarias sobre las bases de datos de mysql.

Para instalarlo se ejecuta en la consola (noten las minúsculas y mayúsculas son importantes en el nombre):

yum install phpMyAdmin

Vamos ahora a modificar el archivo de configuración de phpMyAdmin:

gedit /etc/phpMyAdmin/config.inc.php

Buscamos las líneas donde dice:

$cfg['Servers'][$i]['auth_type']=''
$cfg['Servers'][$i]['user']= '';$cfg['Servers'][$i]['password']= ''

Y cambiamos por

$cfg['Servers'][$i]['auth_type']='cookie'
$cfg['Servers'][$i]['user']= 'root';
$cfg['Servers'][$i]['password']= 'clave_root_mysql'; // usa aquí tu clave que colocaste en MySQL
para root

Y agregamos esta línea ya que si no nos da un error de blowfish:

$cfg['blowfish_secret']='una pregunta secreta' //esto es para poner una pregunta secreta o clave

Te recomiendo que en esta ultima linea pongas una clave bastante fuerte.

Y reiniciamos Apache:

service httpd restart

Ahora coloca en tu navegador: http://localhost/phpMyAdmin y te aparecerá una ventana parecida a esta:

Pagina de Bienvenida phpMyAdmin

Eso es todo, phpMyAdmin y MySQL ya están instalados. Para ingresar en phpMyAdmin coloca como login root con el password que deifinimos anteriormente. Para crear nuevos usuarios puedes hacerlo desde el link que dice Privilegios.

Espero que les haya servido de algo este tutorial, ahora ya tienes un servidor LAMP completo y puedes empezar a hacer tus propios sitios web.

martes, 1 de febrero de 2011

Como quitar las versiones anteriores de Ubuntu del GRUB

Muy sencillo. Sistema > Administración > Synaptic, poner la contraseña de root y allí buscar linux-image, habran varías versiones marcadas, para desinstalarlas le dais a boton derecho > marcar para desinstalar y luego le dais a aplicar. Dejar una para poder entrar por lo menos a Ubuntu.

jueves, 21 de octubre de 2010

Cambiar entorno a los SO de distribuciones Red Hat

Red Hat tiene ciertos paquetes agrupados. Si queremos ver los que
existen no tenemos más que ejecutar el comando

# yum grouplist

Para instalar otros entorno de escritorio:

# yum groupinstall "Entorno de Escritorio LXDE"

# yum groupinstall "Entorno de Escritorio Moblin"

# yum groupinstall "Entorno de Escritorio Sugar"

# yum groupinstall "Entorno de Escritorio XFCE"

# yum groupinstall "Entorno de Escritorio GNOME"

# yum groupinstall KDE

se pone prácticamente como se dice, no hay nombre en concreto para el Entorno de Escritorio de LXDE o de GNOME, es así

lunes, 11 de octubre de 2010

Instalar Webmin


Webmin es una herramienta de configuración de sistemas accesible vía web para OpenSolaris, GNU/Linux y otros sistemas Unix. Con él se pueden configurar aspectos internos de muchos sistemas operativos, como usuarios, cuotas de espacio, servicios, archivos de configuración, apagado del equipo, etcétera, así como modificar y controlar muchas aplicaciones libres, como el servidor web Apache, PHP, MySQL, DNS, Samba, DHCP, entre otros.

Para poder instalarte el Webmin en Linux deberias de entrar en la página de descargas: http://www.webmin.com/download.html
Elige el archivo para bajartelo (.deb distribuciones Debian - .rpm distribuciones Red Hat) y una vez bajado puedes instalarlo gráficamente o mediante terminal:
  • Para distribuciones Debian: dpkg -i "archivo_webmin.deb"
  • Para distribuciones Red Hat: rpm -i "archivo_webmin.rpm"
Una vez instalado, habrá que comprobar si el servicio esta arrancado. Por defecto, Webmin al instalarse se arranca automáticamente, pero por si acaso hubiese un error:
  • Para distribuciones Debian: /etc/init.d/webmin start
  • Para distribuciones Red Hat: service start webmin
Para entrar en Webmin, entraremos en nuestro navegador web y en la barra de dirección ponemos lo siguiente:
  • http://127.0.0.1:10000 o http://localhost:10000 (si no puedes entrar, prueba en ponerlo con https)
Por último, el usuario con el que tienes que entrar es con el usuario de tu equipo (por lo que he comprobado, con los Red Hat puedes entrar como root y con su contraseña)

Instalar Servicios en Linux (desde terminal)

Aquí os dejo una ayuda para instalar algunos servicios a tus Sistema Operativo Linux desde tu terminal
  • Instalar Apache
    • Distribuciones Debian: apt-get install apache2
    • Distribuciones Red Hat: yum install httpd
  • Instalar DHCP
    • Distribuciones Debian: apt-get install dhcp3-server
      • Fichero de configuración: /etc/dhcp3/dhcpd.conf
    • Distribuciones Red Hat: yum install dhcpd
      • Fichero de configuración: /etc/dhcp/dhcpd.conf
  • Instalar DNS
    • Distribuciones Debian: apt-get install bind9
      • Fichero de configuración: /etc/bind9/named.conf
    • Distribuciones Red Hat: yum install bind
      • Fichero de configuración: /etc/named.conf

miércoles, 22 de septiembre de 2010

Instalar JDownloader en Ubuntu


He oido que ha varias personas les han dado problemas esto de instalarse JDownloader en Ubuntu, pero yo he probado y ha sido muy simple
Lo primero que he hecho es poner lo siguiente la consola de comandos:
sudo add-apt-repository ppa:jd-team/jdownloader
Y después de eso, he puesto lo siguiente:
sudo apt-get update && sudo apt-get install jdownloader
Con esto he conseguido instalarme el JDownloader en Ubuntu. Un consejo, ¡¡¡¡NO HAGAIS COPY-PASTE DE ESTOS 2 COMANDOS!!!!, cuando lo probé con copy-paste no me salía. Yo aconsejó copiar el comando escribiendolo en la consola de comandos, de una forma más segura. Espero que os sirva

martes, 14 de septiembre de 2010

No puedo entrar como root

Alguna vez te ha pasado que necesitas realizar algo urgente en consola como superusuario y ¡¡SORPRESA!! se te ha olvidado la contraseña del root y no tienes ningun usuario sudoer (usuario comun con permisos de superusuario) pues la solución es sencilla de nuevo necesitaremos un linux en live cd (ubuntu, knoppix o cualquier otro que se te ocurra)

Iniciaremos el live cd e iniciaremos una consola de terminal como root (por lo general ingresamos como root con el comando sudo bash) y montamos la particion linux primero que todo listamos la tabla de particiones

- #fdisk -l (en mi caso la partición linux es hda3)

luego creamos una carpeta en la que montaremos nuestra partición

- #mkdir /tmp/hda3

y montamos la particion hda3 dentro de la carpeta que creamos (/tmp/hda3)

- #mount /dev/hda3 /tmp/hda3

cambiamos el directorio raiz de / a /tmp/hda3

- #chroot /tmp/hda3

ya con /tmp/hda3 como raiz el s.o (linux) supone que sus archivos del sistema son los que tiene la particion asi que cualquier cambio que realices alli tendrá efectos en el linux instalado en esta particion entonces sabiendo esto cambiaremos la contraseña del root o cualquier usuario al que deseemos cambiarle el password

- #passwd root

y para terminar colocamos la contraseña que deseemos y reiniciamos el equipo desde el linux alojado en nuestro equipo y probamos la contraseña nueva....

Como crear VirtualHosts

Hay 2 maneras distintas, depende de la distribución

VirtualHosts en distribuciones para Debian, Ubuntu, etc...

Lo que sigue es una breve nota técnica que me sirva (y a otros) como recordatorio para la próxima vez , dado que hoy he perdido un rato con la configuración de un host virtual en Ubuntu (en Fedora lo tenía todo ya hecho, y sólo era copiar y pegar :-)

En /etc/apache2 disponemos de varios subdirectorios, dos de ellos importantes para nuestra tarea. El primero sites-available y el segundo sites-enabled.

Los ficheros de configuración de los hostings virtuales se configuran en sites-available. El segundo subdirectorio sólo contiene enlaces a aquellos virtulhost que queremos activar.

Queremos crear un virtualhost de nombre hackit. Es decir, cuando ponga en mi navegador http://hackit me debe de llevar a la página principal de ese host. Si pongo http://localhost me llevará al virtualhost por defecto (distinto del de hackit).

Lo primero, creo una nueva entrada en /etc/hosts (mantengo lo que había y añado lo siguiente):

127.0.0.1 hackit

Copio los archivos del nuevo site en /var/www/hackit.

Comienza el procedimiento de configuración del nuevo virtualhost en Apache2:

$ cd /etc/apache2/sites-available

Edito las dos primeras líneas del fichero default para que queden así:

NameVirtualHost *:80
<VirtualHost *:80>
$ cp default hackit

Edito hackit para que las primeras líneas queden así:

<VirtualHost *:80>
ServerAdmin webmaster@hackit

ServerName hackit

DocumentRoot /var/www/hackit
<Directory />
Options FollowSymLinks
AllowOverride None
</ Directory>
<Directory /var/www/hackit>
$ cd /etc/apache2

El siguiente comando, a2ensite (available2enablesite) crea un enlace en sites-enable al site que le indiquemos (es decir, activa el virtualhost que acabamos de crear)

  • a2ensite hackit

Comprobamos:

$ ls -al sites-enabled/

Recargamos apache2:

  • /etc/init.d/apache2 force-reload

Listo!

VirtualHosts en distribuciones para Fedora, Red Hat, etc...

Supongamos que queremos instalar la web de Bulma en un Linux, donde el Apache ya está sirviendo un website. Es decir, en la URL http://www.midominio.com tenemos unas páginas, que queremos mantener, pero también queremos instalar Bulma. La solución más evidente pasa por instalarla en un directorio de nuestra web, pero veremos que con muy poco esfuerzo podemos tener la web de Bulma en http://bulma.midominio.com. Para empezar, daré por sentado que has leído el artículo de Instalacion de bulmita en Red Hat 6.2 (Actualización) de DaniRC y que has seguido sus instrucciones. La única diferencia es que instalaremos la web en '/home/httpd/bulma' (Esto va a gusto del consumidor ;-)

Ahora editaremos el fichero de configuración del Apache con nuestro editor de textos favorito:

 # vi /etc/httpd/conf/httpd.conf 

Nos dirigiremos hacia el final de dicho fichero y añadiremos las siguientes lineas:


NameVirtualHost 192.168.0.1
<VirtualHost 192.168.0.1>
ServerAdmin webmaster@midominio.com
DocumentRoot /home/httpd/html
ServerName www.midominio.com
ErrorLog logs/error_log
CustomLog logs/access_log common
</VirtualHost>
 <VirtualHost 192.168.0.1>
ServerAdmin webmaster@midominio.com
DocumentRoot /home/httpd/bulma
ServerName bulma.midominio.com
ErrorLog logs/bulma-error_log
CustomLog logs/bulma-access_log common
</VirtualHost>


Con la directiva NameVirtualHost dirección IP, le estamos diciendo al Apache que activamos los Hosts virtuales para esa dirección IP, y los siguientes grupos <VirtualHost 192.168.0.1>...</VirtualHost> definen los hosts virtuales de nuestro servidor. En cada uno de estos bloques, le indicamos al Apache el DocumentRoot del host especificado en ServerName: si miramos el segundo bloque veremos que le estamos diciendo al Apache que cuando reciba una petición dirigida bulma.midominio.com, obtenga los archivos de '/home/httpd/bulma', tal y como queríamos.

Supongo que a estas alturas te estarás preguntando como se lo hace el Apache para saber si una petición va dirigida a uno u otro host virtual. La respuesta esta en las cabeceras del HTTP/1.1: cuando un navegador envía una petición al servidor usando el protocolo HTTP/1.1 envía una cabecera del tipo host: nombre_de_un_host con la que el Apache puede discriminar las peticiones de los distintos hosts virtuales. El problema viene cuando el navegador es muy antiguo y utiliza el protocolo HTTP/1.0, en este caso el Apache servirá siempre la página del host por defecto.


Ahora ya hemos configurado el servidor web para que responda adecuadamente a las peticiones que vayan dirigidas a un host virtual pero aún nos falta otra cosa: debemos configurar nuestro servidor DNS para que las peticiones dirigidas a los hosts virtuales lleguen al servidor. En este caso, nos basaremos en el artículo Como configurar un servidor de DNS (revisado), que también escribió DaniRC. Lo que tenemos que hacer es añadir la siguiente linea en el fichero de configuracion para la zona de vuestro dominio, que en el ejemplo de DaniRC es el fichero 'arch/ibiza-programacion.com':

 bulma CMANE www 

Así le estamos diciendo al servidor de DNS que el nombre bulma es un alias de www. De esta manera los clientes ya podrán obtener la dirección IP de bulma.midominio.com. En vuestro caso, debereis añadir el alias en el fichero de configuracion para la zona de vuestro dominio.

Y para aquellos que no tengais servidor de DNS, editais el '/etc/hosts' y en la linea de vuestro ordenador, añadis el alias bulma.midominio.com.

 192.168.0.32 www.midominio.com bulma.midominio.com 


Para finalizar, reiniciaremos los servidores named y apache para que la nueva configuración tenga efecto,