Skip to content

Frequently Asked Questions

General

What is SilkPanel?

SilkPanel is a CMS for „Silkroad Online“ build on laravel.

What are the system requirements?

Minimum Requirements:

  • PHP 8.3 or higher
  • MySQL 5.7+ or MariaDB 10.3+
  • Node.js 18+
  • 2GB RAM (4GB recommended for production)
  • 10GB disk space

Recommended for Production:

  • PHP 8.3 or 8.4
  • MySQL 8.0+ or MariaDB 10.6+
  • Node.js 20 LTS
  • 8GB+ RAM
  • 50GB+ SSD storage

Installation

What's the easiest way to get started?

For local development on Windows, we recommend using Laragon. It comes pre-packaged with PHP, Apache, Nginx, and MySQL, making setup incredibly fast. See our Windows Installation Guide.

For production on a server, use Ubuntu 22.04 LTS with Nginx. See our Ubuntu Installation Guide.

Do I need to install PHP, Composer, and Node.js separately?

Windows with Laragon: No, Laragon includes PHP and other tools. You still need to install Git, Composer (or it's included in some Laragon versions), and Node.js.

Ubuntu: Yes, you need to install all of them separately. Follow our Ubuntu Installation Guide for step-by-step instructions.

How long does the installation take?

Typically 15-30 minutes depending on your internet speed and system performance. The longest part is usually downloading Node.js modules (npm install) and PHP packages (composer install).

What does the installation wizard do?

The installation wizard at /install performs:

  1. Database setup and migrations
  2. Administrator account creation
  3. Initial configuration setup
  4. License key verification
  5. Application initialization

Where do I configure the Composer API token for the private repository?

The API token is no longer written into composer.json.

Your composer.json repository entry should only contain the repository URL:

json
"repositories": [
   {
      "type": "composer",
      "url": "https://composer.devso.me"
   }
]

Set the API token globally via Composer auth headers:

bash
composer config --global --auth custom-headers.composer.devso.me "API-TOKEN: YOUR_API_TOKEN"

Check which header/token is currently configured:

bash
composer config --global custom-headers.composer.devso.me --auth

For the full license and token flow (account, server, token, and trial behavior), see the License System Guide.

Can I install multiple instances on one server?

Yes, but they need separate:

  • Document root folders
  • Virtual hosts/Nginx server blocks
  • Database names and users
  • Port numbers (if running multiple web servers)

Windows & Laragon

Why should I use Laragon instead of manual PHP installation?

Laragon provides:

  • Portable setup (no registry changes)
  • Easy version switching for PHP, MySQL, Node.js
  • Built-in Apache and Nginx
  • Simple project management
  • No complicated system configuration

How do I change the PHP version in Laragon?

  1. Right-click the Laragon tray icon
  2. Navigate to PHP > Version
  3. Select PHP 8.3
  4. Laragon will restart automatically

I'm getting "Permission Denied" errors on Windows

This usually happens because:

  1. Laragon or Apache isn't running as administrator
  2. Antivirus software is blocking file operations
  3. The public directory doesn't have proper permissions

Solution:

  • Run Laragon as administrator
  • Temporarily disable antivirus during development
  • Check Windows file permissions (Properties > Security)

How do I access my application from another computer on the network?

  1. Find your local IP address by running ipconfig in Command Prompt
  2. In Laragon, your application is accessible at http://<your-local-ip>/
  3. Make sure Windows Firewall allows HTTP traffic
  4. Both computers need to be on the same network

Can I use Laragon for production?

Not recommended. Laragon is designed for development only. For production, use a proper server running Ubuntu or similar Linux distribution with Nginx or Apache.


Ubuntu & Production

How do I connect to my Ubuntu server?

Use SSH from terminal:

bash
ssh user@server-ip-address

Or use an SSH client like PuTTY on Windows.

What's the difference between HTTP and HTTPS in your setup?

  • HTTP: Unencrypted traffic (port 80)
  • HTTPS: Encrypted traffic with SSL certificate (port 443)

For production, always use HTTPS with Let's Encrypt (free) or a commercial SSL certificate.

How do I enable HTTPS on Ubuntu?

We provide automated setup with Let's Encrypt in the Ubuntu Installation Guide:

bash
sudo certbot --nginx -d yourdomain.com

How often do SSL certificates renew?

Let's Encrypt certificates are valid for 90 days. Certbot automatically renews them 30 days before expiration. No manual intervention needed.

My site shows "Connection Refused" after setup

Common causes:

  1. Nginx hasn't been restarted: sudo systemctl restart nginx
  2. Firewall is blocking ports 80/443: Check UFW rules
  3. Domain isn't pointing to your server: Check DNS records
  4. Application crashed: Check logs at storage/logs/laravel.log

How do I increase PHP upload size limit on Ubuntu?

Edit PHP configuration:

bash
sudo nano /etc/php/8.3/fpm/php.ini

Find and modify:

ini
upload_max_filesize = 100M
post_max_size = 100M

Then restart PHP-FPM:

bash
sudo systemctl restart php8.3-fpm

Caching

What is caching and why is it important?

Caching stores frequently accessed data in memory to serve requests faster. SilkPanel caches:

  • Configuration values
  • Route definitions
  • View files
  • Database queries

This significantly reduces server load and improves response times.

How do I enable caching?

Run these commands in production:

bash
php artisan config:cache
php artisan route:cache
php artisan view:cache

These create cached versions of your config, routes, and views.

WARNING

Never run cache commands during active user sessions on a live application.

When should I clear the cache?

Clear cache when:

  • Your configuration changes (.env updates)
  • You update .php config files
  • You add/modify routes
  • You modify blade view files
  • After deploying updates
bash
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

What's the difference between cache and caching?

  • Cache: The storage mechanism (Files, Redis, Database, Memcached)
  • Caching: The process of storing and retrieving from cache

How do I switch cache drivers?

In your .env file:

md
# File-based cache (default)
CACHE_DRIVER=file

# Database cache
CACHE_DRIVER=database

# Redis cache (requires Redis)
CACHE_DRIVER=redis

Redis is recommended for production as it's faster and supports cache invalidation across multiple servers.

Is caching safe?

Yes, when used correctly. However:

  • Never cache sensitive user data like passwords
  • Clear cache when permissions change
  • Be careful with database query caching if data changes frequently
  • Always test caching thoroughly before deploying to production

Roles & Permissions

What roles are available in SilkPanel?

SilkPanel includes predefined roles:

  • Super Admin: Full access to everything
  • Supporter: Can manage some part stuff
  • Player: Normal registered user

How do I assign roles to users?

  1. Go to Admin Panel → Users Management
  2. Select the user to edit
  3. Choose the desired role
  4. Assign specific servers if needed (for limited roles)
  5. Save changes

Can I create custom roles?

No.

How do I remove a user's access?

  1. Go to Admin Panel → Users Management
  2. Find the user
  3. Either:
    • Delete the user account
    • Block the user (if you want to keep their data but prevent login)

What if a user forgets their password?

Admins can:

  1. Go to Users Management
  2. Find the user
  3. Click "Reset Password"
  4. The user will receive an email with a password reset link (if email is configured)

Users can also use the "Forgot Password" link on the login page if email is configured.


Laravel

What version of Laravel does SilkPanel use?

SilkPanel is built on Laravel. This ensures access to the latest features and security updates.

Can I deploy on shared hosting?

SilkPanel has relatively high requirements and is better suited for:

  • Dedicated servers
  • VPS (Virtual Private Servers)
  • Cloud platforms (AWS, DigitalOcean, Linode, etc.)

Shared hosting often lacks required PHP extensions or has restrictive configurations.

How do I run migrations?

To apply database migrations:

bash
php artisan migrate

This creates/updates database tables.

How do I rollback migrations?

To undo the last batch of migrations:

bash
php artisan migrate:rollback

To rollback all migrations:

bash
php artisan migrate:reset

What are Eloquent models?

Eloquent is Laravel's ORM (Object-Relational Mapping). In SilkPanel, models like User, Server, Subscription represent database tables and allow easy database operations in code.

How do I debug a Laravel application?

  1. Tail application logs:

    bash
    tail -f storage/logs/laravel.log
  2. Enable debug mode in .env:

    md
    APP_DEBUG=true

    WARNING

    Only enable APP_DEBUG=true during development. Never in production!

  3. Use Laravel Tinker for interactive debugging:

    bash
    php artisan tinker

What are Laravel Queues?

Queues allow you to defer time-consuming tasks to process them asynchronously. SilkPanel uses queues for:

  • Sending emails
  • Processing server health checks
  • Handling webhooks
  • Running background jobs

Troubleshooting

The application works locally but fails on the server

Common causes:

  1. Different PHP version on server (check php -v)
  2. Missing PHP extensions (check php -m)
  3. Incorrect .env configuration
  4. Database connection issues
  5. File permissions problems

Solution: Check storage/logs/laravel.log for specific error messages.

Emails are not sending

  1. Check mail driver in .env: MAIL_MAILER=smtp (recommended)
  2. Verify SMTP credentials are correct
  3. Check if your hosting allows outgoing SMTP connections
  4. Run: php artisan tinker then Mail::raw('Test', fn($m) => $m->to('[email protected]'));

Database migration fails

  1. Ensure database user has all required privileges
  2. Check database name in .env
  3. Run: php artisan migrate:rollback to undo partial migrations
  4. Check storage/logs/laravel.log for specific errors

500 Internal Server Error

  1. Check application logs: tail -f storage/logs/laravel.log
  2. Enable DEBUG mode temporarily: APP_DEBUG=true in .env
  3. Clear all caches: php artisan cache:clear && php artisan config:clear
  4. Ensure storage/ and bootstrap/cache/ are writable

Search and others not working

Please check your network tab in browser's developer tools. If you see that the requests is going for http instead of https, please check your APP_URL in .env file and make sure it is set to https://yourdomain.com. Also put the APP_ENV=production in .env file to make sure that the application is running in production mode and not in development mode.

After that you can run php artisan config:cache to make sure that the configuration is cached and the application is running with the latest configuration.

Images are not showing

Please check in your /publicfolder if there is an existing storage folder.

If not, please run php artisan storage:link to create a symbolic link from public/storage to storage/app/public. This will allow the application to access the images stored in the storage folder.

If yes, delete the existing storage folder in the /public folder and run php artisan storage:link again to create a new symbolic link.


More Questions?

If your question isn't answered here, please:

Released under the PolyForm Shield License 1.0.0.