15 feb 2017

Apache - Php - MySQL - FTP

Para instalar un servidor Apache
|| sudo apt-get install apache2

Instalamos PHP
|| sudo apt-get install php

Instalamos la base de datos MySQL y las librerías.

|| sudo apt-get install mysql-server mysql-client php-mysql


Reiniciamos el servidor:

|| sudo service apache2 restart

Vamos a comprobar que funciona nuestro php. Para ello creamos un fichero llamado info.php con el siguiente contenido en el directorio /var/www/html

<?php
       phpinfo();
?>

Si no funciona eliminamos el php y lo instalamos por módulos:

Eliminamos:

|| sudo apt-get purge php* 


Instalamos

|| sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0 php7.0-simplexml php7.0-xml


Reiniciamos el servidor Apache

|| sudo service apache2 restart

Escribimos localhost/info.php en el navegador y comprobamos que funciona:

Para instalar un servidor FTP:
|| sudo apt-get install vsftpd

Editamos el fichero de configuración
|| sudo nano /etc/vsftpd.conf


# Desactivamos el acceso anónimo
anonymous_enable=NO
#
# En la siguiente línea se define la ruta de la carpeta del usuario anónimo. Por defecto, si no aparece es:
#anon_root=/srv/ftp
#
# Descomentamos la línea para que se puedan conectar
local_enable=YES
#
# Permitimos a usuarios locales escribir
write_enable=YES

La línea write_enable viene comentada, la descomentamos y guardamos los cambios

Para conectarnos utilizaremos un cliente de Windows. Al entrar con un usuario por FTP, apareceremos en su directorio personal:

Samba

Samba es un paquete que hace de librería Windows. Permite crear recursos compartidos entre sistemas Linux y Windows.

Instalamos Samba:
|| sudo apt-get install samba cifs-utils

Para compartir recursos con Samba antes debemos crear una carpeta compartida en Windows, donde deberemos tener una cuenta de usuario, y configurar correctamente el uso compartido de archivos y carpetas.

Creamos el directorio compartido en la raíz de Windows. Lo llamamos por ejemplo, server. A continuación con clic secundario > propiedades, compartiremos la carpeta y daremos todos los permisos a todos los usuarios.

  • Pestaña Compartir > Uso compartido avanzado > Compartir esta carpeta



  • Pestaña Seguridad > Editar... > Agregar... Todos


Marcamos todos los permisos y aceptamos.

  • Panel de control > Redes e Internet > Centro de redes y recursos compartidos > Configuración de uso compartido avanzado

- Elegimos el perfil de red que estemos usando, en este caso "Casa o trabajo".
- Activamos la detección de redes, el uso compartido de archivos e impresoras.
- El uso compartido de la carpeta pública.
- Habilitamos el uso compartido para dispositivos que usan cifrado de 40 ó 56 bits 
- Desactivamos el uso compartido por contraseña.

Creamos un documento de texto plano en la carpeta compartida para comprobar si podemos verlo en nuestro Ubuntu.


Una vez hecho esto, nos vamos al servidor.

  • Creamos un directorio para compartir en /media/compartida
|| sudo mkdir /media/compartida

  • Montamos el recurso compartido en la carpeta que hemos creado
|| sudo mount -t cifs //IP/RecursoWindows /media/carpeta -o user=usuario,password=password

Podemos desmontarlo con sudo umount /media/compartida

Cambiar idioma a Webmin

Si queremos o necesitamos cambiar el idioma de nuestro Webmin a español, podemos hacerlo desde Webmin > Webmin Configuration > Language

En Display in language indicamos Spanish (ES.UTF-8), clic en Change Language y reiniciamos el navegador y el servicio de webmin:
|| sudo service webmin restart

Webmin

Webmin es una aplicación para Linux que sirve para centralizar toda la configuración del sistema, desde un navegador web.

Para instalar Webmin iremos a su página oficial desde nuestro servidor: http://www.webmin.com/download.html y descargaremos el instalador con extensión .deb, que será el que necesitaremos para Ubuntu.

Una vez descargado utilizaremos el siguiente comando para instalar webmin:
|| sudo dpkg -i webmin_1.831_all.deb

