Getting Started
- π Introduction
- βοΈ How UNA Works
- π‘ Concepts
- π Glossary
- β Principles
- π Launch Checklist
- πͺ Requirements
- π¦ Starter Kits
- π½ Spacenook
- β Installation Guide
- β Install on Ubuntu
- π¬ Jot Server Installation
- π· Upgrade
- πββοΈ General FAQ
- βοΈ Cloud FAQ
Configuration
- πΉ Studio Overview
- πΉ Adding Apps
- πΉ Removing Apps
- πΉ Core Apps
- πΉ Accounts
- Apps Market
- Storage
- Polyglot
- Designer
- Pages
- Forms
- Navigation
- Permissions
- Wiki-Dashboard
- Payments
- Paid Levels
- Streams
- Texts
- Icons
- Remote Storage
- MySQL cluster
- Locations
- PUSH notifications
- Hashtags
- Macros
Administration
Modules
Templates
Integrations
Development
- System Architecture
- Code Convention
- Code Quality
- Common Mistakes
- ποΈ Architecture
- Directories
- Profiles structure
- Build a Module
- Build a Template
- Build a Language
- Build an Integration
- Build an Auto-update Script
- Studio Apps
- Handling Date and Time
- Browseable categories
- Search Forms
- Images Transcoder
- Video Transcoder
- Menus
- Pages
- Forms
- Grids
- Pagination
- Uploaders
- Storage
- Personal and sensitive data
- API
- Alerts (hooks)
- Auto generated documentation
- Docker
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.