En este tutorial vamos a ver como instalar y configurar un servidor LEMP para Ubuntu, aunque en este caso estoy utilizando la versión de Ubuntu 14.04, este tutorial sirve para cualquier versión de Ubuntu desde la 12.04.

Si quieres saber como instalar un Servidor LAMP en Ubuntu con Apache puedes ver este tutorial.

Un servidor LEMP se refiere a un conjunto de aplicaciones que por sus siglas es Linux+(Engine X)nginx+MySQL+PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:

nginx – Servidor Web muy versatil y rápido, muy utilizado y un buen sustituto para Apache. Se suele pronunciar Engine X por eso la E de LEMP.

MySQL 5 – Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web

PHP 5 – Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web

Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).

Pasos previos:

 

  • Obtener e Instalar Ubuntu: lo pueden obtener desde la página Oficial de Ubuntu, si el servidor Web LEMP sólo lo van a utilizar como servidor les aconsejo descargar la versión de servidor. Igualmente se puede hacer la instalación sobre la versión de Escritorio de Ubuntu.
  • El servidor debe tener al menos 256 MB de memoria RAM, si no saben cuanta memoria tiene su PC simplemente ejecuten free -m en el terminal si donde dice total es mayor a 256 están bien. Yo personalmente recomiendo tener al menos 512 MB de memoria RAM
  • También pueden probar instalando el servidor en una máquina virtual ya sea con virtualbox, vmware, kvm o el manejador de máquinas virtuales de su preferencia.
  • Si van a hacer la administración del servidor LEMP de manera remota les aconsejo instalar openssh-server (sudo aptitude install openssh-server).

Les aconsejo también seguir el tutorial paso a paso, he tratado de hacer los pasos lo más concretos y cortos posibles, para que así no se pierdan de nada y tampoco les aburra el tutorial.

Bueno ya tenemos todo listo para empezar así que abran un Terminal y pongámonos a trabajar.

1. Actualizar nuestro sistema

Es siempre aconsejable realizar la actualización de nuestro sistema antes de llevar a cabo cualquier instalación simplemente ejecuten lo siguiente en el terminal

sudo apt-get update && sudo apt-get upgrade

Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible. Si les hace cualquier pregunta acerca de actualizar algún paquete pueden contestar que sí.

2. Instalar NGINX

La forma más fácil de instalar nginx es ejecutar el siguiente comando:

sudo apt-get install nginx

Cuando pregunte si quieres continuar simplemente responde Y y enter y espera que finalice la instalación.

Para probar que la instalación se hizo correctamente en tu navegador ve a http://localhost  o http://tudireccionIP y deberías ver un mensaje como este:

nginx

3. Instalar MySQL

MySQL es una de las base de datos open source más popular y utilizadas en innumerables páginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fácil de configurar y lo bastante rápida para la mayoría de las aplicaciones comunes.

Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:

sudo apt-get install mysql-server

Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL

Durante la instalación les aparecerá la siguiente pantalla solicitando la clave de root para el servidor MySQL, aquí deberán colocar una clave para el administrador de la base de datos, no es recomendable colocar la misma clave del usuario de Ubuntu, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, símbolos y números, no son permitidos los espacios en blanco.

Nota: No confundir esto con el usuario root de Linux, este es el usuario root de MySQL

Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:

mysql -u root -p

Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt  mysql> algo parecido a esto:

vensign@lemp-vensign:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro.

Los comandos para administrar MySQL son:

Función Comando Comando Corto
Iniciar MySQL sudo /etc/init.d/mysql start sudo service mysql start
Detener MySQL sudo /etc/init.d/mysql stop sudo service mysql stop
Reiniciar MySQL sudo /etc/init.d/mysql restart sudo service mysql restart
Estatus MySQL sudo /etc/init.d/mysql status sudo service mysql status

 

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

4. Haciendo Seguro MySQL

Si vamos a utilizar nuestro servidor para producción queremos que sea lo más seguro posible, en el caso de MySQL nos proporciona un script que podemos ejecutar para realizar algunas configuraciones de seguridad.

Para esto ejecutamos el siguiente comando:

sudo mysql_secure_installation

Primero nos preguntará la contraseña de root de MySQL que establecimos en el paso anterior.

