Jump to content

How To Setup Webhosting?

[I wasn't quite sure which category to post this under so please move it to the appropriate one if this is incorrect]

 

I want to host an image booru using Szurubooru, and I've been able to set it up as a self host thing so far (connecting to it via 127.0.0.1) and it seems to function as intended. Honestly the entire process has been a really fun learning experience so far, but I digress. Self hosting it is all fine and good, but I'm wondering how I would be able to host it so that other people could access it? And/or lock it down so only a select few people could access it and post on it? So pretty much how to setup a web hosting server for it, be it on my current machine, a virtualized machine, a separate machine running a specific OS, or a third party. 

 

Thanks for any help!

Link to comment
Share on other sites

Link to post
Share on other sites

You already have, right now its just internal. Just to clear a few things up, 127.0.0.1 is generally called the loopback address or the localhost address and self hosting literally just means you run the webserver yourself from your home or business.

 

To make your current setup web facing you simply need to forward the correct ports (usually 80 and 443) through both your OSes internal firewall and your routers firewall to the server.

 

Before you do though its important you consider a few things, if your server is web facing then it is accessible to everyone which means anyone with the correct knowledge can pretty easily locate your server through your IP address and criminals can (and will) try to gain access (my webserver gets ssh requests upto 10 times per day). Security has to be your number 1 priority because you are literally exposing the machine to the entire world, personally I run my web server inside a VM on my NAS with nothing on it except for my web facing files, if anyone ever did get access they would only have access to my website files and an otherwise clean operating system.

 

I STRONGLY recommend Linux, learn how ACL works and use it properly, make sure your web server can only access your web files by using the http group and permissions, run fail2ban to auto ban repeat pingers and failed login requests, learn how virtual hosts work and use them combined with different internal and external ports and port forwarding and if you wanna take it to the extreme use firejail.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, Master Disaster said:

You already have, right now its just internal. Just to clear a few things up, 127.0.0.1 is generally called the loopback address or the localhost address and self hosting literally just means you run the webserver yourself from your home or business.

 

To make your current setup web facing you simply need to forward the correct ports (usually 80 and 443) through both your OSes internal firewall and your routers firewall to the server.

 

Before you do though its important you consider a few things, if your server is web facing then it is accessible to everyone which means anyone with the correct knowledge can pretty easily locate your server through your IP address and criminals can (and will) try to gain access (my webserver gets ssh requests upto 10 times per day). Security has to be your number 1 priority because you are literally exposing the machine to the entire world, personally I run my web server inside a VM on my NAS with nothing on it except for my web facing files, if anyone ever did get access they would only have access to my website files and an otherwise clean operating system.

 

I STRONGLY recommend Linux, learn how ACL works and use it properly, make sure your web server can only access your web files by using the http group and permissions, run fail2ban to auto ban repeat pingers and failed login requests, learn how virtual hosts work and use them combined with different internal and external ports and port forwarding and if you wanna take it to the extreme use firejail.

Thanks for the awesome reply, that helped a lot. The program is run through Ubuntu, so I got my feet a bit wet setting that up through a VM and running it there. 

 

Once I have things going on the machine, to make it web facing, how do I know/specify which IP and/or URL to go to so others can access it? 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Inferius said:

Thanks for the awesome reply, that helped a lot. The program is run through Ubuntu, so I got my feet a bit wet setting that up through a VM and running it there. 

 

Once I have things going on the machine, to make it web facing, how do I know/specify which IP and/or URL to go to so others can access it? 

Its your public IP, you can get it from a site like whatsmyip.com, its probably better though if you get yourself a free dynamic DNS address then you can have the IP resolve to an actual domain name instead of just an IP.

 

I used noip.com for years and never had any troubles, the only restriction is that you have to confirm you still want the domain every 30 days though even then, they email you and all you have to do is click the link and press OK.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Master Disaster said:

Its your public IP, you can get it from a site like whatsmyip.com, its probably better though if you get yourself a free dynamic DNS address then you can have the IP resolve to an actual domain name instead of just an IP.

 

I used noip.com for years and never had any troubles, the only restriction is that you have to confirm you still want the domain every 30 days though even then, they email you and all you have to do is click the link and press OK.

Thank you very much, this has helped a lot!

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×