#ejecutas este comando en la consola
sudo nano /etc/apache2/ports.conf
#donde dice
Listen 80
#cambiar por el puerto que deseas
Monday, January 13, 2020
Thursday, January 9, 2020
NetCore 3.1 Raspbian
#actualiza
tu raspbian
sudo apt-get update
sudo apt-get upgrade -y
#baja el runtime y el SDK
de dotnet core 3.1
wget https://download.visualstudio.microsoft.com/download/pr/67766a96-eb8c-4cd2-bca4-ea63d2cc115c/7bf13840aa2ed88793b7315d5e0d74e6/dotnet-sdk-3.1.100-linux-arm.tar.gz
wget
https://download.visualstudio.microsoft.com/download/pr/60d21925-7f8f-4004-9afe-aebd041d2d4a/0db2946738642d7f88f71f7800522e8c/dotnet-runtime-3.1.0-linux-arm.tar.gz
#creamos la carpeta donde
quedará alojado el NetCore
mkdir dotnet-arm32
tar zxf dotnet-sdk-3.1.100-linux-arm.tar.gz -C $HOME/dotnet-arm32
tar zxf dotnet-runtime-3.1.0-linux-arm.tar.gz -C $HOME/dotnet-arm32
#solo puede ejecutar
comandos .NET Core dentro de la carpeta dotnet-arm32. Para hacer que el comando
"dotnet" se pueda ejecutar en todas partes, debe hacer algo como
variables de entorno, que vincularán la carpeta dotnet-arm32 al nivel del
sistema.
export DOTNET_ROOT=$HOME/dotnet-arm32
export PATH=$PATH:$HOME/dotnet-arm32
#Crea una app por consola
para validar que funciono la instalacion
mkdir hello-netcore3.1
cd hello-netcore3.1/
dotnet new console
#para ejecutar el hola Mundo
dotnet run
dotnet run
#Creamos la carpeta web
mkdir AspnetApp
cd AspnetApp/
#ahora podemos crear una
app web con VS2019 , puede ser cualquiera solo debemos tener cuidado al
publicar, ya que debe ser usando Framework-Dependent (FDD) y Portable. ya que
esto se ejecutará nativamente en la Raspberry Pi
#en mi caso mi app se
llama aspnetapp y para llamarla es colocando:
dotnet aspnetapp.dll
# si
ahora queremos que se auto ejecute
sudo
nano .profile
# y
agregamos esto al final del archivo.
export DOTNET_ROOT=$HOME/dotnet-arm32
export PATH=$PATH:$HOME/dotnet-arm32
# para
validar que corre en todas las IPs de la máquina.
dotnet aspnetapp --urls "http://*:8080"
#finalmente
hosteamos con nginx.
sudo apt-get
install nginx -y
sudo
/etc/init.d/nginx start
#
respaldamos el archivo, siempre es bueno respaldar.
mv
/etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
#creamos
el nuevo archivo
sudo nano /etc/nginx/sites-available/default
server {
listen 80 default_server;
server_name _;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Host by Nginx with auto-restart capability
First, install and start Nginx:
sudo nginx -t
sudo nginx -s reload
sudo nano /etc/systemd/system/kestrel-aspnetapp.service
[Unit]
Description=ASP.NET Core 3.1 App - AspNet
[Service]
WorkingDirectory=/home/pi/aspnetApp
ExecStart=/home/pi/dotnet-arm32/dotnet /home/pi/aspnetApp/aspnetapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-AspnetApp
User=pi
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
sudo systemctl enable kestrel-aspnetapp.service
sudo systemctl start kestrel-aspnetapp.service
sudo systemctl status kestrel-aspnetapp.service
server {
listen 80 default_server;
server_name _;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Host by Nginx with auto-restart capability
First, install and start Nginx:
sudo nginx -t
sudo nginx -s reload
sudo nano /etc/systemd/system/kestrel-aspnetapp.service
[Unit]
Description=ASP.NET Core 3.1 App - AspNet
[Service]
WorkingDirectory=/home/pi/aspnetApp
ExecStart=/home/pi/dotnet-arm32/dotnet /home/pi/aspnetApp/aspnetapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-AspnetApp
User=pi
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
sudo systemctl enable kestrel-aspnetapp.service
sudo systemctl start kestrel-aspnetapp.service
sudo systemctl status kestrel-aspnetapp.service
basado en https://edi.wang/post/2019/9/29/setup-net-core-30-runtime-and-sdk-on-raspberry-pi-4
editado por nuevo script bash de instalacion
https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
Wednesday, January 1, 2020
Respaldar la MicroSD con Raspbian buster 10 y el comando dd
#creamos el archivo de respaldo
sudo nano respaldo.sh
# podemos crear el archivo sin compromir
DAY=$(date +%A)
sudo dd if=/dev/mmcblk0 of=/home/pi/usb/Files/RPI4_backup-$DAY.img bs=4M status=progress
# podemos crear el archivo o asignando compresion con gzip
DAY=$(date +%A)
sudo dd if=/dev/mmcblk0 conv=sync,noerror bs=4M status=progress | gzip -c > /home/pi/usb/Files/RPI4_backup-$DAY.img.gz
#le cambiamos los permisos con chmod
chmod 777 respaldo.sh
#y si ahora quedemos calendarizar el proceso todos los dias a X hora podemos usar crontab
crontab -e
#en este caso el respaldo se ejecuta todos los dias a las 2 am
0 2 * * * /home/pi/./respaldo_rpi.sh
si deseamos truncar la unidad podemos obtener el tamaño maximo con fdisk -l
sudo nano respaldo.sh
# podemos crear el archivo sin compromir
DAY=$(date +%A)
sudo dd if=/dev/mmcblk0 of=/home/pi/usb/Files/RPI4_backup-$DAY.img bs=4M status=progress
# podemos crear el archivo o asignando compresion con gzip
DAY=$(date +%A)
sudo dd if=/dev/mmcblk0 conv=sync,noerror bs=4M status=progress | gzip -c > /home/pi/usb/Files/RPI4_backup-$DAY.img.gz
#le cambiamos los permisos con chmod
chmod 777 respaldo.sh
#y si ahora quedemos calendarizar el proceso todos los dias a X hora podemos usar crontab
crontab -e
#en este caso el respaldo se ejecuta todos los dias a las 2 am
0 2 * * * /home/pi/./respaldo_rpi.sh
si deseamos truncar la unidad podemos obtener el tamaño maximo con fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 532479 524288 256M c W95 FAT32 (LBA)
/dev/mmcblk0p2 532480 15892479 15360000 7.3G 83 Linux
y aparecerá el tamaño del sector en mi caso 512 bytes.
Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x027fc595
#para hacer el respaldo
sudo dd if=/dev/mmcblk0 of=/usb/Files/RPI4_backup.img bs=4M status=progress
#ejemplo de como truncar
#truncate --size=$[(valor_de_End + 1)*512] imagen.img
truncate --size=$[(15360000 + 1)*512] /usb/Files/RPI4_backup.img
respaldo en otra unidad
#sudo dd if=/dev/mmcblk0 of=/usb/Files/RPI4_backup.img bs=4M status=progress
path1=/1tb_usb/Files/RPI4_backup.img #asignaNombre
sudo dd if=/dev/mmcblk0 of=$path1 bs=4M status=progress #generaRespaldoFull
sudo truncate --size=$[(15360000 + 1)*512] $path1 #truncaElRespaldo
Instalar Samba Server en Raspbian buster 10
#instalamos samba server
sudo apt-get install samba samba-common-bin
#editamos el archivo de configuracion
sudo nano /etc/samba/smb.conf
#smb signing not required solution raspberry pi 4
[RPI4]
sudo apt-get install samba samba-common-bin
#editamos el archivo de configuracion
sudo nano /etc/samba/smb.conf
#smb signing not required solution raspberry pi 4
[RPI4]
min protocol = SMB2_10
max protocol = SMB3_11
path = /usb/Files
writeable=Yes
create mask=0777
directory mask=0777
public=no
max protocol = SMB3_11
path = /usb/Files
writeable=Yes
create mask=0777
directory mask=0777
public=no
#agregamos usuario windows
sudo adduser usuariowindows
sudo smbpasswd -a usuariowindows
#agregamos clave al usuario windows en este caso usuariowindowsde SMB
sudo smbpasswd -a usuariowindows
#reiniciamos el servicio
sudo systemctl restart smbd
#por ultimo si queremos que se monte la unidad al inicio
sudo nano /etc/rc.local
#o
crontab -e
@reboot sudo mount /dev/sda5 /usb/
#para ver que disco levantar fdisk -l y revisar donde dice NTFS
# y agregamos el comando
sudo mount /dev/sda5 /usb/
#ver listado de usuariso Samba
sudo pdbedit -Lw
Instalar LAMP (Linux apache mysql php) en Raspbian buster 10
#actualizamos la raspberry
sudo apt update && sudo apt -y upgrade
#Ahora debemos instalar los paquetes php, php7.3-mysqli y mariadb-server:
sudo apt -y install php php-mysql mariadb-server
#posterior a la instalacion de mariadb es recomendable cambiar la clave del usuario root del Mysql
sudo mysql -u root
USE mysql
update mysql.user set authentication_string=password('TuClave') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit
#reinicamos el servicio
service mysql start
service mysql stop
service mysql restart
#iniciamos nuevamente y ahora te solicitara la clave
mysql -u root -p
#con exit puedes salir de mysql en consola
#para validar que el php quedo instalado correctamente crearemos el script, llamdo info.php, en la ruta /var/www/html/:
sudo nano /var/www/html/info.php
#agregamos
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>
sudo apt-get install php-zip
sudo apt -y install libapache2-mod-php
sudo apt-get install php-xml
sudo apt install libapache2-mod-php php-curl
sudo apt-get install php7.3-intl
sudo a2enmod rewrite
#sudo nano /etc/php/7.3/apache2/php.ini # por ultimo si deseas editar el php.ini
sudo service apache2 restart
how to overclock Rasbperry 4 - rpi4
#editamos el archivo de configuracion de inicio
sudo nano /boot/config.txt
#agregamos la nueva velocidad
arm_freq=1650
# si tiene un espacio o lo que sea no funcionará
sudo nano /boot/config.txt
#agregamos la nueva velocidad
arm_freq=1650
# si tiene un espacio o lo que sea no funcionará
Subscribe to:
Posts (Atom)