The Juice Prepayment platform's architecture is FOSS (free and open source software) which is intended to provide a robust, highly technical system with reduced implementation and licencing cost. Utiliflex has extensive experience working with FOSS and can provide full support for the Juice Prepayment platform.
This section covers general server info and operating system tips.
Hello World!
If you're a new Linux administrator, this section is for you. If you are not a system administrator or have little technical experience, you may find the homework assignments useful learning exercises. Note: MySQL is case sensitive, type commands as shown in this document.
- Linux keeps excellent logs; if you have no idea what is going on with Juice, check the logs! For example, Ubuntu machines store them at /var/log/ and system messages are stored in syslog. Homework: learn how to use the "cd" (change directory) command.
- Knowing how to view a file is critical, know how to use "tail", "head", "cat", etc. as they are extremely important. Homework: learn how to use the "man" (manual) command.
- Disk full or "df" allows you to monitor server resources. Keep an eye out for swap (should be used = 0) and use% (should be <80%). Homework: learn the different flags like -h associated with "df" and "free" commands.
- Don't login as root. Unless you have the root password. Homework: don't share your password.
- Grep is a powerful searching tool that uses many concepts IT people take for granted. Regular expressions alone make grep and programs like it extremely useful, recursive directory searching or file specification make grep have the scope you need when you need it. Grep also has handy options (like the other commands listed) like -v which allows you to find NON-MATCHING lines. Homework: learn what regex (regular expression) means.
- Keep a maintenance schedule; it will keep your server happy. This is especially true for when a machine has been working well for a long time. Homework: plan ahead because Murphy's law waits until holidays and/or the middle of the night.
- Linux is not Windows. If you find a utility that would do the same job in a better way (more or less), take your pick.
Juice Standard Software
Our standard base server installation will include:
- Ubuntu 14.04 LTS
- Apache version 2.2
- Perl version 5.14
- PHP version 5.3
- MySQL version 5.5
- Juice 4.X (rolling release)
The software used in your installation may vary, but will include a LAMP stack and Juice.
Server Updates
Since Juice runs on a Linux OS, such as Ubuntu 12.04 LTS, Ubuntu 14.04 LTS, or RHEL 6, critical system updates will be configured to run automatically. Other OS updates will be performed manually. These commands will be useful for any system administrator, please check the manual for your OS for full details. Also keep in mind, these updates are done assuming regular back ups of the system are created and readily available. Finally, these updates should be scheduled during off peak or after business hours.
The following commands are recommended once a month.
Ubuntu:
- apt-get update: Check for and download the latest OS updates.
- apt-get upgrade: Install the latest OS updates.
- reboot: Restart the machine, this will shut down running processes automatically (Apache and other processes)
- cd /home/juice/juice4/: Navigate to Juice directory.
- ./manager.pl: Opens Juice server utility, check for running processes. Prism and smsprocessing should be running, if IVR is part of the installation, make sure Asterisk is running.
- Verify everything is working correctly: #dmesg, # htop, # df -h, # ps aux, # netstat
Red Hat:
- yum update -y: Update to latest version of yum, option -y is assumes yes
- reboot: Restart the machine, this will shut down running processes automatically (Apache and other processes)
- cd /home/juice/juice4/: Navigate to Juice directory.
- ./manager.pl: Opens Juice server utility, check for running processes. Prism and smsprocessing should be running, if IVR is part of the installation, make sure Asterisk is running.
- Verify everything is working correctly: # tail -f /var/log/messages, # top, # df -h, # ps aux, #netstat
Server Reboot
After rebooting a system. it is a good idea to check free memory, HD space, error messages in the message buffer, server load, and time up.
Checking System Memory
In Linux the "free" command
free
may be used to check available memory. If the command is issued with the "-m" flag,
free -m
data will display in MB. Another commands that may be useful here will be the Disk full "df" command.
df -h
The -h makes it human friendly/readable. With both tools used Swap needs to be at 0 and available memory is always good (20% or less free and you start having problems). These commands are both available on Red Hat and Ubuntu.
Checking For Error Messages
The kernel message buffer will display with the "dmesg" command.
dmesg
The output is usually lengthy; grep, less, or tail may be used to review the output. Ubuntu machines also have the messages stored at "/var/log/syslog".
Checking For Server Load and Up Time
Server load and time up can be checked with the "uptime" command.
uptime
The output is the current time, the number of users, and load average. Notice the load average is shown as three numbers, this is for the past 1, 5, and 15 minute intervals.