Built a website but not sure how to get it online? Here’s the whole journey explained in plain English, step by step. Or skip the hassle and let us do it for you.
To deploy a website on a VPS, log in to the server over SSH, install Nginx, MySQL and PHP, upload your files to /var/www with FileZilla (SFTP), add an Nginx site config, point your domain’s A record to the server IP, and install a free SSL certificate with Certbot. It takes about 1–2 hours. Prefer not to do it yourself? Techora deploys it for you, usually within 24–48 hours.
Your website is the shop, the server is the building, and the domain is the street address customers use to find you.
A computer in a data centre that you rent. It stays switched on 24/7 so your website is always open, like renting a shop on a busy street.
Your website’s address, like yourbusiness.com. It’s the name people type to find you.
The signboard that points your domain to your server, so visitors arrive at the right shop.
The padlock in the browser bar. It keeps visitor data private and tells Google your site is safe.
Each step says what it does in plain words and gives you the exact commands. Click Copy, paste into your server terminal and press Enter. Replace yourdomain.com and YOUR_SERVER_IP with your own.
Open the control panel your hosting company gave you (cPanel/WHM, Hostinger hPanel, DigitalOcean, etc.) and find your server’s IP address and root password. Then open the Terminal: most panels have a “Browser Terminal” or “Console” button. On Windows you can also use PowerShell or PuTTY.
# From your own computer (replace with your server IP)ssh root@YOUR_SERVER_IP# Type "yes" if asked, then paste your root password
Seeing root@...:~# means you are inside the server. Everything below is typed here.
Like updating your phone, this downloads the latest security fixes before you install anything.
apt update && apt upgrade -y
Nginx is the program that shows your website to visitors. We also turn on the firewall so only web traffic and your login can get in.
apt install nginx -ysystemctl enable --now nginx# Firewall: allow login + website trafficufw allow OpenSSHufw allow 'Nginx Full'ufw --force enable
Test it: open http://YOUR_SERVER_IP in your browser. You should see “Welcome to nginx!”
The database stores your site’s content, such as products, users and blog posts. Skip this step if your website is plain HTML.
apt install mysql-server -ymysql_secure_installation# Answer Y to the questions
# Create a database and user for your website (change the password first)mysql <<'EOF'CREATE DATABASE mysite_db;CREATE USER 'mysite_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';GRANT ALL PRIVILEGES ON mysite_db.* TO 'mysite_user'@'localhost';FLUSH PRIVILEGES;EOF
Write down the database name, user and password. Your website’s config file will need them.
PHP runs the code behind dynamic websites like WordPress, Laravel or custom PHP sites. These extras cover what most sites need.
apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y# Check the version (you'll need it in step 8)php -vls /run/php/
Note the file name shown, e.g. php8.3-fpm.sock.
Make a folder on the server where your website files will live.
mkdir -p /var/www/yourdomain.comchown -R www-data:www-data /var/www/yourdomain.com
FileZilla lets you drag and drop files from your computer to the server, just like copying to a USB drive. It uses secure FTP (SFTP), so nothing extra needs installing.
In FileZilla fill in: Host sftp://YOUR_SERVER_IP · Username root · Password your root password · Port 22, then click Quickconnect. On the right side open /var/www/yourdomain.com and drag your website files in from the left. Then run chown -R www-data:www-data /var/www/yourdomain.com in the terminal once the upload finishes.
This tells Nginx: “when someone visits yourdomain.com, show them the files in this folder”.
# Change yourdomain.com and php8.3 to match yours before pastingcat > /etc/nginx/sites-available/yourdomain.com <<'EOF'server { listen 80; server_name yourdomain.com www.yourdomain.com; root /var/www/yourdomain.com; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; }}EOF# Turn it on and check for mistakesln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/nginx -tsystemctl reload nginx
nginx -t must say “syntax is ok”. If not, re-open the file and check for a missing ; or }.
Upload your .sql backup with FileZilla (e.g. to /root), load it into the database, then update your website’s config file with the database details from step 4.
mysql -u mysite_user -p mysite_db < /root/backup.sql
Config files are usually wp-config.php (WordPress), .env (Laravel) or config.php. Set the host to localhost.
Log in where you bought your domain (GoDaddy, Namecheap, Hostinger…), open DNS settings and add these two records. Updates can take from a few minutes to 24 hours.
Type A · Name @ · Value YOUR_SERVER_IP
Type A · Name www · Value YOUR_SERVER_IP
Once your domain opens your site, turn on HTTPS so browsers show a padlock instead of “Not secure”. It renews automatically.
apt install certbot python3-certbot-nginx -ycertbot --nginx -d yourdomain.com -d www.yourdomain.com# Enter your email, agree to the terms, choose redirect to HTTPS
🎉 Visit https://yourdomain.com. Your website is live!
Feeling lost already? That’s completely normal. One wrong setting can leave a site offline or unsafe. We do this every week, so you don’t have to.
Ask UsSend us your website files or GitHub link, and we’ll take care of everything from server setup to the padlock in the browser bar. You get a fast, secure, live website without touching a single command.
Techora (techorastack.com), a web development company based in Indore, India, deploys websites on VPS servers for clients worldwide, on DigitalOcean, AWS Lightsail, Hostinger VPS, Vultr, Linode and others. We set up Nginx, MySQL, PHP, security and free SSL, then test the live site. Message us on WhatsApp for a fixed quote.
Following this guide takes about 1–2 hours for a first-timer, plus up to 24 hours for the domain to update worldwide. When Techora does it, your site is usually live within 24–48 hours.
For most small business websites, a 1–2 GB RAM Ubuntu plan from DigitalOcean, Hostinger VPS, Vultr or AWS Lightsail is enough. Pick a data centre close to your customers for faster loading.
Simple websites run fine on shared hosting. A VPS gives you more speed, control and room to grow, and is the better choice for online stores, apps and busy sites. Not sure? Ask us and we’ll tell you honestly.
Most small business websites run on a plan costing around $5–$12 per month, paid to the hosting company. Our setup fee is separate and quoted upfront.
Yes. We can move an existing website from shared hosting, WordPress hosts or another server with little or no downtime.
Yes. The server, the domain and the website are in your name. We only need access while we do the work.
Message us on WhatsApp with your website and domain. We’ll reply with a clear, fixed quote, with no surprises.