Si nos falla la instalación porque faltan paquetes de dependencias podemos forzar la instalación de webmin y sus dependencias:
|| sudo apt-get -f install

Webmin utiliza el protocolo https y el puerto 10000 por defecto. Para acceder Webmin necesitaremos entrar al navegador e introducir la siguiente dirección:
|| https://localhost:10000
Si no indicamos el protocolo https en la dirección, nos aparecerá un enlace de redirección.

La primera vez que conectemos el navegador nos dirá que el certificado de la dirección no está firmado. Le daremos a Avanzado > Añadir excepción...

De ahora en adelante nos aparecerá la ventana de login, donde nos identificaremos como sudoer. 
Y accederemos a Webmin:

Para poder realizar esta instalación es imprescindible instalar Apache antes que Webmin.

Network Manager

Network Manager es una aplicación que se utiliza mediante el entorno gráfico que permite realizar nuestras configuraciones de red, en lugar de como lo veníamos haciendo editando el fichero /etc/network/interfaces

Para utilizar Network Manager como aplicación de configuración de red, editamos el fichero /etc/NetworkManager/NetworkManager.conf con un editor de texto.
|| sudo mousepad /etc/NetworkManager/NetworkManager.conf

Cambiamos el valor de managed a true, guardamos los cambios y reiniciamos el servicio:
|| sudo service network-manager restart

Ahora se nos conecta mediante Network Manager como muestra esa ventana informativa. Nos aparece el icono de las dos flechas desde el que podemos acceder a la configuración de nuestra red.

En Editar las conexiones... podremos editar la configuración de red de nuestros adaptadores. Nos iremos a la pestaña Ajustes de IPv4 e indicaremos la configuración de red que requiramos.

Para terminar editaremos el fichero /etc/network/interfaces para evitar conflictos con los adaptadores de red. Comentaremos todas las líneas a excepción de las de localhost:
|| sudo nano /etc/network/interfaces

Ahora podremos ver nuestra configuración de red por consola con el comando:
|| sudo ip addr

Para ver la configuración de red del cliente podemos usar nmcli. Sin parámetros, muestra información sobre todas las opciones posibles.

Aplicaciones al inicio

Podemos configurar las aplicaciones que arrancan al inicio o añadir algunas nuevas. Para ello seguimos vamos a Inicio > Toda la configuración > Sesión e inicio

En la pestaña Autoarranque de aplicaciones tendremos un listado de aplicaciones que vendrán marcadas o desmarcadas, dependiendo de si se inician al ejecutar el sistema. Podemos añadir aplicaciones que no se encuentren en el sistema con el botón Añadir.

Para realizar una configuración más precisa se recomienda hacer la configuración por comandos, abriendo los archivos de configuración de las aplicaciones con un editor de texto.

Los archivos .desktop son los que arrancan al inicio, para editarlos iremos a la ruta ~/.config/autostart que es donde se encuentran.

Si no aparece ninguna aplicación significa que los tendremos configurados en la siguiente dirección: /etc/xdg/autostart/

Abrimos cualquiera con Mousepad u otro editor de texto:
|| sudo mousepad xscreensaver.desktop
Se mostrán un gran número de variables, la mayoría serán Name y Comment, ya que hay uno por cada idioma.

Algunos ejemplos de líneas de contenido que podemos encontrarnos son las siguientes:
  • Name[es]=Nombre del programa mostrado
  • Comment[es]=Es el texto que aparece al dejar el ratón encima del icono o viendo sus propiedades.
  • OnlyShowIn=XFCE;GNOME; → entornos gráficos en los que se muestra, si no está soportado por alguno se quita.
  • NotShowIn=KDE; no ejecutar en los entornos gráficos indicados.
  • Terminal=false → especifica que no se ejecuta en terminal porque utiliza entorno gráfico. Si apareciera como true, primero se ejecutaría el entorno gráfico y luego la aplicación.




14 feb 2017

Servicios o demonios

Un demonio es un programa que se ejecuta en segundo plano cuya función más común es la de ofrecer servicios a otros programas.

