Blog de Daniel Zegarra Rotating Header Image

MySQL

Nace Kopernik, un sistema académico

Logo de Kopernik

Kopernik es el nombre clave del proyecto personal al que he dedicado mi tiempo estos ultimos 4 meses. Se trata de un sistema academico online desarrollado usando Flex, PHP (Zend Framework) y MySQL para su uso en instituciones educativas.

Logo de Kopernik

Logo de Kopernik. La idea era que el sistema sea usado por escolares y por lo tanto, no debia ser tan serio.

Aprovechando la experiencia que adquiri trabajando y estudiando en universidades decidi crear desde cero un sistema que se ajustara a los requerimientos especiales que cada institucion pudiera tener. Como recien estaba empezando pense que mejor seria comenzar con modulos para colegios pero… resulta que he olvide como funcionan!

Cuando estaba en el colegio no pensaba en procesos y en maneras de como mejorarlos como lo hago ahora. Por eso es que los modulos que ya he creado almacenan datos como el valor en creditos de cada asignatura o que permiten a un alumno matricularse en asignaturas distintas que el resto de sus companeros. De hecho el proceso que los administradores deben realizar para matricular de un alumno esta pensado usando los requerimientos universitarios o de institutos.

En los colegios todos los alumnos llevan lo mismo. Solo hay dos opciones:

  • No te matriculas un año o…
  • Estas matriculado y llevas todas las asignaturas de tu año (con algunas excepciones como no asistir al curso de religion por solicitud de los padres).

Es algo en lo que hay que trabajar.

Por el momento me quedan algunos modulos importantes por desarrollar, como el control de evaluaciones, asistencias y materiales de clase.

A continuacion explico algunos detalles del software y al final puedes encontrar un enlace para que lo puedas ver en accion.

Caracteristicas generales

  • Es modular, de tal forma que sea facil reutilizar los modulos comunes y adecuarlos a lo que necesite.
  • Permite el trabajo colaborativo (tiempo real).
  • Solo hace uso del puerto 80. No es necesario habilitar la salida puertos adicionales en una red controlada.
  • El cliente solo necesita tener Adobe Flash instalado.
  • No requiere de licencias adicionales.
  • Es multiplataforma. Corre en Windows, Mac, Linux y cualquier otro sistema operativo que tenga soporte para Adobe Flash (talvez Android?)
  • Es multitarea. Las aplicaciones y modulos son cargados dentro de contenedores visibles como ventanas. Por lo tanto, no es necesario salir de un modulo para entrar a otro. Puedes tener varios modulos abiertos al mismo tiempo compartiendo el escritorio visible o minimizar algunos de ellos para usarlos luego.
  • Al instalarlo en un servidor web con un IP publico es accesible desde cualquier parte del mundo.
  • Control de acceso, a modulos y acciones, por grupos de usuarios. Se define que grupos tienen acceso a que modulos y las operaciones que realizan estos.
  • El sistema cuenta con algunas herramientas como el administrador de tareas (clic secundario sobre el fondo) y un explorador de directorios (del servidor).
Tres aplicaciones abiertas: el explorador de alumnos, el explorador de archivos y el administrador de tareas

Tres aplicaciones abiertas: el explorador de alumnos, el explorador de archivos y el administrador de tareas

Tecnologias usadas

  • Flex 4: Empece el proyecto con la version 3 pero las nuevas caracteristicas (en especial la capacidad de trabajar con archivos localmente y el skining) resultaron muy tentadoras y tuve que hacer la migracion ya casi a mitad del proyecto (y acepto que no fue una decision muy inteligente. Me retraso todo el calendario pero espero haya valido la pena).
  • Zend Framework: Elegi este framework por la empresa que hay detras (Zend creadora de PHP) y por que ya me encuentro familiarizado con el. Ademas podia usar el paquete Zend_Amf para conectar Flex con el servidor. Tuve que migrar desde AMFPHP por lo que perdi el explorador de servicios y el control de acceso en cada clase. Realmente fue una migracion dura porque las clases del sistema (no academicas) ya estaban empezadas y funcionaban perfecto con AMFPHP. La gran ventaja de usar Zend_Amf es que tienes a tu disposicion todo el framework de Zend y ademas es el unico soporte para AMF que tiene la venia de Adobe sin ser desarrollado por Adobe (y la version actual de AMFPHP se encontraba abandonada en una version beta).
  • PHP: Como es obvio, por ser un lenguaje fantastico y porque casi todo servidor Apache lo tiene instalado.
  • MySQL: Necesitaba una base de datos transaccional y confiable. Que mejor que MySQL usada en la mayoria de servicios de hosting.

