Setup PHPMyAdmin on idealstack

Idealstack includes an inbuilt database management GUI, but it's relatively simple and many people may prefer to use the more common PHPMyadmin tool.  It's easy to install phpmyadmin as a site within Idealstack

Setup phpmyadmin via SSH (recomended)

This is usually the fastest way, as it avoids having to upload a lot of files to the server.  It requires an ssh client and familiarity with the linux shell.

  1. Create a site in idealstack and apply the changes to aws.  Make sure you include an SSH key so you can SSH to it in the next step.

  2. SSH to your site: go to the ‘Connect’ tab for the site and paste the ssh command into a terminal, or use the details in a graphical ssh client such as Putty

  3. Copy the PHPMyadmin download link - go to the phpmyadmin site https://www.phpmyadmin.net/ and click download, then copy the link from the popup:

  4. On the ssh session run these commands (replace the link and name of the zip file/directories with the one you copied above)
     

    cd public_html
    wget https://files.phpmyadmin.net/phpMyAdmin/4.7.7/phpMyAdmin-4.7.7-all-languages.zip
    unzip phpMyAdmin-4.7.7-all-languages.zip
    mv phpMyAdmin-4.7.7-all-languages/* public_html
    rm  -r phpMyAdmin-4.7.7-all-languages/
    

Alternative way : via SFTP

You might prefer this if your not too familiar with the linux console.  Because phpmyadmin includes a large number of files though, be prepared for this to take a while to upload the data:

  1. Download and extract phpmyadmin
  2. Connect to sftp using an sftp client
  3. Upload all the files to the directory '/var/www/html/site/public_html'

 

Configuring phpMyAdmin

  1. Create a config.inc.php file containing these contents:
    <?php
    
    /* Servers configuration */
    $i = 0;
    
    /* Server: database [1] */
    $i++;
    $cfg['Servers'][$i]['verbose'] = 'database';
    $cfg['Servers'][$i]['host'] = 'database';
    $cfg['Servers'][$i]['port'] = '';
    $cfg['Servers'][$i]['socket'] = '';
    $cfg['Servers'][$i]['ssl'] = true;
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    $cfg['Servers'][$i]['user'] = '';
    $cfg['Servers'][$i]['password'] = '';
    
    /* End of servers configuration */
    
    ?>
    
  2. Optional, but highly recomended - create a .htaccess file that restricts phpmyadmin to only your IP (update to use the correct IP range)
    order deny,allow
    deny from all
    allow from 111.222.333.444/23
    
  3. Login to phpmyadmin using the username/password from the 'Connect' tab for the site you are interested in.