Luego nos preguntará si queremos cambiar nuestra contraseña de usuario root de MySQL si estás contento con tu contraseña puedes decir que N a este paso.

Luego nos hará una serie de preguntas a las cuales lo más fácil y seguro es responder que Si a todas. Coloco un comentario sobre cada pregunta para explicar un poco de que trata.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

// Quitar cualquier usuario anónimo
Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

// Que el usuario root de MySQL no se pueda loguear remotamente
Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

// Quitar la base de datos test que crea por defecto MySQL
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

// Recargar los privilegios para que hagan efecto los cambios.
Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

Con esto tendremos un MySQL un poco más seguro.

5. Instalar PHP

PHP es un lenguaje interpretado que es utilizado para crear páginas web dinámicas y aplicaciones, de una manera rápida y flexible. Entre las plataformas que utilizan PHP está WordPress, Drupal y Joomla.

Para instalar PHP 5 junto con el soporte para MySQL ejecutamos el siguiente comando en el terminal:

sudo apt-get install php5-fpm php5-mysql

Igual que en los pasos anteriores responde S cuando te pregunte que quieres instalar los paquetes.

Nota: Como vemos instalamos la versión FPM de PHP ((PHP5 FastCGI Process Manager), esta es la versión ideal para utilizar con nginx.

Los comandos para administrar PHP son:

Función Comando Comando Corto
Iniciar PHP sudo /etc/init.d/php5-fpm start sudo service php5-fpm start
Detener PHP sudo /etc/init.d/php5-fpm stop sudo service php5-fpm stop
Reiniciar PHP sudo /etc/init.d/php5-fpm restart sudo service php5-fpm restart
Estatus PHP sudo /etc/init.d/php5-fpm status sudo service php5-fpm status

6. Configurar NGINX y PHP para que funcionen juntos

Ahora que tenemos todos los componentes instalados nos falta configurar PHP y NGINX para que trabajen juntos para estos hacemos los siguientes pasos:

Primero editamos el archivo de configuración de PHP-FPM que está ubicado en /etc/php5/fpm/php.ini. Abrélo con tu editor de texto favorito, en este caso yo voy a utilizar nano:

sudo nano /etc/php5/fpm/php.ini

Y cambiamos la línea cgi.fix_pathinfo=1 por, si el parámetro tiene un ( ; ) adelante lo eliminamos ya que quiere decir que está comentado :

cgi.fix_pathinfo=0

Nota: Si este parámetro lo dejamos en 1, el intérprete de php hará todo lo posible para procesar el archivo más cercano al archivo solicitado, lo que es un riesgo de seguridad. Colocando el parámetro a 0 sólo se procesará el archivo solicitado.

Guardamos el archivo y reiniciamos PHP ejecutando:

sudo service php5-fpm restart

Ahora vamos a modificar el archivo de configuración del sitio por defecto de nginx que es el que vamos a utilizar y que está ubicado en /etc/nginx/sites-available/default, una vez más utilizando nano:

sudo nano /etc/nginx/sites-available/default

Debemos descomentar las líneas que comienzan con # que se indican a continuación para que el archivo quede de la siguiente forma:

 location ~ \.php$ {
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
 #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
 #
 #       # With php5-cgi alone:
 #        fastcgi_pass 127.0.0.1:9000;
 #       # With php5-fpm:
         fastcgi_pass unix:/var/run/php5-fpm.sock;
         fastcgi_index index.php;
         include fastcgi_params;
 }

Guarda el archivo y reiniciamos nginx ejecutando:

sudo service nginx restart

7. Verificando que todo funciona

Por último debemos verificar que todo funciona y que nuestra configuración está correcta.

En Ubuntu el directorio por defecto donde estarán nuestros archivos para el sitio es /usr/share/nginx/html. Por lo que crearemos un archivo ahí que llamaremos prueba.php, creamos el archivo ejecutando:

sudo nano /usr/share/nginx/html/prueba.php

Y dentro de ese archivo escribimos la siguiente línea:

<?php phpinfo(); ?>

Ahora abrimos en nuestro navegador http://localhost/prueba.php o http://tudireccionip/prueba.php

Y nos debería aparecer algo como:

php-nginx

Si no te aparece esto o produce algún error entonces verifica tu configuración o deja un comentario y veré como puedo ayudarte.

Eso es todo ya tenemos un servidor LEMP funcionando, no olvides borrar el archivo de prueba.php una vez que hayas terminado de probar el servidor, ya que este archivo da mucha información de tu servidor que no queremos que sea pública.

Cualquier duda o sugerencia por favor deja un comentario y si te gustó este artículo puedes suscribirte al blog dejando tu dirección de correo en la barra de la izquierda y recibirás un correo semanal con los últimos artículos que tenemos.

Este es un pequeño tutorial de como instalar PHPUnit que es un framework para realizar pruebas de nuestro código PHP.

Cómo prerequisito tenemos que tener instalado PEAR, viene preinstalado en muchas de las distribuciones de Linux y es fácil de instalar en MS Windows y MAC OS.

En Ubuntu para instalar PEAR ejecutamos

sudo apt-get install pear

Y luego lo actualizamos ejecutando:

sudo pear upgrade pear

Instalar PHPUnit

Primero instalamos el paquete de phpunit de Ubuntu ejecutando:

sudo apt-get install phpunit

Luego ejecutamos las siguientes líneas en el terminal para agregar los canales de dependencia de PHPUnit:

sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony.com

Por último instalamos PHPUnit ejecutando:

sudo pear install --alldeps phpunit/PHPunit

Para comprobar que PHPUnit está instalado correctamente podemos ejecutar:

phpunit –version

phpunit --version
PHPUnit 3.7.19 by Sebastian Bergmann.

Les debería aparecer algo como la última línea la versión podría variar.

Con esto ya tenemos instalado PHPUnit y podemos comenzar a probar.

Cualquier duda o sugerencia por favor dejen un comentario.

Logo Composer PHPComposer es un manejador de dependencias para PHP, este proyecto inspirado en npm y Bundler y sirve para administrar librerías de terceros o propias en nuestros proyectos de PHP.

Composer es capaz de de instalar las librerías que requieres para tu proyecto con las versiones que necesites y si esas librerías dependen de otras también es capaz de resolver las dependencias y descargar todo lo que necesites para que funcione, quitándonos el dolor de tener que hacer esto manualmente y mantenerlo todo actualizado.

Instalar Composer

Composer está formado por dos partes, la primera es una aplicación de línea de comandos que permite encontrar, descargar, actualizar y compartir los paquetes o librerías y el otro es el repositorio donde se guardan dichos paquetes o librerías.

Para instalar Composer solo debes ejecutar en el terminal:

cd /ruta_a_tu_proyecto_php
curl -s https://getcomposer.org/installer | php

Si NO tienes curl instalado puedes ejecutar:

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

Lo que hace este instalador es chequear que tu php.ini esté configurado con lo necesario y de lo contrario te arrojará un error.

[alert_yellow textalign=”left”] Composer es un archivo ejecutable Phar por lo que debes tener habilitado phar dentro del php.ini, si no lo tienes simplemente descomenta extension=phar.so. [/alert_yellow]

Luego para comprobar que se instaló correctamente puedes ejecutar

php composer.phar

Si todo salió bien debe desplegar una lista de las opciones del comando.

Si quieres ejecutar Composer globalmente ejecutamos este comando adicional:

sudo mv composer.phar /usr/local/bin/composer

Con esto podremos ejecutar directamente el comando desde cualquier sitio o proyecto, por ejemplo:

composer about

Utilizando Composer

Como mencionamos anteriormente Composer está basado en Bundler y npm por lo que su uso es muy parecido a estas herramientas.

Para indicar las dependencias de tu proyecto debes crear un archivo llamado composer.json que en su forma más básica debe verse así:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

Veamos sus partes:

  • require: esta palabra simplemente le dice a Composer que necesitamos la libreria que le indicamos dentro de los corchetes {}
  • Nombre del paquete o libreria: está separado en dos partes vendedor/proyecto, normalmente estos dos son iguales como en este caso o pueden ser distintos por ejemplo “illuminate/foundation”.
  • Versiones del paquete: después de los dos puntos ( : ) indicamos la versión que queremos de este paquete. Tenemos varias opciones:
    • Versión exacta: podemos decirle a Composer que queremos una versión específica como por ejemplo 1.0.1.
    • Rango: Podemos definir rangos de versiones con los operadores >, >=, <, <=, !=. Por ejemplo si queremos una versión mayor a la 2 colocariamos >2. También podemos definir entre dos versiones separando con comas, por ejemplo >=1.0, <2.0.
    • Comodín: podemos usar el comodín ( o wildcard ) * para definir versiones, como ejemplo 1.0.* esto quiere decir cualquier versión dentro de 1.0 ( 1.0.1, 1.0.2 … 1.0.8 etc.)
    • Por último tenemos el operador ~, es un poco dificil de explicar así que usaremos un ejemplo: tenemos una librería que tiene la versión 1.x y 2.x pero no son compatibles entre ellas y queremos la última de 1.x y no la de 2.x entonces utilizaríamos el operador de esta forma ~1.2 que es equivalente a >=1.2, <2.0, mientras si vamos a algo más específico como ~1.3.1 es equivalente a >=1.3.1, <1.4.

Como vemos podemos ser tan libres o específicos como queramos, y me falto mencionarles que si no nos importa la versión simplemente podemos colocar “*”.

Instalando las Dependencias

Una vez que tengas configurado tu archivo composer.json con todos los paquetes que requiere tu proyecto es hora de que Composer haga su trabajo y lo instale para esto ejecutamos:

php composer.phar install

O si seguiste mi consejo e instalaste Composer como un comando global (ver arriba) puedes ejecutar:

composer install

Una vez que termina de descargar los paquetes los coloca dentro de una carpeta llamada vendor por defecto esto lo podemos cambiar en nuestro archivo composer.json agregando las siguientes líneas:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
    "config": {
        "vendor-dir":"librerias"
    }
}

