Getting Started

Configuration

Administration

Modules

Templates

Integrations

Development

Getting Started

  • πŸ‘‹ Introduction
    High-level overview of UNA CMS: what it is, who it’s for, and what you can build.

  • βš™οΈ How UNA Works
    Explains the underlying architecture and relationship between front-end, Studio (admin console), and apps.

  • [πŸ’‘ Key Concepts][key-concepts]
    Covers essential terminology (Profiles, Context Modules, Permissions, etc.) that power UNA.

  • πŸ“• Glossary
    Alphabetical reference for important UNA terms.

  • ✊ Principles
    The guiding philosophies behind UNA development and community management.

  • [πŸ’» System Requirements][system-requirements]
    Details on hosting environment, server configuration, and prerequisites.

  • [πŸš€ Installation & Setup][installation-setup]
    Step-by-step instructions for installing UNA on various platforms (shared hosting, VPS, Docker, etc.).

  • [πŸƒ Quick Start Tutorial][quick-start-tutorial]
    A hands-on approach to spin up a basic UNA site with minimal configuration.

  • [πŸ“‹ Launch Checklist][launch-checklist]
    A structured guide (43 steps or more) to configure essentials before going live.

  • [❓ General FAQ][general-faq]
    Frequently asked questions for newcomers.


Building & Managing Your UNA Site

  • [πŸ”§ Studio Basics][studio-basics]
    How to navigate and use Studio: Pages, Forms, Navigation, Permissions, Languages, etc.

  • [πŸ“‘ Site Structure][site-structure]
    Understanding page layouts, blocks, and how modules interact.

  • πŸ—‚ Content Management
    Managing posts, media, categories, and moderation workflows.

  • [πŸ‘€ User & Profile Management][user-profile-management]
    Handling user accounts, profiles, activation, and roles.

  • [πŸ”’ Permissions & Roles][permissions-roles]
    Configuring membership levels, access controls, and custom permissions.

  • [🏷 Customization & Theming][customization-theming]
    Applying templates/themes, styling pages, and basic design tweaks.

  • [πŸ”€ Navigation & Menus][navigation-menus]
    Configuring menus, site navigation, and user interface structure.

  • [πŸ’¬ Language & Translations][language-translations]
    Setting default languages, editing language keys, and creating multilingual sites.

  • [πŸ”” Notifications][notifications]
    Customizing email templates, push notifications, and in-site alerts.

  • [πŸ›  Maintenance & Upgrades][maintenance-upgrades]
    Updating UNA core and apps, backups, cron tasks, and overall site health.

  • [πŸ“ˆ Analytics & Reporting][analytics-reporting]
    Integrating external analytics, built-in stats, and best practices for measuring growth.


Apps (Modules)

Click to expand all official UNA Inc apps
  • Core β€œContext” Modules

    • [Groups][app-groups]
    • [Events][app-events]
    • [Spaces][app-spaces]
    • [Organizations][app-organizations]
    • [Channels][app-channels]
  • Core β€œContent” Modules

    • [Posts][app-posts]
    • [Discussions][app-discussions]
    • [Albums][app-albums]
    • [Photos][app-photos]
    • [Videos][app-videos]
    • [Files][app-files]
    • [Wiki][app-wiki]
    • [Polls][app-polls]
    • [Blogs][app-blogs]
  • Communication & Messaging

    • [Messenger (Jot Server)][app-messenger]
    • [Conversations / Chat+ (if separate)][app-chatplus]
  • Membership & Monetization

    • [Paid Levels][app-paid-levels]
    • [Market][app-market]
    • [Ads][app-ads]
    • [Payments][app-payments]
  • Engagement & Interaction

    • [Timeline (Feed)][app-timeline]
    • [Reactions][app-reactions]
    • [Comments][app-comments]
    • [Notifications][app-notifications]
  • Administration & Utilities

    • [Permissions][app-permissions]
    • [Developer][app-developer]
    • [Helpdesk][app-helpdesk]
    • [Maintenance Tools][app-maintenance-tools]
  • E-Learning & Specialized

    • [Classes][app-classes]
    • [Courses (if separate)][app-courses]

Installation on Ubuntu Debian Apache2 Server

Pre-installation Requirements

Ensure your hosting environment meets the minimal software requirements.

System Preparation

Update and Upgrade Packages

Run these commands to update and upgrade all packages:

    sudo apt-get update
    sudo apt-get upgrade

Install PHP and Necessary Extensions

    sudo apt-get install php php-curl php-gd php-mbstring php-json php-fileinfo php-zip php-openssl php-exif php-mysql

Installing and Configuring MariaDB

    sudo apt-get install mariadb-server

After installing, use the commands below to stop, start, and enable the MariaDB service to always start up when the server boots:

    sudo systemctl stop mariadb.service
    sudo systemctl start mariadb.service
    sudo systemctl enable mariadb.service

After that, run the commands below to secure the MariaDB server by creating a root password and disallowing remote root access:

    sudo mysql_secure_installation

When prompted, answer the questions below by following the guide:

  • Enter current password for root (enter for none): Just press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

Restart MariaDB server:

    sudo systemctl restart mariadb.service

Create the Database

To log on to the MariaDB database server, run the commands below:

    sudo mysql -u root -p

Run these commands to create the database, create a user, and give that user access to the database:

    CREATE DATABASE database_name;
    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL ON csdb.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;

Creating a Virtual Host

Create a directory for your UNA site:

    sudo mkdir /var/www/your_site_domain
    sudo chown -R una:una /var/www/your_site_domain
    sudo chmod -R 755 /var/www/your_site_domain

Create a virtual host configuration file:

    sudo nano /etc/apache2/sites-available/your_site_domain.conf

Copy and paste the following lines into the conf file:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName your_site_domain
        DocumentRoot /var/www/your_site_domain
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory /var/www/your_site_domain>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
            Require all granted
        </Directory>
    </VirtualHost>

Enable the new virtual host and disable the default one:

    sudo a2ensite your_site_domain.conf
    sudo a2dissite 000-default.conf
    sudo apache2ctl configtest
    sudo systemctl restart apache2

Installing Let's Encrypt SSL

    sudo add-apt-repository ppa:certbot/certbot
    sudo apt install python-certbot-apache
    sudo nano /etc/apache2/sites-available/your_site_domain.conf
    sudo apache2ctl config
    sudo systemctl reload apache2
    sudo certbot --apache -d your_site_domain

This will install an SSL certificate to your system.

Installing UNA

Upload the UNA .zip archive to your server and extract it to

/var/www/your_site_domain

Finalizing Installation

Set Permissions Ensure your directory and files have the correct permissions:

   sudo chmod -R 755 /var/www/your_site_domain
   sudo chmod -R 777 /var/www/your_site_domain/inc
   sudo chmod -R 777 /var/www/your_site_domain/cache
   sudo chmod -R 777 /var/www/your_site_domain/cache_public
   sudo chmod -R 777 /var/www/your_site_domain/tmp
   sudo chmod -R 777 /var/www/your_site_domain/logs
   sudo chmod -R 777 /var/www/your_site_domain/storage
   sudo chmod +x /var/www/your_site_domain/plugins/ffmpeg/ffmpeg.exe
  • Update .htaccess for PHP version if needed.
  • Navigate to your site URL and follow the UNA installation steps.

Post-installation Steps

Configure a cron job as instructed by the installation wizard to ensure UNA's scheduled tasks are performed correctly.

Run the code and paste the cron job from the browser to the crontab:

    crontab -e

Congratulations

You've successfully installed UNA on your Ubuntu Debian server with Apache2. Proceed to UNA Studio to customize your site further.