Installation
Prerequisites
Before installing Siteman CMS, ensure your environment meets these requirements:
- PHP: 8.3 or higher
- Laravel: 11.x or 12.x
- Filament: 4.x
- Database: MySQL 5.7+, PostgreSQL 10+, or SQLite 3.8+
- Composer: 2.x
New Laravel Project
If you're starting a fresh Laravel project:
# Create a new Laravel project
composer create-project laravel/laravel my-siteman-project
cd my-siteman-project
# Install Filament
composer require filament/filament:"^4.0"
# Create a Filament panel
php artisan filament:install --panelsInstalling Siteman
Install Siteman via Composer:
composer require siteman/cmsAutomatic Setup (Recommended)
Run the interactive installation command. This will:
- Publish configuration files
- Run database migrations
- Create an admin user account
- Publish and build assets
php artisan siteman:installFollow the prompts to create your admin user account.
Manual Setup
If you prefer to set up Siteman manually or need more control:
1. Publish Configuration
php artisan vendor:publish --tag="siteman-config"This publishes config/siteman.php where you can customize models, themes, and middleware.
2. Run Migrations
php artisan migrate3. Publish Assets
php artisan siteman:publish4. Register the Plugin
Add the Siteman plugin to your Filament panel (e.g., app/Providers/Filament/AdminPanelProvider.php):
use Siteman\Cms\SitemanPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->id('admin')
->path('admin')
->plugin(SitemanPlugin::make())
// ... other configuration
}5. Create an Admin User
php artisan siteman:create-adminVerification
Start your development server and verify the installation:
php artisan serveVisit http://localhost:8000/admin and log in with your admin credentials.
What Gets Installed
Siteman installation includes:
- Database Tables: pages, menus, menu_items, menu_locations, tags, and related tables
- Filament Resources: PageResource, MenuResource, UserResource, RoleResource
- Configuration Files:
config/siteman.php - Views: Theme templates in
resources/views/vendor/siteman - Permissions: Powered by Spatie Laravel Permission
- Media Library: Powered by Spatie Laravel Media Library
Troubleshooting
Installation Command Fails
If php artisan siteman:install fails:
- Ensure all prerequisites are met (PHP version, Laravel version)
- Check database connection in
.env - Run migrations manually:
php artisan migrate - Check file permissions for
storage/andbootstrap/cache/
Plugin Not Appearing in Admin
If the Siteman plugin doesn't appear:
- Clear application cache:
php artisan optimize:clear - Verify
SitemanPlugin::make()is registered in your panel provider - Check the panel path matches (e.g.,
/admin) - Ensure the user has necessary permissions
Frontend Pages Return 404
If created pages return 404:
- Verify the catch-all route is registered (run
php artisan route:list) - Ensure Siteman routes aren't conflicting with your application routes
- Check the page's
computed_slugin the database matches the URL - Verify the page is published (
published_atis in the past)
Asset Build Errors
If you encounter asset compilation errors:
# Clear compiled assets
php artisan view:clear
php artisan filament:clear-cache
# Rebuild Filament assets
php artisan filament:assetsPermission Errors
If you get permission-related errors:
- Run migrations to create permission tables:
php artisan migrate - Assign roles to your user via the admin panel
- Check
config/permission.phpis published:php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
Next Steps
- Quick Start Guide - Create your first page in 5 minutes
- Configuration - Customize Siteman to your needs
- Creating Themes - Build custom themes for your site