Requisitos

  • Del lado del cliente
    • Flash Player 10.0.0 o una version mayor.
  • Del lado del servidor
    • PHP 5.2
    • Apache
    • MySQL

Acceso a la demo

Antes de ingresar por favor, lee las siguientes instrucciones:

  • Los datos de acceso se encuentran pre-escritos en los campos de texto, solo es cuestion de logearse.
  • El usuario de prueba pertenece al grupo de administradores, por lo que tendras acceso sin restriccion sobre los modulos y acciones que puedan estos realizar. Ten cuidado de eliminar aplicaciones, volver a registrarlas te puede resultar complicado si no sabes donde se encuentran almacenadas.
  • La falta de acentos se debe a que uso en teclado en ingles. Lo corregire muy pronto. Las fallas ortograficas se deben a mi falta de atencion a las clases de lengua (junto con la eficiencia del corrector ortografico de Word). Cuando tenga tiempo aplicare las correcciones necesarias.
  • La primera vez que cada aplicacion es solicitada puede demorarse unos segundos en cargarse (dependiendo de tu velocidad de salida a Internet). La aplicacion queda almacenada en la cache de tu navegador y es cargada de alli en las solicitudes posteriores.
  • Y por ultimo, te recuerdo que esta es una version en desarrollo y por ello puede tener errores. Si encuentras alguno, por favor ayudame a corregirlo comentandolo en este post. Gracias.

Eso es todo. La direccion de acceso es la siguiente: http://kopernik.danielzegarra.net/. Espero tus comentarios.

InnoDB deshabilitado a pesar que skip-innodb esta comentado

Es un problema poco usual pero que me ha pasado a mi. InnoDB aparece como deshabilitado y has comprobado que skip-innodb sigue comentado en /etc/mysql/my.cnf. Entonces, ¿que diablos sucede?

Pues al parecer el problema surge al momento de instatar mysql-server (sudo apt-get install mysql-server usando ubuntu) que al crear los archivos ibdata# e ib_logfile# estos se crean con los permisos erroneos. Lo mas intrigante es que mysql no informa de este problema al iniciarse.

Entonces, el problema se resuelve asi:

Primero, debes detener mysql y lo haces con el siguiente comando:

sudo service mysql stop

Luego, dirigete al siguiente directorio:

cd /var/lib/mysql

Ejecuta ls para ver los archivos del directorio:

Resultado de ls en /var/lib/mysql/

Resultado de ls en /var/lib/mysql/

Ahora saca una copia de los archivos ibdata# e ib_logfile#. El signo # es porque pueden haber mas de uno. La copia la realizas de la siguiente forma:

//cp _archivo_original archivo_copia
cp ibdata0 ibdata0.bak
cp ib_logfile0 ib_logfile0.bak

Luego borra los archivos ibdata# e ib_logfile# originales. Lo haces de esta manera:

//rm _archivo1 archivo2 archivo3
rm ibdata0 ibdata1 ibdata2 ib_logfile0 ib_logfile1 ib_logfile2

Ahora arrancas mysql:

sudo service mysql start

Puedes verificar que InnoDB esta activado desde phpMyAdmin o conectandote a MySQL desde la terminar:

mysql -u root -h localhost -p
password: *********
show engines;

Esta es una extensión a la explicación del siguiente post How To Fix: InnoDB has been disabled for this MySQL server.

Cambiando parámetros en MySQL

Un problema que tuve con MySQL es que cuando trabajaba en producción la configuración que tenía la Base de Datos provocaba que rechace conexiónes a pesar de que el servidor no llegaba ni al 10% de su máxima capacidad.

Esto sucedía porque la configuración de fábrica que usa MySQL esta diseñada para un uso general. Si vamos a usar esa base de datos en producción debemos reducir sus restricciones.

Para esto es de suponer que el servidor cuenta con unos 4Gb de RAM y un procesador decente (preferible procesadores).

Como no puedo apagar mi servidor hago los cambios en caliente simplemente ejecutando una par de sentencias.

SET GLOBAL max_connections = 800;
SET GLOBAL innodb_thread_concurrency = 500;

Donde max_connections es el numero maximo de conexiones simultaneas que el servidor va a permitir y innodb_thread_concurrency las concurrencias (para las tablas innodb). Yo coloque estos numeros sin un analisis previo, pero me resultaron. Siempre monitoreo el consumo de recursos en mi base de datos. La consecuencia de subir estos los límites es que el servidor va a aceptar y procesar mas consultas.
Debes encontrar un balance entre la cantidad de peticiones que puedes recibir y la velocidad de respuesta. Para ello ten en cuenta la capacidad de tu hardware y el grado de uso de tu servidor. Es diferente si solo vas a almacenar nombres de paises o realizar una mineria de datos. Para el primer caso la concurrencia de tu servidor podria ser grande pero las consultas muy simples y por tanto el tiempo de respuesta para estas consultas simples seria muy corto.

Son cientos los parametros que puedes usar para tunear tu base de datos. Tienes aqui una lista de los parametros (comentados) que puedes modificar en MySQL. Ten mucho cuidado con las modificaciónes que realizas.

Configurando phpMyAdmin

Llevo usando phpMyAdmin durante varios años y recién me entero que en el paquete hay un asistente de instalación/configuración.

Los que trabajamos desarrollando aplicaciones web y usamos MySQL como base de datos alguna vez habremos usado phpMyAdmin, si es que no lo usamos ahora, y sabemos la potente pieza de software que es.

Para los que se están iniciando esta dedicado este tutorial.

PhpMyAdmin es un sistema de gestión de bases de datos MySQL. Un sistema de gestión sirve de interfaz entre el servidor y el usuario. Recibe ordenes del usuario y las ejecuta en el servidor, asimismo entrega al usuario la respuesta generada por el servidor y se la muestra en un formato en que él lo pueda entender. Puedes encontrar mas información sobre el tema en Wikipedia – Sistema de gestión de base de datos.

Para empezar, necesitas una base donde phpMyAdmin deba correr. PMA (phpMyAdmin) no es mas que un conjunto de scripts PHP que deben ser interpretados por PHP que a su vez esta instalado sobre un servidor web como Apache o IIS. (Apache es el más recomendado)

Entonces, primero necesitas tener corriendo un servidor web.

Ve a la página de PMA: www.phpmyadmin.net y descarga la última versión estable del software. La versión cuando se escribe este tuto es la 3.0.1. Hay varios formato para descargarlo, si usas Windows, te recomiendo bajarlo en .zip o 7z (que puedes abrirlo con WinRAR).

Una vez descargado descomprimes el directorio en su interior en la raiz donde se encuentran tus archivos web. Una vez hecho eso ingresa vía browser al directorio creado. De seguro verás un mensaje de error detallando que no se puede conectar a la base de datos “Localhost” usando el usuario “root” y sin contraseña.  A menos que tu base de datos tenga el usuario “root” sin clave, entonces no necesitaras configurar nada, pero ese caso es raro.

Primer inicio de phpMyAdmin

Primer inicio de phpMyAdmin

En en ese error busca el link Setup Script y dale un click para ir al asistente de configuración. Una vez alli verás unos mensajes de advertencia. Uno de ellos dice que debes crear un folder llamado “config” en la raíz de tu instalación de PMA y este folder debe tener permisos de escritura. Si usas un servidor Windows, simplemente crea un directorio llamado “config” dentro de tu instalación de PMA. Si usas Linux, la cosas es mas complicada. No solo debes crearlo, debes asignarle el permiso 777 también. Esto lo puedes hacer desde tu gestor FTP o SSH. Prueba creando el directorio y luego dándole un click secundario buscando la opción “Cambiar permisos” o algo similar. PMA te pide esto porque va a crear un archivo de configuración y necesita tener el permiso del sistema operativo para hacerlo.

Una vez creado el directorio refresca el asistente de configuración (simplemente presiona la tecla F5). Si la alerta de crear el folder desaparece, entonces lo hiciste bien.

Ya no aparece el aviso de que falta crear el directorio config

Ya no aparece el aviso de que falta crear el directorio "config"

Lo primero que debes hacer es decirle a PMA cual o cuales serán tus servidores de bases de datos. Para esto dale un clic en el primero botón Add para empezar a registrar el primer servidor.

Registrando un servidor de BD en PMA

Registrando un servidor de BD en PMA

Fíjate en la configuración que he elegido:

Nombre del host: localhost (si los archivos de PMA están alojados a su vez en el servidor de BD)
Extensión PHP a usar: mysql
Tipo de autenticación: cookie (hará que cada vez que ingreses a PMA te pregunte el nombre y clave para conectarse a la BD)

Si deseas que se quede almacenado (para cualquier usuario) el nombre de usuario y clave de la BD eliges config como tipo de autenticación y luego escribes estos datos en los dos campos siguientes.

Una vez terminas le das en el botón verde Add que te mandara a la pantalla de inicio pero mostrándote el resumen de el nuevo servidor registrado.

Si deseas puedes probar con otros botones y ver que mas puedes configurar. Una vez que termines presiona en Save para generar y almacenar el archivo de configuración.

Guardando la configuración usando el asistente de PMA

Guardando la configuración usando el asistente de PMA

Una vez guardado verás el mensaje de confirmación. Aún falta un paso más.

Lo que este asistente hace es generar un archivo de configuración y almacenarlo dentro del directorio “config” creado anteriormente. Verás ahora que este directorio contiene ahora el archivo config.inc.php . Pero este archivo allí donde se encuentra no sirve de nada. Debes copiarlo a la raíz de tu instalación de PMA.

Ahora que ya colocaste config.inc.php en su lugar, prueba entrando a la raíz de tu instalación de PHP vía browser.

Si elegiste cookie como método de autenticación entonces verás la siguiente imagen.

Entrando a mi PMA

Entrando a mi PMA

Espero que sepas un nombre de usuario y clave válido para entrar a tu servidor de BD. Si lo haces y los datos son correctos (al igual que tu configuración) verás la página de inicio de PMA.

Pantalla de inicio de PMA

Pantalla de inicio de PMA

La pantalla de inicio puede variar dependiendo de los permisos que tenga la cuenta que has usado para conectarte a la BD. En la imagen, use el usuario root que cuenta con todos los permisos disponibles.

Ahora ya tenemos PMA configurado con lo básico necesario para trabajar. Pero si deseas un poco más, hay algunas opciones adicionales de PMA que son fáciles de activar pero requieren el uso de unas tablas para almacenar sus datos. Algunas de estas ventajas adicionales son:

  • Historia de sentencias SQL ejecutadas
  • Tener una biblioteca de sentencias pre-almacenadas
  • Creación y edición de la estructura de nuestras bases de datos usando un modelo gráfico (recomendado)
  • Guardar y mostrar cierta información adicional sobre las tablas y sus columnas.
  • Habilidad de crear documentos PDF con información personalizada sobre nuestra BD.
  • Almacenar relaciones entre los campos de nuestra base de datos (muy útil cuando usamos MyISAM, si usamos InnoDB lo podemos simplemente no usar)

Si crees que vale la pena dedicarle algo de tiempo para aprovechar estas ventajas, entonces sigue leyendo.

Crear la BD con las tablas necesarias para que PMA las pueda usar es algo simple. En los archivos de PMA hay un directorio llamado scripts ubicado en la raíz del paquete. En este directorio (que es donde se encuentra también el asistente de configuración) hay un archivo llamado “create_tables.sql” . Este archivo contiene todas las instrucciones (en lenguaje SQL) para crear la base de datos “phpmyadmin” y sus respectivas tablas. Para ejecutarlo hacemos lo siguiente:

Una vez estemos en la pantalla principal de PMA da un clic en la Ficha Importar. Una vez ahi, presiona en Examinar y ubica el archivo “create_tables.sql” que esta dentro del directorio “scripts” en la raíz de tu instalación de PMA. Una vez elegido dale un clic sobre el boton Continuar.

Si todo sale correctamente veras la confirmación de que todo salió bien y la nueva base de datos “phpmyadmin” en la barra lateral izquierda.

Bien, ahora que las tablas ya estan listas necesitas decirle a PMA que las use. Para eso volvemos al asistente para crear nuevamente un archivo “config.inc.php” con los cambios hechos.

Nos dirigimos al asistente. Como ya sabes, el asistente es un archivo PHP y se ubica en el directorio “scripts” en la raíz del PMA. Escribe la ruta completa en la barra de dirección de tu navegador.
Debe quedar algo así: http://localhost/phpMyAdmin/scripts/setup.php