Los servicios pueden estar iniciados o detenidos. Sus parámetros más comunes son:
  • start: Incia un servicio.
  • restart: Detiene e inica nuevamente un servicio.
  • stop: Detiene un servicio.
  • status: Muestra información sobre un servicio.

Los servicios instalados en un equipo se encuentran en el directorio /etc/init.d/
Podemos cambiar su estado o introducir diversos parámetros del siguiente modo:
|| sudo /etc/init.d/apache2 stop
Detenemos Apache

consultamos su estado:
|| sudo /etc/init.d/apache2 status
Consultamos el estado de Apache

lo iniciamos de nuevo:
|| sudo /etc/init.d/apache2 start
Iniciamos Apache

Podemos ver un listado de los servicios instalados en el equipo con:
|| ls /etc/init.d

También podemos utilizar el comando service para cambiar el estado de los servicios. En algunas ocasiones será obligatorio hacerlo de este modo.
|| sudo service apache2 restart
Reiniciamos Apache

Enlaces simbólicos y enlaces duros

Existen 2 tipos de enlaces que podemos crear a otros archivos o directorios en Linux. Estos enlaces son los enlaces simbólicos (soft link) y los enlaces duros (hard link)

Un vínculo simbólico es similar a un acceso directo de Windows. Si actualizamos lo enlazado únicamente se actualiza el original. No es necesario ir buscando todos los vínculos para actualizarlos.

Para crear un vínculo simbólico:
|| ln -s archivo vinculo-simbolico-a-archivo

Un vínculo duro a un archivo o directorio es tratado por el sistema como si fuera el original. Es útil, por ejemplo, en caso de borrar un programa y no recordar en qué ubicación estaba almacenado. 

Para crear un vínculo duro:
|| ln archivo vinculo-duro-a-archivo

Synaptic

Synaptic es un gestor de paquetes que utiliza el entorno gráfico. Nos permitirá instalar, actualizar o desinstalar paquetes. Synaptic utiliza el archivo de repositorios sources.list y no funcionará si hay otro programa ejecutándolo.

Para empezar nos descargamos Synaptic:
|| sudo apt-get install synaptic

Ejecutaremos el programa como sudo:
|| sudo synaptic

Lo más interesante sería el apartado Estado, bajo Secciones en el lateral inferior izquierdo de la ventana. Nos aparecerán por encima los siguientes menús al clicarlo:

  1. Instalado: Muestra los paquetes instalados en el sistema.
  2. Instalado (actualizable): Muestra versiones más nuevas de los paquetes que tenemos instalados.
  3. Instalado (manual): Muestra los paquetes que hemos instalado nosotros, manualmente.

Por último, para buscar paquetes podremos usar la opción Buscar, que se muestra en el icono con una lupa. Introducimos el texto de búsqueda y la zona en la que deseamos realizar ese criterio de búsqueda, siendo éstas Nombre, Descripción y nombre, o Versión entre otras.

Synaptic tiene la ventaja de que no necesitas conocer el nombre del paquete, lo que facilita su localización e instalación. Recordemos que en sistemas Linux, al instalar un paquete por línea de comandos debemos escribir su nombre exacto.

Redireccionamientos

Una redirección es una forma de trasladar información desde un fichero a otro en Linux. Una posible aplicación de una redirección podría ser guardar el contenido de un fichero, como sources.list (la lista de nuestros repositorios), a un documento .txt. Yo lo haré con algo más sencillo de visualizar.

Desde mi carpeta personal hago un ls para listar todo el contenido de la misma.

Supongamos que quiero guardar el contenido que me muestra este comando por alguna razón, como por ejemplo que vayamos a realizar modificaciones. Para ello podemos utilizar un redireccionamiento.

Guardaré todo el contenido del comando ls de mi carpeta personal en un archivo llamado redireccionamiento.txt
|| ls > redireccionamiento.txt

Mostraré el contenido del txt que he creado
|| nano redireccionamiento.txt

También quedará en el listado nuestro nuevo archivo de texto.

