Ever since enrolling in a Computer Science degree I had the idea to have my own website. Many of my friends had their own webpages, which naturally made me want one too. After installing Archlinux on my first Lenovo ThinkPad X250 in June 2024 I got the idea of having a website hosted on my own server running Linux. During the academic year I undertook the challenge to make it work, and here is how I did it.
First, I knew I needed hardware that could run an operating system 24/7 and with a connection to the Internet. My friends often just reconfigured their old PC’s, however I did not have one, so I had to think of other alternatives, and that is how I came up with the idea of using a Raspberry PI 5. I bought the fifth model as an entire starter-pack with 8GB of RAM, fancy enclosure and an extra cooling module. The entire specification is available here, some of the most important details are listed below:
After the hardware has arrived, following the assembly guide and putting the pieces together the RPI was ready. Unfortunately I realized too late that in order to interact with the device itself I needed an external display and a keyboard (according to the guide), both of which I did not have.
Fortunately, Raspberry PI provides a method to install an operating system on the SD card directly by connecting it to a laptop. This is done using the rpi-imager tool available in the Arch repository. I selected Debian GNU/Linux 12 (bookworm) for aarch64, and added my public ssh key, so that I can access the system as the selected user. Once the installation was done, I had a working computer, however still no means to access it remotely yet. How I figured that out will be updated in a later blog post, when I have a bit more time to explain the process of configuring a static IP, Dynamic DNS and Nginx web server.