Aquí especificamos librerias como el directorio a donde se descargan los paquetes. 

[alert_green textalign=”left”]Tip: Si estás utilizando git para tu proyecto, probablemente quieras agregar vendor (o el directorio que hayas especificado) dentro de .gitignore. Con esto evitamos agregar el código adicional a nuestro repositorio sin necesidad. [/alert_green]

Si queremos actualizar las librerias ejecutamos:

php composer.phar update

O si está como comando global:

composer update

Autoloading

Ademas de descargar las librerias, Composer también prepara un archivo de autoload que es capaz de autocargar todas las clases en cualquiera de las librerías descargadas. Para utilizarlo, simplemente añadimos la siguiente línea en nuestro código:

require 'vendor/autoload.php';

[alert_red textalign=”left”] Por supuesto que si cambiaste el directorio de descarga lo tienes que actualizar en esta línea. [/alert_red]

Repositorios

Si quieres ver los paquetes disponibles puedes visitar el repositorio en https://packagist.org/

Conclusión

Esto es todo por ahora, Composer a mi parecer es una herramienta que hacia mucha falta en PHP, muchos frameworks como FuelPHP, CodeIgniter, Symfony2 y Laravel ya están integrando Composer.

Además es una gran herramienta para utilizar tanto en desarrollo como en producción y que nos ahorra una gran cantidad de trabajo de manejo y mantenimiento.