Ahora hay que volver a registrar nuestro(s) servidor(es) de base de datos, igual que a primera vez con la ligera diferencia en que además esta vez debemos decirle cual es el nombre de la base de datos donde se encuentran las tablas especiales.

Herramientas adicionales en PMA

Herramientas adicionales en PMA

Los parámetros adicionales son:

  • Usuario y clave de una cuenta que tenga acceso a la nueva base de datos que contiene las tablas para extender la funcionalidad de PMA: Esto es obligatorio puesto que PMA usará estas tablas independientemente de la base de datos que uses.
  • Nombre de la base de datos que usará PMA: Nombre de la base de datos que contiene las tablas que PMA necesita. Creo que no hacia falta explicarlo.

Una vez hecho esto hacemos un click en Add para registrar nuestro servidor de BD y luego en Save para volver a generar y guardar nuestro archivo “config.inc.php” en el directorio “config”. Luego copias este archivo a la raíz de los archivos de PMA reemplazando el que creaste anteriormente.

Cuando vuelvas a entrar a entrar PMA verás que nuevos botones han haparecido.

Por ejemplo, cuando ves el resumen de las tablas de una base de datos notarás una ficha llamada “Diseño” que hace esto:

Vista Diseño de una BD usando PMA

Vista Diseño de una BD usando PMA

E incluso puedes relacionar las claves primarias y foraneas desde esta vista.

La historia de sentencias SQL’s ejecutadas:

Historial de sentencias SQl ejecutadas de PMA

Historial de sentencias SQL ejecutadas de PMA

Ejecución de sentencias pre-almacenadas

Ejecución de sentencias pre-almacenadas

Y si no te gustan los colores puedes elegir otro tema que te guste. Puedes encontrar pieles para PMA en el siguiente enlace: http://www.phpmyadmin.net/home_page/downloads.php?themes

Espero este tuto te haya servido.

Instalar un Web Server sobre openSUSE 11

En junio, si no me equivoco, se liberó la versión estable 11 de openSUSE, una de las mejores distribuciónes de Linux. Mi experiencia con Linux es muy limitada, pero he llegado a aprender algunas cosas (a la fuerza) gracias a la practica y a la ayuda de un compañero de trabajo.

Te mostraré los pasos para instalar tu propio servidor LAMP en openSUSE 11, pero no te alegres tanto, porque si bien al final de este tuto tu servidor estara funcionando, no seria recomendable que lo coloques en la zona pública aún. Para ello debes hacerle un hardening a su servidor y yo no estoy capacitado para eso.

Paso 1: Consigue el instalador de openSUSE 11

Lo puedes descargar desde http://software.opensuse.org/. Es un archivo en formato ISO de 4.3Gb. Este archivo debes volcarlo a un disco DVD. Eso lo puedes hacer con un software como Nero o MagicISO. Puedes buscarte uno gratuito por aquí.

Una vez que hayas quemado la imagen en el dvd empiezas con la instalación.

Paso 2: Empezar a instalar

El disco grabado es booteable, solo asegurate que tu bios busca archivos de inicio en el CDRom antes que en tu disco duro.

Una vez que lo encuentre veras la siguiente pantalla.

openSUSE Install Arranque desde el disco de instalacion

openSUSE Install Arranque desde el disco de instalacion

Eliges Installation para empezar con el proceso. No te preocupes por el ingles, luego lo puedes cambiar.

Una vez iniciada la instalación y continuado con la bienvenida verás esto.

openSUSE Install Modo de instalacion

openSUSE Install Modo de instalacion

Yo elijo la primera opcion porque es lo que quiero hacer, no me interesa lo que actualmente tengo en mi disco duro.

openSUSE Install Zona horaria

openSUSE Install Zona horaria

Luego elijo mi zona horaria y verifico que la hora mostrada sea correcta.

En la siguiente pantalla debo decidir que escritorio gráfico usaré.

openSUSE Install Seleccion de escritorio

openSUSE Install Seleccion de escritorio

Yo elijo el KDE4, pero tu puedes elegir el que mas te guste. Si ya has usado ubuntu alguna vez, entonces debes conocer a Gnome. KDE4 es una nueva version de KDE que trae consigo buenas mejoras gráficas entre otras cosas. En este ejemplo no utilizaras el entorno gráfico.

openSUSE Install Propuesta de particionamiento

openSUSE Install Propuesta de particionamiento

