After doing the server-side scripting unit on my college course, I've developed a taste for it and would like to experiment with it myself from home. At college we used Dreamweaver to edit the php files and upload them to the college's server, which was running Windows Server and had phpMyAdmin which we used to do database stuff. How would I edit a website hosted on the PI, with Dreamweaver it was very simple (you press a button and up your local copy goes)
Also, would it be possible to follow Wendell's Linux server tutorial on the PI? I know it doesn't run a desktop version of Linux and am uncertain as to whether everything will work on it.
It would be possible to do all of this on a raspberry pi, but let me save you some head ache. The raspberry pi just doesn't have the horse power you will want in a server. Try an intel nuc or something. Here is one that Wendell reviewed.
I think he should stick with a Raspberry for a simple reason: moar support. In my little experience with a RPi 2 (really lovely little piece of tech, I think any IT wannabe enthusiast should have one) I've found out loads and loads of stuff for the Raspberry ranging a wide variety of projects. I don't think the ODroid boards, good and very well performing, have the same kind of support from the community since they're less well known.
Get at least a RPi 2 to get decent performance and if you install Raspbian with NOOBS you boot direclty into the desktop environment or, if you go for the image without NOOBS, just type startx in the console to get into the desktop. You have endless possibilities and you can use a Raspberry to experiment a lot with IT stuff so can be good even beyond this specific project, in my opinion. But if you need something more powerful go for a NUC-style PC.
Oh. But a website I just looked at said that if my public IP (from googling "what is my ip") is different to my router's IP (192.168.0.1) I can't host at all without doing something extra? Bit confused at this.
Oh, haha. I am confident in portforwarding on my router (it actually gives you a simple interface (your machine's local IP, the ports to open, name DONE), unlike my friends' which make you jump through hoops).
My problem here is a lack of understanding of any server that isn't provided with a game lol. So I'm just going to have to go to my router page, open port 80(?) tell it to direct to the local IP of my server and then it should work? I was just worried about something I read on this website in the comments about some ISPs not liking you hosting on your home internet. I was unsure what it meant, though so that's why I posted back here haha.
When you install the program, you open the port (TCP) that you connect to it internally, and direct it to the server, yes.
The ISP typically doesn't let you host your own. Mine (cox) doesn't allow it and it's against EULA, but I believe their intention is more of a public server intended for many people. I've been hosting a TeamSpeak server for my friends since about 2008 and I've been hosting a few services that Wendell is probably going to go over in the future for myself as well for as long as I can remember and they've never called me out on it.
From what I can tell, as long as you don't generate a ton of traffic, you'll be fine.
Yeah, but if you don't know what you're doing I would hesitate to open up port 80. Maybe do it on some less-known port like 8080 or 8000 or something? Just to avoid the bots since Apache is frequently targeted if I remember correctly. Correct me if I'm wrong though
Well you technically can, but there are a few difficulties. As others have pointed out you would have to use port-forwarding and a DynDNS to host from home, which in my experience can be kind of unreliable. In short: If you want to use it locally to test stuff it's gonna be just fine. You won't need more computation power most likely.
If you want to have it actually accessible over the internet it will work with some tricks, but will probably a pain in the ass at times. In this case I recommend renting the cheapest vServer you can find (couple bucks a month at most) since you will have a static IP and have a lot less things to worry about.
The upside to actually using the raspi would be that you learn a lot about networking, but you might not want to spend that time now.
Run the Pi without a Desktop Enviroment to save some recources
Port 80 is fine, as long as you have a service running on there. Most routers are smart enough to close the ports not being used though so you should be fine, even if nothing is running on the open port.
That click a button and it automatically uploads your local changes is handled through FTP. So you will have to read up on how to set up a FTP server on your PI. Another alternative is to use a command line editor (eg. Vim), that way you can SSH into your PI and do the changes directly on there.
In all honesty, I wouldn't recommend you use a Pi, mainly for the reason if you want to do some larger-scale testing you'll max it out pretty fast. Overall, setting up a web server is fairly simple, you'd want to setup FTP to handle the dreamweaver transfer, and the Apache/Nginx/whatever server, and port forwarding is the same as a game, except ports 443 and 80.
I got it to work, now! My friends can see replaced html files from outside my network! (Neat!)
Would phpMyAdmin be a suitable thing to use? We used it on my college course but I'm unsure whether it would be best to just use SQL in another way. (Unsure how it works outside of that environment, too)
I'm currently just using Filezilla and Notepad++ to edit the server contents. I liked Dreamweaver but I can't afford it and this setup is only slightly less convenient.
Sure go ahead and use phpMyAdmin, I use it and the company I work for uses it so I don't see why not. There's a lot of documentation about this, YouTube and the Ubuntu website got enough info to set it up.
I'll however encurage you to disable the "root" account outside your network, you then set up an account with less privileges and use that for your website.
It's possible to handle everything via command line if you'd like to avoid phpMyAdmin. It's a bit of a hassle and you'll be forced to log on to the actuall server(SSH or physically) rather then access it via the web interface.
An alternative to adding PHPMyAdmin could be to install MySQL Workbench on a client machine and use the option for the SSH tunnel. It sounds more complicated than it actually is; all you do is select the SSH option from a drop-down when you choose to add a server then enter your SSH and MySQL credentials. Basically, the GUI does everything via command line through SSH, you do everything by the GUI.
I don't actually know whether running PHPMyAdmin will have an effect on resources with such a low-powered system but using SSH commands definitely won't.
I'd be curious to try this also. I'm running a Pi3 with Arch, and I've been pretty impressed as to it's ability. My setup is purposed as a wireless media player as my speakers are across the room from my networking and I don't want wires. (I run LXDE with Audacious and remote into it via Xrdp to control it). I'm planning on trying a webserver and also to run Boinc to keep it busy in the meantime. I'll keep you updated on my progress, and I'll see if I can't start this weekend. If you need a nifty case for that Pi3, I wouldn't mind giving a shameless plug to our new case I'm making at work: Pikrusts@amazon