Aquí solo he tocado la superficie de la configuración puedes ver mucho más en la Documentación.

Me gustaría saber que opinan de esta herramienta y si la está usando o la planean utilizar en sus proyectos, por favor dejen sus comentarios.

Recursos

[list_check]

[/list_check]

 

Muchas veces cuando estamos realizando nuestras páginas y aplicaciones necesitamos presentar solo una porción del texto ( de un String ), como por ejemplo cuando tenemos un artículo y sólo queremos mostrar un pequeño extracto en alguna parte.

/**
* Return sub string sin etiquetas HTML y puntos suspensivos al final
* @param $string String 
* @param $length Largo que queremos el substring
* @return String con ...
*/

public function getSubString($string, $length=NULL)
{
    //Si no se especifica la longitud por defecto es 50
    if ($length == NULL)
        $length = 50;
    //Primero eliminamos las etiquetas html y luego cortamos el string
    $stringDisplay = substr(strip_tags($string), 0, $length);
    //Si el texto es mayor que la longitud se agrega puntos suspensivos
    if (strlen(strip_tags($string)) > $length)
        $stringDisplay .= ' ...';
    return $stringDisplay;
}

Yo suelo colocar el nombre de las variables en mis funciones en inglés, por costumbre y por estandar. Veamos como está compuesta la función:

