domingo, 25 de septiembre de 2011

MySQL (I) - Instalación

¡Buenas de nuevo a todos! Tras un periodo sin escribir nada, falta de tiempo y ganas, volvemos con una entrada si bien para muchos será algo trivial, a mí me tocó buscar cómo se hacía. Como siempre, me lo apunto aquí para futuras referencias mías, pero esperando que a alguien le venga bien.

Vamos a explicar una instalación básica, en un servidor con cualquier distro de linux. MySQL consta de dos partes, una cliente y una servidor, que pueden estar en el mismo servidor o separados. La configuración más normal es que estén instalados ambos en el mismo servidor, por ello es la que usaré aquí.

Lo primero es instalarlos desde los repositorios, como cada uno tenga a bien de hacerlo (yum, apt...), recordad que hay que instalar el cliente y el servidor ( mysql y mysql-server). Si no instalamos el paquete de servidor nos dará error al tratar de ejecutar el mysql (en este caso que queremos que el servidor mysql esté en nuestro servidor).

Después de instalado, lo primero que hay que hacer es cambiar la contraseña de root, para ello nos conectaremos al mysql desde la consola:
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 5.0.26 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

Y escribimos el siguiente comando:
mysql> grant all privileges on *.* to root@'localhost' identified by 'Password' with grant option;
> Query OK, 0 rows affected (0.00 sec)
Cerramos la conexion, y al intentar entrar de nuevo nos rechazara la conexion. Ahora para acceder hay que hacerlo indicandole el usuario y que necesita contraseña:
# mysql -u root -p
> Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 5.0.26 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Lo siguiente es crear una base de datos vacía:
mysql> create database DBnueva;
Query OK, 1 row affected (0.00 sec)
Y por ultimo, creamos un usuario con su contraseña y que sólo pueda acceder a su base de datos:
mysql> grant usage on DBnueva.* to Unuevo@localhost identified by 'Password';
Query OK, 0 rows affected (0.00 sec)
Y le asignamos permisos sobre la bbdd anterior:
mysql> grant all privileges on DBnueva.* to Unuevo@localhost ;
Query OK, 0 rows affected (0.00 sec)
Con esto, ya tendremos el MySQL preparado y con un usuario y una base de datos creada. Se pueden crear más BBDD de la misma forma.

¿Para qué nos vale esto? Por ejemplo para usar webs como wordpress o OScommerce si no tenemos un panel como el DirectAdmin (o en su defecto el phpMyAdmin) para crear las bases de datos de una forma sencilla. En algún otro momento veremos cómo hacer más cosas con las bases de datos, pero aún tengo que aprenderlo yo ;)

¡Un saludo!

Referencias:
http://www.linuxtotal.com.mx/index.php?cont=info__tips_011
http://www.debuntu.org/how-to-create-a-mysql-database-and-set-privileges-to-a-user

PD: Creo que no hace falta recordar que los nombres y las contraseñas que están puestos son genéricos, y que cada uno deberá cambiarlos por los que necesite.

viernes, 2 de septiembre de 2011

DirectAdmin: Panel de Usuario (I)

Lo prometido es deuda, volvemos con la tanda de post dedicados a Directadmin. Ahora le toca el turno al panel de usuario. Si habeis contratado un hosting y la empresa usa DirectAdmin, éste es el panel que usareis. Como en los otros paneles, aparece dividido en tres secciones: "Your Account", "E-mail Management" y "Advanced Features".

En "Your Account" podremos gestionar todas las opciones relacionadas con el dominio y la web. Si entramos en "Domain Setup" nos aparecerá una lista con los dominios asociados a esa cuenta, y pinchando sobre el nombre del dominio que deseemos accederemos a una lista de configuraciones extra. en "Bandwidth" podremos gestionar el límite de ancho de banda que tenga el domino, así como en "Disk Space" el tamaño máximo de los datos que tengamos. Si sólo tenemos un domino dejaremos marcado "Same as Main Accoun" para que el límite sea el que nos ponga el reseller. Si tuviesemos más es posible que quisieramos limitarlos para que no nos corten el servicio. "Secure SSL" es para activar la seguridad SSL, para ello necesitariamos un certificado. "CGI Access" nos permitirá ejecutar scripts en la carpeta "cgi-bin" y "PHP Access" nos permitirá utilizar php. Si sabemos que no usamos ninguna de las dos opciones lo recomendable por seguridad es desactivarlas. Cabe decir que estas tres opciones dependen de si el reseller las activó, si no lo hizo no se puede hacer nada. En caso de que tengamos activado el SSL, nos permitirá elegir si usar la carpeta private_html para las páginas o por el contrario usar public_html, la diferencia es si tienes dos partes en la web o sólo una, escogiendo en este último caso la opción de public_html para evitar enredos.

