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
| Component | Requirement |
|---|---|
| PHP | 8.2 or newer |
| PHP extensions | pdo_mysql, gd, zip, mbstring, openssl (all standard on shared hosting) |
| Database | MySQL 5.7+ or MariaDB 10.3+ |
| Web server | Apache, Nginx or LiteSpeed. The site must be served from the public/ folder. |
| HTTPS | Strongly 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
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)..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
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:
- Paste the license key you received with your purchase.
- 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).
- 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
- Settings → General — site name, tagline, description, contact details.
- Settings → Appearance — logo upload, brand colors, site font, dark mode accent. The whole frontend (and the PWA icon) follows these.
- Settings → Homepage — choose which sections appear and in what order; assign categories to each block.
- Categories — create your sections (with menu visibility and colors).
- Staff & Roles — invite editors and journalists. Roles ship preconfigured: Super Admin, Editor (publishes), Journalist (submits for review).
- Menus — build header/footer menus.
- Settings → SEO & Ads — meta defaults, Google Analytics ID, AdSense client ID, ads.txt.
5. Admin panel guide
| Section | What it does |
|---|---|
| Dashboard / Analytics | Traffic, top posts, engagement charts, daily counters. |
| Posts | Full 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 / Calendar | Assign stories to journalists with due dates; month view of everything scheduled. |
| Event Hub | Live 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 Stories | Tap-through visual stories with per-slide duration and CTA. |
| Categories / Pages / Galleries / Media / Menus | Site structure and content libraries. |
| Comments / Polls / Quizzes | Engagement with moderation queues. |
| Readers / Subscribers / Newsletters | Reader accounts, newsletter composer and subscriber lists. |
| AI Studio | AI Writer, Breaking News Radar, provider & per-task model settings. |
| Photocard Studio | Generate branded social-media cards from any post (downloads as PNG/ZIP). |
| Ads | Campaigns per placement (header/sidebar/in-article/footer) with rotation, scheduling, impression/click stats. Image ads or raw network embed codes. |
| Staff / Roles | Permission-based access control for the whole panel. |
| Settings | General, Appearance, Homepage builder, SEO & Ads, Push, Payments, Features (turn whole modules on/off), Backups. |
| License | Activation status, activate/deactivate. |
6. AI Studio setup (optional)
All AI features are optional and bring-your-own-key:
- Go to AI Studio → Settings.
- Add a provider: any OpenAI-compatible API, Anthropic (Claude) or Google Gemini, with your API key.
- 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
| Service | Where | Notes |
|---|---|---|
| Google Analytics | Settings → SEO & Ads | Paste your G-… ID. Script loads only when set. |
| Google AdSense | Settings → SEO & Ads | Paste your ca-pub-… client. Auto-ads load only when set. ads.txt is editable in admin. |
| OneSignal push | Settings → Push | Create 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 payments | Settings → Payments | For reader subscriptions/paywall. Sandbox and live credentials supported. |
| Social login | .env | Google/Facebook OAuth credentials. |
| Google Fonts | Settings → Appearance | The site font is loaded from Google Fonts using the family you pick. |
8. Languages & timezone
- UI language: set site locale in Settings. UI strings live in
lang/en.jsonandlang/bn.json(English and Bangla ship in the box). To add a language, copylang/en.jsonto e.g.lang/es.jsonand translate the values. - Content languages: manage under Admin → Languages; categories and posts belong to a language.
- Timezone: set
APP_TIMEZONEin.env(e.g.Asia/Dhaka,Europe/London). Default is UTC. - The
bnlocale automatically localizes digits and dates.
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
- Take a backup (Admin → Settings → Backups, or your hosting backup).
- Upload the new release over the old files (your
.env,storage/and uploads are never part of the package). - Visit
/admin— pending database migrations run viaphp artisan migrate --forceif 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
| Component | License | Shipped |
|---|---|---|
| Laravel Framework | MIT | via Composer |
| Quill 2 (rich text editor) | BSD-3-Clause | bundled, public/vendor/quill |
| html2canvas | MIT | bundled, public/vendor/html2canvas |
| JSZip | MIT | bundled, public/vendor/jszip |
| qrcodejs | MIT | bundled, public/vendor/qrcodejs |
| Tailwind CSS 4 | MIT | compiled into public/build |
| Google Fonts (site font, admin Inter/Noto Sans Bengali) | OFL | loaded from fonts.googleapis.com |
| OneSignal Web SDK | proprietary (free tier) | loaded from their CDN only when push is configured |
| Demo images | Lorem Picsum / generated SVG | downloaded 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.