Archive for julio, 2022
Docker-Compose con Un contener que tiene un MariaDB y un PhpMyAdmin armado para servir las DB. Una red en la que varios servicios se unen. Y a la vieja usanza, a consumir un motor de db.
Necesito montar en un mismo equipo, con docker-compose; varios servicios solamente consumiendo una db. Se que hay otras formas mas elegantes, pero no logro cambiar el tema del puerto por defecto(el de la db) así que vamos a hacerla a la Argentina, una sola DB(como en muchos trabajo, el único que labura) y muchos servicios(quienes no hacen una chota) en este caso varios wordpress.
# Me guió de
# https://hackernoon.com/mariadb-phpmyadmin-docker-running-local-database-ok9q36ji
# Creo la red que voy a usar antes que nada
docker network create backend
# Creo la carpeta para la db e ingreso a la misma
mkdir db && cd$_
# La defino el servicio
vi docker-compose.yaml
version: "3.7"
services:
mariadb:
image: mariadb
restart: always
volumes:
- mariadb-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ClaveCopada
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- 8000:80
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mariadb
depends_on:
- mariadb
networks:
default:
external:
name: backend
volumes:
mariadb-data:
# Este lo levanto y creo las db que necesito para los otros servicios
docker-compose up -d
# Salgo de esa carpeta
cd ..
# Creo la carpeta para el servicio e ingreso
mkdir wp && cd$_
# Defino el otro servicio
vi docker-compose.yaml
version: '3.3'
services:
wordpress:
image: wordpress
volumes:
- ./html:/var/www/html/
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_USER: pirulo
WORDPRESS_DB_PASSWORD: pirulo
WORDPRESS_DB_NAME: pirulo
networks:
default:
external:
name: backend
# Salgo de esa carpeta
cd ..
# Creo la carpeta para el servicio e ingreso
mkdir wp1 && cd$_
# Defino el otro servicio
vi docker-compose.yaml
version: '3.3'
services:
wordpress1:
image: wordpress
volumes:
- ./html:/var/www/html/
ports:
- "8081:80"
restart: always
environment:
WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_USER: fangulo
WORDPRESS_DB_PASSWORD: fangulo
WORDPRESS_DB_NAME: fangulo
networks:
default:
external:
name: backend
# Detalles importante, la db la levanto una vez.
# Cada servicio que defina
# tengo que crear a mano la db y
# cambiar el puerto para que no haya problemas.
# y por ultimo levantar cada servicio.
redirigir el trafico ssh por puerto a otro equipo
# Me guió de
# https://blog.desdelinux.net/redireccionar-trafico-iptables/
# Quiero redirigir el trafico ssh por puerto a otro equipo.
# Desde un equipo le pego a un puerto y me reenvía a otro equipo.
# En este caso para la conexión ssh.
# Le pego a este primer equipo
Equipo A 192.168.0.33 enp0s3 pirulo
# En el puerto 23 y me redirige a
Equipo B 192.168.0.34 enp0s3 fangulo
# Antes que nada habilitar el forwarding
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
# instalo iptables y persistent
sudo apt install iptables iptables-persistent
# La redireccion
sudo iptables -t nat -A PREROUTING -p tcp -i enp0s3 --dport 23 -j DNAT --to-destination 192.168.0.34:22
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
# Si me conecto al 22 voy al equipo posta
ssh ed@192.168.0.33 -p22
# En cambio si le pego al 23 me redirige al otro equipo.
ssh ed@192.168.0.33 -p23
problemas con los yml
En tu cara bill.
https://jsonformatter.org/yaml-formatter
wp en docker-compose con plugins desde el arranque
# Me guió de este héroe con capa
# https://labarta.es/como-agregar-plugins-temas-docker-compose-wordpress/
# En el archivo de definición del wp, sección volumes agregamos
volumes:
- ./plugins/password-protected/:/var/www/html/wp-content/plugins/password-protected
# Mi caso es dentro de la carpeta del proyecto tengo una carpeta llamada plugins.
# Y dentro de plugins descomprimo un plugins que uso que es password-protected y le digo donde ubicarla.
# Vale también con theme
docker y docker-compose en ubuntu 2004
# Me guió de
# https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-es
sudo apt update
sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker
sudo usermod -aG docker ${USER}
# Para la parte de docker-compose
# https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04-es
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
una de virtualbox
Estaba hace un rato instalando un ubuntu 2004 en un virtualbox. Y me tope con querer actualizar paquetes y que de repente la velocidad de conexión de descarga se me vaya al tacho. Intente primero cambiar el tipo de placa de red. Pero no pasaba nada. Google y encontré esto.
# https://askubuntu.com/questions/1236341/ubuntu-in-virtual-box-is-upgrading-packages-terribly-slow
Hay que activar el check "Use host I/O cache"
en la parte de almacenamiento.
ocsInventory sobre Debian 11
########################################################################
Instalación de OCSInventory en Debian 11
########################################################################
# Nos guiamos de
# https://chachocool.com/como-instalar-lamp-en-debian-11-bullseye/
# Actualizamos el equipo
sudo apt update
# Instalamos los paquetes de LAMP necesarios
sudo apt install -y apache2 libapache2-mod-php php php-mysql mariadb-server
# Revisamos el estatus de Apacha y Mariadb
systemctl status apache2 mariadb
# Modificamos la configuracion de php.ini
sudo vi /etc/php/7.4/apache2/php.ini
# Modificamos la variable del timezone
date.timezone = America/Argentina/Buenos_Aires
# Reiniciamos apache
sudo systemctl reload apache2
# Y probamos que podemos ingresar a mysql
sudo mysql
# La parte de OSCInventory
# https://chachocool.com/como-instalar-ocs-inventory-en-debian-11-bullseye/
# Descargamos la ultima version disponible
sudo wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.10.0/OCSNG_UNIX_SERVER-2.10.0.tar.gz
# Hacemos un update del equipo por las dudas
sudo apt update
# Instalamos requerimientos necesarios
sudo apt install -y libapache-dbi-perl libapache2-mod-perl2 libarchive-zip-perl libdbd-mysql-perl libmojolicious-perl libnet-ip-perl libplack-perl libswitch-perl libxml-simple-perl make
# Habilitamos consas de Perl
sudo cpan -i Apache2::SOAP XML::Entities
# Seguimos instalando requisitos
sudo apt install -y php-curl php-gd php-mbstring php-xml
sudo apt install -y php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml
# Recargamos configuracion de Apache
sudo systemctl reload apache2
# Ingresamos a la parte DB
sudo mysql
# Creamos la db a usar
create database ocsweb;
# Esto es horrible, pero momentaneo lo dejamos asi
# Cuando podamos ponerlo posta lo haremos con clave posta y copada
create user ocs@localhost identified by 'clave';
# Otorgamos privilegios
grant all privileges on ocsweb.* to ocs@localhost;
exit;
# Descomprimimos los sources
tar xf OCSNG_UNIX_SERVER-2.10.0.tar.gz
# Ingresamos a la carpeta
cd OCSNG_UNIX_SERVER-2.10.0
# Corremos el instalador
sudo ./setup.sh
cd ..
# Eliminamos la carpeta de la instalacion
sudo rm -Rf OCSNG_UNIX_SERVER-2.10.0
# Modificamos el sigueinte archivo
sudo vi /etc/apache2/conf-available/z-ocsinventory-server.conf
# Ingresamos la clave horrible
PerlSetVar OCS_DB_PWD clave
# Cambiamos tambien en
sudo vi /etc/apache2/conf-available/zz-ocsinventory-restapi.conf
$ENV{OCS_DB_PWD} = 'clave';
# Habilitamos los virtualhost
sudo a2enconf ocsinventory-reports z-ocsinventory-server zz-ocsinventory-restapi
# Reiniciamos apache
sudo systemctl restart apache2
# Seteamos los permisos sobre la carpeta
sudo chown www-data /var/lib/ocsinventory-reports
# Editamos crontab
sudo vi /etc/cron.d/ocsinventory
ls -l
0 0 * * * www-data cd /usr/share/ocsinventory-reports/ocsreports/crontab/ && /usr/bin/php cron_all_software.php
# La ip va a cambiar deacuerdo al ambiente. Habria que setearla por mac.
http://192.168.0.15/ocsreports
# Esto es el ultimo paso de la instalacion
sudo rm /usr/share/ocsinventory-reports/ocsreports/install.php
########################################################################
Instalación de OCSInventory agente en Debian 11
########################################################################
# Actualizamos
sudo apt update;sudo apt upgrade -y
# Instalamos requerimientos
sudo apt install libmodule-install-perl dmidecode libxml-simple-perl libcompress-zlib-perl libnet-ip-perl libwww-perl libdigest-md5-perl libdata-uuid-perl
# y el agente
apt install ocsinventory-agent
http://192.168.0.12/ocsinventory
# Con esto se contacta con el servidor
sudo ocsinventory-agent --server http://192.168.0.12/ocsinventory
# Metemos en cron esto
sudo mv /etc/cron.daily/ocsinventory-agent /etc/cron.hourly
Comentarios recientes