Building my first server/website. Would love advice

yes!

use a virtual machine to develop on. virtualbox is a good, free way to start out.

NO!

go to MDN for reference material.
if you like videos, check out google's "from the ground up" series.

Keep in mind that a shop is much more than a "basic" website, however. It's a lot of stuff to learn and to practice, and the security and handling-financial-transactions concerns to go with. To be honest, if you have only a few weeks, you'd probably want to use something like squarespace. (of course, you can still learn also!)

This is a really important point and definitely what I was looking for with this post. Because I would like to stay reasonably distanced from the handling-financial-transactions and the concerns therein, Iv been looking at some services that solely handle the transaction portion of your site for you. Do these sound like a good idea for ensuring security of the financial portion of the site?

1 Like

depends on what you mean by that. e.g., sites like squarespace will have integrated shopping carts and cc handling. this is fine. but something like braintree (while really nice for developers) is still not really suitable for beginners.

Guys, thats what I linked. Ecwid is free is you have 10 products or fewer to sell in the store. Handles payment. And since its a widget, you can either use the template store they create for you, or you embed the widget on your own custom web page, while they handle the rest. Ecwid is fucking awesome.

I'm no server or website guru but I've been down this path a little. First, disclaimer, an eccomerce platform like BigCommerce or what not would be the easist and most reliable, but like you said, whats the fun in that?

When my small eccomerce business wound down but I felt like having the choice to still put my domain name to use and maybe sell a thing or two I did the following:

That one got me, splunking my home router is what helped me find it was happening.

  • things I still need to do, follow the above mitigation as right now my Pi is offline, and stop using the SD for everything and get an external HDD to pickup some of the load.

For uptime, reliability, low maintenance and security, this is not the route to go with, but if this is for learning, growing and fun, its a great route! The cost of hardware and power draw was minimal, and using things I already pay for (ISP, current laptop to SSH into Pi, home server for Splunk, already have domain name paid for).

Hope this helps.

A dedicated server, or even a VPS is overkill for a simple website. A reliable hosting plan is the way to go.

Tinkering with the server thingy will take months (Very least). May i recommend CentOS 6.

Try to install XAMPP to have a local testing apache/mariaDB serrver. try to install Wordpress on it. its simple read the instructions on wordpress.org. Thinker with it. add the jewellery, articles. Conatacts and all that. Find appropriate template. When you are happy with what you got locally go on the search of a reliable cheap hosting plan. Upload everything and you are done.

By then you would know what to do next.

You could buy a old server on ebay or even use a raspberry pi if there isnt allot of traffic but keep in mind that your ip address is linked to the site so if anyone wants to DDOS your site then your internet will go down and you may have to get a static ip address or deal with dynamic dns

There are some nice html5 templates I found at https://html5up.net/

Maybe one of them will work for you...

A shopping website is something that's quite difficult to make - I'm programming since 1.5 year, and I still wouldn't even think going into stuff like that. Better just configure something like Squarespace.

1 Like

I like that you want to learn how to make website, but website for jewelry shop is suicide, they want everything pretty and perfect and effects all over the place, trust me i coded these at work and i nearly jumped out of window! :D

tbh you will be probably better off just buying some wordpress template and if you want to learn how to code, try doing stuff with that, thats how i learned coding, from editing templates and such. You could just start with basics, changing photos, colors, fonts, so it would look at least bit different than original template

About hardware, you really need whole server / VPS for 1 website? :P

PS: Would buy shared webhosting and for learning / experimenting / developing, run virtual machine on your own pc or if you have any extra hardware around

@wUFr
Haha from all the advice I've received what I'm doing is a terrible idea.

So far though it's been a blast. I'm currently running a virtual machine with an Ubuntu server, and I'm learning and working on the CSS right now.

If when I get finished it doesn't look too pretty, I will likely turn to Wordpress, but right now I'm just learning and messing around.

1 Like

I agree it is very hard to right.
At my school you have to manage your own company for a year, so I built an online shop for that, but it is kinda hacked together with the item info being sent via the URL.