En "Site Summary / Statistics / Logs" podremos ver el estado de nuestro dominio, y si pulsamos sobre el nombre del domino nos mostrará las estadísticas de uso de éste (habiendo pasado un tiempo de uso, claro está). En "Change Password" se nos permitirá cambiar nuestra contraseña, pudiendo cambiar la contraseña individualmente para el acceso al DirectAdmin, para la cuenta de FTP y para la base de datos, o cambiarlas todas a la vez. Esto al gusto de cada uno. "Login History" nos mostrará un historial de las veces que hemos entrado al panel.

"DNS Management" nos permite editar los registros de las DNS de nuestro domino, pudiendo cambiarlos como lo necesitemos. Haciendo un salto a la otra columna, vamos a "FTP Management" que nos permitirá crear cuentas extra para conectarse por FTP y a qué carpeta se conectará. "Subdomain Management" nos permitirá crear de una forma sencilla subdominios asociados a la IP del servidor, no dejando poner IPs externas, para eso está "DNS Management" (si está activado por el reseller, claro). Desde "MySQL Management" podremos crear las bases de datos, si pulsamos sobre "Create new Database" se nos abrirá una página en la que podremos poner los datos que queramos usar. En la lista de las bases de datos tenemos tres opciones, "Repair" que reparará la bbdd si estuviese corrupta, "Check" que comprueba el estado de ésta y "Optimize" que recorerrá la bbdd eliminando y haciendo los cambios necesarios para que funcione mejor. Si tenemos una copia de seguridad de una bbdd, ya sea de este servidor o de otro que queramos migrar, en "Upload a Database Backup (.gz)" podremos subirla, seleccionamos la bbdd existente que queramos restaurar (si no exite, crearla) y con el botón "Examinar" nos abrirá una ventana para buscarla. Si abajo tenemos seleccionado "Your current login information" sustituirá el nombre de usuario y contraseña que tenga la copia por la que le hayamos dado cuando creamos la base de datos, si por el contrario queremos especificar otra seleccionaremos "A specified" y pondremos el usuario y la pass que necesitemos.

Seguimos con el menú principal, "Support Center" nos permitirá crear tickets a nuestro reseller para comunicarnos con el. "Instsalled Perl Modules" nos mostrará los módulos de perl que tiene instalado el servidor, si necesitasemos alguno éxtra, tendríamos que ponernos en contacto bien con el reseller para que se lo dijese al administrador o bien directamente con el administrador si pudiesemos, pero no tienen porqué instalar nada, eso depende ya de la política que lleven a la hora de ofrecer soporte.

Una opción interesante es "Password Protected Directories", que nos permite establecer un usuario y contraseña para acceder a una parte de la web. No es ningún gestor de usuarios ni similar, simplemente que al intentar acceder el navegador nos mostrará que hace falta tener credenciales para entrar a esa parte. Generalmente nos viene bien si se descubre que una web es vulnerable a algún tipo de ataque, para poder limitar el acceso mientras se revisa el código. Como digo, no es para crear una sección privada en la web para determinados usuarios (si bien se podría hacer, no es cómodo).

Para subir los archivos al servidor lo más recomendable es usar un cliente de FTP con los datos que tenemos y subir todo a la carpeta "public_html", pero si necesitamos subir pocos archivos y no tenemos un ftp a mano, o simplemente renombrar los archivos, podemos usar "File Manager" que es una suerte de cliente ftp web. No es cómodo de usar para subir muchas cosas, pero si por ejemplo necesitamos hacer algún pequeño cambio rápido nos será de utilidad.

Dejo para el final la última opción de este apartado, y es "Create/Restore Backups". Como hemos dicho, tener una copia de seguridad es vital. Con esto podemos crear una en el propio servidor por lo que pudiera pasar, sin depender ni de la copia del reseller ni la del administrador, aunque no nos deje crearla en un servidor externo, podremos descargarla usando el ftp (está en la carpeta "backups"). Podemos elegir qué incluir en la copia, pero al ser una copia manual que haremos cada semana o dos a lo sumo, seleccionaremos todo para estar tranquilos, y pulsamos [Create Backup]. Para restaurarlo simplemente seleccionamos la copia que deseemos restaurar en el desplegable que hay abajo (van ordenador por fechas) y pulsamos [Select Restore Options] y tras un rato, restaurará toda la información.

Con ésto acabamos por hoy, la siguiente sección es la del correo que también es larga, por lo que supongo que sólo trataré esa sección. Recordad que todas las opciones que os comento son con una cuenta de usuario sin límites, no tiene por que ser la que os den a vosotros, asi que determinadas cosas no os aparecerán o estarán limitadas.

¡Nos vemos en la siguiente!

jueves, 1 de septiembre de 2011

DirectAdmin: Panel de Reseller

Bueno, volvemos con la guia de DirectAdmin. Esta vez vamos con el panel de reseller. Ya se que dije que primero iría el de usuario, pero este es muy facilito. Volvemos a tener tres partes bien diferenciadas, "Account Management, destinado al mantenimiento de los usuarios, "Reseller tools", un par de herramientas para gestionar nuestros usuarios y finalmente "Extra features", unas cuantas opciones que no usaremos mucho. Empezamos con el "Account Management".

