Knowledge Base

Find Answers

Common questions, step-by-step guides, and solutions for NovaRadioCMS.

Upload all files to your public_html directory. Create a MySQL database from your hosting control panel (cPanel, DirectAdmin, etc.). Run 'composer install --no-dev --optimize-autoloader' via SSH or use the pre-built vendor folder if SSH is unavailable. Set permissions: chmod -R 755 storage and bootstrap/cache. Visit your-domain.com/install and follow the wizard.

NovaRadioCMS requires: pdo, pdo_mysql, mbstring, openssl, tokenizer, xml, curl, zip (for theme uploads), fileinfo, json, gd or imagick (for image processing), and exif (for image metadata). Most modern hosting providers have these enabled by default.

Install PHP 8.2+, MySQL 8.0+, Composer, and Nginx. Clone the repo to /var/www/novaradio. Run composer install. Copy .env.example to .env and configure database credentials. Run php artisan key:generate, php artisan migrate --force, php artisan db:seed --force. Configure Nginx to point the document root to /var/www/novaradio/public. Set APP_INSTALLED=true in .env.

Go to Admin → Settings and configure your stream URL. The built-in HTML5 player will automatically connect to your Icecast or Shoutcast stream. The now playing widget and listener count will update automatically.

Check that your stream URL does not have a trailing slash. Ensure your streaming server is accessible from your web server (no firewall blocking). Check storage/logs for detailed error messages. If using HTTPS, make sure your SSL certificate is valid.

Create a new folder in resources/views/themes/ with your theme name. Copy the default theme structure as a starting point. Each theme needs: a layouts/ folder with app.blade.php, partial views, and CSS/JS in public/themes/your-theme/. Create a theme.json file with name, version, author, and description. Upload via Admin → Themes or manually place the folder.

Go to Admin Panel → Themes. Click 'Upload Theme' and select your theme ZIP file. The theme will be extracted and appear in the themes list. Click 'Preview' to see how it looks, then 'Activate' to make it live. Only one theme can be active at a time.

Navigate to Admin → Articles → Create New. Enter a title, select a category, add tags, and write your content using the TinyMCE editor. You can embed images from the Media Manager. Set the article as published or draft. The article will appear on the frontend in your articles/news section.

Go to Admin → DJ Profiles. Each DJ can have a name, bio (with rich text), genre specialties, equipment list, social media links, and a profile photo. DJs with user accounts can also edit their own profiles from 'My Profile' in the admin panel.

Navigate to Admin → Schedule. Add shows for each day of the week with time slots, show name, host/DJ name, and a description. The schedule is displayed on the frontend organized by day. Times are shown in the server's timezone by default.

Go to Admin → Settings → SEO tab. Set your site title, meta description, and keywords. Configure Open Graph tags for social sharing (image, title, description). Twitter Card settings are also available. Each page and article can have individual SEO overrides.

Navigate to Admin → Settings → Appearance. Click on the hero image upload area and select your image. The recommended size is 1920x800px. The hero image appears on the homepage above the fold. You can also set overlay opacity and text color for readability.

NovaRadioCMS supports three roles: Admin (full access), Editor (content management), and Moderator (limited access). Go to Admin → Users to manage accounts and assign roles. Each role has specific permissions that control access to different admin panel sections.

This usually means your session configuration needs updating. Check that SESSION_DRIVER is set to 'file' in .env. Ensure storage/framework/sessions directory exists and is writable. Clear config cache with 'php artisan config:clear'. If using a load balancer, configure SESSION_DOMAIN in .env.

Check that storage/app/public/media directory exists and is writable (chmod 775). Verify PHP upload_max_filesize and post_max_size are set high enough in php.ini. Ensure the storage symlink exists: run 'php artisan storage:link'. Check that the fileinfo and gd/imagick PHP extensions are enabled.

Ensure GITHUB_REPO is set correctly in .env (novik133/NovaRadio). If your server has SSL issues, the update checker includes an SSL fallback. Check storage/logs/laravel.log for detailed error messages. A GITHUB_TOKEN is only needed for private repositories.