The DevDungeon Mainframe is a Linux lab server running Debian 10 for members to use for whatever projects they like. Members get SSH access to the server.
lab.devdungeon.com 162.243.160.100 2604:a880:400:d0::19eb:4001
Here are some things you can do with it:
Use secure-shell (SSH). If you're in Windows, I recommend MobaXTerm but you can also use PuTTy or WSL. Newer versions of Windows may come with SSH in the command prompt already.
ssh myuser@lab.devdungeon.com
This will normally prompt you for your password, but you can generate an SSH key and use that to login without a password:
# Copy your SSH key if you already have one ssh-copy-id myuser@lab.devdungeon.com # Generate an SSH key if you need one ssh-keygen
One of the first things you should do is change your password.
passwd
Here are some absolute basic Linux commands to get you started.
cd /home/ # Change directory ls # List directory contents cd ~ # Move to your home dir pwd # Print current directory nano # Simple text editor
Create a directory in your home directory named public_html
.
For example: /home/myuser/public_html/
and anything inside
that will be mapped to: http://lab.devdungeon.com/~myuser.
Your landing page will need to be named index.html
or index.php
.
For example:
# Create the public_html dir if needed mkdir ~/public_html/ # Edit the main landing page nano ~/public_html/index.php
You can put some simple HTML or PHP code in that file. For example:
<html> <body> <h1>Welcome</h1> <p>This is my homepage.</p> </body> </html>
You can also place static files in that directory. For example, if you have a file named:
/home/myuser/public_html/stuff/test.txt
You would reach it via: http://lab.devdungeon.com/~myuser/stuff/test.txt
Alternatively, instead of editing the code from the terminal, you can edit on your personal computer and then upload the files. See the section on transferring files.
You can also create/modify .htaccess
files to modify advanced configurations like turning on/off directory indices and changing the default landing page, password protecting directories, and much more.
Since you have SSH access, you can transfer files using scp
(secure copy) or sftp
(secure file transfer protocol. You can use the command line tool scp
or any application that supports SFTP. For example:
When transferring files, use the host of lab.devdungeon.com
and choose SFTP as the protocol. It uses the default SSH port of 22. Use the same username and password that you use to SSH to the server.
There are a number of programing languages installed and ready to play with:
Explore new languages, experiment with programming on Linux, interact with others on the server too. You can play with Linux pipes, FIFOs, and sockets and communicate with other users.
Here are some other ideas:
tmux
or using local Linux sockets to create a primitive chat (for example using netcat
).If you want to run an app that binds its own web server, like a Node.js, Python, Java, Ruby, or Go app, you can bind to any port that is not resricted by the system (anything over 1024).
For example, you can run a Node.js web app on port 9999 and access it at http://lab.devdungeon.com:9999
# Add your server as a remote git remote add origin ssh://myuser@lab.devdungeon.com:path_relative_to_home_dir
There are a few databases you can use on the lab server:
You can run desktop graphical applications from the server using X11 forwarding. Incomplete. To do
Setup personal cron jobs with:
crontab -e
You can setup personal systemd services. Refer to https://www.devdungeon.com/content/creating-systemd-service-files.
/usr/games/asciijump
There are a number of other applications installed for everyone to use. Here are some of the applications installed. Also see the wiki section on Terminal for a lot of things you can do in a terminal.
/usr/bin/bash
/usr/bin/zsh
/usr/bin/fish
/usr/bin/tmux
- See Tmux Terminal Multiplexing/usr/bin/screen
/usr/bin/vim
- See: Vim posts/usr/bin/emacs
/usr/bin/nano
/usr/bin/mc
- See Midnight Commander Terminal File Navigator/usr/bin/vifm
/usr/bin/nnn
/usr/bin/tree
/usr/bin/mutt
- See Terminal Email with Mutt/usr/bin/elinks
- See Terminal Web Browsing and BitTorrent with ELinks/usr/bin/lynx
/usr/bin/links
/usr/bin/curl
- See cURL posts/usr/bin/wget
/usr/bin/irssi
/usr/bin/neofetch
/usr/bin/htop
/usr/bin/netcat
/usr/bin/netstat
/usr/bin/traceroute
/usr/bin/nmap
/usr/bin/nslookup
/usr/bin/dig
/usr/bin/ldapsearch
/usr/bin/ldapwhoami
The DevDungeon lab server is hosted on Digital Ocean. If you want to run your own Digital Ocean server so you have root access on your own machine, you can use this promo link for Digital Ocean. It will give you $100 of free credit: https://m.do.co/c/5ccd98162d85