Liux como router

nano /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o vmbr0 -j MASQUERADE

iptables -A FORWARD -s 192.168.1.0/24 -o vmbr0 -j ACCEPT

iptables -A FORWARD -d 192.168.1.0/24 -m state –state RELATED,ESTABLISHED -i vmbr0 -j ACCEPT

apt-get install iptables-persistent

apt-get update && apt-get upgrade -y

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo «deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable» | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt install docker-ce docker-ce-cli containerd.io

sudo docker –version

sudo docker run hello-world

sudo apt install gnome-terminal

nano nginx-proxy.yml

docker-compose up -d

sudo apt install docker-composer

sudo curl -L «https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)» -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose –version

sudo curl -L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

source /etc/bash_completion.d/docker-compose

docker-compose up -d

docker-compose up -d

nano /etc/sysctl.conf

curlftpfs

Instalamos curlftpfs. Creamos el directorio en el que montaremos el FTP/FTPS. Montamos la carpeta remota FTP en el sistema local. Si queremos que se monte de forma persistente en el sistema, agregamos un nueva entrada al fichero /etc/fstab

Scripts copia MySQL

!/bin/bash
rm -rf /root/bbdd/*
echo "Empezando copia …"
TIMESTAMP=$(date +"%F")
echo $TIMESTAMP
BACKUP_DIR="/root/bbdd/$TIMESTAMP"
mkdir -p $BACKUP_DIR
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="laquesea"
MYSQLDUMP=/usr/bin/mysqldump
MYSQL_COMMAND=$MYSQL" --user="$MYSQL_USER" --password="$MYSQL_PASSWORD
databases=$(echo "SHOW DATABASES" | $MYSQL_COMMAND | egrep -v '(performance_schema|information_schema|mysql)')
echo $databases
for db in $databases; do
echo "Copiando … "$db
$MYSQLDUMP --force --opt --user=$MYSQL_USER --password=$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/$db.gz"
done
rsync -avz -e ssh "$BACKUP_DIR/" copias@ipquesea:/home/copias/servidor/bbdd

echo "Empezando copia web..."
webs=$(for x in /home/*/public_html;do [ ] || echo $x;done)
echo $webs
for web in $webs; do
  web1=${web:5:-11}
  echo "Copiando a ... home/copias/servidor/html$web1"
  rsync -avz -e ssh "$web/" copias@ipquesea:"/home/copiasservidor/html$web1"
done

Instalar PHP 7 en IIS

Una vez instalado IIS (Internet Information Server de Microsoft) lo primero que nos damos cuenta es que el PHP lenguaje de script, más utilizado en Internet no funciona.

Ok, tenemos pues que añadirlo nosotros al IIS, tenemos dos posibilidades o bien utilizarlo en modo CGI o bien itegrado:

Non Thread Safe: Apache + FastCGI / IIS + FastCGI . Si elegimos correr PHP como CGI binary, no necesitamos el Hilo Seguro (thread safety), porque el ejecutable es llamado para cada consulta. Es el sistema más seguro y rápido para ejecutar apliaciones PHP, aunque consume más recursos.

Thread Safe: Apache + LoadModule / IIS . Hilo seguro (Thread Safety) indica que el ejecutable puede trabajar en modo multithreaded webserver, esto ocurre con Apache 2 sobre Windows. Para multithreaded webservers, como son las antiguas versiones de IIS también se puede usar la versión threaded de PHP. Es decir se crea una copia de almacenamiento para cada hilo (thread) de forma que los datos no colisionan nunca. Si queremos que PHP trabaje de esta forma es decir CGI binario.

Thread Safety significa que el binario puede funcionar en un servidor multi-hilo como por ejemplo bajo Apache 2 para windows. Thread Safety funciona creando una copia local de almacenamiento para cada hilo, de manera que los datos no colisionarán con otros hilos.

Entonces ¿que necesito? Si se elige ejecutar PHP como binario CGI, entonces no se necesita thread safety, por que el binario es invocado en cada petición. Para servidores multi-hilo, como IIS5 y IIS6 se debe utilizar la versión threaded de PHP.

Proteger un directorio web con contraseña

Se pueden proteger directorios y subdirectorios de nuestro hosting a través de los archivos .htaccess y .htpasswd.

Para crear los archivos .htaccess y .htpasswd se utiliza un editor de texto plano, notepad, vi, nano… Es probable que dispongas de un archivo .htaccess en el servidor si ya tienes instalado algún CMS como WordPress. En caso de no disponer de ningún archivo .htaccess en el servidor simplemente tendremos que crear un nuevo archivo de texto y renombrarlo a .htaccess.

El archivo .htpasswd contiene los nombres de usuario y contraseña, por lo que mejor guardarlo en la raíz del alojamiento (fuera de la carpeta “public”).

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /var/www/dominio_que_sea.com/.htpasswd
AuthGroupFile /dev/null
require valid-user

Para crear el archivo .htpasswd utilizaremos la siguiente herramienta: http://www.htaccesstools.com/htpasswd-generator/

Limpiar boot de kernels antiguos en Ubuntu

Nos conectamos como superusuarios:

sudo su

Luego ejecutamos el siguiente comando que nos limpiará la carpeta /boot de kernel que ya no se utilizan.

 
dpkg --get-selections|grep 'linux-image*'|awk '{print $1}'|egrep -v "linux-image-$(uname -r)|linux-image-generic" |while read n;do apt-get -y remove $n;done
sudo apt autoremove

Por último para dejarlo como un a patena:

apt-get autoclean