Está en la página 1de 8

Si utiliza CentOS 4, Red Hat Enterprise Linux 4 o White Box Enterprise Linux 4 o versiones posteriores de estos sistemas operativos,

active la poltica mysqld_disable_trans con el mandato setsebool para permitir funcionar al servicio mysqld. De otro modo, el servicio mysqld jams podr iniciar.
setsebool -P mysqld_disable_trans 1

Para que SELinux permita utilizar el cliente mysql para establecer conexiones hacia servidores MySQL, utilice el siguiente mandato:
setsebool -P allow_user_mysql_connect 1

Iniciar, detener y reiniciar el servicio mysqld.


Para iniciar por primera vez el servicio mysqld y generar la base de datos inicial (mysql), utilice:
/sbin/service mysqld start

Para reiniciar el servicio mysqld, utilice:


/sbin/service mysqld restart

Para detener el servicio mysqld, utilice:


/sbin/service mysqld stop

Agregar el servicio mysqld al arranque del sistema.


Para hacer que el servicio de mysqld est activo con el siguiente inicio del sistema, en todos los niveles de corrida (2, 3, 4, y 5), se utiliza lo siguiente:
/sbin/chkconfig mysqld on

Asignacin de clave de acceso al usuario root.


El usuario root en MySQL%trade;, no tiene asignada clave de acceso alguna despus de iniciado el servicio por primera vez. Por razones de seguridad, es muy importante asignar una clave de acceso. Mtodo corto. La forma ms simple de asignar una clave de acceso al usuario root de MySQL solo requiere de un nico mandato, descrito a continuacin.
mysqladmin -u root password nueva-clave-de-acceso

En adelante, ser necesario aadir la opcin -p a cualquier sentencia de lnea de mandatos para , mysqladmin y mysqldump para ingresar la clave de acceso del usuario root y poder, de esta forma, realizar diversas tareas administrativas. Mtodo largo. La forma complicada de realizar lo anterior se describe solo con fines didcticos y como prueba de concepto. No es del todo prctico realizar asignacin de la clave de acceso del usuario root con este mtodo, pero sirve para entender el funcionamiento en cuanto a asignacin de claves de acceso. Como root, utilice el mandato mysql:
# mysql

Dentro del intrprete de mandatos de MySQL, indique con el mandato use mysql que utilizar nica base de datos existente, mysql:
> use mysql

Solicite con el mandato show tables que se muestren las tablas de la base de datos mysql:
> show tables;

Con el mandato select * from user se mostrar el contenido de la tabla user de la base de datos actual:
> select * from user;

Esto har que se vea, entre otras muchas cosas, lo siguiente:


+-------------------------+----------+-----------------+--------------+ | Host | User | Password | Select_priv | +-------------------------+----------+-----------------+--------------+ | localhost | root | | Y | +-------------------------+----------+-----------------+--------------+

Como se podr observar, el usuario root no tiene asignada una clave de acceso, por lo que cualquiera que se identifique como root en el sistema tendr acceso a todo en MySQL. Se asignar una clave de acceso del siguiente modo:
> update user set Password=PASSWORD('nuevo_password') where user='root';

Utilice de nuevo el mandato select * from user y vuelva observar el campo que correspondera al de la clave de acceso del usuario root:
> select * from user;

Deber aparecer ahora un criptograma en el campo que corresponde a la clave de acceso del usuario root.
+-------------------------+----------+-----------------+--------------+ | Host | User | Password | Select_priv | +-------------------------+----------+-----------------+--------------+ | localhost | root | 4593274b8e0d68j852| Y | +-------------------------+----------+-----------------+--------------+

Se recomienda realizar refresco de los privilegios a fin de que tomen efecto los cambios.
> flush privileges

Para probar, solo hay que salir del intrprete de MySQL.


> quit

Intente ingresar de nuevamente al intrprete de mandatos de MySQL:


mysql

Notar que ya no se puede acceder como antes, y regresa un mensaje de error.


ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

Ejecute ahora el mismo mandato, pero especificando un usuario (-u root) y solicitando se pregunte por una clave de acceso (-p):
mysql -u root -p

A continuacin se le pedir ingrese una clave de e acceso, tras lo cual obtendr de nuevo acceso al intrprete de mandatos de MySQL

Creando y destruyendo bases de datos.


Para crear una nueva base de datos, puede utilizarse el mandato mysqladmin con el parmetro create:

mysqladmin -u root -p create dbejemplo

Si queremos eliminar dicha base de datos, utilizamos el parmetro drop en lugar de create.
mysqladmin -u root -p drop dbejemplo

Otorgando permisos a los usuarios.


En adelante el usuario root solo se utilizar para tareas administrativas y creacin de nuevas bases de datos. Resultar conveniente delegar a los usuarios ordinarios el manejo de sus propias bases de datos. Una vez generada una base de datos, debemos determinar con que usuario y desde que equipo en la red local, se podr tener acceso, as como los privilegios para modificar esta. Lo ms comn, y seguro, es asignar el acceso solo desde el mismo servidor (localhost), a menos que el desarrollo web o aplicacin se localice en otro equipo. Genere un base de datos denominada directorio:
mysqladmin -u root -p create directorio