En la siguiente pantalla debes elegir las particiones que deseas crear. Mi amigo me dice que es mejor hacerlo de forma manual, hay unos pasos a seguir. Pero como él esta ocupado dejaré que suse decida. Este no será un servidor de producción, no necesito que todo sea perfecto.

En la ultima parte de la preparación te pregunta por la identidad del servidor. En “Nombre completo” puedes escribir tu nombre. En el siguiente campo te pide el nombre de usuario. Coloca ahi tu nick (no debe tener espacios ni caracteres especiales). Y en los dos ultimos campos tu contraseña (una que elijas). Asegurate de marcar la opcion de “Utilizar esta contraseña para el administrador” (osea, el usuario root).

Una vez que ya he contestado a varias preguntas me muestra el resumen de lo que va a hacer.

openSUSE Install Configuracion de la instalacion

openSUSE Install Configuracion de la instalacion

Yo decido cambiar algunas cosas como el software que va a instalar, no me interesan los juegos o los efectos de pantalla, lo que harán sera ocuparme espacio y memoria.

openSUSE Install Eligiendo los paquetes a instalar

openSUSE Install Eligiendo los paquetes a instalar

Otra cosa a cambiar es el tipo de inicio del sistema. Por defecto inicia en el estado 5 que es el modo gráfico. Como este será un servidor la intención es no gastar memoria en cargar cosas imnecesarias. Por lo tanto, le decimos que inicie en el modo 3.
Te da tres modos:

  • 1: Modo de consola sin red
  • 3: Modo de consola con red (recomendado)
  • 5: Modo gráfico con red

Si inicias por defecto en modo gráfico no hay problema. Puedes usar la consola en cualquier momento.

Conforme empiezas con la instalación, lo primero que hará será preparar el disco duro, lo particionará y formateará de acuerdo a lo decidido anteriormente.

openSUSE Install Preparando el disco duro

openSUSE Install Preparando el disco duro

Luego continuar con la instalación de los paquetes.

openSUSE Install Instalacion de paquetes

openSUSE Install Instalacion de paquetes

openSUSE Install Terminando la instalacion basica

openSUSE Install Terminando la instalacion basica

Una vez haya terminado te pedirá reiniciar. Si dejas el disco de instalación, dentro de la compu, no importa, la primera opcion del menu booteable es “Iniciar desde el disco duro”.

openSUSE Install Configuracion automatica

openSUSE Install Configuracion automatica

De manera automática vuelve al programa de instalacion para configurar los paquetes instalados.

Paso 3: La configuracion de tu LAMP (Linux, Apache, MySQL y PHP)

Una vez que hayas terminado con la instalación empieza lo divertido, la configuración. Depende a el tipo de inicio que hayas elegido puedes seguir de dos maneras:

Si elegiste usar el modo grafico por defecto

Si elegiste iniciar por defecto en modo gráfico has lo siguiente:

Una vez el escritorio este cargado, dale un clic a la iguana verde ubicada en la esquina inferior irquierda y luego escribe la palabra “terminal” en el campo de busqueda ubicado en la parte superior del menu emergente. Dale un clic sobre el primer resultado.

openSUSE Install Abriendo el terminal en KDE4
openSUSE Install Abriendo el terminal en KDE4

Una vez abierto el terminal escribes:

su -

Luego la contraseña que elegiste previamente tal como se muestra en la siguiente imagen. Esto te da los privilegios del usuario root (administrador).

openSUSE Install Ejecutar comandos como root desde la terminal

Te recomiendo que maximices la ventana del terminar porque necesitaras espacio para lo que sigue. El boton de maximixar se encuentra exactamente debajo del cursor (ver última imagen).

Si elegiste el modo de consola por defecto

Entonces una vez que el servidor termine de iniciar te pedira inicies tu sesión. Escribe root como nombre de usuario y luego la contraseña que hayas elegido previamente.

De aqui en adelante los pasos son comunes.

Una vez que te hayas logeado tipeas:

yast

Ahora debes tener al administrador Yast2 en pantalla. Con Yast puedes realizar varios cambios en tu servidor sin necesitad de estar editando archivos de configuración. Te ayuda sobretodo si eres un principiante como yo.

Usa las flechas direccionales para moverte y la tecla <TAB> para saltar de un cuadro a otro o entre los botones.

Paso 3.1: Configurando con Yast

En Network Devices / Network Settings puedes configurar tu tarjeta de red: IP, Nombre, etc. Por defecto usaras DHCP.

