Linux - ServerThis forum is for the discussion of Linux Software used in a server related context.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I wanted to setup a remote Linux server to run python code. Something I can keep at home and access when I go to college via the internet, with something universal like SSH.
I have a Ryzen system, with a B350 Motherboard and 16GB of memory. Is it possible to use this hardware to make an always on server? Or can I use something like Wake on LAN to switch it on remotely?
There's nothing special about a server. It's just a computer that makes data available to other computers.
The key here is the access. Since you mention that you are going to college, I'm guessing that this computer will be at your home. A web search for "public access home server" will turn up a number of useful links.
Since you are contemplating using ssh, the creation of publicly-accessible file shares is not an issue; the main issue is access. The key question here, it seems to me, is making sure that the appropriate ports are available for public access and are forwarded properly to the machine in question by the router.
You may also need to research your ISP's terms of service. In the U. S., many ISPs frown on public-facing servers from home accounts; this stems primarily from a desire to prevent spam. For example, many U. S. ISPs block port 80 for home accounts. (My current ISP does; my previous did not,at least now back when I lived in that other location.)
I started with Linux because I wanted to host my website from my home (something I no longer do); I did so for several years with the help of noip.com.
I don't think you need to waste your time on "wake on LAN," but that's just me. My webserver was always on and that worked just fine.
It is almost certainly usable, though some specifications there might be overkill for the task you describe. The best way to find out it to give it a try. See Ubuntu Server Edition, Devuan, or Debian for good choices in servers. A choice, which you don't have to make now, is whether you will try to run the same system all the way through your time at college or whether you'd try to change it all around every term.
As for the Wake-on-LAN, that would be a matter of the router you have or some other always-on system with access to the same LAN your server would be on. Then, if you have WOL capabilities there, you would also have to have WOL support on the server's Ethernet card.
For the SSH access, you'd also have to set up port forwarding on your router from some external port (such as 22) to the SSH port on your server. Often that can only be tested from outside your LAN because some routers cannot do NAT loopback (aka NAT hairpinnng). However, before you turn on port forwarding, not only make sure that SSH works over you LAN but also establish the use of SSH keys or SSH certificates for authentication and disable password authentication. If your router gets its address via DHCP, then the IP address may change and you should sign up for a dynamic DNS service. Some registrars provide that as part of their service or otherwise you can sign up for No-IP or similar service.
Of course all that is predicated on being able to reach your router from the outside. Some ISPs allow that some block that. If your ISP is in the latter group, you might be able to pay (more) for access, or switch ISPs, or set up a reverse tunnel to an external VPS, or do some means of NAT punching.
If you plan your system for light python scripts and SSH access, you might get by with a Raspberry Pi 3A+ or 3B+ instead. Or adding one might be necessary for Wake-on-LAN if the router does not support it.
Some servers have a slightly better wol way through special network card. You have to be careful on how you configure wol over network. May be able set up your modem/router to allow passthrough to server as better than trying direct.
Some routers have built in support for DDNS to get access to your home. Otherwise a static ip is kind of expensive. That ddns will have to have some small program to tell service when ip changes.
Also some very few ISP's may block some ports. May be wise anyway to re-configure ports.
There are a few remote access ways too. Some get pretty secure.
I wanted to setup a remote Linux server to run python code. Something I can keep at home and access when I go to college via the internet, with something universal like SSH.
I have a Ryzen system, with a B350 Motherboard and 16GB of memory. Is it possible to use this hardware to make an always on server? Or can I use something like Wake on LAN to switch it on remotely?
Anyhow, dear OP, it would be nice if you could clarify how you solved your original question.
Others will benefit, and we do not have to repeat the same statements over and over.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.