There also is no shopping cart or option to pay online. All you can do is configure your item, enter your shipping info and them be sent a confirmation per email with the price of your item and what bank account to send the money to.

It's nothing that I would use professionally, but it works.

I'll start my response with the development side of things:

I personally use Golang for my server side programming, specifically using the go-macaron library. However, you'll find many prefer using node at the moment, so you have a substantial more amount of libraries and therefor choices using it.

I'm a fan of using SCSS as my CSS preprocessor, and pug as my HTML preprocessor.

Now the hosting side of things.

I would use a DigitalOcean Droplet, as I'm sure has previously been recommended. I would then use NameCheap for domain registration, and CloudFlare as my DNS provider. Using CloudFlare, you won't need to purchase SSL certificates, assuming you use their proxy service. Let's Encrypt is an alternative if you don't want to pay for SSL certificates and don't want to use CloudFlare (you may be interested in acmetool if you go down this route).

On the droplet, or whatever host you use, I recommend using nginx as your reverse proxy. Webmin is really useful, so you may want to use that too. But perhaps I've gone too far with this response, feel free to ask for more advice though.

Best of luck!

I would take tips from these.

Optionally:

If I were you then I would have 2 separate projects:

The first is using a tool such as SquareSpace or Wordpress, etc to create your sisters website. Just due to security and the difficulty of handling payments etc. But this all depends on how complex you want it to be. If you just have a website with pictures and product descriptions but no cart or checkout, instead giving them and email address to hit up if they want to order. Then using a PayPal account to handle transactions. This would be the easiest approach for someone in your position.

The second recommendation is to use a tool made by Adobe called Dreamweaver. I used this a few years ago and it is really handy for building websites for beginners. It is drop and drag, but shows you the code and how it is building it as it goes, you can see the process and begin to get a grip on how it works without having to mess around with coding it yourself from scratch.

Hope this helped to give you an idea or two! I admire the gumption you have to go and do it so good luck!

I work at a web dev company but I myself am not a developer of any capacity (at most I'm a script kiddie with wicked google-fu skills).
I suggest the route most people are suggesting with Wordpress and Woocommerce on a Digital Ocean droplet.
If you are feeling more daring you could go with Drupal and Drupal Commerce but it will take some tweaking and finagling to set it up properly.
Another option would be to go with Magento, but for only a few products it's complete overkill.
I found wordpress the easiest to setup without any hiccups. I've installed and played with all three on my work machine on the ubuntu 14.04 boot on a LAMP stack.

Other open source E-commerce options:

PHP:
Prestashop (aesthetically pleasing UI)
osCommerce (very simple and web pages which look like they're from 2005)
Zen Cart (fork of osCommerce)

C#/.NET
virtocommerce
nopCommerce
magelia

Despite being really handy for beginners, Dreamweaver teaches you a grand total of nothing. You will never have concepts reinforced to you and will never truly learn to build sites without it.
Its not a very good IDE either, at least in comparison to others - I guess they want to push their WYSIWYG drag-and-drop thing. You also have little power over site design.

Not to discourage you from building a server but for your sisters website I suggest hosting a wordpress site on Godaddy or other hosting site and getting a premium theme with a store built in from https://colorlib.com

  1. Virtual machine
  2. 3 weeks is not enough
  3. Really....some people dedicate their whole career to this...

  4. Everything

No offense but do you expect to learn html, java, jquery, yada yada, css. in 3 week?, you're not going to go from 0 to 100 in 3 weeks thats for sure web development is it's own thing, allmost completely seperate from "regular" programming.
You're not going to be publishing anything within that frame of time, but my best advice is to use a VM for developing the website before publishing it, read up on html, CSS, php, java scripting, and so on.
And just in case you're used to programming in (Insert own language here) be prepared to hit your forehead against walls upon walls of stupidity, which are all there for security, a html compiler IS NOT as java compiler.

1 Like

I've made an updated post if ya'll are interested.