Installing the platform is reasonably straight forward if you you’ve got some Drupal experience.
Here’s a list of things you’ll need:
- A Web Server (nginx preferred)
- A MySQL Database (with utf8mb4 enabled)
- PHP 7.2+
- A long train ride
If you are developing with Ubuntu (our preference) you can get up and running easily by installing the following packages:
sudo apt-get update sudo apt-get install mysql-server sudo apt-get install nginx sudo apt-get install php7.2-fpm php7.2-mysql php7.2-gd php7.2-curl php7.2-json php7.2-readline php7.2-mbstring sudo apt-get install drush # for sending mail, your favorite MTA sudo apt-get install postfix
Once you’ve got nginx, MySQL and PHP, then you’re ready to go.
These instructions were developed for an Ubuntu Linux development environment so you may need to modify to suit your own set-up.
$ cd /var/www $ git clone https://github.com/travelmassive/massiveplatform.git massiveplatform Cloning into 'massiveplatform'... remote: Counting objects: 133588, done. remote: Compressing objects: 100% (1023/1023), done. remote: Total 133588 (delta 162), reused 0 (delta 0) Receiving objects: 100% (133588/133588), 125.97 MiB | 1.08 MiB/s, done. Resolving deltas: 100% (94854/94854), done. Checking connectivity... done. Checking out files: 100% (6926/6926), done.
Note: this may take some time initially.
The database will require utf8mb4 support.
ubuntu@localhost$ mysql mysql> create database massiveplatform; Query OK, 1 row affected (0.01 sec) mysql> grant all on massiveplatform.* to massiveplatform@localhost identified by 'massiveplatform'; Query OK, 0 rows affected (0.03 sec)
Note: if you change any of the mysql database details, make sure you configure sites/default/settings.php accordingly later on.
We’ve created a sample configuration file in the ‘massiveplatform_setup_files’ folder to get started.
cd /var/www/massiveplatform sudo cp massiveplatform_setup_files/localdev.massiveplatform.com.conf /etc/nginx/sites-enabled /etc/init.d/nginx restart
Change the following variables in your php.ini as set out below (On Ubuntu: /etc/php7.2/fpm/php.ini)
# Required by nginx php usage cgi.fix_pathinfo = 0 # Support users uploading large profile pictures from their mobile devices post_max_size = 16M # Maximum allowed size for uploaded files upload_max_filesize = 16M
Restart php7.2-fpm service after modifying php.ini
sudo service php7.2-fpm restart
Your MySQL installation will need to support utf8mb4 to import this, and you will need to uncomment the utf8mb4 settings (see sample settings.php). This is recommended for new installations.
cd /var/www/massiveplatform zcat massiveplatform_setup_files/massiveplatform.utf8mb4.sql.gz | mysql -u massiveplatform -p massiveplatform
cd /var/www/massiveplatform mkdir sites/default cp massiveplatform_setup_files/settings.php sites/default # note - edit settings.php here if you changed database name or password tar zxvf massiveplatform_setup_files/sites.tar.gz
sudo chown -R :www-data /var/www/massiveplatform sudo chmod -R 775 /var/www/massiveplatform/sites/default/files sudo chmod 444 /var/www/massiveplatform/sites/default/settings.php
Note: This works for local development, but on a production server you should review all file permissions.
Ok, now point your browser to your web server. If you are developing on your local server you can probably use “localhost”, or if you have a configured hosts files you can use “localdev.massiveplatform.com” as we’ve used in our example.
Here are the default logins for the site (in “username / password” format):
- Moderator account: “moderator / moderator”
- Demo account: “demo / demo”
- Admin account: “admin / massive”
If you get this far and got your local development site running, we’d love to know! Send an email to email@example.com and also provide any tips on improving these installation instructions so we can add it for others. Thanks!