szepeviktor / Debian Server Tools
Programming Languages
Projects that are alternatives of or similar to Debian Server Tools
Debian server tools
You find all my knowledge on GitHub in form of Bash and PHP scripts and Markdown documents.
Updated daily as I work.
Featured documents ⭐️
- Too much of a website
- Web application development
- Setting up your infrastructure and your application
- All things WordPress
- WordPress Security
- Running Laravel
- Running Drupal
- Monitoring on paranoid level
- Continuous Integration and Continuous Delivery
- Debian setup on UpCloud server including Resize root filesystem during boot
- Live list of Hostile networks
- Bulk mail sending
Magyar nyelvű kiemelt dokumentumok 🇭🇺
- Csapatának tagja szeretnék lenni
- Ismerkedés Új ügyfelekkel
- Teljesítménycentrikus webhely tervezése
- Honlap jogi dolgai + GDPR
- Kézi Tesztelési Kézikönyv
- Képek életciklusa
- Magyar email szolgáltatók
(direct) / (none)
Google Analytics-ben- Google Analytics URL készítő
Superior cloud hosting
Install Debian on UpCloud
How UpCloud was chosen? Read https://github.com/szepeviktor/wordpress-speedtest/blob/master/README.md#how-to-choose-vps-provider
Ergonomics
Model of how systems work
Richard Cook at Velocity NY 2013
Directories
- /debian-setup - Debian installation scripts including debian-setup.sh
- /backup - Tools related to archiving
- /image - Tools related to image optimization
- /input - Tools related to the terminal
- /mail - Tools related to email account management
- /monitoring - Tools related to server monitoring, alert and statistics emails
- /mysql - Tools related to database management
- /package - Tools related to Debian packages and general packaging
- /security - Security and SSL certificate related tools
- /tools - Various small tools
- /virtualization - Docker containers
- /webserver - Tools related to building webservers
Debian install with UTC as timezone
Select Expert install.
Script development
- Check shell scripts: http://www.shellcheck.net/
- Code styling: https://github.com/git/git/blob/master/Documentation/CodingGuidelines
- Bashism: https://wiki.ubuntu.com/DashAsBinSh
checkbashisms -f bash-script.sh
Install your own SSH key
S="${HOME}/.ssh";mkdir --mode 0700 "$S";editor "${S}/authorized_keys"
ssh-keygen -v -l -f "${S}/authorized_keys"
authorized_keys
parameters:
# restrict == no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty,no-user-rc
restrict,command="echo 'Please login as the user \"debian\" rather than the user \"root\".';echo;sleep 10" ssh-rsa AAAA...
Install a user's SSH key
u bash -c 'S="${HOME}/.ssh";mkdir --mode 0700 "$S";editor "${S}/authorized_keys"'
U="$(stat -c %U .)";S="$(getent passwd $U|cut -d: -f6)/.ssh";mkdir -m 0700 "$S";editor "${S}/authorized_keys";chown -R $U:$U "$S"
Retrieve public key from private key
ssh-keygen -y -f ~/.ssh/id_ecdsa
Display SSH access details
printf 'host: %s\nport: %s\nuser: %s\n' "$(hostname)" "$(/usr/sbin/sshd -T -C user=root|sed -ne 's/^port \([0-9]\+\)$/\1/p')" "$(ls -tr /home/|tail -n1)"
List sshd host keys
ls /etc/ssh/ssh_host_*_key.pub | xargs -n 1 ssh-keygen -l -f
Record terminal session
script --timing=NAME.time --append NAME.script
scriptreplay --maxdelay 1 NAME.time NAME.script
Fast and safe transit of scripts (or any data) via copy&paste
Use magic-wormhole
Pack
cat $SCRIPT|xz -9|base64 -w $((COLUMNS-1))
# alias: cat $SCRIPT | transit
Unpack
cat $PASTED_FILE|base64 -d|xz -d > $SCRIPT
# alias: cat $PASTED_FILE | transit-receive
Moving away git-dir
git init --separate-git-dir=/home/user/gitdir
Produces:
/home/user/work-dir/.git: gitdir: /home/user/git
/home/user/gitdir/config: worktree = /home/user/work-dir
Rescan the SCSI Bus to Add SCSI Devices
echo "- - -" > /sys/class/scsi_host/host0/scan
Flush Google public DNS cache
https://google-public-dns.appspot.com/cache
Free CDN for GitHub
https://staticaly.com/ https://cdn.staticaly.com/gh/USER/REPO/TAG/FILE
Whois servers
-
whois -h whois.iana.org $TLD
https://www.iana.org/domains/root/db -
dig _nicname._tcp.$TLD SRV
https://tools.ietf.org/html/draft-sanz-whois-srv-01 - https://github.com/rfc1036/whois/blob/next/tld_serv_list
AS information
whois -h whois.radb.net -- "-i origin AS202053"
ROA validation, RPKI status
whois -h whois.bgpmon.net 94.237.81.0
UNICODE owl domain name
Crontab format
.---------------- minute (0 - 59)
| .-------------- hour (0 - 23)
| | .----------- day of month (1 - 31)
| | | .--------- month (1 - 12)
| | | | .------- day of week (0 - 6)
| | | | |
* * * * * USER COMMAND
crontab -e -u USER
.---------------- minute (0 - 59)
| .-------------- hour (0 - 23)
| | .----------- day of month (1 - 31)
| | | .--------- month (1 - 12)
| | | | .------- day of week (0 - 6)
| | | | |
* * * * * COMMAND
Cron scheduling with timezone
# Well before the actual execution time!
00 06 * * * echo "/bin/ls -l" | at "$(date --date='TZ="Europe/Budapest" 10:30' "+\%H:\%M")" 2>/dev/null
Looking for a dedicated team member running your application or website?
Contact me: [email protected]