Skip to content

Install OpenIdeaL on Ubuntu 22.04 (Linux Mint 21.x, Debian and others)

futurearchitec edited this page Jan 3, 2023 · 9 revisions

The technologies used in OpenIdeaL (PHP 7.4, MySQL 5.x) 3.0.9 are not included by default anymore, for a lot of Linux distributions. To set up an OpenIdeaL system for training and evaluation, I wanted to use the current Ubuntu LTS (or derivates) release 22.04. All steps should be performed on command line, for automated setup via SSH/Ansible. Following are all steps and configuration metadata, to install OpenIdeaL 3.0.9 on Ubuntu 22.04 LTS. With Apache 2.4.52, PHP 7.4, Maria DB 10.10. The custom port for SSL here is 9443, which you can adjust for any other one. My name for the instance is "openidea", also used for the Maria DB database. If someone else want's to perform such an installation and can use Ubuntu, feel free to follow the steps.

Install Apache 2 HTTP-Server

  • sudo apt update
  • sudo apt install git
  • sudo apt install apache2
  • sudo ufw allow "Apache Full"
  • sudo a2enmod rewrite ssl
  • sudo systemctl restart apache2
  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
  • sudo nano /etc/apache2/sites-available/openidea.conf

VirtualHost configuration

<VirtualHost *:9443>
ServerName openidea
DocumentRoot /var/www/openidea
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<Directory "/var/www/openidea">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

  • sudo nano /etc/apache2/ports.conf

Port 9443 Configuration

Listen 80

<IfModule ssl_module>
Listen 443
Listen 9443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
Listen 9443
</IfModule>

  • sudo mkdir /var/www/openidea
  • sudo a2ensite openidea.conf
  • sudo apache2ctl configtest
  • sudo systemctl reload apache2

Install PHP 7.4

  • sudo apt install software-properties-common
  • sudo add-apt-repository ppa:ondrej/php -y
  • sudo apt update && sudo apt upgrade
  • sudo apt install php7.4-{cli,common,curl,zip,gd,mysql,xml,mbstring,json,intl}
  • sudo apt-get install libapache2-mod-php7.4
  • sudo a2enmod php7.4
  • cd /etc/php/7.4/apache2/
  • sudo nano php.ini
  • upload_max_filesize = 2M => upload_max_filesize = 25M
  • sudo systemctl reload apache2

Install PHP-Composer 2

  • sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  • sudo php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  • sudo php composer-setup.php
  • sudo php -r "unlink('composer-setup.php');"
  • sudo mv composer.phar /usr/local/bin/composer

Install MARIA DB 10.10

SQL COMMANDS for MARIA DB SQL Client

  • CREATE DATABASE openidea;
  • GRANT ALL ON openidea.* TO 'openidea'@'%' IDENTIFIED BY 'openidea' WITH GRANT OPTION;
  • FLUSH PRIVILEGES;
  • EXIT;

Install OpenIdeaL

  • cd /var/www
  • sudo composer create-project linnovate/openideal-composer openidea
  • cd openidea/web/
  • sudo ../vendor/bin/drush si -y --account-name admin --account-pass admin --account-mail [email protected] --site-name "OpenIdea@SMS" --db-url=mysql://openidea:[email protected]/openidea idea
  • sudo chown -R www-data:www-data /var/www/openidea/