User Docs Developer Docs | |

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.