La función acepta dos parámetors $string que es el texto que queremos acortar y length que es el largo que queremos que nos devuelva el nuevo texto.

Utilizamos  la función substr de PHP, esta función acepta los siguientes parámetros:

string substr ( string $string , int $start [, int $length ] )

Un $string que es el texto que queremos acortar y los otros dos parámetros es donde queremos comenzar y donde queremos que finalice. Adicionalmente utilizamos la función strip_tags que elimina las etiquetas HTML del texto, esto nos sirve para dos cosas la primera es para quitar cualquier formato del texto y segundo nos sirve para eliminar cualquier etiqueta que nos pueda ocasionar problemas ya sea al guardar el texto en una base de datos o al utilizarlo como una variable en nuestro código. Si quieres conservar las etiquetas simplemente quita strip_tags y deja solo la variable $string.

Tambien damos un valor por defecto a la longitud (length) en caso de que no se le pase este valor a la función.

Por último simplemente verificamos que si el largo del texto es mayor que el largo al que lo queremos cortar le agregue puntos suspensivos al final.

Forma de uso:

//El string que queremos recortar con etiquetas HTML
$texto = "<p>Hay dos cosas infinitas: el Universo y la <strong>estupidez humana</strong>. Y del Universo no estoy seguro.</p>"
//La función colocando un largo de 42 caracteres contando los espacios.
getSubString($texto, 42)

Obtendremos:

Hay dos cosas infinitas: el Universo y la ...

Es una función bastante sencilla y útil en muchos casos.

Si tienes cualquier duda, sugerencia o quieres simplemente saludar, por favor deja un comentario.

Nivel : Básico – Intermedio

Ya ha pasado un tiempo desde que escribí el tutorial de Instalar un servidor LAMP en Fedora Core 6 , Core 7 y Core 8, es un artículo con muchas visitas y con más de 100 comentarios y preguntas, he decidido a que ya es hora de actualizarlo a la versión 12 de Fedora que es la más reciente al momento, además aprovechar y agregar mucho de los tips y preguntas incluidas en los comentarios así como también las cosas que han cambiado y algunos tópicos más avanzados. Así que empecemos…

En este tutorial vamos a ver como instalar y configurar un servidor LAMP para Fedora 12.

Un servidor LAMP se refiere a un conjunto de aplicaciones que por sus siglas es Linux+Apache+MySQL+PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:

Apache 2 – Servidor Web muy versatil y uno de los más utilizados en el mundo

MySQL 5 – Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web

PHP 5 – Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web

Y veremos algunas utilidades como phpmyadmin que nos permitirán administrar mejor nuestro servidor.

Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).

Pasos previos:

  • Obtener e Instalar Fedora: lo pueden obtener desde la página Oficial del proyecto Fedora.
  • El servidor debe tener al menos 256 MB de memoria RAM, si no saben cuanta memoria tiene su PC simplemente ejecuten free -m en el terminal si donde dice total es mayor a 256 están bien. Yo personalmente recomiendo tener al menos 512 MB de memoria RAM
  • También pueden probar instalando el servidor en una máquina virtual ya sea con virtualbox, vmware, kvm o el manejador de máquinas virtuales de su preferencia.
  • Si van a hacer la administración del servidor LAMP de manera remota les aconsejo instalar openssh-server (yum install openssh-server esto lo deben ejecutar como root).

Les aconsejo también seguir el tutorial paso a paso, he tratado de hacer los pasos lo más concretos y cortos posibles, para que así no se pierdan de nada y tampoco les aburra el tutorial.

Bueno ya tenemos todo listo para empezar así que abran un Terminal y pongámonos a trabajar.

A partir de ahora todos los comandos deben ser ejecutados como root (administrador)

1. Actualizar el Sistema

Es siempre aconsejable realizar la actualización de nuestro sistema antes de llevar a cabo cualquier instalación simplemente ejecuten lo siguiente en el terminal

yum -y update

Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible.

2. Instalar Apache y PHP en un sólo comando

Fedora nos da la opción de instalar paquetes en “grupos” algo parecido al tasksel de Debian y Ubuntu.

Para instalar el servidor Apache y PHP 5 vamos a utilizar el grupo “Servidor Web” para ver los paquetes que contiene este grupo ejecutamos el comando:

yum groupinfo "Servidor Web"

