Instalar Servidor Debian/Raspbian/Ubuntu

A continuación resumo en pocos comandos los pasos de instalación de un servidor Debian/Ubuntu/Raspbian. Compilando artículos publicados en este blog bajo la etiqueta #Server6001. Agregando cosas inéditas, para tener en un sólo post todos los pasos que suelo aplicar en un primer momento para la instalación de un servidor Linux basado en Debian.

sudo su

apt-get update && apt-get upgrade

apt-get install openssh-server apache2 apache2-mod-php7.0 php7.0 php7.0-mysql mysql-client mysql-server php-curl tomcat8 vsftpd phpmyadmin php-intl php-soap php-xmlrpc

sudo ln -s /usr/share/phpmyadmin /var/www/

Instalar Cliente no NO-IP

Configurar Servidor FTP

Instalar MariaDB

Explicación de lo que estamos instalando:

openssh-server: Servidor SSH.

apache2: Servidor HTTP.

php7.0: Servidor PHP.

mysql-client: Necesario para administrar MySQL desde la cónsola.

mysql-server: Servidor MySQL.

tomcat8: Servidor Java.

vsftpd: Servidor FTP.

php-curl: Esta extensión es uno de los requisitos obligatorios para instalar sistemas algunos sistemas como Moodle.

Más info en:

🙂

Extensión PHP cURL #Debian

Esta extensión es uno de los requisitos obligatorios para instalar sistemas algunos sistemas como Moodle. El principal propósito y uso para cURL es automatizar transferencias de archivos o secuencias de operaciones no supervisadas. Para instalarlo en servidores Debian Like (Ubuntu, Raspbian, etc.) se usa el comando:

apt-get install php5-curl

Servidor FTP en Debian con vsftpd

Pasos para instalar un servidor FTP en servidores Debian-like.

Paso 1:

sudo apt-get install vsftpd

Paso 2:

Editar el archivo /etc/vsftpd.conf

En mi caso me interesa deshabilitar el acceso anónimo, habilitar el acceso a los usuarios locales y permitirles hacer modificaciones.

anonymous_enable=NO

local_enable=YES

write_enable=YES

Pase 3: Reiniciar

invoke-rc.d vsftpd restart

Funciona en Raspbian para Raspberry PI y Ubuntu.

😀

Guia Definitiva no-ip client

En la presente guía se muestra los comandos necesarios para configurar el cliente no-ip para GNU/Linux y que pueda arrancar al inicio.

mkdir $HOME/noip
cd $HOME/noip
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar vzxf noip-duc-linux.tar.gz
cd noip-2.1.9-1
sudo apt-get install build-essential
sudo make
sudo make install

Advertencia… Es posible que al hacer make o make install, el sistema arroje que faltan otras cosas por instalar, lee bien los mensajes de error para instalar lo que el sistema te pida.

# Correr el cliente
sudo /usr/local/bin/noip2

Ahora vamos a crear el script siguiente archivo

sudo nano /etc/init.d/noip

El contenido del archivo es el siquiente

#! /bin/sh
# /etc/init.d/noip

### BEGIN INIT INFO
# Provides: noip
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Simple script to start a program at boot
# Description: A simple script from www.stuffaboutcode.com which will start / stop a program a boot / shutdown.
### END INIT INFO

# Carry out specific functions when asked to by the system
case “$1” in
start)
echo “Starting noip”
# run application you want to start
/usr/local/bin/noip2
;;
stop)
echo “Stopping noip”
# kill application you want to stop
killall noip2
;;
*)
echo “Usage: /etc/init.d/noip {start|stop}”
exit 1
;;
esac
exit 0

Algunos comandos extra:

# Establecer permisos
sudo chmod 755 /etc/init.d/noip

# Arrancar el cliente
sudo /etc/init.d/noip start

# Detener el cliente
sudo /etc/init.d/noip stop

