Archive for octubre, 2021
# Me guio de
https://tecadmin.net/how-to-install-php-8-on-debian-10/
sudo apt update
sudo apt install -y gnupg2 ca-certificates apt-transport-https software-properties-common
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ buster main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt install php8.0
php -v
sudo apt search php8.0-*
sudo apt install php8.0-{mysql,imap,ldap,xml,curl,mbstring,zip}
php -m
sudo apt install apache2 libapache2-mod-php8.0
sudo systemctl restart apache2
octubre 28, 2021 at 5:16 pm
# Me baso en este groso
https://blog.pleets.org/article/instalar-certbot-en-debian-buster
sudo vi /etc/apt/sources.list
deb http://ftp.debian.org/debian buster-backports main
sudo apt-get update
sudo apt install python-certbot-apache -t buster-backports
octubre 27, 2021 at 3:21 pm
# Parto desde acá
https://www.rosehosting.com/blog/how-to-install-wordpress-with-nginx-on-debian-10/
# Vemos que este todo actualizado
sudo apt update && sudo apt upgrade
# Instalamos algunas cosas necesarias
sudo apt-get install nginx mariadb-server mariadb-client php-cgi php-common php-fpm php-pear php-mbstring php-zip php-net-socket php-gd php-xml-util php-gettext php-mysql php-bcmath unzip wget git -y
# Modificamos el siguiente archivo
sudo vi /etc/php/7.3/fpm/php.ini
# Seteamos esos valores
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = America/Argentina/Buenos_Aires
# Reiniciamos php
sudo systemctl restart php7.3-fpm
# Tocamos cosas de la db
sudo mysql -u root -p
# Creamos la db a usar
CREATE DATABASE wpdb;
# Asignamos usuario a la db y una clave(pongan una buena)
CREATE USER 'wpuser'@'localhost' identified by 'dbpassword';
# Garantisamos los privilegios a ese usuario sobre esa db
GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost';
# El flush de siempre
FLUSH PRIVILEGES;
# El salir de siempre, cuac
EXIT;
# Ingresamos a la carpeta del proyecto
cd /var/www/html/
# Nos traemos lo source del wordpress
sudo wget https://wordpress.org/latest.tar.gz
# Los descomprimimos
sudo tar -xvzf latest.tar.gz
# Ingresamos a la carpeta de wordpress
sudo cd wordpress
# Hacemos una copia del archivo de configuracion
sudo cp wp-config-sample.php wp-config.php
# Modificamos los valores del archivo de configuracion de php
sudo vi wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wpdb' );
/** MySQL database username */
define( 'DB_USER', 'wpuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'dbpassword' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
# Asignamos los permisos para dicha carpeta
sudo chown -R www-data:www-data /var/www/html/wordpress
# Hacemos la configuracion del sitio
sudo vi /etc/nginx/sites-available/wordpress.conf
server {
listen 80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
# Aca voy con ip por que no tengo dominio, ip del equipo
server_name 192.168.0.19;
access_log /var/log/nginx/wordpress_access.log;
error_log /var/log/nginx/wordpress_error.log;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_read_timeout 3600s;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
}
}
# Creamos el enlace simbolico
sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/
# Reiniciamos nginx y php
sudo systemctl restart nginx
sudo systemctl restart php7.3-fpm
octubre 21, 2021 at 3:38 pm
# Me guié de
https://stackoverflow.com/questions/62892966/docker-swarm-traefik-moodle-gateway-error
# Igual tuve que tocar muchísimo
vi docker-compose.yml
version: '3.7'
services:
traefik:
image: traefik:v2.0
networks:
- traefik-proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- "traefik.enable=false"
ports:
- "80:80"
- "8080:8080"
command: --providers.docker --api --api.insecure=true --providers.docker.watch true
mariadb:
image: bitnami/mariadb:10.2.29
labels:
- "traefik.enable=false"
environment:
- MARIADB_USER=bn_moodle
- MARIADB_PASSWORD=bn_password
- MARIADB_DATABASE=bitnami_moodle
- MARIADB_ROOT_PASSWORD=root_password
networks:
- database
moodle:
image: bitnami/moodle:latest
environment:
# La variable de abajo es lo mas cuando algo no funca
- BITNAMI_DEBUG=true
- MARIADB_HOST=mariadb
- MARIADB_PORT_NUMBER=3306
- MOODLE_DATABASE_USER=bn_moodle
- MOODLE_DATABASE_PASSWORD=bn_password
- MOODLE_DATABASE_NAME=bitnami_moodle
ports:
- 8000:8080
depends_on:
- mariadb
- traefik
networks:
- database
- traefik-proxy
labels:
- "traefik.enable=true"
- "traefik.http.services.moodle.loadbalancer.server.port=8080"
- "traefik.http.routers.moodle.rule=HostRegexp(`{catchall:.*}`)"
- "traefik.docker.network=traefik-proxy"
networks:
database:
driver: bridge
traefik-proxy:
external: true
# Creas la red necesaria
docker network create traefik-proxy
# Levantas
docker-compose up -d
# y logueas lo que pasa.
docker-compose logs -f
# Tarda un rato tómense un buen café, o vean alguna buena serie.
octubre 20, 2021 at 3:28 pm
# Creo la carpeta en donde alojo el proyecto e ingreso a la misma
mkdir wp-1 && cd $_
vi docker-compose.yml
version: '3.3'
services:
db:
image: mysql:latest
env_file:
- ./.env
volumes:
- dbdata:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
wordpress:
depends_on:
- db
image: wordpress:latest
env_file:
- ./.env
volumes:
- wp-content:/var/www/html/wp-content
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: ${WORDPRESS_DB_HOST}
WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
volumes:
dbdata:
wp-content:
vi .env
MYSQL_ROOT_PASSWORD=somewordpress
MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=wordpress
WORDPRESS_DB_HOST=db:3306
WORDPRESS_DB_USER=wordpress
WORDPRESS_DB_PASSWORD=wordpress
# Levanto el contenedor
docker-compose up -d
octubre 20, 2021 at 1:10 am
# Me guió de
# https://www.suse.com/support/kb/doc/?id=000017263
# Creamos el archivo de logrotate
sudo vi /etc/logrotate.d/prueba
# Los archivos les pertenecen al usuario pipo
/home/pipo/logs/*.log {
# Esto le permite a logrotate hacer su laburo
su pipo pipo
size 20M
daily
rotate 4
compress
missingok
}
# Chequeamos que todo ande bien
sudo logrotate -vf /etc/logrotate.d/prueba
# Reiniciamos el servicio
sudo service logrotate restart
octubre 19, 2021 at 12:01 am
# Me guio de aca
https://neliosoftware.com/es/blog/como-usar-docker-para-desarrollar-en-wordpress/
sudo vi /etc/hosts
127.0.0.1 localhost
127.0.0.1 content.local
# Primero la imagen del proxy nginx
mkdir -p docker/proxy
cd docker/proxy
vi docker-compose.yml
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
restart: always
ports:
- 80:80
- 3306:3306
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
default:
external:
name: proxy
docker network create proxy
docker-compose up -d
# La imagen del wp
mkdir wp
cd wp
vi docker-compose.yml
version: '2'
services:
mysql:
image: mysql:5.7
restart: always
ports:
- 8081:3306
environment:
MYSQL_USER: wordpress
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_PASSWORD: wordpress
networks:
- backend
wordpress:
depends_on:
- mysql
image: wordpress
ports:
- 8080:80
restart: always
volumes:
- ./:/var/www/html/wp-content/plugins/nelio-content
environment:
VIRTUAL_HOST: content.local
VIRTUAL_PORT: 8080
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
networks:
- frontend
- backend
networks:
backend:
frontend:
external:
name: proxy
docker-compose up -d
octubre 11, 2021 at 4:35 pm
# El docker swarm que controla esta en 192.168.0.27
# En el controlador inicio el swam
docker swarm init --advertise-addr 192.168.0.27
# Al unir el esclavo lo uno con esto
docker swarm join --token SWMTKN-1-5thbvuts4921160jgaj3ycebwqrib4frzp636wrsv5237vxapg-e2zlsah5sfskn8j1ppfgtofl8 192.168.0.27:2377
# Creo un stack a partir de un docker-compose.yml
# Creo la carpeta en donde alojo el proyecto e ingreso a la misma
mkdir wp-1 && cd wp-1
vi docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- dbdata:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wp-content:/var/www/html/wp-content
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
dbdata:
wp-content:
cd ..
# Ahora levanto en este nodo el stack
docker stack deploy --compose-file wp-1/docker-compose.yml wp
# Ahora levanto un solo servicio para probar
docker service create --name my_web \
--replicas 1 \
--publish published=8081,target=80 \
nginx
# Ahora uno al esclavo al nodo
docker swarm join --token SWMTKN-1-5thbvuts4921160jgaj3ycebwqrib4frzp636wrsv5237vxapg-e2zlsah5sfskn8j1ppfgtofl8 192.168.0.27:2377
octubre 11, 2021 at 1:35 pm
# Creo la carpeta en donde alojo el proyecto e ingreso a la misma
mkdir wp-1 && cd $_
vi docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- dbdata:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wp-content:/var/www/html/wp-content
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
dbdata:
wp-content:
# Levanto el contenedor
docker-compose up -d
octubre 11, 2021 at 2:05 am
# Partimos de equipos que tienen instalado docker, docker-compose
# El controlador del swarm es 192.168.0.22
# El controlado es 192.168.0.23
# En el controlador inicio el swam
docker swarm init --advertise-addr 192.168.0.22
# Me devuelve el tocken para unir otro equipo.
docker swarm join --token SWMTKN-1-69b6sh91mhltx8c9kj7caes0he2w6ma5u3amgr2vqotapf4i1e-92stqa2v36ue6n7d3h7kvd1tc 192.168.0.22:2377
# Antes de unir al controlado con el swarm voy a levantar un stack
vi docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
# Ahora levanto en este nodo el stack
docker stack deploy --compose-file docker-compose.yml wp
# En el equipo controlado lo uno al swarm
docker swarm join --token SWMTKN-1-69b6sh91mhltx8c9kj7caes0he2w6ma5u3amgr2vqotapf4i1e-92stqa2v36ue6n7d3h7kvd1tc 192.168.0.22:2377
octubre 10, 2021 at 7:23 pm
Older Posts
Comentarios recientes