Installation
There's several ways to install Pubvana. Some are more technical than others.
Automated Easy Installer
go to the Installers Page for the newest easy installer. Download and follow directions on the installer page.
Github Release:
You may get the release directly from github (this is where the easy installer gets it) and manually install it. You would still follow the majority of the directions below.
Step by step with Git/Composer
Step 1 — Download Pubvana
Clone the repository or download the release archive and place the files in your web root (or any directory you prefer — the document root will point to the public/ subdirectory, not the project root).
git clone https://github.com/pubvana/pubvana.git /var/www/mysite
Or download and extract a release ZIP from the Pubvana GitHub releases page.
Step 2 — Install PHP Dependencies
Navigate to the project root (the folder containing composer.json) and run:
composer install --no-dev --optimize-autoloader
This installs CodeIgniter 4, Shield, and all other required packages into the vendor/ directory.
Step 3 — Create the Environment File
Copy the sample environment file:
cp env .env
Step 4 — Configure the Environment File
Open .env in a text editor and update the following values:
CI_ENVIRONMENT = production
app.baseURL = 'https://yourdomain.com/'
database.default.hostname = localhost
database.default.database = your_db_name
database.default.username = your_db_user
database.default.password = your_db_password
database.default.DBDriver = MySQLi
Set CI_ENVIRONMENT to development while testing — this enables detailed error output. Switch to production on a live server.
Step 5 — Run Migrations
Create the database tables by running all migrations:
php spark migrate --all
This creates every table Pubvana needs, including tables for posts, pages, media, comments, users, settings, and plugins.
Step 6 — Seed the Database
Populate the database with default data (admin user, default settings, sample categories):
php spark db:seed PubvanaSeeder
The seeder creates an admin account at admin@example.com with the password Admin@12345. Change this password immediately after first login.
Step 7 — Set Directory Permissions
The writable/ directory must be writable by the web server:
chmod -R 775 writable/
chown -R www-data:www-data writable/
Use 777 if your hosting environment requires it, though 775 with correct group ownership is preferred.
Step 8 — Configure the Web Server
Apache — Create a virtual host with DocumentRoot pointing to the public/ subdirectory. Make sure AllowOverride All is set so the .htaccess file can handle URL rewriting.
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/mysite/public
<Directory /var/www/mysite/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Enable mod_rewrite if it is not already active:
a2enmod rewrite
systemctl restart apache2
Nginx — Point root to public/ and add a try_files block that passes requests to index.php.
Step 9 — Visit Your Site
Open your domain in a browser. The Pubvana home page should load. Visit /admin to reach the admin panel and log in with the seeder credentials.