Nota: Si tu servidor está en otro idioma que no sea Español puedes reemplazar “Servidor Web” por “Web Server” que funciona para cualquier idioma

Esto nos dá la siguiente lista:

Paquetes obligatorios:
 httpd
 Paquetes predeterminados:
 crypto-utils
 distcache
 httpd-manual
 mod_perl
 mod_python
 mod_ssl
 php
 php-ldap
 php-mysql
 squid
 webalizer
 Paquetes opcionales:
 ...

Para instalar el grupo ejecutamos:

yum -y groupinstall "Servidor Web"

Al finalizar la instalación ya deberíamos tener instalado el servidor Apache y PHP5

Si quieres comprobar que versión de Apache se ha instalado debes ejecutar el siguiente comando:

httpd -v

Te aparecerá algo como:

Server version: Apache/2.2.14 (Unix)
Server built:   Dec  3 2009 10:25:53

Para finalizar la configuración de Apache debemos configurarlo para que inicie siempre que reiniciemos nuestro servidor para esto ejecutamos en el terminal:

chkconfig --level 345 httpd on

Ahora iniciamos Apache con:

service httpd start

Si todo está bien debería aparecer un [OK]

Los comandos para manejar el servidor Apache son los siguientes, pueden utilizar cualquiera de las dos versiones del comando la versión larga o la corta, todos estos comandos deben ejecutarse como root:

Función Comando Comando Corto
Iniciar Apache /etc/init.d/httpd start service httpd start
Detener Apache /etc/init.d/httpd stop service httpd stop
Reiniciar Apache /etc/init.d/httpd restart service httpd restart
Estatus Apache /etc/init.d/httpd status service httpd status

El archivo de configuración por defecto de Apache se encuentra en el directorio /etc/httpd/ y el directorio por defecto de los archivos donde se guardarán las páginas web es en /var/www/html

Para probar que Apache está funcionando bien basta con ir a la dirección en tu navegador (Firefox, Konqueror o el que prefieran) http://localhost desde el mismo servidor o http://ipservidor desde otra PC y les debe aparecer algo como lo siguiente:

Fedora Pagina por defecto de Apache

Para comprobar la versión de PHP ejecutamos:

php -v

Debería aparecer algo como:

PHP 5.3.1 (cli) (built: Nov 20 2009 12:52:06)
 Copyright (c) 1997-2009 The PHP Group
 Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

Para comprobar que PHP  está funcionando correctamente, vamos a crear el siguiente archivo llamado prueba.php como root con tu editor favorito puedes utilizar nano, vim, gedit, etc.:

vim /var/www/html/prueba.php

Nota: Aquí estoy utilizando vim para editar utilicen el editor de su preferencia.

Dentro del archivo copiamos lo siguiente:

<?php phpinfo(); ?>

Guardamos al archivo y vamos al navegador y colocamos la dirección http://localhost/prueba.php si estamos en el mismo servidor o http://ipdelservidor/prueba.php. Deberia desplegar una lista con toda la información de PHP, los módulos y librerias instalados.

Pagina de prueba.php phpinfo()

Si te aparece una pantalla parecida a la anterior es que PHP está correctamente instalado y funcionando con Apache. Si te aparece algo como que quiere guardar el archivo prueba.php intenta reiniciar el servidor Apache con service httpd restart.

El archivo de configuración de PHP se encuentra en /etc/php.ini

3. Instalar MySQL

MySQL es una de las base de datos open source más popular y utilizadas en innumerables páginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fácil de configurar y lo bastante rápida para la mayoría de las aplicaciones comunes.

Al igual que para Apache existe un Grupo de paquetes de instalación para MySQL llamado “Base de datos MySQL” para ver los contenidos de este grupo de paquetes puedes ejecutar:

yum groupinfo "Base de datos MySQL"

Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:

yum -y groupinstall "Base de datos MySQL"

Nota: Si tu servidor está en otro idioma que no sea Español puedes reemplazar “Base de datos MySQL” por “MySQL Database” que funciona para cualquier idioma

Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL

Ahora debemos hacer que el servidor MySQL se inicie cada vez que se arranque o se reinicie el sistema para esto ejecutamos:

chkconfig --level 345 mysqld on

Para iniciar MySQL ejecutamos

service mysqld start