Se accede hacia el intrprete de mandatos de MySQL y se utiliza lo siguiente, suponiendo que se desea asignar permisos select (seleccionar), insert (insertar), update (actualizar), create (crear), alter (aldetar), delete (eliminar) y drop (descartar) sobre las tablas de la base de datos directorio al usuario prueba desde el anfitrin localhost (equipo local):
GRANT select, insert, update, create, alter, delete, drop ON directorio.* TO prueba@localhost IDENTIFIED BY 'password_del_usuario_prueba';

Al concluir, se tendr una base de datos denominada directorio que podr ser utilizada y modificada por el usuario prueba desde el anfitrin localhost. Esto establecer un nivel de seguridad apropiado, y garantizar que de verse comprometida la seguridad, la clave de acceso de un usuario no podr ser utilizada desde un sistema remoto. Si, por mencionar un ejemplo, se requiere permitir el acceso hacia la base de datos directorio desde otro equipo en la red local, con fines administrativos, se puede otorgar el acceso y permisos al usuario jperez desde el anfitrin 192.168.1.253, es decir jperez@192.168.1.253.
GRANT select, insert, update, create, alter, delete, drop ON directorio.* TO jperez@192.168.1.253 IDENTIFIED BY 'clave_de_acceso_para_jperez';

Modificaciones necesarias en el muro cortafuegos.


Si se utiliza un cortafuegos con polticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 3306 por TCP (mysql). Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con una zona (net), correspondera a lo siguiente:
#ACTION SOURCE DEST PROTO # ACCEPT net fw tcp #LAST LINE -- ADD YOUR ENTRIES REMOVE DEST SOURCE PORT PORT(S)1 3306 BEFORE THIS ONE -- DO NOT

Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con dos zonas (net y loc), donde solo se va a permitir el acceso al servicio mysqld desde la red local, correspondera a lo siguiente:
#ACTION SOURCE DEST PROTO # ACCEPT loc fw tcp #LAST LINE -- ADD YOUR ENTRIES REMOVE DEST SOURCE PORT PORT(S)1 3306 BEFORE THIS ONE -- DO NOT

Instalar y configurar Apache HTTP server en CentOS / Fedora/ RHEL


diciembre 15, 2009 por sedlav
Apache HTTP es un servidor web de propsito general diseado para lograr un balance entre flexibilidad, portabilidad y rendimiento y con una arquitectura modular la cual permite extender las funcionalidades bsicas mediante la seleccin de un conjunto de mdulos. Apache HTTP es usado para servir contenido esttico y dinmico (mod_php, mod_python, mod_ruby, mod_perl), es multiplataforma (UNIX, GNU/Linux, BSD, Windows), compatible con el protocolo

HTTP/1.1 y https (versin segura del protocolo http). Otras de las caracterticas son: implementacin de sitios virtuales , reescritura de url (mod_rewrite), diferentes tipos de autenticacin (bsica, digest, dbm, dbd, ldap), compresin de contenido web (mod_deflate, mod_gzip).

Instalar Apache HTTP


# yum -y install httpd

Iniciar el servidor web


# service httpd start

Comprobar que el servidor est funcionando


# service httpd status httpd (pid 26604) is running...

Reiniciar el servidor web


# service httpd restart

Reiniciar sin perder conexiones


# service httpd graceful

Detener el servicio
# service httpd stop

Iniciar el servicio junto con el sistema operativo


# chkconfig --level 35 httpd on

Editar el fichero de configuracin

# vim /etc/httpd/conf/httpd.conf

Algunas directivas para mejorar la seguridad y el rendimiento del servidor


ServerSignature Off SeverTokens ProductOnly HostnameLookups Off <Directory /> Options -Indexes -ExecCGI -Includes FollowSymLinks # no htaccess por defecto AllowOverride None </Directory>

Creando sitios virtuales (VirtualHost)


Establecer la directiva NameVirtualHost
Si desea que su servidor responda a las peticiones por todas las interfaces de red disponibles establezca:

NameVirtualHost *:80

Para una dir IP especifica establezca:

NameVirtualHost IP:80

80 es el puerto en el cual el servidor web esta escuchando las peticiones

Crear el sitio virtual

<VirtualHost *:80> ServerName mi.dominio.com ServerAlias mi.dominio.es DirectoryIndex index.html index.php DocumentRoot /var/www/php-mvc <Directory "/var/www/php-mvc"> AllowOverride All </Directory> </VirtualHost>

Ntese el uso de la directiva AllowOverride All la cual habilita el uso de .htaccess para este sitio virtual as como la posibilidad de sobreescribir los valores para un conjunto de directivas, para ms informacin: Ir a. La directiva ServerAlias es til si tenemos ms de una url apuntandando a nuestro sitio, un ejemplo son los sitios internacionalizados. Los dominios: mi.dominio.com y mi.dominio.es son entradas que primeramente debieron ser agregadas al servidor DNS

También podría gustarte