WordPress installer

You’re now at the WordPress installer UI, which means:

  • Web server ✅
  • PHP-FPM ✅
  • DB connection ✅
  • Permissions ✅
  • DNS ✅

All core layers are functioning correctly.

Now proceed carefully—this step defines your application-level configuration.


1. Installation Screen Flow

Step 1: Language

You already see this.

  • Select: English (United States) (or your preference)
  • Click Continue

Step 2: Site Configuration

You will get a form with these fields:

1. Site Title

  • Example: Pravesh Garnu Blog
  • This is not permanent; can be changed later.

2. Username (IMPORTANT)

  • Do NOT use:admin root wordpress
  • Use something non-trivial:pravesh_admin wp_mgr_01

Reason: Prevents brute-force attacks.


3. Password

  • WordPress suggests a strong password—keep it.
  • Store it securely (password manager)

4. Email

  • Use a valid email (used for password recovery)

5. Search Engine Visibility

  • For now:
    ✔️ Check it (discourage indexing)

Reason:

  • Site is not production-ready
  • Prevents accidental indexing by Google

Click: Install WordPress


2. After Installation (Critical Immediate Actions)

Once installed, you’ll be redirected to:

/wp-login.php

Login using the credentials you just created.


3. Post-Install Hardening (Do This Immediately)

3.1 Fix File Editing in Admin

Edit wp-config.php:

define('DISALLOW_FILE_EDIT', true);

Why:

  • Prevents attackers from editing PHP files via dashboard

3.2 Set Correct URL (Avoid Future Redirect Issues)

Go to:

Settings → General

Ensure:

WordPress Address (URL): https://yourdomain.com
Site Address (URL): https://yourdomain.com

3.3 Permalinks (VERY IMPORTANT)

Go to:

Settings → Permalinks

Select:

Post name

Save.

This enables SEO-friendly URLs.


3.4 Verify Upload Permissions

Go to:

Media → Add New

Try uploading an image.

If it fails → permissions issue (but yours likely correct).


3.5 Remove Default Content

Delete:

  • Sample Post
  • Sample Page
  • Hello Dolly plugin

4. NGINX-Specific Adjustment (Often Missed)

Ensure this is working:

try_files $uri $uri/ /index.php?$args;

Why:

  • Required for permalinks to work

Test:

  • Create a post → open /sample-post/
  • If 404 → NGINX misconfiguration

5. TLS Validation

Check:

https://yourdomain.com

Ensure:

  • No browser warnings
  • Certbot auto-redirect working

Optional improvement:

return 301 https://$host$request_uri;

6. Basic Security Plugins (Optional but Recommended)

Install:

  • Wordfence OR
  • iThemes Security

Do NOT install too many plugins.


7. Backup Strategy (Often Ignored)

At minimum:

  • DB dump:mysqldump -u wpuser -p wordpress > backup.sql

Better:

  • Use plugin (UpdraftPlus)
  • Or automate via cron

8. What You Should Validate Now (Checklist)

LayerCheck
WebSite loads
PHPPages render
DBPosts save
FSMedia uploads
DNSDomain resolves
TLSHTTPS works
NGINXPermalinks work

9. Common Mistakes at This Stage

  • Using admin username ❌
  • Leaving file permissions as 777 ❌
  • Not setting permalinks ❌
  • Not enabling HTTPS redirect ❌
  • Not securing wp-config.php ❌

10. Next Step (Recommended)

Now that base is working, the most valuable next evolution is:

Option A (infra focus):

→ Convert this into Terraform-managed EC2 + SG + Route53

Option B (app reliability):

→ Add:

  • RDS
  • EFS (shared uploads)
  • ALB + Auto Scaling

Option C (DevOps maturity):

→ Add:

  • Git-based deployment
  • CI/CD pipeline

If you want, I can now:

  • Audit your current setup (based on configs)
  • Or evolve this into production-grade architecture step-by-step

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *