NewsCMS — News & Magazine CMS

Thank you for purchasing NewsCMS! This guide walks you from a fresh hosting account to a fully branded, running news site. No programming knowledge is required for installation — if you can use cPanel, you can install NewsCMS.

1. Server requirements

ComponentRequirement
PHP8.2 or newer
PHP extensionspdo_mysql, gd, zip, mbstring, openssl (all standard on shared hosting)
DatabaseMySQL 5.7+ or MariaDB 10.3+
Web serverApache, Nginx or LiteSpeed. The site must be served from the public/ folder.
HTTPSStrongly recommended (required for web push and PWA install).

The installer checks every requirement automatically before it lets you continue — you don't need to verify these by hand.

2. Installation

Step 1 — Upload. Upload the package contents to your hosting account and point your domain's document root at the public/ folder. On cPanel: upload the zip to the folder above public_html, extract, then either set the document root to newscms/public or move the contents of public/ into public_html and edit index.php paths accordingly (setting the document root is the cleaner option).
Step 2 — Create a database. In cPanel → MySQL Databases, create a database, a database user, and grant the user all privileges on that database. Note down the three values.
Step 3 — Configure .env. Copy .env.example to .env (File Manager → Copy). Edit it and fill in:
APP_URL=https://your-domain.com
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password
Step 4 — Run the installer. Visit https://your-domain.com/install. The wizard verifies your server, then asks for your site name and your admin account details. Click Install — it migrates the database, seeds roles/permissions and creates your super-admin account. When it finishes you are redirected to the admin login.

The installer locks itself after a successful run (storage/installed.lock). It cannot be re-run, and it returns a 404 afterwards — this is intentional, for your security.

Installing without the web installer (developers)

composer install
cp .env.example .env && php artisan key:generate
php artisan migrate --seed   # prints a one-time admin password to the console
npm install && npm run build  # optional — a prebuilt copy ships in public/build

3. License activation

Each purchase includes one license key valid for one domain. After signing in to the admin panel you are taken to Admin → License:

  1. Paste the license key you received with your purchase.
  2. Click Activate. The site contacts the license server once and stores a signed offline token — after that it only re-checks periodically (with a 7-day offline grace period, so a license-server outage never takes your site down).
  3. Moving to a new domain? Click Deactivate first, then activate on the new domain with the same key.

localhost, 127.0.0.1 and *.test domains never require activation — develop and stage freely.

4. First-time setup checklist

  1. Settings → General — site name, tagline, description, contact details.
  2. Settings → Appearance — logo upload, brand colors, site font, dark mode accent. The whole frontend (and the PWA icon) follows these.
  3. Settings → Homepage — choose which sections appear and in what order; assign categories to each block.
  4. Categories — create your sections (with menu visibility and colors).
  5. Staff & Roles — invite editors and journalists. Roles ship preconfigured: Super Admin, Editor (publishes), Journalist (submits for review).
  6. Menus — build header/footer menus.
  7. Settings → SEO & Ads — meta defaults, Google Analytics ID, AdSense client ID, ads.txt.

5. Admin panel guide

SectionWhat it does
Dashboard / AnalyticsTraffic, top posts, engagement charts, daily counters.
PostsFull editor (Quill) with revisions, scheduling, featured/breaking flags, premium flag for paywall, SERP preview, AI assists, in-body [[ad]] and [[related]] markers, media library picker, CSV export, bulk actions.
Assignments / CalendarAssign stories to journalists with due dates; month view of everything scheduled.
Event HubLive event panels on the homepage + a dedicated landing page. Pick a preset (election, tournament, budget, festival, disaster…), edit the demo rows, switch it live. Panels auto-refresh for readers.
Web StoriesTap-through visual stories with per-slide duration and CTA.
Categories / Pages / Galleries / Media / MenusSite structure and content libraries.
Comments / Polls / QuizzesEngagement with moderation queues.
Readers / Subscribers / NewslettersReader accounts, newsletter composer and subscriber lists.
AI StudioAI Writer, Breaking News Radar, provider & per-task model settings.
Photocard StudioGenerate branded social-media cards from any post (downloads as PNG/ZIP).
AdsCampaigns per placement (header/sidebar/in-article/footer) with rotation, scheduling, impression/click stats. Image ads or raw network embed codes.
Staff / RolesPermission-based access control for the whole panel.
SettingsGeneral, Appearance, Homepage builder, SEO & Ads, Push, Payments, Features (turn whole modules on/off), Backups.
LicenseActivation status, activate/deactivate.

