Sigueme por RSS! RSS

Como instalar Apache PHP MySQL en Ubuntu

Actualización: para versión de ubuntu 16.x en adelante, recomiendo seguir el tutorial del siguiente enlace:
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04

Para versiones menores a 16.04


Instalar el trio de ases (Apache+PHP+MySQL) es tan fácil como cualquier otra instalación dentro de Ubuntu. Voy a mostrarte dos formas de hacer la instalación.


Opción 1: desde el gestor de paquetes Synaptic

Esta es la forma más rápida y sencilla, si no eres de los que les gusta usar la terminal para instalar software puedes buscar en Synaptic e instalar desde ahí un paquete denominado LAMP que viene listo con las tres herramientas tratadas en este tema y configuradas por defecto. Para ello debes seguir los siguientes pasos:

1.- Vamos a:
menú Sistema --> Administración --> Gestor de Paquetes Synaptic
y das clic.

2.- Dentro de la ventana del gestor de paquetes, vamos al menú Editar y marcamos la opción "Marcar paquetes por tarea".

3.- Aparecerá una nueva ventana, ahí debemos chequear la opción LAMP Server y presionar el botón aceptar, eso instalara todo el paquete completo y solo restará probar el funcionamiento del servidor que puede hacerse haciendo uso de los scripts de ejemplo que se muestran durante la explicación de la alternativa 2.


Opción 2 por consola / terminal (con algunos ejemplos).

Si te gusta usar la consola e ir aprendiendo en el proceso esta es la mejor opción, ya que no te hace todo con 3 pasos si no que tu mismo vas revisando y ejecutando según sea el caso, lo que te da la satisfacción de tener el control total de la operación.. a que si?

1.- Abre tu consola, en ubuntu ve a --> menú Aplicaciones --> Accesorios --> Terminal

2.- Empezaremos instalando el Apache, en la consola escribe el siguiente código:

sudo apt-get install apache2

Presiona la tecla [enter] y comenzará la instalación, requerirá la contraseña de super usuario para continuar. Al finalizar ya tendrás el Apache instalado e iniciado automáticamente.

3.- Ahora probemos, abre tu navegador y coloca en la barra de direcciones "localhost", deberá cargar el index por defecto donde se puede leer la frase "It works!", es una página similar a la siguiente captura:


El directorio raíz donde se almacenan los documentos Web's es "/var/www". Si quieres copiar algún documento a ese directorio puedes hacerlo con el comando cp desde la consola, no olvides que antes debemos darle privilegios anteponiendo el comando sudo, de lo contrario te denegará el proceso. Te dejo un ejemplo:

usuario@fedora-laptop:/$ cp /home/usuario/Escritorio/hola_mundo.html /var/www
cp: no se puede crear el fichero regular «/var/www/hola_mundo.html»: Permiso denegado
usuario@fedora-laptop:/$ sudo cp /home/usuario/Escritorio/hola_mundo.html /var/www
[sudo] password for usuario:
usuario@fedora-laptop:/$ cd /var/www
usuario@fedora-laptop:/var/www$ ls
hola_mundo.html index.html
luego, para visualizar ese documento ya sabes que hacer:

localhost/hola_mundo.html

Ahora instalemos PHP.

4.- Ejecutamos la siguiente línea (versiones menores a 16.04):

sudo apt-get install php5 libapache2-mod-php5 php5-mysql
sudo php -v

para 16.04, un ejemplo instalando la versión 5.6
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
sudo php -v

Aparte del paquete php5, instalamos el libapache2-mod-php5 que automáticamente se configura para integrarse con el servidor Web y el php5-mysql que es necesario si vamos a conectar a bases de datos MySQL desde PHP.

5.- Una vez instalado PHP debemos reiniciar el Apache:

sudo /etc/init.d/apache2 restart

6.- Lo siguiente será probar si PHP está funcionando correctamente, para ello crearemos una página de prueba en el directorio de publicación del Apache, es decir "/var/www". Pega la siguiente línea en el terminal:

sudo gedit /var/www/prueba.php

Nota
En Ubuntu 14 prueba con:
sudo gedit /var/www/prueba.php

Eso abrirá el editor de texto Gedit, lo que guardemos se almacenará directamente en el directorio del servidor. Una vez abierto agreguemos la siguiente línea entre etiquetas php para así poder testear.

phpinfo();
La función phpinfo() devuelve las configuraciones definidas para PHP en ese servidor. Para acceder al archivo creado escribimos la siguiente URL en la barra de direcciones:

localhost/prueba.php

Y si todo ha sido exitoso podrás visualizar una página similar a ésta:

(clic en la imagen para agrandar)



Es el turno de MySQL

7.- Escribimos en el terminal:

sudo apt-get install mysql-server

El proceso de instalación de MySQl será parecido a los anteriores, la diferencia está en que MySQL requerirá antes de culminar, el password que usará el usuario root, para ello observaras en la consola algo parecido a la siguiente captura:

(clic en la imagen para agrandar)



Introducimos el password o contraseña que deseemos y luego nos pedirá que confirmemos, una vez hecho esto finalizará la instalación y podemos probar.

8.- Para ejecutar MySQl solo debemos escribir lo siguiente en el terminal:

mysql -uroot -p1234

