Ultimamente le estoy echando un cable a una amiga que tiene como proyecto crear una especie de red social, una idea realmente interesante pero todavía muy nueva y en el que faltan muchas cosas por decidir; entre ellas cual sería el mejor programa a utilizar, por lo que pensé ayudarla, testeando algunas conocidas plataformas como Buddypress, Elgg, SocialEngine, Ning etc…un terreno bastante nuevo para mi, todo hay que decirlo…así que decidimos que lo mejor sería empezar a evaluar eses programas, y ver que se puede hacer con ellos desde un server local, algo que afortunadamente en linux, no presenta demasiadas dificultades gracias a soluciones como LAMP.

LAMP es el acrónimo de Linux (sistema operativo), Apache (servidor web), MySQL (base de datos) y PHP, Perl o Phyton (lenguajes de programación); esa combinación de tecnologías, es la que nos permitirá instalar un servidor web de tipo Apache en nuestra computadora.

Instalación

  • En primer lugar lo que vamos a hacer es instalar Apache, MySQL y PHP junto a sus dependencias de forma gráfica desde el software manager de Yast, en vez de hacerlo de forma individual, lo que haremos será utilizar el patrón de paquetes LAMP ya preparado por el equipo de openSuse, lo marcamos, le damos a aceptar y automáticamente nos instalará eses programas

  • El primero de esos paquetes que vamos a configurar y activar será el servidor web Apache. Abrimos YAST y nos vamos a Servicios de Sistema (niveles de ejecución), en esa ventana seleccionamos el Modo Experto, marcamos apache2 y establecemos como niveles de ejecución 3 y 5

Desplegamos el boton Iniciar/Detener/Actualizar y seleccionamos Iniciar ahora.. Si todo ha ido bien nos aparecerá este pop-up y le damos a aceptar.

  • Ahora para comprobar si está correctamente instalado, escribimos localhost ó127.0.0.1 en la barra de nuestro navegador
  • A continuación podemos crear un archivo de PHP, al que llamaremos info.php que nos muestra información referente a nuestra instalación. Así que lanzamos nuestro editor de texto favorito (kwrite, gedit, nano, vim…) y copiamos
<?php
phpinfo();
?>

Ahora tenemos dos opciones para guardarlo:

  1. En la carpeta  public_html de nuestra home y abrirlo en el navegador escribiendo 127.0.0.1/~usuario
  2. En la carpeta /srv/www/htdocs/ , y en la que dado que no tenemos permisos de escritura lo guardaríamos como root con el comando

dbus-launch gedit /srv/www/htdocs/info.php


En este caso obtendríamos la misma información escribiendo en la barra de tareas localhost/info.php

  • El siguiente paso es configurar MySQL, empezamos activando las tablas ejecutando como root:

    mysql_install_db --user=mysql

    Si además queremos mejorar la seguridad, le podemos añadir una contraseña (no confundir con la de root)  a mysql ejecutando:

    /usr/bin/mysql_secure_installation

    La sintaxis de salida y respuestas del comando es esta:

 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.Enter current password for root (enter for none):
OK, successfully used password, moving on…Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!
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.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.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. 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.

Reload privilege tables now? [Y/n] y
… Success!

Cleaning up…

 All done! If you’ve completed all of the above steps, your MySQLinstallation should now be secure.

Thanks for using MySQL!

  • El último paso, opcional pero muy aconsejable, es instalar phpMyAdmin, una interfaz web a través de la cual podemos manejar nuestras bases de datos MySQL. Lo podemos hacer desde la web de openSUSE con la opción de 1-click

Una vez instalada vemos como en la pantalla inicial nos pide el usuario y la contraseña que hemos creado hace un momento

Y ya podemos empezar a trastear, con nuestro server local

Fuentes:  openSUSE | Foro SUSE.ORG