openSUSE Install Configurando con Yast

openSUSE Install Configurando con Yast

Ve a Network Services y elige HTTP Server. Luego, asegurate que el puerto de escucha esa el 80 y que Open port in Firewall este seleccionado. Puedes seleccionar y deseleccionar usando la barra espaciadora. No olvides que puedes saltar entre los campos activos usando <TAB>. Vas a la siguiente pagina y activas lo que necesites: PHP5, Perl, etc… Sigues avanzando y veras que este asistente te ofrece varias opciones. Si desearas cambiar algo luego puedes volver a entrar aqui. Recuerda el DocumentRoot, es ahi donde se deben encontrar los archivos que seran visibles desde la web. Usualmente se encuentra en <RAIZ>\srv\www\htdocs.
En la última pantalla te da dos opciones:

  • Start apache2 server when booting
  • Start apache2 server manually

Te recomiendo la primera opción, asi apache2 iniciará de forma automatica al arrancar openSUSE.

Bien, ahora que Apache esta configurado pasamos a mySQL.

Salimos de yast, puedes ir saltando con <TAB> hasta llegar al boton Quit o presional simplemente <F9>. Asi como hecho que el servicio apache2 se inicie automaticamente al arrancar nuestro servidor debemos hacer lo mismo con mySQL. Para ver si el servicio mysql esta configurado para un inicio automatico escribimos lo siguiente:

chkconfig –list | grep mysql

Como resultado tendremos:

openSUSE Install Estado del inicio automatico de un servicio

Te resumo que significa esto: Estos numeros del 0 al 6 representan tipos de inicio del sistema operativo. 3 inicio en modo de consola y 5 el inicio en modo gráfico. Como ves en la imagen el servicio mysql no se iniciará automaticamente en ningun tipo de inicio. Debemos hacer el “off” del estado 3 y 5 se convierta en “on“. Para esto escribimos lo siguiente:

chkconfig mysql on

Asi de simple. Si deseas puedes ejecutar otra vez el comando que te informa del estado del servicio para verificar que realmente en los estados 3 y 5 el servicio mysql a pasado a “on“.

Tambien puedes ejecutar: chkconfig –list | grep apache2 para asegurarte que apache2 este en “on” en los tipos 3 y 5.

Habiendo hecho debes reiniciar tu servidor, para ello ejecuta el comado:

init 6

Con esto ya tienes corriendo tu servidor Apache con PHP y mySQL.

Te dejo algunos comandos que te pueden ser útiles:

init 0 : Apagar el servidor.
init 6 : Reiniciar el servidor.
service apache2 status : Para conocer el estado de un servicio. Puedes cambiar apache2 por el servicio que quieras.
service apache2 start : Para iniciar un servicio. Asimismo, en vez de mysql puede ser apache, sshd, etc.
service apache2 stop : Para detener un servicio.
service apache restart : detiene y vuelve a iniciar un servicio.
ifconfig : Muestra la configuracion de las tarjetas de red.
man nombre_cualquiera : Muestra la ayuda del comando nombre_cualquiera.
ping nombre_host : Hace un ping a un nombre de host o direccion IP, igual que el comando ping de windows. A diferencia que este no se detendra hasta presionar las teclas <CRTL> + <C>.
top : Muestra el estado de los procesos en ejecucion asi como su uso en memoria y procesador. De la misma manera, presiona <CRTL> + <C> para salir.

Si elegiste iniciar en modo consola por defecto y tambien elegiste instalar el escritorio KDE durante la instalación y ahora quieres probarlo, puedes ejecutar el comando startx. Esto iniciará el escritorio KDE usando el usuario actual. Para volver a la línea de comandos simplemente cierra sesión desde el entorno gráfico.

Si por algún motivo la aplicacion con la que tabajases se congelara, puedes reiniciar tu servidor saltando a otro escritorio. Para saltar entre escritorios presiona la tecla <ALT> + <del F1 al F6>. Tienes seis escritorios en modo de consola disponibles. El escritorio gráfico usa el siete. Para saltar del escritorio de comandos al grafico lo puedes hacer con <ALT>+<F7>, y para pasar del escritorio gráfico al de comandos lo debes hacer con <CRTL>+<ALT>+<del F1 al F6>. Recuerda usar las teclas <CRTL> y <ALT> de la izquierda de tu teclado.