Buscado de aquí, copiado de allá, traducido por acá, pero en fin: "El conocimiento para todo el mundo". Entre tecnologías y muchas otras cosas mas .... Como dice mi Padre: "Un grano no hace el granero, pero ayuda a su compañero"
¿Como modificar el valor de la variable lower_case_table_names?
Los siguientes pasos se deben realizar con permisos suficientes, en mi caso fue directamente con root.
Como la variable lower_case_table_names no es dinámica, no puede modificarse mientras MySQL esta funcionando por que debemos parar el servicio mysqld
$root>/sbin/service mysqld stop
Después vamos al archivo my.cnf que en Mandriva 2008.1 está en /etc
$root>vi /etc/my.cnf
En este archivo vamos a la sección [mysqld] y agregamos
lower_case_table_names = 1
Guardamos el archivo y reiniciamos MySQL:
:wq
/sbin/service mysqld start
Con los pasos anteriores bastó para mí, si tienen alguna duda, espero poder ayudarlos.
Explicaciòn:
El modo en que se almacenan los nombres de tablas y bases de datos en disco y son usados en MySQL depende de la definición de la variable de sistema lower_case_table_names, la cual se puede asignar cuando se arranca mysqld. lower_case_table_names puede tomar uno de los valores siguientes:
Valor
Significado
0
Los nombres de tablas y bases de datos se almacenan en disco usando los tipos de caracteres usados en en las sentencias CREATE TABLE o CREATE DATABASE. Las comparaciones de nombres son sensibles al tipo. Este es el valor en sistemas Unix. Si se fuerza este valor 0 con --lower-case-table-names=0 en un sistema de ficheros no sensible al tipo y se accede a nombres de tablas MyISAM usando diferentes tipos de caracteres, se puede producir corrupción de índices.
1
Los bombres de las tablas se almacenan en disco usando minúsculas y las comparaciones de nombres no son sensibles al tipo. MySQL convierte todos los nombres de tablas a minúsculas al almacenarlos y leerlos. Este comportamiento también se aplica a nombres de bases de datos desde MySQL 4.0.2, y a alias de tablas a partir de 4.1.1. Este es el valor por defecto en sistemas Windows y Mac OS X.
2
Los nombres de tablas y bases de datos se almacenan en disco usando el tipo de letra especificado en las sentencias CREATE TABLE o CREATE DATABASE, pero MySQL los convierte a minúscula al leerlos. Las comparaciones de nombres no son sensibles al tipo. Nota: esto funciona sólo en sistemas de ficheros que no sean sensibles al tipo. Los nombres de tablas InnoDB se almacenan en minúscylas, igual que si lower_case_table_names=1. Asignar lower_case_table_names a 2 se puede hacer desde MySQL 4.0.18.
Si sólo se está usando MySQL para una plataforma, generalmente no será necerasio modificar la variable lower_case_table_names variable. Sin embargo, se pueden presentar dificultades si se quieren transferir tablas entre plataformas que tengan sistemas de ficheros con distintas sensibilidades al tipo. Por ejemplo, en Unix, se pueden tener dos tablas diferentes llamadas my_table y MY_TABLE, pero en Windows estos nombres se consideran el mismo. Para impedir problemas de transferencia de datos debidos al tipo de letras usados en nombres de bases de datos o tablas, hay dos opciones:
Usar lower_case_table_names=1 en todos los sistemas. La desventaja principal con esta opción es que cuando se usa SHOW TABLES o SHOW DATABASES, no se ven los nombres en el tipo de letras original.
Usar lower_case_table_names=0 en Unix y lower_case_table_names=2 en Windows. Esto preserva el tipo de letras en nombres de bases de datos y tablas. La desventaja es que se dene asegurar que las consultas siempre se refieren a los nombres de bases de datos y tablas usando los tipos de caracteres correctos en Windows. Si se transfieren las consultas a Unix, donde el tipo de los caracteres es importante, no funcionarán si el tipo de letra es incorrecto.
Nota: antes de asignar 1 a lower_case_table_names en Unix, se deben convertir los viejos nombres de bases de datos y tablas a minúscula antes de reiniciar mysqld.
En Windows, se supone que hay un fichero llamado my.ini en el directorio c:\Windows, c:\WinNT o como se llame. Este es el fichero de configuración principal, aunque tambien puedes usar un my.cnf situado en c:\. MySQL primero busca el php.ini y luego el my.cnf, si encuentra los dos, los valores que hallas puesto en my.cnf sobreescriben los del php.ini. Curiosamente ahora no se en que casos resulta práctico usar los dos... De todas formas, lo mejor es usar solo uno de ellos.
En linux y similares, normalmente el fichero de configuración principal esta en /etc/my.cnf. Y si no me equivoco... también busca un posible my.cnf en el directorio de datos de MySQL. Y también busca ~/.my.cnf, el cual define opciones especificas del usuario, lo cual no esta nada mal. Como en Windows, los valores de los distintos ficheros de configuración sobreescriben los valores definidos anteriormente.
Creo que en la documentación de MySQl dice algo sobre el tema.... Si, algo dice:
Al parecer si inicias mysql con la opción -O lower_case_table_names=1 te convierte todas las mayusculas a minusculas. Es decir, si añades lo siguiente en tu my.cnf deberia funcionar:
[mysqld] set-variable = lower_case_table_names=1
Aunque al parecer esto es solo para Linux y similares, en Windows y según la documentación esto es así por defecto. Aunque por probarlo no pasa nada...
Arrancamos el sistema con el CD 1, o con el DVD y nos aparece la pantalla principal de CentOS, la diferencia entre los CD y el DVD es que mientras la instalación avanza con los CD nos ira pidiendo la secuencia de ellos y con el DVD arranca y termina la instalación con el mismo. Para instalar pulsamos enter.
A continuación nos pregunta si deseamos testear los CDS, pero podemos pulsar Skip.
Llegamos a la pantalla de instalación de CentOs. Pulsamos Next.
Seleccionamos el idioma (spanish (Español)). Pulsamos Next.
y después el idioma del teclado (Español). Pulsamos Siguiente
Ahora nos pide si deseamos borrar la información del disco que estamos instalando. Como es una instalación de 0 pulsamos que si (atención: se borrarán todos los datos si había), si teníamos instalación de otro Linux pasa al siguiente punto.
Seguidamente hay que particionar el sistema. Seleccionamos "Suprimir particiones de Linux en dispositivos seleccionados y crear diseño predeterminado". Si nos interesa cambiar las particiones ahora es el momento, pero por las que nos dan por defecto ya van bien. Al pulsar Siguiente nos pide confirmación y seleccionamos si.
En las opciones de configuración de la red usaremos IP's estáticas. Para ello hay que pulsar el botón Modificar en “Dispositivos de red” y seleccionar dentro de Enable IPv4 support, manual configuration. Dentro de este campo IP Adress ponemos por ejemplo 192.0.0.102 y como máscara de red 255.255.255.0. Podemos desactivar la opción Enable IPv6 support, damos clic en Aceptar y regresamos a la pantalla anterior.
Como nombre de host ponemos un nombre del tipo: servidor.dominio.com. Como Puerta de Enlace o Gateway 192.0.0.2, como Primary 200.93.222.4 y Secondary DNS 200.93.222.5
Tras pulsar siguiente, seleccionamos la zona horaria correspondiente, en mi caso América/Guayaquil (no soy de Guayaquil, solamente es la zona horaria que utilizo), Siguiente
y después nos pedirá la root password (para un buen password combinar mayúsculas, minúsculas, símbolos números he aquí un medidor chévere para ver la eficacia de los passwords http://www.passwordmeter.com/).
Ahora hay que decirle que aplicaciones queremos que instale. Por lo tanto seleccionamos Desktop - Gnome y pulsamos la opción de Server. También marcamos la casilla "personalizar ahora" y le damos a siguiente
Dentro de Entorno de Escritorio Entorno de escritorio de GNOME Aplicaciones seleccionamos editores, Internet basada en texto, Internet grafica. Dentro de Desarrollo Bibliotecas de Desarrollo, Herramientas de Desarrollo. Dentro de Servidores seleccionamos Base de datos MySQL, Herramientas de configuración del servidor, Servidor FTP, Servidor Web, Servidor de archivos Windows y en fin todos ellos. Dentro de Sistema Base seleccionamos Base, Herramientas de Administración, Herramientas del Sistema, Java, Sistema X Windows damos clic en siguiente
Tras unos segundos de espera en la que el instalador busque dependencias de los programas que instalaremos, pulsamos siguiente y empieza la instalación.
Para finalizar pulsamos reiniciar y quitamos el CD o DVD.
Pantalla de Bienvenida, Adelante
Cortafuegos, opción Deshabilitado y Adelante, si al mensaje
SELinux, opción Deshabilitado, Adelante, si al mensaje
KDump, Adelante
Fecha y Hora, arreglarla en el caso que amerite y Adelante
Crear un usuario, Adelante
Tarjeta de sonido, Adelante
CDs adicionales, Finalizar, al mensaje de reinicio dar Aceptar
Nota: si deciden cambiar la ip: Sistema -> Administrador -> Red, recuerden Desactivar y luego Activar el dispositivo para no tener que reiniciar la maquina y los cambios tengan efecto.
Aclaración
Uff esto si que esta bueno, hasta antes de hoy jueves 13 de agosto (no soy supertisioso créanlo) pensé que Apache Tomcat era un solo programa y punto, pero no es asi, aquí algunas explicaciones que he recopilado:
APACHE ES SERVIDOR DE PAGINAS WEB ESTATICAS O CMS y tomcat es servidor de aplicaciones Java (Demetrio)
Tomcat esta diseñado para contener jsp's, servlets y demás archivos java y apache no te permite visualizarlos
Tomcat es un contenedor de servlets y apache es un servidor Web.
Hoy en día tomcat ya puede funcionar como servidor de aplicaciones por si solo.
Apache por si solo es incapaz de ejecutar el contenido dinámico de algunas paginas y ahi es donde entra a trabajar tomcat quien facilita la ejecución de estos ya sean servlets o jsp(estos son trasformados a servlets por tomcat).
Apache
Instalamos el apache, abrimos una Terminal Aplicaciones / Accesorios / Terminal, recuerden que debemos estar como usuario root.
# yum install httpd httpd-devel
nos da el tamaño del archivo y la pregunta
ponemos y y enter
otra vez nos pregunta
ponemos y y enter
Luego de tener instalados los anteriores paquetes, procedemos a actualizar todo nuestro centos, haciendo uso nuevamente del comando yum
# yum -y update
Ahora bien, ya tenemos instalado nuestro Apache, que esta escuchando por el puerto 80(puerto por defecto). CentOS tiene un directorio /var/www/html que es el ROOT del HTTP server (Apache) ahí es donde debemos colocar los archivos que queremos ver en nuestro servidor vía http://ip_del_server/ o http://midominio.com si tenemos un domino.
Para que se inicie cada vez con el sistema operativo vamos a Sistema / Administración / Configuración de servidores / Servicios, buscamos en la lista de la izquierda httpd, seleccionamos la casilla, guardar e iniciar y nos da un mensaje de “httpd start succesful” presionamos aceptar.
También podemos iniciar el servidor con
# service httpd start
Podemos revisar en el browser con http://localhost y nos correrá la página testde apache.
Cuando haya descargado el archivo jdk-6u12-linux-i586-rpm.bin, lo copio en /tmp/, ingresamos a la carpeta
# cd /tmp/
# chmod +x jdk-6u12-linux-i586-rpm.bin
# ./jdk-6u12-linux-i586-rpm.bin
Nos muestra el contrato de licencia y con la barra espaciadora lo vamos pasando y aceptamos los términos, escribiendo yes y enter, luego enter para continuar y la palabrita done nos indica que esta listo.
Con esto se inicia la instalación de Java y se instalan en diferente ubicación. Una vez terminada la instalación usted verá el directorio /usr/java/jdk1.6.0_12 con los archivos JRE dentro de él; pero antes, manejarse por este path esta como que muy largo, ingresemos a /usr/java y renombremos:
# cd /usr/java
# mv jdk1.6.0_12 jdk1.6
Ahora debemos ponerlo como por defecto a la versión que acabamos de instalar, lo hacemos así:
Presione Intro para mantener la selección actual [+], o escriba el numero de la elección:
Ingresamos el número 2 y enter.
Ahora se debe verificar si efectivamente está todo correcto con el siguiente comando:
# java –version
Si usted obtiene:
java version “1.4.2″
gij (GNU libgcj) version 4.1.1 20060525 (Red Hat 4.1.1-1)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
O similar, algo está mal. Y si usted obtiene:
java version “1.6.0_12″
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)
Estábien.
Para que se carguen en cada inicio de sesión las variables del sistema se debe meter en el archivo .profile que se encuentra en /etc/, así que para abrir el archivo escribir en el Terminal
# nano /etc/profile
Ingresamos luego lo siguiente debajo de unset i
CATALINA_BASE=/usr/tomcat6.0.18
CATALINA_HOME=/usr/tomcat6.0.18
CATALINA_TEMP=/usr/tomcat6.0.18/temp
JAVA_HOME=/usr/java/jdk1.6
JRE_HOME=/usr/java/jdk1.6/jre
exportCATALINA_BASE
export CATALINA_HOME
export CATALINA_TEMP
export JAVA_HOME
export JRE_HOME
Guardamos (ctrl. + 0 y enter)y salimos (ctrl. + X) del editor de textos. Ahora utilizamos el comando source, para que la variable de entorno tenga efecto de inmediato, notemos que están incluidas las variables para tomcat para luego no volver a modificar el archivo.
# source /etc/profile
Tomcat versión 6.0.18
Procedemos con la instalación del Apache Tomcat, lo primero que hay que hacer es descargarse desde la página oficial (http://tomcat.apache.org/download-60.cgi).
La copiamos dentro de /tmp/
Descomprimimos la estructura:
# tar xvfz apache-tomcat-6.0.18.tar.gz
y podemos moverla dentro de /usr/ para tener todo allí, también le cambio el nombre
# mv apache-tomcat-6.0.18/usr/tomcat6.0.18
Ejecutamos tomcat con el comando:
# /usr/tomcat6.0.18/bin/startup.sh
Veremos que se inicializan las variables del archivo que creamos
Guardamos el archivo (ctrl. + O, enter), salimos (ctrl. + X) Y reiniciamos el servicio.
# cd /usr/tomcat6.0.18/bin
# sh catalina.sh stop
# sh catalina.sh start
Ahora podemos ingresar al Tomcat Manager que esta en la página de inicio para poder correr los ejemplos
Esta parte la creamos tan solo si queremos saltarnos esto de estar ingresando al directorio y poder utilizar service tomcat start, creamos un script en /etc/init.d para levantar/bajar el servicio automáticamente
# cd /etc/init.d
# nano tomcat
Ingresamos lo siguiente en el archivo:
# !/bin/bash
# chkconfig: 234 20 80
# description: Tomcat Server basic start/shutdown script
STOP_TOMCAT= sh /tomcat-6.0.18/bin/catalina.sh stop
start() {
echo -n "Iniciando tomcat: "
cd $TOMCAT_HOME
${START_TOMCAT}
echo "listo"
}
stop() {
echo -n "Bajando tomcat: "
cd $TOMCAT_HOME
${STOP_TOMCAT}
echo "listo"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 10
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac
exit 0
Cambiamos los permisos
# chmod 755 tomcat
Adicionamos el script a los servicios del sistema
# chkconfig --add tomcat
# chkconfig tomcat on
Verificamos la modificación (el script utiliza los niveles 2, 3, 4)
# chkconfig --level 234 tomcat on
# chkconfig --list tomcat
Se puede ver que los servicios 2, 3, 4 estan encendidos
Y ahora testeamos con:
# service tomcat start
# service tomcat stop
Tomcat cooperando con Apache
El siguiente paso es compilar el modulo jk para incluirlo en el HTTP server para esto descargamos el source http://tomcat.apache.org/download-connectors.cgi copiamos el archivo en /tmp y seguimos los siguientes pasos.
# cd /tmp/ # tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz # cd jakarta-tomcat-connectors-1.2.15-src/ jk/native
# ./buildconf.sh
# ./configure --with-apxs=/usr/sbin/apxs
# make
# make install
Ahora creamos un archivo dentro de /etc/httpd/conf llamado workers.properties
Damos clic en Aceptar y procedemos a Añadir una Excepción y pulsamos en Obtener Certificado y Confirmamos la Excepción.
Con esto se abrirá el Login, podemos ingresar como root con nuestra contraseña
Mysql
Vamos a Sistema / Administración / Configuración de servidores / Servicios
Vamos buscamos mysqld marcamos el casillero, Guardamos y damos clic en Iniciar
# service mysqld start para levantar el servicio de la Base de Datos
# service mysqld restart para reiniciar el servicio de la Base de Datos
# service mysqld stop para parar el servicio de la Base de Datos
Las bases de datos de mysql se crearán en el directorio /var/lib/mysql. Cada base de datos es un directorio diferente y cada tablaes un archivo dentro del directorio las dos bases que se crean cuando se instala mysql es “mysql” y “test”.
Se corre el comando
# mysql_install_db
para crear las bases que guardarán los permisos de los usuarios.
Con el comando
# mysqladmin -u root password“PASSWORD”
se crea un password para el administrador de la base de datos. Ejemplo:
# mysqladmin –u root password admin
Admin sería la nueva clave para el administrador de la base de datos
Para probar si la conexión esta bien y se puede entrar a la base de datos se pone
# mysql -u root –p
aquí ahora va ha pedir un password, el password en este caso es admin el cual definimos. Para salir se pone
mysql> quit
Podemos tambien realizar las configuraciones, creación de Bases de Datos, Usuarios, Permisos desde Webmin, gráficamente.
Solo nos queda por darle al usuario root (que es con el que trabajare o crear un usuario en caso requieran) los permisos para que pueda acceder desde los diferentes Hosts, esto lo podemos hacer ingresando a Webmin, vamos a Servidores, Servidor de Base de Datos MySQL,Permisos de Usuario, Crear nuevo usuario, lo creamos, ponemos la contraseña, Maquina le dejamos como cualquiera y le damos los permisos necesarios.
Para no tener problemas con la sensibilidad de los nombres añadir estas 2 lineas en este archivo my.cnf