# Joomla — Flexible Open-Source Content Management System > Joomla is a mature open-source CMS that powers millions of websites, offering a balance between WordPress simplicity and Drupal flexibility with built-in multilingual support, access control, and an extensive extension ecosystem. ## Install Save as a script file and run: # Joomla — Flexible Open-Source Content Management System ## Quick Use ```bash # Install via Composer composer create-project joomla/joomla-cms my-site cd my-site # Or download from joomla.org and extract to your web root # Point your browser to http://localhost/my-site # Follow the web-based installation wizard ``` ## Introduction Joomla fills the gap between simple blogging platforms and complex enterprise CMS solutions. With over two decades of development, it provides a robust content management framework that handles multilingual sites, complex access control, and custom content types without requiring extensive development expertise. ## What Joomla Does - Manages website content with articles, categories, modules, and custom fields - Provides built-in multilingual content management without third-party extensions - Offers granular access control with configurable user groups and viewing permissions - Supports content workflows with draft, review, and publish stages - Extends functionality through thousands of community extensions and templates ## Architecture Overview Joomla is built on PHP with a Model-View-Controller architecture and uses MySQL or PostgreSQL for data storage. The core application framework provides a component system where each major feature (articles, users, menus) runs as an independent component. Modules handle sidebar and widget-style content blocks, while plugins hook into system events for cross-cutting functionality. The template system separates presentation from logic, and a comprehensive API layer exposes content and configuration for headless or hybrid deployments. ## Self-Hosting & Configuration - Requires PHP 8.1+ with common extensions (json, xml, mbstring) and MySQL 8.0+ or PostgreSQL 12+ - Install via the web installer or Composer for developer workflows - Configure database connection, site name, and admin credentials during the setup wizard - Set file permissions for the configuration.php file and media directories - Enable caching (file, Redis, or Memcached) and configure .htaccess for SEF URLs ## Key Features - Native multilingual support with content associations across languages - Fine-grained ACL system with customizable user groups and action permissions - Built-in content versioning with revision history and restore capability - Web Services API for headless CMS usage and third-party integrations - Scheduled publishing with start and end dates for automatic content lifecycle ## Comparison with Similar Tools - **WordPress** — simpler setup and larger plugin ecosystem; Joomla offers more built-in features like multilingual and ACL - **Drupal** — more powerful for complex custom architectures; Joomla provides similar flexibility with an easier learning curve - **Strapi** — headless CMS for API-first development; Joomla is a traditional CMS with optional headless capabilities - **Ghost** — focused on publishing and newsletters; Joomla handles broader website management needs ## FAQ **Q: Is Joomla still actively maintained?** A: Yes. Joomla receives regular updates with security patches and new features from an active open-source community. **Q: How does Joomla compare to WordPress for large sites?** A: Joomla handles complex access control and multilingual content natively, whereas WordPress relies on plugins for these features. **Q: Can Joomla be used as a headless CMS?** A: Yes. Joomla 4+ includes a Web Services API that exposes content as JSON for headless frontends. **Q: What PHP version does Joomla require?** A: Joomla 5 requires PHP 8.1 or higher and MySQL 8.0+ or PostgreSQL 12+. ## Sources - https://github.com/joomla/joomla-cms - https://www.joomla.org --- Source: https://tokrepo.com/en/workflows/asset-3c4c00ab Author: Script Depot