Skip to main content

Overview

After installing LaraCMS, you’ll need to create your admin account and configure initial settings before you can start managing content.
This guide assumes you’ve completed the installation and configuration steps.

Create your first user

1

Register through the web interface

Navigate to your LaraCMS installation in your browser (typically http://localhost:8000) and click the Register link.Fill in your details:
  • Name: Your full name
  • Email: Your email address (used for login)
  • Password: A secure password
LaraCMS implements email verification (MustVerifyEmail). You’ll need to verify your email address before accessing protected areas.
2

Verify your email

Check your email inbox for a verification message. If you’re using the default log mail driver during development, the verification link will be in storage/logs/laravel.log.Click the verification link to activate your account.
For development, you can temporarily disable email verification by removing verified middleware from routes, but don’t do this in production!
3

Assign Super Admin role

After registering and verifying your email, assign yourself the Super Admin role using the artisan command:
php artisan app:assign-super-admin [email protected]
This command will:
  • Find your user account by email
  • Create the “Super Admin” role if it doesn’t exist
  • Assign the role to your account
You should see: User [email protected] has been assigned the Super Admin role.
The Super Admin role is created automatically by the command using Spatie’s Laravel-Permission package.

Access the admin panel

Once you have the Super Admin role, you can access the admin dashboard:
http://localhost:8000/admin
The admin panel requires:
  • Authentication (auth middleware)
  • Email verification (verified middleware)
  • access.admin.panel permission
All Super Admin users automatically have this permission.

Admin dashboard overview

The admin dashboard provides access to all content management features:

User management

View, create, edit, and delete users. Assign roles and permissions.

Roles & permissions

Manage roles and granular permissions for access control.

Blog posts

Create and manage blog posts with categories and tags.

Gallery

Upload and organize photos and albums.

URL tools

Manage URL shorteners and redirects (coming soon).

Settings

Configure site-wide settings and preferences.

Create your first blog post

Let’s create your first blog post to get familiar with the content management system:
1

Navigate to blog posts

From the admin dashboard, go to BlogPosts.
http://localhost:8000/admin/blog/posts
2

Create new post

Click Create Post to open the blog editor.Fill in the post details:
  • Title: Your post title
  • Content: Rich text content using the editor
  • Category: Select or create a category
  • Tags: Add relevant tags
  • Featured Image: Upload an image (optional)
  • Status: Draft or Published
Start with a draft to preview before publishing. You can publish it later when ready.
3

Publish and view

Click Save to create your post. If published, it will be visible at:
http://localhost:8000/blog/your-post-slug
The slug is automatically generated from your title.

Upload your first image

The gallery system uses Spatie Media Library for powerful image management:
1

Access the gallery

From the admin dashboard, go to GalleryPhotos.
http://localhost:8000/admin/gallery/photos
2

Upload photos

Click Upload Photo and select an image file.
The default maximum file size is 10MB. This can be configured in config/media-library.php.
Supported formats:
  • JPEG / JPG
  • PNG
  • GIF
  • WebP
  • SVG
3

Add metadata

After uploading, add:
  • Title: Image title
  • Description: Alt text for accessibility and SEO
  • Album: Assign to an album (optional)
The media library automatically generates:
  • Responsive image conversions
  • Thumbnails
  • Optimized versions
Images are processed in the background using Laravel’s queue system. Make sure your queue worker is running:
php artisan queue:listen --tries=1

Manage users and permissions

As a Super Admin, you can create additional users and control their access:
1

Create a new user

Go to UsersCreate User.Fill in:
  • Name
  • Email
  • Password
  • Assign roles
2

Configure roles

Navigate to Roles & Permissions to:
  • Create custom roles (e.g., “Editor”, “Author”)
  • Assign granular permissions
  • Control access to different areas
LaraCMS uses Spatie Laravel-Permission for role-based access control. You can create complex permission hierarchies.
3

Assign permissions

Available permissions include:
  • access.admin.panel - Access admin dashboard
  • access.subscriber.area - Access subscriber content
  • Custom permissions you create
Roles inherit permissions, making management easier for teams.

Configure site settings

Update your profile

Customize your user profile:
  1. Click your avatar in the top-right corner
  2. Select Profile
  3. Update your information:
    • Name
    • Email
    • Password
    • Avatar image (uses Spatie Media Library)

Generate sitemap

Create a sitemap for search engines:
php artisan sitemap:generate
This command:
  • Crawls your public pages
  • Excludes admin and auth routes
  • Generates public/sitemap.xml
The sitemap excludes these paths by default:
  • /admin/*
  • /login
  • /register
  • /confirm-password
  • /verify-email
Schedule the sitemap to regenerate automatically by adding it to your task scheduler in routes/console.php:
Schedule::command('sitemap:generate')->daily();

Production checklist

Before deploying to production, ensure you:
1

Update environment

.env
APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com
2

Configure services

  • Set up real mail service (not log)
  • Configure Cloudflare Turnstile with real keys
  • Set Nightwatch token for monitoring
  • Configure Cookiebot if handling EU traffic
3

Optimize performance

php artisan config:cache
php artisan route:cache
php artisan view:cache
npm run build
4

Set up queue worker

Configure a process supervisor (e.g., Supervisor) to keep your queue worker running:
php artisan queue:work --tries=3
5

Configure backups

Set up regular database backups and media file backups.
6

Test email delivery

Send a test email to verify your mail configuration works.

Common workflows

  1. Have them register through the web interface
  2. Verify their email
  3. Run: php artisan app:assign-super-admin [email protected]
Or assign a different role through the admin panel.
  1. Go to BlogCategories
  2. Create categories for organizing posts
  3. Assign categories when creating/editing posts
Categories help visitors browse related content.
  1. Go to GalleryAlbums
  2. Create an album with title and slug
  3. Upload photos and assign them to the album
  4. Album URL: /gallery/album/your-album-slug
If a user can’t access the admin panel:
  1. Verify email is verified
  2. Check they have access.admin.panel permission
  3. Assign Super Admin role if needed:
    php artisan app:assign-super-admin [email protected]
    

Next steps

Blog management

Learn advanced blog features and content strategies

Gallery system

Master image optimization and album organization

User roles

Create custom roles and permission structures

API reference

Integrate with LaraCMS programmatically

Getting help

Need help? Check out these resources:

Build docs developers (and LLMs) love