In this guide, I demonstrate how to set up an online store using WooCommerce—a cost-effective alternative to Shopify. We register an affordable .store domain with Namecheap (around €2 annually for the first year) and set up a WooCommerce instance on Linode for just €5 per month. Additionally, we configure custom name servers at the registrar, add an SSL certificate via the LISH console, and within about 30 minutes, we have a first look at the demo shop mjmrozek.store.
WooCommerce is a good and affordable alternative to Shopify. You can find a detailed comparison on hostpress.de/blog/der-e-commerce-vergleich-woocommerce-vs-shopify.
I recommend WooCommerce for small and medium-sized shops, provided you are willing to invest a bit more time in the setup. With a .store domain, SSL, backups, and scalable hosting near customers, my solution costs about 9 EUR per month (domain long-term 1 EUR, email 1 EUR, hosting 5 EUR, backups 2 EUR). If the shop grows, performance can be adjusted quickly, though with additional costs.
-
Domain
- Register a domain with a registrar like namecheap.com
- .store TLDs are currently on sale and are suitable for online stores
- Use discounts, disable automatic renewal, and initially book for only one year; decide later about extensions depending on success
- After successful registration, switch to Linode
- Register a domain with a registrar like namecheap.com
-
Hosting
- Linode (Akamai) is comparable to AWS but cheaper and more user-friendly
- You can implement many different projects via the Marketplace
- Linode offers a $100 startup credit, which allows you to try almost everything for 60 days
- Costs are calculated hourly, so you can experiment without worry
- If a project is canceled after one day, costs only incur for that day
- Create an account and switch to the MARKETPLACE
- Search for “woocommerce”
- Fill in the fields (my suggestion: xx_YOUR INITIALS instead of “mjm”)
- Email: Your email address for the SSL certificate
- Stack: LEMP (Linux, Nginx, MySQL, PHP) for online stores
- Admin username: au_yourinitials
- WordPress database user: wdbu_mjm
- WordPress database name: wdbn_mjm
- Limited sudo user: lsu_mjm
- SSL: Deactivate, as later access will be through the LISH console
- Image: Ubuntu 22.04 LTS or newer
- Region: Close to the expected customers
- Plan: Initially, a Nanode 1 GB (Shared CPU) for $5 per month is sufficient
- Details:
- Linode Label: Prefix the shop name (e.g., “myshop.store_woocommerce…”)
- Tags: Use any tags for organization
- Root Password: Remember a unique, secure password (e.g., “hit-apple-clearout-943!”)
- Save everything via screenshot or notes
- Enable backups at your discretion
- CREATE LINODE and wait until the status changes to “running”
- Switch to DOMAINS in the dashboard
- Primary
- Domain: Your domain (e.g., “mjmrozek.store”)
- SOA Email: Your email address
- Insert Default Records: Select the label used earlier
- Copy the first entry under “NS Record,” e.g., “ns1.linode.com”
- Linode (Akamai) is comparable to AWS but cheaper and more user-friendly
-
Domain
- Select your acquired domain
- Custom NS: Change the nameservers to:
- ns1.linode.com
- ns2.linode.com
- ns3.linode.com
- ns4.linode.com
- ns5.linode.com
- A Google search for “Registrar (your registrar) + change nameserver / custom name server” might be helpful
- Changes may take several hours
-
Browser - New Tab
- Access the domain
- Ignore security risks (we lack SSL, hence no https and warning, but we know we are accessing our own site)
- myshop.store/wp-login.php
-
Linode
- Select the instance
- LISH Console
- Log in as “root”
- Use
cat /home/lsu_mjm/.credentials
(replace “lsu_mjm”) for the WordPress admin password - Use the password for myshop.store/wp-login.php
-
Browser
- Address: myshop.store/wp-login.php
- User: au_yourinitials
- PW: Output from the LISH console
- WordPress Dashboard: Change settings
- General:
- WordPress Address (URL): https://myshop.store
- Site Address (URL): https://myshop.store
- Save changes
- General:
- Address: myshop.store/wp-login.php
-
SSL
- Linode
- Select the instance
- LISH
- Log in as root
- Run the following commands:
sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d mjmrozek.store -d www.mjmrozek.store
(replace “mjmrozek.store” with your domain)
- exit and close the console
- Linode
-
Visit
https://myshop.store
in the browser; if issues arise, clear the cache or use incognito mode- WordPress Dashboard
- Appearance
- Change the theme to Twenty Twenty-One for further customization
- Click the house icon on the top left and “Shop” for a first look at the store
- Appearance
- WordPress Dashboard
- In Part 2/2:
- Configure WooCommerce
- Add products
- Set up payment systems
- Security
- Design
- Workflow