Child pages
  • VM: igppticket
Skip to end of metadata
Go to start of metadata

This wiki describes the migration from RHEL6 to RHEL7, but the same procedures can be used to rebuild the VM.

Create a base VM by following the instructions at Making a Red Hat RHEL Virtual Machine from a Base Image

Install Apache:

sudo yum -y install httpd

Follow the steps at Apache Security. When requesting the certificate make sure to associate it with all alias' assigned to igppticket.ucsd.edu as well as the name of the development server.

<snapshot>

Helpspot requires php 5.6+ and mysql 5.7+

Note: this step is required because our Red Hat satellite doesn't have a repository with these packages. If you are going through this at a later date you should double check if they are available through act-rhns

To install PHP 5.6 we need to install the IUS Community repository (https://ius.io/GettingStarted/)

sudo rpm -ivf https://rhel7.iuscommunity.org/ius-release.rpm

Install the needed PHP packages

sudo yum -y install php56u.x86_64 php56u-cli.x86_64 php56u-common.x86_64 php56u-gd.x86_64 php56u-imap.x86_64 php56u-ldap.x86_64 php56u-mysqlnd.x86_64 php56u-pdo.x86_64

Install the MySQL repository (https://dev.mysql.com/downloads/repo/yum/)

sudo yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Install the needed MySQL packages 

sudo yum -y install mysql-community-server.x86_64 mysql-community-common.x86_64 mysql-community-libs.x86_64

<snapshot>

Start and enable MySQL and check to make sure it's properly set

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

Update the MySQL root user password and complete setup (Check 1Password). The temporary password is located in /var/log/mysqld.log

sudo /usr/bin/mysql_secure_installation
Enter password for user root: (temporary password)
New password: (password from 1password)
Re-enter password:
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Create Helpspot database and user and grant permissions (check settings.php for the password). Also increase maximum packet size for database import.

mysql -u root -p
mysql> create database helpspot;
mysql> create user 'helpspot' identified by '(password)';
mysql> grant all privileges on helpspot.* to 'helpspot'@'localhost';

Restart Apache so that it recognizes PHP and MySQL

sudo systemctl restart httpd

Increase MySQL log file size. An error can occur on import if an item is greater than 10% of the total log file size.

set innodb_log_file_size = 2048M


*** At this point put the current Helpspot server in maintenance mode if you are performing a migration ***


On the previous Helpspot instance

Dump and transfer the database(this may take a while):

/usr/bin/mysqldump -u helpspot -p helpspot > igppticket.sql
Enter password: (Helpspot password)

Copy the database to the new instance:

scp igppticket.sql igpp@hostname:/home/igpp

Copy the /var/www/html directory to the new instance

sudo scp -r /var/www/html igpp@hostname:/home/igpp


On the new Helpspot instance

Temporarily increase the max packet size and import the database

mysql> set global max_allowed_packet=1073741824;
mysql> -u helpspot -p helpspot
mysql> source /home/igpp/igppticket.sql;
mysql> \q

Copy the html files to the /var/www/html directory

sudo cp -R /home/igpp/html/. /var/www/html/.

Modify the /var/www/html/config.php file to reflect the new hostname, make sure the user and password are correct

define('cDBUSERNAME',  'helpspot');
define('cDBPASSWORD',  '<password>');
define('cHOST','https://hostname.ucsd.edu'); // Base URL used within HelpSpot, WITHOUT tailing slash "/"


Install the IonCube package that Helpspot requires (http://www.ioncube.com/loader_download.php)

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -zxvf ioncube_loaders_lin_x86-64.tar.gz
cd ioncube/
chmod +x loader-wizard.php
sudo cp loader-wizard.php /var/www/html/
cd ..
sudo mv ioncube /usr/local/
sudo cp /usr/local/ioncube/ioncube_loader_lin_5.6.so /usr/lib64/php/modules/
sudo chmod +x /usr/lib64/php/modules/ioncube_loader_lin_5.6.so

Add the following line to the bottom of /etc/php.ini

zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.6.so

Navigate to https://hostname.ucsd.edu/loader-wizard.php.

The installer will run, when prompted select that this is a local install.

Once the installation has finished, remove the loader-wizard.php file

sudo rm /var/www/html/loader-wizard.php


Restart the server, navigate to https://hostname.ucsd.edu/admin.php Helpspot should now be installed, make sure the tickets reflect the tickets present on the old server prior to putting it in maintenance mode.


  • No labels