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:
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:
Ahora instalemos PHP.
4.- Ejecutamos la siguiente lÃnea (versiones menores a 16.04):
para 16.04, un ejemplo instalando la versión 5.6
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:
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
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:
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: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
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
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
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)
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)
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
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);
<?php # nos conectamos a la base de datos $conex = mysqli_connect("localhost","root","1234", "dbprueba"); if (mysqli_connect_errno()){ echo "Failed to connect to MySQL: " . mysqli_connect_error(); }else{ $sql = "SELECT * FROM tabla1"; # ejecutamos una consulta if( $result = mysqli_query($conex,$sql) ){ // Return the number of rows in result set $rowcount=mysqli_num_rows($result); if (mysqli_num_rows($result) > 0){ while ($row = mysqli_fetch_array($result)) echo $row['idtabla1'] . ' - ' . $row['campo1'] . '<br />'; } }else{ echo '¡La consulta no arroja resultados!'; } mysqli_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
sudo /etc/init.d/postgresql-8.4 restart
Fuentes:
http://es.wikipedia.org
http://php.net
http://www.guia-ubuntu.org
- Los comentarios están siendo moderados y serán publicados en la brevedad posible.