1234 es la clave o contraseña que use cuando fue solicitada, a continuación dejare copia del script ejemplo ejecutado en MySQl.

usuario@fedora-laptop:~$ mysql -uroot -p1234

Welcome TO the MySQL monitor.  Commands end WITH ; OR \g.
Your MySQL connection id IS 42
Server version: 5.1.37-1ubuntu5.4 (Ubuntu)

Type 'help;' OR '\h' FOR help. Type '\c' TO clear the current input statement.

mysql> CREATE DATABASE dbprueba;
Query OK, 1 row affected (0,00 sec)

mysql> USE dbprueba
DATABASE changed

mysql> CREATE TABLE tabla1 
(
idtabla1 int AUTO_INCREMENT PRIMARY KEY, 
campo1 varchar(20) NOT NULL
);
Query OK, 0 rows affected (0,06 sec)

mysql> INSERT INTO tabla1 (campo1) 
VALUES ('texto de prueba'),('texto de prueba 2'),
('texto de prueba 3'),('texto de prueba 4');
Query OK, 3 rows affected (0,00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM tabla1;
+----------+-------------------+
| idtabla1 | campo1            |
+----------+-------------------+
|        1 | texto de prueba   | 
|        2 | texto de prueba 2 | 
|        3 | texto de prueba 3 | 
|        4 | texto de prueba 4 | 
+----------+-------------------+
4 rows IN SET (0,00 sec)

9.- Configuración de PHP:

Es necesario editar el archivo de configuración de PHP "php.ini" para activar el acceso a la bases de datos, es decir, habilitar las funciones de MySQL, abriremos el archivo mencionado anteriormente con el gedit:

sudo gedit /etc/php5/apache2/php.ini

si instalaste la v-5.6 en 16.04 sería:
/etc/php/5.6/apache2# gedit /etc/php/5.6/apache2/php.ini

Una vez abierto, busquemos la etiqueta [MySQL] y después de ésta agregaremos la siguiente linea:

extension=mysql.so

guardamos los cambios y reiniciamos el servidor:
sudo /etc/init.d/apache2 restart

10.- Ahora probaremos la conexión a MySQl desde PHP, para ello usaremos el siguiente script

# nos conectamos a la base de datos 
$conex = mysql_connect("localhost","root","1234") 
or die('No se puede conectar correctamente con el servidor
de base de datos');

# seleccionamos la base de datos
if (!mysql_select_db("dbprueba",$conex))
{
echo "No se pudo seleccionar la base de datos";
exit();
}

# ejecutamos una consulta
$result = mysql_query("SELECT * FROM tabla1");

# mostramos los resultados
if (mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_array($result))
echo $row['idtabla1'] . ' - ' . $row['campo1'] . '<br />';
}
else
echo '¡La consulta no arroja resultados!';

# cerramos la conexion 
mysql_close($conex);

Si la base de datos ésta poblada visualizaras los resultados una vez ejecutes el archivo que contiene el anterior código.

Si deseas opcionalmente phpMyAdmin para administrar gráficamente MySQL, puedes buscarlo e instalarlo con el gestor de paquetes o hacerlo desde la consola con la siguiente linea:

apt-get install phpmyadmin php-mbstring php-gettext

Para acceder colocamos en el navegador:

localhost/phpmyadmin

NOTA: si al instalar phpmyadmin, en la consola, te muestra algún mensaje de error y al entrar en localhost/phpmyadmin en el navegador, te muestra: not found, entonces verifica la ruta /usr/share/phpmyadmin, si la carpeta fue creada (y contiene sus respectivos archivos), independientemente de la causa del error que se produzca, la solución podría ser crear un enlace simbólico:
ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

NOTA 2: si instalaste MySQL sin contraseña para el usuario root y no puedes acceder desde PHPMyAdmin:
"Inicio de sesión sin contraseña está prohibido por la configuración (ver AllowNoPassword)"

Puedes solucionarlo activando la opción AllowNoPassword en el archivo /etc/phpmyadmin/config.inc.php.
búsca y descomenta la línea:

$cfg['servers'][$i]['AllowNoPassword'] = TRUE;

y ya podrás acceder a PhpMyAdmin sin contraseña.


Instalar CURL (opcional):
sudo apt-get install php5-curl

Luego reiniciar el servidor.


Si se te presenta el caso de que no puedes, leer, crear o editar archivos dentro de la carpeta /var/www, es posible que el motivo sean los permisos de dicha carpeta, para solucionarlo hay que bajar las restricciones y eso se hace con el comando chmod, en principio bastara haciendo un:
sudo chmod 777 /var/www

pero eso daría permisos excesivos (no solo a ti, si no a otros usuarios del sistema), si eso te parece relevante, te recomiendo leer el articulo GNU/Linux capitulo 2 en su versión PDF escrito por Marco Séneca, donde explica muy bien como hacerlo.


Los que a parte hayan instalado PostgreSQL, necesitaran el módulo para php5 que les permitirá realizar las conexiones.
sudo apt-get install php5-pgsql


Luego reiniciar los servidores:
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/postgresql-8.4 restart


Fuentes:
http://es.wikipedia.org
http://php.net
http://www.guia-ubuntu.org

0 comentarios: Suscribete a los comentarios por RSS

Publicar un comentario

- Los comentarios están siendo moderados y serán publicados en la brevedad posible.