Lo primero que vemos es "Add New User", que nos permitirá añadir usuarios que tendrán un espacio en nuestro hosting. Con uno de estos creado, lo único que necesitaremos será subir una página por ftp y usar el correo, pero ya llegaremos a ello. Cuando intentamos crear el primero, nos da un error, ya que no tenemos creado ningún paquete con las características que tendrá. Para crearlo, iremos a "Add Package" y seleccionaremos las caracterísitcas que deseemos que tenga nuestros usuarios. La ventaja de este sistema es que nos permite crear tantos tipos de paquetes como necesitemos, por ejemplo si queremos vender varios tipos de hosting: con y sin mysql, con 10, 100 o infinitas cuentas de correo, etc. Las características son idénticas que al crear un paquete para reseller desde el administrador, pero tiene algunas diferencias: en las opciones de usuario no están las opciones de "IP", de "SSH For Users" ni "Allow Overselling" ya que son herramientas que no necesitan, a cambio están estas tres:
"Suspend at limit" - Si el usuario se pasa del ancho de banda establecido se suspende el hosting: no se puede acceder a su web, saldrá un mensaje diciendo que se ha superado el ancho de banda permitido ni funcionará el correo.
"Skin" - Se puede elegir el Skin que tendrá el usuario, si se instala alguno adicional es aquí dónde se cambia.
"Languaje" - Es el idioma del DirectAdmin, pero tiene trampa. Lo que te permite el cambiar de idioma es el skin, por lo que si necesitas algún idioma en específico tendrás que buscar algún skin en tu idioma.
Cuando tengamos todo elegido, pulsamos sobre el botón [Save] y se guardará el paquete con el nombre que le hayamos dado.
La siguiente opción es "List Users" que nos mostrará una lista con los usuarios que existen pero sólo los creados por el reseller, es decir, no se podrán ver los usuarios que tienen otros desde aquí, para verlo sería desde el panel de Administrador. Podremos ver la información de cada usuario y loguearnos sin necesidad de contraseña en la cuenta que necesitemos. "Manage User Packages" es para ver los paquetes de usuario que tenemos creados. Sólo veremos los nuestros como reseller, y si lo deseamos, los podremos editar para cambiar las características que hagan falta. Vuelve a aparecer la opción de "Manage Tickets", ahí recibiremos los tickets que nos envíen nuestros usuarios. Se puede desactivar desmarcando la casilla " Ticket System Enabled" y si marcamos la casilla "Email a copy of all messages to " y escribimos un correo válido, nos mandará ahí una copia de los tickets cuando los recibamos. Finalmente queda la opción de "Edit User Message" que nos dará la opción de editar un correo con los datos para que se mande cuando demos de alta a un usuario. Puedes traducirlo, pero ten en cuenta que las palabras que aparecen entre | son palabras reservadas que se sustituirán por los datos del cliente.

Pasamos rápidamente al siguiente apartado: "Reseller Tools". Con "Change Passwords" podremos cambiar las contraseñas de los usuarios que hayamos creado, útil por si alguno pierde la contraseña de acceso. En "Skin Manager" podremos instalar los skins que comentabamos antes, en "File" pondremos la ruta del skin (en nuestro ordenador) en "Skin Name" el nombre que querramos ponerle al skin, y si seleccionamos la opción "Install Serverwide" podrán acceder a él todos los usuarios que existen en el servidor (opción sólo disponible si entramos al panel reseller usando un usuario administrador). En "Reseller Statistics" podemos ver el uso que le damos a la cuenta, el ancho de banda que llevamos consumido, el espacio en el disco, etc, no tiene mucho misterio. La siguiente opción es importante "Manage User Backups", es muy parecida a la la herramienta de backups que se usa desde el administrador, pero tiene algunas limitaciones: no nos deja cambiar la ruta donde se guardarán los datos en local, siempre será en /home/"reseller"/user_backups y no nos deja elegir el qué guarda. Suponiendo que el Administrador haga copias de seguridad regulares, esta opción no es tan vital, si no lo hiciese... mal. Sólo queda "IP Management" que simplemente es que si tenemos control sobre alguna IP como resellers podremos decir qué usuarios las usarán.

Y acabamos por hoy con las "Extra Features", que son las opciones de relleno. "System Info" es lo mismo que en el panel de administrador, ver las características del servidor. Si necesitamos mandar un mensaje a todos los usuarios, "Message All Users" nos permitirá hacerlo, avisando por ejemplo de que se va a apagar el servidor a tal hora para hacer unas revisiones. Si queremos tener como reseller una dirección DNS propia con nuestro dominio, en "Name Servers" podremos editarlas y hacer que sean las que por defecto tengan los nuevos dominios que se den de alta. Y para finalizar del todo, "Conctact Administrator" nos permitirá abrir un ticket para que el administrador nos lo resuelva (si lo tiene activado, claro).

Hay que tener en cuenta que alguna de estas opciones no las tengan todos los reseller, por haberla desactivado en administrador en el paquete que ha asociado al reseller. Con esto doy por zanjado esta parte del panel y en el siguiente si me meteré con el usuario básico. ¡Hasta la próxima!