6. AI Studio setup (optional)

All AI features are optional and bring-your-own-key:

  1. Go to AI Studio → Settings.
  2. Add a provider: any OpenAI-compatible API, Anthropic (Claude) or Google Gemini, with your API key.
  3. Map tasks (writing, headlines, SEO meta, tags, radar, chat answers, embeddings) to a provider/model. Leave a task unmapped to disable it.

No key configured = the AI buttons simply hide. The product is fully functional without any AI provider.

7. Integrations

ServiceWhereNotes
Google AnalyticsSettings → SEO & AdsPaste your G-… ID. Script loads only when set.
Google AdSenseSettings → SEO & AdsPaste your ca-pub-… client. Auto-ads load only when set. ads.txt is editable in admin.
OneSignal pushSettings → PushCreate a free OneSignal app, paste App ID + REST key. The OneSignal SDK loads from their CDN only when configured (their SDK cannot be self-hosted).
bKash paymentsSettings → PaymentsFor reader subscriptions/paywall. Sandbox and live credentials supported.
Social login.envGoogle/Facebook OAuth credentials.
Google FontsSettings → AppearanceThe site font is loaded from Google Fonts using the family you pick.

8. Languages & timezone

9. Demo content (optional)

To showcase the theme with realistic content, run from a terminal:

php artisan db:seed --class=BanglaDemoSeeder     # categories + articles + ads + events
php artisan db:seed --class=PortalExtrasSeeder   # geo data, videos, galleries, jobs

BanglaDemoSeeder wipes existing posts, categories, tags and ads — only use it on a fresh site. All demo images are generated placeholders (picsum.photos or SVG); no copyrighted press photos are included or downloaded.

10. Updating

  1. Take a backup (Admin → Settings → Backups, or your hosting backup).
  2. Upload the new release over the old files (your .env, storage/ and uploads are never part of the package).
  3. Visit /admin — pending database migrations run via php artisan migrate --force if shell access is available, or use the update instructions in the release notes.

Every release documents its changes in CHANGELOG.md.

11. FAQ / troubleshooting

The homepage shows a plain error page

Check storage/logs/laravel.log. The most common cause is wrong DB_* credentials in .env. Never set APP_DEBUG=true on a live site.

Images don't appear

The installer links public/storage automatically. If images 404, run php artisan storage:link or create the symlink in cPanel.

CSS looks broken after moving the site

Make sure the public/build/ folder uploaded completely and APP_URL matches your domain.

I forgot my admin password

Use the "Forgot password" link on the admin login (requires mail settings in .env), or reset it via database.

Can I remove the license system?

The license client protects the author's distribution rights and stays. It never phones home more than a periodic heartbeat and has a 7-day offline grace.

12. Credits & third-party licenses

ComponentLicenseShipped
Laravel FrameworkMITvia Composer
Quill 2 (rich text editor)BSD-3-Clausebundled, public/vendor/quill
html2canvasMITbundled, public/vendor/html2canvas
JSZipMITbundled, public/vendor/jszip
qrcodejsMITbundled, public/vendor/qrcodejs
Tailwind CSS 4MITcompiled into public/build
Google Fonts (site font, admin Inter/Noto Sans Bengali)OFLloaded from fonts.googleapis.com
OneSignal Web SDKproprietary (free tier)loaded from their CDN only when push is configured
Demo imagesLorem Picsum / generated SVGdownloaded at seed time only

13. Support

Support covers bugs, usage questions and included third-party asset questions per the marketplace item support policy. It does not cover installation service, hosting issues or customization work. Please include your Laravel log excerpt and PHP version when reporting a bug.