Skip to content

Installation

Open Intranet is a regular Drupal site, so installation is the same as for any Drupal project: get the codebase, install dependencies with Composer, point a web server at web/, run the Drupal installer with the openintranet profile.

This page focuses on the Open Intranet–specific parts of that process. For everything generic (provisioning a Linux box, configuring Nginx / Apache, securing MariaDB, setting up TLS, tuning PHP-FPM…) we link to upstream documentation rather than re-document it here.

PathUse it forSkills
Production on any Drupal-capable hostReal intranets, staging, on-premStandard Drupal hosting know-how (or a partner)
Local development with DDEVEvaluation, demos, contributing back, custom devDocker + Git
Managed Drupal hostingZero infra opsProvider-specific

Open Intranet inherits Drupal’s system requirements. In short:

ComponentRequired
PHP8.3+ with the standard Drupal extensions (list)
DatabaseMariaDB, MySQL, or PostgreSQL — pick whatever your hosting supports
Web serverAnything that can serve PHP (Nginx, Apache, Caddy, LiteSpeed…)
Composer2.x

Sizing rule of thumb: a 200-user intranet runs comfortably on a 4 GB RAM / 2 vCPU box; 1,000+ users want Redis or Memcached caching and ideally Solr for search. For higher loads see the Drupal scaling guide.


Steps 1–4 are Open Intranet–specific. Steps 5–6 link out to the relevant Drupal / upstream docs because they are the same as for any Drupal site.

Clone the project from drupal.org:

Terminal window
git clone https://git.drupalcode.org/project/openintranet.git
cd openintranet
git checkout 1.x # or a release tag, e.g. 1.9.0

Or download a release tarball from the Open Intranet project page and unpack it.

Terminal window
composer install --no-dev --optimize-autoloader

This produces the vendor/ directory with Drupal core, contrib modules, and Drush.

Step 3 — Copy the starter theme into place

Section titled “Step 3 — Copy the starter theme into place”

The repository ships a starter theme that needs to be moved into web/themes/custom/ before installation. The DDEV launch script does this automatically; for a manual install run:

Terminal window
cp -r starter-theme/ web/themes/custom/

Step 4 — Run the Drupal installer with the openintranet profile

Section titled “Step 4 — Run the Drupal installer with the openintranet profile”

The installer runs as it does for any Drupal site, but you select the Open Intranet profile. Two options.

Point your web server at web/, open the site in a browser, follow the steps. When asked for a profile, choose Open Intranet. The installer applies recipes and enables modules — takes a few minutes.

Section titled “Option B — Drush (recommended for automation)”
Terminal window
./vendor/bin/drush site:install openintranet \
--db-url=mysql://USER:PASSWORD@localhost/DATABASE \
--site-name="My Intranet" \
--account-name=admin \
--account-mail=admin@example.com \
install_configure_form.enable_demo_content=1 \
-y

Drop install_configure_form.enable_demo_content=1 for a clean install with no sample content.

Open Intranet ships several optional recipes (Room Booking, Courses, FAQ, Ideas, Inventory, Kanban, Kudos, SSO Keycloak…). Enable the ones you need at:

/admin/modules/browse/recipes

Or via Drush:

Terminal window
./vendor/bin/drush recipe ../recipes/openintranet_rmb

Each recipe imports its own content types, fields, views, roles and demo content. You can re-apply a recipe at any time to restore defaults.


These steps are the same for any Drupal site and are not specific to Open Intranet. Follow the upstream documentation for your environment:

TaskWhere to learn
Configure web server vhostSample Nginx config for Drupal, Apache config example
Create database and DB userMariaDB, PostgreSQL docs
Set file permissionsDrupal file permissions guide
Enable HTTPSLet’s Encrypt + Certbot
Set up cronConfiguring cron jobs in Drupal

If you have shared hosting with cPanel / Plesk / similar, all of the above is typically pre-set; you only need Steps 1–5 from the previous section, plus uploading the codebase to your hosting account and creating a database from the control panel.


For local evaluation, demos and contributing back, DDEV is the fastest path. It ships a PHP / web server / DB stack in Docker containers tailored to Drupal.

Terminal window
git clone https://git.drupalcode.org/project/openintranet.git
cd openintranet
./launch-intranet.sh
ddev drush site-install openintranet install_configure_form.enable_demo_content=1 -y
ddev drush user:login

The launch-intranet.sh script handles ddev config, ddev start, composer install and the starter-theme copy. The site lives at https://<directory-name>.ddev.site.

For details on the launch script and how to contribute back, see the Open Intranet README.


If you want a production install without managing a Linux stack, Open Intranet runs on any provider that supports Drupal. Common ones:

The codebase is the same — push the OI repository (or your fork) to the provider’s Git endpoint, the platform handles PHP / DB / web server / TLS / scaling.


After the installer finishes, you have:

ComponentDetails
Drupal coreLatest supported major release with all required modules
Open Intranet install profileCurated module + recipe stack for intranets
Front-end themeOpen Intranet Theme (Bootstrap Barrio subtheme)
Admin themeGin with the Gin Toolbar
Content typesNews, Events, Knowledge Base, Pages, Webforms, Books
Document managementFolder-based document library with upload and search
Employee directoryUser profiles with department, position, contact info, org chart
Knowledge baseBook-structured internal documentation
SearchFull-text search powered by Search API
Social featuresComments, reactions, kudos, bookmarks, must-read flags
AI integrationCKEditor AI assistant for content creation
Engagement AnalyticsRFV scoring, segments, drush commands, dashboards

For the full list of modules pre-shipped, see the composer.json on drupal.org.


  • Configuration — site name, email, optional recipes, SSO setup
  • User Guide — how end users interact with the intranet
  • REST API — JSON:API integration with external systems
  • Drupal docs — for everything Drupal-side that is not Open Intranet–specific