Welcome to Pollora! This guide will help you get started with a working installation of Pollora, a powerful WordPress framework built on top of Laravel.
- PHP 8.2 or higher
- Composer
- MySQL 5.7 or higher
Pollora offers three ways to install your application:
- Automatic installation via Composer (recommended)
- Manual installation via Artisan commands
- Web-based installation after environment setup
The recommended way to install Pollora is using Composer:
composer create-project pollora/polloraThis command will:
- Create a new Pollora project
- Install all dependencies
- Automatically launch the LaunchPad setup process
During the setup, you'll be prompted for:
- Site URL: Your site's URL (e.g., https://example.com)
- Database Configuration:
- Host (default: localhost)
- Port (default: 3306)
- Database name
- Username
- Password
The system will test the database connection. If it fails, you'll have the option to retry with different credentials.
- Site Information:
- Site title
- Site description
- Language selection (searchable list of available languages)
- Admin Account:
- Username
- Password (minimum 8 characters)
- Search Engine Visibility:
- Option to allow or prevent search engine indexing
If you prefer to run the installation steps manually, you can use the following Artisan commands:
# Configure environment
php artisan wp:env-setup
# Install WordPress
php artisan wp:installThese commands will guide you through the same interactive setup process as the automatic installation.
If you prefer the traditional WordPress installation interface, you can:
- Run the environment setup:
php artisan wp:env-setup- Once the
.envfile is configured, visit your site's URL and follow the WordPress installation wizard.
After successful installation:
- Access your WordPress admin panel at:
your-site-url/wp-admin - Start customizing your site
- Install themes and plugins as needed
Congratulations, you're ready to use Pollora now!
Pollora uses a wordpress.php configuration file that contains several important settings:
- WordPress Route Conditions: Mappings between WordPress conditional tags and route URIs
- WordPress Authentication Keys: Keys and salts for WordPress security
- Multisite Configuration: Settings for multisite installations
- Database Caching: Options for database caching
- WordPress Constants: Define WordPress behavior through constants
To customize these settings, you can publish the configuration file to your application:
php artisan vendor:publish --tag=wp-configThis command will copy the framework's configuration file to your application's config/ directory, allowing you to customize it according to your needs.
WordPress route conditions are particularly useful for defining routes that match WordPress conditional functions. You can add your own conditions or replace existing ones:
// config/wordpress.php
return [
'conditions' => [
// Add your custom conditions
'is_custom_post_type' => 'custom-post-type',
// Override existing conditions
'is_page' => ['page', 'static-page'],
],
// ... other configuration options
];For more information on using route conditions, see the Routing documentation.
The configuration file also contains WordPress authentication keys and salts, which are essential for your application's security:
// config/wordpress.php
return [
// ... other options
// WordPress authentication keys and salts
'auth_key' => env('AUTH_KEY'),
'secure_auth_key' => env('SECURE_AUTH_KEY'),
'logged_in_key' => env('LOGGED_IN_KEY'),
'nonce_key' => env('NONCE_KEY'),
'auth_salt' => env('AUTH_SALT'),
'secure_auth_salt' => env('SECURE_AUTH_SALT'),
'logged_in_salt' => env('LOGGED_IN_SALT'),
'nonce_salt' => env('NONCE_SALT'),
];These values are typically defined in your .env file during installation. If you need to generate new keys, you can use the WordPress Secret Key Generator.
If you want to enable WordPress multisite functionality, you can configure the following parameters:
// config/wordpress.php
return [
// ... other options
// WordPress multisite configuration
'wp_allow_multisite' => env('WP_ALLOW_MULTISITE'),
'multisite' => env('MULTISITE'),
'subdomain_install' => env('SUBDOMAIN_INSTALL'),
'domain_current_site' => env('DOMAIN_CURRENT_SITE'),
'path_current_site' => env('PATH_CURRENT_SITE'),
'site_id_current_site' => env('SITE_ID_CURRENT_SITE'),
'blog_id_current_site' => env('BLOG_ID_CURRENT_SITE'),
];Make sure to define these variables in your .env file if you enable multisite functionality.
Pollora also supports caching WordPress database queries:
// config/wordpress.php
return [
// ... other options
// Database caching
'caching' => env('DB_CACHE'),
];Enable this option by setting DB_CACHE=true in your .env file to improve your application's performance.
You can define additional WordPress constants in your configuration file. These constants control various aspects of WordPress behavior:
// config/wordpress.php
return [
// ... other options
// WordPress constants
'constants' => [
'WP_AUTO_UPDATE_CORE' => false,
'DISALLOW_FILE_MODS' => true,
'DISALLOW_FILE_EDIT' => true,
'DISABLE_WP_CRON' => true,
'WP_POST_REVISIONS' => 5,
// Add your custom constants here
],
];By default, Pollora sets several constants for security and performance:
WP_AUTO_UPDATE_CORE: Disables WordPress core auto-updatesDISALLOW_FILE_MODS: Prevents plugin and theme installations from the adminDISALLOW_FILE_EDIT: Disables the built-in file editorDISABLE_WP_CRON: Disables the WordPress cron system (use Laravel's scheduler instead)WP_POST_REVISIONS: Limits the number of post revisions stored
You can override these defaults or add your own constants in your application's configuration file.
The installation process will create a .env file with your configuration. Key variables include:
# Application settings
APP_URL=your-site-url
APP_ENV=local
APP_DEBUG=true
# Database settings
DB_CONNECTION=mysql
DB_HOST=your-database-host
DB_PORT=3306
DB_DATABASE=your-database-name
DB_USERNAME=your-database-user
DB_PASSWORD=your-database-password
# WordPress authentication keys and salts
AUTH_KEY=your-auth-key
SECURE_AUTH_KEY=your-secure-auth-key
LOGGED_IN_KEY=your-logged-in-key
NONCE_KEY=your-nonce-key
AUTH_SALT=your-auth-salt
SECURE_AUTH_SALT=your-secure-auth-salt
LOGGED_IN_SALT=your-logged-in-salt
NONCE_SALT=your-nonce-salt
# WordPress multisite configuration (if needed)
# WP_ALLOW_MULTISITE=true
# MULTISITE=true
# SUBDOMAIN_INSTALL=false
# DOMAIN_CURRENT_SITE=example.com
# PATH_CURRENT_SITE=/
# SITE_ID_CURRENT_SITE=1
# BLOG_ID_CURRENT_SITE=1
# WordPress database caching
DB_CACHE=falseDuring installation, the WordPress authentication keys and salts are automatically generated for security. You can regenerate these keys at any time using the WordPress Secret Key Generator.
If you encounter database connection issues:
- Verify your database credentials
- Ensure your database server is running
- Check if the database exists and is accessible
- Run
php artisan wp:env-setupto reconfigure database settings
If the WordPress installation fails:
- Check the error message
- Verify database permissions
- Ensure all required PHP extensions are installed
- Run
php artisan wp:installto retry the installation
Pollora automatically detects and configures itself for common development environments:
When using DDEV, the system will automatically:
- Detect DDEV configuration
- Use appropriate database settings
- Set the correct site URL
With Laradock, the system will:
- Use Laradock's database configuration
- Configure appropriate host settings