Luego debemos configurar el servidor MySQL para configurar la clave de administrador ejecutando:

mysql_secure_installation

Primero nos pregunta por la contraseña de root de MySQL, aquí presionamos enter ya que todavía no hay ninguna contraseña de root configurada para MySQL

Enter current password for root (enter for none): 

Luego nos pregunta si queremos asignarle una contraseña de root para MySQL escribimos Y y presionamos Enter/Intro

Set root password? [Y/n]

Luego nos pide la contraseña, aquí deberán colocar una clave para el administrador de la base de datos (no confundir con root de Fedora), no es recomendable colocar la misma clave del usuario de Fedora, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, símbolos y números, no son permitidos los espacios en blanco.

New password:

Cuando diga Re-enter new password: Simplemente volvemos a escribir la contraseña anterior

Luego nos pregunta si eliminamos los usuarios anónimos, a lo cual respondemos que Y por medidas de seguridad

Remove anonymous users? [Y/n]

Ahora pregunta si el usuario administrador solo puede ser utilizado desde el host local, esto es recomendable por razones de seguridad, a menos que tengas algún requerimiento especial respondemos Y

Disallow root login remotely? [Y/n]

Removemos la base de datos test que es de prueba si queremos respondiendo que Y

Remove test database and access to it? [Y/n]

Por último nos pide que reiniciemos los privilegios para que se efectuen los cambios respondemos Y

Reload privilege tables now? [Y/n]

Listo ya nuestra base de datos MySQL está instalada y segura.

Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:

mysql -u root -p

Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt  mysql> algo parecido a esto:

vensign@lamp-vensign:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 11
Server version: 5.1.42 Source distribution

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban exit y presionen Enter o Intro.

Los comandos para administrar MySQL son:

Función Comando Comando Corto
Iniciar MySQL /etc/init.d/mysqld start service mysqld start
Detener MySQL /etc/init.d/mysqld stop service mysqld stop
Reiniciar MySQL /etc/init.d/mysqld restart service mysqld restart
Estatus MySQL /etc/init.d/mysqld status service mysqld status

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

Con estos tres pasos ya tenemos instalado un servidor LAMP en Fedora.

Con esto finalizamos el tutorial, ya tenemos un servidor web LAMP totalmente funcional y ya pueden empezar a colocar sus páginas y desarrollar sus proyectos, pronto publicaremos más tutoriales de configuración y seguridad de servidores web así que estén pendientes.

Cualquier duda o sugerencia por favor dejen sus comentarios

Autor: Olivers De Abreu es el director y fundador de Vensign

Si necesitas capacitación a tu medida, soporte o instalar cualquier tipo de Servidor ponte en contacto con nosotros en Vensign y con gusto te haremos una propuesta sin ningún compromiso.

Pueden seguirnos a través de nuestro Feed RSS o a través de Twitter @odeabreu

bajo CC por kenyee

bajo CC por kenyee

Para seguir con las charlas, este miércoles 24 de junio a las 8 pm hora Venezuela (UTC-4:30)  voy a dar una charla en el canal IRC de Ubuntu-ve en Freenode acerca de como instalar y configurar un servidor LAMP (Linux, Apache, MySQL y PHP), junto con algunos trucos y tips. Entre otros puntos abarcará:

Como instalar Apache 2

Como instalar y configurar MySQL y algunos comandos básicos

Como instalar y configurar PHP 5

Como instalar phpmyadmin para manejar MySQL

Y algunos tips, más respuestas a todas sus preguntas.

Los espero allá el canal está en el servidor freenode, si no tienen IRC pueden entrar via web por aquí:

http://java.freenode.net//index.php?channel=ubuntu-ve

Mi nick en el IRC es vensign ;-)

TIP : Si quieren saber la hora en UTC en el terminal pueden ejecutar:

date -u

Y les dará la hora en UTC (GMT)

Agradezco a la gente de Ubuntu-ve por esta oportunidad y espero verlos por allá, cualquier sugerencia de algún punto específico que quieren que toque pueden dejar su comentario aquí.

Saludos

Olivers

Actualización: Existe una versión más nueva de este tutorial para Fedora 12 lo pueden encontrar aquí:

Como instalar un Servidor LAMP en Fedora 12 paso a paso

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í.

Continuar

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

Continuar