Ahora bien, si quisiéramos guardar una nueva redirección en el fichero para tener un historial con los cambios, no utilizaremos el comando redireccionador anterior porque sobreescribiríamos el archivo txt, si no que utilizaríamos el siguiente:
|| ls -la >> redireccionamiento.txt

El contenido se añadirá al final del archivo 

Ahora supongamos que lo que queremos es mostrar contenido del fichero sin abrirlo. Podemos mostrar varias líneas del principio...
|| head redireccionamiento.txt

... o varias líneas del final
|| tail redireccionamiento.txt

Tanto como para el comando head como para el comando tail, podemos elegir el número de líneas que queremos mostrar. Si por ejemplo, sólo queremos mostrar las 3 primeras líneas escribiremos lo siguiente:
|| head -3 redireccionamiento.txt

Por otra parte, imaginemos que sólo queremos mostrar la tercera línea por abajo. Esto también se haría del mismo modo para head que para tail, simplemente es cuestión de jugar con los parámetros:
|| tail -3 redireccionamiento.txt | head -1
De las 3 últimas líneas, la primera línea
Como veis el redireccionamiento y sus parámetros dan mucho juego, es cuestión de cada cuál adaptarlo a sus necesidades o a su imaginación. No obstante, el redireccionamiento es una herramienta que nos será de gran ayuda.´

Por último, voy a rizar un poco el rizo. Imaginemos que queremos guardar varias líneas de un archivo de texto en otro archivo. Podríamos utilizar la siguiente línea:
|| head -4 redireccionamiento.txt | tail -2 > listas.txt

Si lo abrimos con nano observaremos que hemos copiado las líneas 3 y 4 del fichero redireccionamiento.txt a otro nuevo, lineas.txt

Arrancar en modo texto una vez instalado el modo gráfico

Una vez que hemos instalado nuestro entorno gráfico nos aparecerá de este modo cada vez que arranquemos. Si deseamos ejecutar nuestro sistema en entorno de comandos lo haremos del siguiente modo.

Abrimos el terminal y ejecutamos con un editor de texto el grub:
|| sudo nano /etc/default/grub

Buscamos la línea GRUB_CMDLINE_LINUX_DEFAULT="" y añadimos text entre las comillas tras el igual.
Original

Modificado
Guardamos los cambios y actualizamos el Grub.
|| sudo update-grub

Reiniciamos el servidor y tras ejecutarse se mostrará en modo consola.

No obstante, si contamos con una versión de Ubuntu igual o superior a la 15.05 también deberemos escribir las dos líneas siguientes:
|| sudo systemctl enable multi-user.target --force
|| sudo systemctl set-default multi-user.target

Reiniciamos el servidor y se mostrará en modo consola.

Para ejecutar el entorno gráfico una vez iniciado Ubuntu en modo consola, bastará con escribir el comando startx. Esto no hará que nuestra máquina se inicie en modo gráfico en adelante. Para dejarlo como estaba revertiremos el último paso que habíamos realizado:
|| sudo systemctl disable multi-user.target --force

Reiniciamos y volveremos a disponer de entorno gráfico tras cada inicio del sistema. Si lo deseamos podemos revertir todo el proceso.

Configurar Xubuntu en español

Cuando instalamos el entorno gráfico habrá traducciones que estarán incompletas. Podemos conseguir una traducción más completa del siguiente modo:

1. Menú Inicio > Toda la configuración

2. Soporte de idiomas

Al abrir el soporte de idiomas nos cargarán un listado de traducciones que no están instaladas, como puede ser la ayuda en español de LibreOffice. Podemos ver las traducciones que se instalarían en "Detalles", y optar por instalarlas si lo deseamos.


3. En la pestaña Idioma, clic en Instalar o eliminar idiomas. Seleccionamos español, introducimos clave de superusuario y se descarga el idioma. Ordenamos los idiomas por preferencia de utilización. Después clic en Aplicar a todo el sistema.

4. En la pestaña Formatos regionales, seleccionamos Español, clic en Aplicar a todo el sistema. Nos volverá a pedir la clave de superuser.

5. Para acabar, reiniciamos el servidor y antes de iniciar sesión nuevamente, nos aseguramos de seleccionar el idioma Español - España