Ich schreibe Anleitungen die dir helfen können Dinge umzusetzen.
Ich schreibe Anleitungen die dir helfen können Dinge umzusetzen.
Ich installiere verschieden Server mit den dazugehörigen Programmen. Wie zum Beispiel Nextcloud oder PI-Hole
Ich schreibe gerne Skripte in (Powershell, Shell und Bash) ebenfalls Beschäftige ich mich aktuell mit PHP und JavaSkript
apt install lamp-server^
mysql
CREATE DATABASE yourls;
CREATE USER 'yourlsuser'@'localhost' IDENTIFIED BY 'password_here';
GRANT ALL PRIVILEGES ON yourls.* TO 'yourlsuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
apt install git
cd /var/www/
git clone https://github.com/YOURLS/YOURLS.git
mv YOURLS yourls
cd yourls/user
cp config-sample.php config.php
nano config.php
chown -R www-data:www-data /var/www/yourls
chmod -R 775 /var/www/yourls
nano /etc/apache2/apache2.conf
Change the: AllowOverride None to AllowOverride All
a2enmod rewrite
nano /etc/apache2/sites-available/yourls.conf
<VirtualHost *:80>
ServerName short.domain.com
DocumentRoot "/var/www/yourls"
<Directory "/var/www/yourls">
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
a2ensite yourls.conf
service apache2 restart
http://domain.com/admin
chmod 0600 /var/www/yourls/user/config.php
apt install certbot python3-certbot-apache
certbot --apache -m master@domain.com -d cloud.domain.com
Ich wollte meinen Nextcloud Speicher auf mein NAS umziehen.
Bedeutet die Nextcloud läuft weiterhin auf einer VM nur die Hochgeladenen Dateien sollen auf dem NAS liegen.
Inhalt
Als erstes musst du einen neuen User auf deinem NAS erstellen.
Gehe hierfür in den fstab
nano /etc/fstab
//IP-Adresse_vom_NAS/Freigabe_Ordner /mountpoint_Verzeichniss cifs username=Username_vom_NAS,password=Passwort_vom_NAS,uid=33,gid=33 0 0
ln -s /Pfad/zum/MountPoint /Pfad/zum/symlink /Pfad/zum/Systemlink
chown -R www-data:www-data /Pfad/zum/Systemlink
chmod -R 755 /Pfad/zum/Systemlink
Ich hatte die Anforderung das die Daten in der Nextcloud nach 30 Tagen automatisch gelöscht werden sollen. Dann habe ich mich hingesetzt und ein Bash Skripte geschrieben. Ebenfalls sollten bestimmte User ausgenommen werden. Das habe ich auch mit aufgenommen.
#!/bin/sh
# Script zum löschen der Nextcloud Dateien nach X Tagen
# 0 = 24 Stunden
LOESCHEN_NACH_TAGEN=29
NEXTCLOUD_DATA=/mnt/ncdata
dirs=$(find $NEXTCLOUD_DATA -maxdepth 1 -type d -printf "%f\n" | awk '!match($0,/^(ncdata|Allgemein|appdata_oc65lc0lmz8d|root|files_external|\
Admin|\
8561CAA3-924D-4591-9AB4-2077C4076AD3|\
B8F060D2-A833-4F3D-AD19-4992243E587E|\
F3031267-8C27-4141-8826-6CA337742B67\
)$/)')
echo "\nFolgende Ordner werden gescannt:"
echo $dirs
for d in $dirs; do
if [ -d "$NEXTCLOUD_DATA/$d/files" ]; then
echo "\n\n#############################################################################"
echo "\nPruefe auf Daten im Benutzerordner $NEXTCLOUD_DATA/$d/files - diese Dateien werden gelöscht:"
find $NEXTCLOUD_DATA/$d/files/ -type f -ctime +$LOESCHEN_NACH_TAGEN -delete
find $NEXTCLOUD_DATA/$d/files/ -mindepth 1 -type d -ctime +$LOESCHEN_NACH_TAGEN -delete
echo "\nExplizite Bereinigung und Pruefung des Benutzers $d auf Konsistenz"
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ files:scan --path $d/files
else
echo "\n\n#############################################################################"
echo "\n$d wird uebersprungen, da der Ordner $NEXTCLOUD_DATA/$d/files nicht vorhanden ist"
fi
done
for d in $dirs; do
if [ -d "$NEXTCLOUD_DATA/$d/files_trashbin/files" ]; then
echo "\n\n#############################################################################"
echo "\nPruefe auf Daten im Benutzerordner $NEXTCLOUD_DATA/$d/files - diese Dateien werden gelöscht:"
find $NEXTCLOUD_DATA/$d/files/ -type f -ctime +$LOESCHEN_NACH_TAGEN -delete
find $NEXTCLOUD_DATA/$d/files/ -mindepth 1 -type d -ctime +$LOESCHEN_NACH_TAGEN -delete
echo "\nExplizite Bereinigung und Pruefung des Benutzers $d auf Konsistenz"
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ files:scan --path $d/files
else
echo "\n\n#############################################################################"
echo "\n$d wird uebersprungen, da der Ordner $NEXTCLOUD_DATA/$d/files nicht vorhanden ist"
fi
done
echo "\n\n#############################################################################"
echo "\nFinale Bereinigung und pruefen der Benutzerdaten auf Konsistenz"
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ files:scan --all
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ files:scan-app-data
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ files:cleanup
echo "\nScript abgeschlossen"
Im Anschluss muss noch das Skript ausführbar gemacht werden und in den Crontab eingebunden werden.
sudo chmod +x ./Skriptname.sh
sudo crontab -e
0 0 * * * /root/nextcloud_autodelete.sh > /var/log/nextcloud_autodelete_`date +\%Y-\%m-\%d_\%H:\%M:\%S-cron.log`