
y clic en Raspberry Pi OS Lite (64-bit):

Luego clic en Advanced Options:

Y dejarlo más o menos así:
(sustituir carles por el nombre de usuario que quieras)


Guardar, y escribir la imagen en la targeta Micro SD.

sudo nmap -sP 192.168.1.*
sudo nmap -sP 192.168.1.*
ssh carles@IP(sustituir carles por tu usuario)
sudo apt-get update --allow-releaseinfo-change
sudo apt upgrade
sudo shutdown -h now(pasados 30 segundos, desenchufar la rpi, quitar la targeta micro SD, e introducirla en un PC)
No modificar la partición /boot:
/boot 512 MB vfat
Redimensionar la partición / (rootfs)
/ 11 GB ext4
Crear la partición /home y formatearla en ext4
/home 18 GB ext4
ssh carles@IP(sustituir carles por tu usuario)
sudo passwd root
sudo cp /home/carles/.bashrc /root/.bashrc
sudo apt install mc(el Midnight Commander es un administrador de archivos en modo texto, muy útil para trabajar desde una terminal)
sudo mcedit /root/.bashrc
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'pegar en Linux es: Mayúsculas Insert
sudo systemctl enable ssh.service sudo mcedit /etc/ssh/sshd_config
PermitRootLogin yes AllowUsers root
sudo service ssh restart
logout
ssh root@IP
(sustituir IP por lo que corresponda)
raspi-config
5 Localisation Options ➜ L1 Locale ➜ es_ES.UTF-8 UTF-8 5 Localisation Options ➜ L2 Timezone ➜ Europe ➜ Madrid 5 Localisation Options ➜ L3 Keyboard
apt install quota quotatool
mv /home /home_OLD mkdir /home
mcedit /etc/fstab
proc /proc proc defaults 0 0 PARTUUID=xxxxxxxx-01 /boot vfat defaults 0 2 PARTUUID=xxxxxxxx-02 / ext4 defaults,noatime 0 1 PARTUUID=xxxxxxxx-03 /home ext4 defaults,noatime,usrquota,acl 0 3 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that
systemctl daemon-reload mount /home
cp -R /home_OLD/* /home chown -R carles:carles /home/carles rm -R -f /home_OLD(sustituir carles por tu usuario)
quotacheck -f -m -u /home quotaon /home(se creara /home/aquota.user)
apt install apache2 apache2-utils libapache2-mod-php php php-fpm
mcedit /etc/apache2/mods-available/php8.2.conf
#<IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_flag engine Off # </Directory> #</IfModule>
apt install php-zip php-gd php-curl php-readline php-mbstring php-xml
apt install libapache2-mod-ruid2
Para descargar e instalar el paquete, ejecuta:
wget https://launchpad.net/ubuntu/+archive/primary/+files/libapache2-mod-ruid2_0.9.8-3_arm64.deb dpkg -i libapache2-mod-ruid2_0.9.8-3_arm64.deb apt -f install
apt install proftpd-basic(si quieres tener un servidor FTP)
apt install samba(si quieres acceder al nuevo servidor desde el protocolo smb) (en Windows, entorno de red)
apt install default-mysql-server php-mysql(si quieres ejecutar un servidor de bases de datos, para correr programas como por ejemplo WordPress)
export usuario="carles"
export nombreCompleto="Carles Pladevall"
chown ${usuario}:${usuario} /home/${usuario}
chmod 0711 /home/$usuario
mkdir /home/${usuario}/public_html
chown ${usuario}:${usuario} /home/${usuario}/public_html
chmod 0755 /home/${usuario}/public_html
echo "<h1>Hola ${nombreCompleto}</h1>" > /home/${usuario}/public_html/index.html
chown ${usuario}:${usuario} /home/${usuario}/public_html/index.html
chmod 0644 /home/${usuario}/public_html/index.html
setquota -u $usuario 2097152 2097152 0 0 /home
mcedit /etc/apache2/mods-available/php8.2.conf
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
La primera linea del archivo original:
<FilesMatch ".+\.ph(ar|p|tml)$">
es un agujero de seguridad importante, pues permite que PHP ejecute cualquier archivo con extensión .phar o con extensión .phtml,
además de .php, lo cual invalida los filtros de upload ➜ tipo de archivo de multitud de programas.
+INFO
mcedit /etc/apache2/mods-available/php8.2.conf
<IfModule mod_ruid2.c> RMode stat </IfModule>
a2enmod userdir php8.2 auth_digest ruid2 alias
service apache2 restart
mcedit /etc/network/interfaces
### loopback network interface auto lo iface lo inet loopback ### DINAMIC IP #iface eth0 inet dhcp #auto eth0 ### STATIC IP iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 dns-domain raspberrypi.local dns-nameservers 8.8.4.4 8.8.8.8 auto eth0 ### allow hotplug allow-hotplug eth0
reboot
http://192.168.1.2/~carles/
(sustituir carles por tu usuario)