• 0 Posts
  • 52 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle


  • You’re welcome. I tried to do basically the same thing a few years back (run a WordPress site from a RPi on my home network - and also a Minecraft server) and so I tried to write up the problems I ran into - I probably forgot some, but those are the major hurdles. I learned a lot along the way.

    I should also point out that if you rent hosting space (from linode or inmotion or digitalocean or many other options) then problems 1 & 4 become much easier, and 2 & 3 go away entirely (most people don’t host public websites on their home networks because of these and other issues).

    Happy to help. If you’re interested in learning networking more thoroughly, I want to point you to Professor Messer especially the Network+ content. He has far more complete explanations than I could write (and it’s free!). Even if you’re not interested in getting any certs, the explanations will be helpful.


  • So your goal is to host a publicly accessible static website from a computer in your home. There are a few problems you need to overcome before even worrying about configuring any software. You need some more basic networking knowledge first.

    1. Basic Networking Theory - you should read a brief explanation of the OSI 7-layer network model. You don’t have to try to memorize this and you won’t really understand it until you start actually doing stuff, but you should read it for some basic terminology and to understand that there are distinct steps through which communication between computers happens.

      When you start running into problems (“why can’t I access the server? I did all the tutorial steps”), figuring out which layer the problem is in will help guide you to the solution:

      • is there a bad cable? -> 1. Physical
      • do I have the right IP address? -> 3. Network
      • is the firewall port closed? -> 4. Transport

    1. Privacy/Security/Safety - don’t host a publicly accessible website from your personal computer. Just don’t. To make this happen you will have to open a hole in your network security that makes your computer accessible from the public internet. Don’t do this on your daily driver computer. Don’t do this with any device that has any files on it that you care about or any access to any personal information. Don’t.

      Set up your web server/learning environment on a clean, dedicated system. This could be an old laptop or a Raspberry Pi (an older 3B model will work just fine for this) or whatever cheap computer hardware you have, as long as it can run Linux and has a physical network port (using WiFi will give you extra headaches for getting this working). If you think you might want to expand your projects in the future, you can get a used Dell server for very little money, and add more hard drives as needed. Wipe the hard drive and install Debian or Ubuntu server as a base, there’s lots of resources out there for setting up web services on either.


    1. Restricted Ports - you are most likely on a residential internet connection. Most residential ISPs close ports for security reasons, especially 80. For example, here is Cox’s list of restricted ports. You will need to find your ISP’s equivalent list and understand what you can and can’t do with your connection.

      There are workarounds, primarily through port forwarding. You will need admin access to your router to set this up. I recommend that you read that entire article because it probably applies directly to your situation.


    1. Dynamic IP Address - most people still find it easier to work with IPv4 addresses - I won’t go into IPv6 right now, but you should read a little about it just for awareness. Your residential internet most likely has a dynamic IPv4 address, which means you can’t rely on that address staying the same forever (or even until next week), which means that you can’t configure your Cloudflare domain name to point to a single IPv4 address.

      Dynamic DNS is the solution for this, and again you’ll need admin access to your router to set it up.


    1. HTTPS/TLS/SSL - if you get through all those issues then you probably have a working website, but now you’re seeing something like this when you try to view it in your browser:

      This doesn’t mean that you can’t get to your website - it just means that you can only do it via HTTP and not HTTPS, which the browser is warning you (and anyone else trying to view your website) is not secure. You can either just accept that this alert will always come up, and that you have to click through it, or you can learn about TLS and getting an SSL/TLS certificate. This is a later topic - it doesn’t matter and probably won’t make sense until after you’ve got your web server online.







  • But seriously why the hell would Mozilla be obliged to acknowledge this request? Do they have offices in Russia?

    Roskomnadzor has regulatory authority in Russia. Roskomnadzor has the legal authority to regulate communications technology within Russia. They are completely within their rights to enforce this within Russia, regardless of what people living in other countries think about it, and organizations operating within Russia are legally bound to abide by the Russian government’s regulations within Russia, just as they are in every other country.



  • “Following recent regulatory changes in Russia, we received persistent requests from Roskomnadzor demanding that five add-ons be removed from the Mozilla add-on store,” a Mozilla spokesperson told The Intercept in response to a request for comment. “After careful consideration, we’ve temporarily restricted their availability within Russia. Recognizing the implications of these actions, we are closely evaluating our next steps while keeping in mind our local community.”

    People are getting upset about this, but it only applies within the country where Roskomnadzor has authority, and it’s temporary pending further review.

    Slow down your condemnations. Mozilla, as a law-abiding organization, must at least acknowledge the requests of a regulatory agency within its own country. Whether you agree with their requests or not, Roskomnadzor has governmental authority in this context within Russia.

    Stop jumping to conclusions, actually read the article, and put the fucking pitchforks away.


  • Ok, let’s assume (for the sake of argument) that everything is on the up-and-up, and Microsoft will behave in a completely equitable and user-friendly way with regard to this feature going forward. Where does that leave us?

    There is a spyware feature built into Windows 11. It is off by default, but a malware that wants to capture this kind of information doesn’t have to install anything, and it doesn’t have to run any background processes that might get caught by a system monitor or blocked by application whitelisting. All it has to do is turn this built-in feature on, and then exfiltrate the data later.

    Setting this off by default doesn’t remove the security issue.





  • Huh… and that’s repeatable? How long could you go on Linux before the blackouts, and did you run on Windows for a similar amount of time with no issues? also, when the blackout happens does it recover after a little time, or do you have to reboot to get video back? (is it just a screen blackout, or has the system crashed?) When the screen is black, can you reboot with busier backwards?

    One issue that I’ve had on Linux installs is that the system doesn’t recover properly from hibernate. I’ve seen this on laptops and desktops over more than a decade. When this happens the screen goes black and the system doesn’t respond to any keyboard or mouse input, the only way to recover is to force a reboot. Maybe check your power management profile and disable hibernation.

    Otherwise there are a lot of reasons that the screen might black out:

    • power issues - what is your PSU model? Linux installs are frequently not as power efficient as Windows on the same hardware, generally because Windows does a lot more throttling by default.
    • overheating - Windows (and the Windows hardware drivers) might be configured to throttle the CPU and/or GPU to manage the temperature automatically without telling you, while Linux might be giving you the full unthrottled system power and overheating.
    • video drivers & multimonitor - as others have said already, this could be an issue with the Linux video drivers. You should verify which driver you’re using as [email protected] said. Are all your monitors the same resolution? I’ve definitely had trouble with mulitple monitors if they were mismatched.
    • bad CPU core - this one’s a long shot, but Windows tends to be a lot more single-threaded while Linux is more likely to try to balance operations across all CPU cores. Maybe one of your cores has an issue, and when Linux tries to use it it triggers a system crash, while Windows just never gets around to using that particular core for anything critical (and so never triggers the crash).
    • SSD/swap file issue - most Linux distros will configure a swap partition on the root hard drive by default, which is used as an extension of the RAM. Windows doesn’t use a swap file. You have plenty of RAM so there’s not really a need for it, so you should try just disabling swap.

  • But whether a few hours or a few days, eventually I start having issues with the displays. Monitors will black out. Not boot. Eventually the whole system just stops working in a way that I can figure out.

    This sounds more like a hardware issue than software. Can you provide more detail? Have you done basic troubleshooting steps like trying different power cords and surge protector/power strip? What is the full list of hardware for your system? Have you reseated the RAM? Replaced the CMOS battery? (a dead CMOS battery will prevent system boot)