# Registrar el script para el arranque.
sudo update-rc.d noip defaults

# Eliminarlo
sudo update-rc.d -f noip remove

Fuente:
http://www.stuffaboutcode.com/2012/06/raspberry-pi-access-from-internet-using.html
http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html

Apuntar una web a una dirección ip específica

Suponiendo que somos dueños de algún dominio, digamos laut.com.ve… Además imaginemos que tenemos un servidor de pruebas y un servidor distinto para el ambiente de producción.

Supongamos además que en la máquina donde estamos desarrollando queremos que al yo colocar en un navegador o hacer un SSH a la dirección laut.com.ve mi máquina de desarrollo apunte al servidor de prueba y no al servidor de producción.

Para hacer esto se coloca en el archivo /etc/hosts en Linux o C:\Windows\System32\Drivers\etc\hosts en Windows la correspondencia deseada. Por ejemplo

# Para que apunte a la máquina local:
127.0.0.1    laut.com.ve

# Para que apunte a una IP específica:
92.3.54.65    laut.com.ve

 

Configurar dominios en Apache2

Supongamos que tenemos registrado el dominio guzman6001.com.ve y laut.com.ve y queremos tener en nuestro servidor ambas páginas (en carpetas diferentes evidentemente), además que nuestro servidor al recibir la petición sepa exactamente que página debe mostrar. Así, por ejemplo, queremos que:

guzman6001.com.ve apunte a la carpeta dentro del servidor: /home/usuario/sitios/guzman6001
laut.com.ve apunte a la carpeta dentro del servidor: /home/usuario/sitios/laut

NOTA: Para esto es muy importante que nuestro servidor DNS esté apuntando ambas direcciones al servidor. En algunas de las fuentes se indica como hacerlo con un servidor propio como bind, también es factible hacerlo con un servicio en la red como CDMON.

Para configurar Apache vamos a la carpeta /etc/apache2/sites-enabled
abrimos el archivo 000-default y lo guardamos con un nombre que nos sea más útil para saber su contenido, yo recomiendo guardarlo con el nombre del dominio que vamos a configurar por ejemplo guzman6001-domain y hacemos los siguientes cambios:

<VirtualHost guzman6001.com.ve:80>
ServerAdmin webmaster@localhost
ServerAlias guzman6001.com.ve
DocumentRoot /home/usuario/sitios/guzman6001

El resto del archivo lo puedes dejar igual o configurarlo a tu gusto

Puedes configurar tantos subdominios como quieras duplicando el bloque VirtualHost y haciendo las mismas modificaciones.

<VirtualHost mail.guzman6001.com.ve:80>
ServerAdmin webmaster@localhost
ServerAlias mail.guzman6001.com.ve
DocumentRoot /home/usuario/sitios/guzman6001mail

Aunque puedes crear tantas direcciones de dominios y subdominios como quieras, siguiendo el mismo formato, es recomendable hacerlo en archivos distintos para mantener un orden, hay ocasiones en que se debe regresar a estos archivos para realizar algún cambio.

Reiniciar apache y listo.

Fuente: http://guzman6001.blogspot.com/2010/02/crear-subdominios-en-apache2.html

Instalar phpmyadmin en ubuntu

Comandos para instalar phpmyadmin en distribuciones Debian-like.

sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/

(reiniciar apache de ser necesario)

Instalar servidor LAMP (Ubuntu 14.04) #Server6001

A continuación el comando para instalar y comenzar a configurar un servidor LAMP: Linux (Ubuntu 14.04), Apache2, MySQL y PHP.

sudo apt-get install lamp-server^

El símbolo ^ al final del comando no es un error.

Instalar SSH server en Ubuntu #Server6001

La manera más rápida para instalar un servidor SSH es:

sudo apt-get install openssh-server

Probado en Ubuntu y Debian

En Raspbian puede que de problemas de conexión, en ese caso ejecutar

raspi-config

y habilitar el servidor SSH.