====== Deploying the Student Information System on Intel Content Access Point (CMAL100) ====== STOP! Doing any of the below incorrectly could lock you out of your device and make it useless without advanced technical support. It may even void your warranty depending on your vendor. Proceed at your own choice and risk and we take absolutely no responsibility for your actions. Only experience IT staff should try any of this. Basic Linux experience is highly desirable. This page documents how to install the SIS onto the Intel Content Access Point aka CMAL100 devices. The primary reason for installing the SIS on those mini school servers is to enable the school with poor to no Internet connectivity to have access to a Student Information System to improve their data management. {{ :misc-it:cmal100_430_1.jpg?nolink |}} ===== Accessing the CMAL100 Web Administrative User Interface ===== Plug the network cable in the first LAN port in the CMAL100 and in your main switch as shown below. It should receive an DHCP lease IP address on the "WAN". {{ :misc-it:flash-cmal100-1.jpg?nolink |}} Point your browser to [[http://my.content:8080|http://my.content:8080]]. Enter the username "admin" and password "admin" which is the default. Your password might be different. {{ :misc-it:flash-cmal100-2.png?nolink |}} You should be directed to the following. You can know the external (i.e. WAN) IP address from that status screen below. Mine was ''192.168.6.20'' at the time. {{ :misc-it:flash-cmal100-3.png?nolink |}} ===== Accessing the CMAL100 Linux Operating System ===== Before proceeding to the next section you first need to be able to SSH into a Linux machine. You either need to be on Linux, use Putty on Windows and even [[linux-in-windows|install Linux in Windows]]. Make sure can do that before you proceed to the following section. ===== OpenSIS Installation ===== The Pacific Student Information System (FedSIS, MISIS) is based on opensis. So here we document how to install that. First, you need to ssh into the CMAL100 device from your own machine. user@yourmachine:~$ ssh.exe cap@ip.address.of.cmal100 The above ''ip.address.of.cmal100'' will depend on your network. Are you connecting through the CMAL100 wireless interface? Are you connecting from the "outside" on your LAN? The easiest is to connect through the WiFi network of the CMAL. Then ''ip.address.of.cmal100'' will likely be ''192.168.1.1'' Onced logged in make sure are in the use cap's home directory. cap@CMAL-aaed:~$ cd /home/cap/ Download the latest OpenSIS into a zip file called opensis-[date and time of download].zip cap@CMAL-aaed:~$ wget -c https://codeload.github.com/OS4ED/openSIS-Responsive-Design/zip/master -O opensis.zip Before installing anything upgrade the system. cap@CMAL-aaed:~$ sudo apt-get update cap@CMAL-aaed:~$ sudo apt-get upgrade Install unzip on the device and decompress the file. cap@CMAL-aaed:~$ sudo apt-get install unzip aptitude cap@CMAL-aaed:~$ unzip opensis.zip Cope the decompressed files to the web servers directory and change the ownership. cap@CMAL-aaed:~$ sudo cp -rf /home/cap/openSIS-Responsive-Design-master /var/www/misis.pss.edu.mh cap@CMAL-aaed:~$ sudo chown www-data:www-data -R /var/www/misis.pss.edu.mh Above we copied to ''misis.pss.edu.mh'' as example for RMI deployment. In FSM you could call it ''fedsis.doe.fm'' The is already likely an Nginx web server running on the device for some other web services. You could install the SIS on that same server or you could leave that Nginx mostly untouched and install Apache2 with which OpenSIS was more heavily tested. This is the approach shown here but an experience sysadmin could opt to use Nginx. First, get Nginx to listen on port 88 instead of port 80. That way to access what was normally running on the device at ''http://my.content/'' you would access it at ''http://my.content:88/''. This will depend on your current setup. But one of the files in /etc/nginx/sites-avilable will be configured to listen on port 80. This could be cap@CMAL-aaed:~$ sudo nano /etc/nginx/sites-available/rachel.nginx.conf Or it could be cap@CMAL-aaed:~$ sudo nano /etc/nginx/sites-available/default The one with port 80 replace it with 88 (2 places). Do *NOT* change anything else or things will break. to save press ''Control-X'' (i.e. the ''Control'' key followed by the ''x'' key at the same time) following by ''Y'' and ''Enter'' to say yes and close the text editor. You can then restart the Nginx web server. cap@CMAL-aaed:~$ sudo service nginx restart Install Apache2 and all other required software to run OpenSIS. cap@CMAL-aaed:~$ sudo aptitude install apache2 libapache2-mod-php7.0 php7.0-common php7.0-cli php7.0-curl php7.0-fpm php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml php7.0-zip Now configure a virtual host to run the SIS web application. Open the file below (called differently based on country or school). cap@CMAL-aaed:~$ sudo nano /etc/apache2/sites-available/misis.pss.edu.mh.conf And copy the following text in it. you save it the same way as above: press ''Control-X'' (i.e. the ''Control'' key followed by the ''x'' key at the same time) following by ''Y'' and ''Enter'' to say yes and close the text editor. ServerAdmin webmaster@nuzusys.com ServerName my.content ServerAlias misis-local.pss.edu.mh DocumentRoot /var/www/misis.pss.edu.mh LogLevel info ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Now activate your newly setup virtual host website and restart the web server (or reload it). cap@CMAL-aaed:~$ sudo a2ensite misis.pss.edu.mh.conf cap@CMAL-aaed:~$ sudo service apache2 restart Now install the database server MySQL. You will need to enter the password. Use the same as the device cap password so you don't forget. If you already have the MySQL server installed then the following steps (i.e. next three commands) are not necessary. If you have MySQL already installed you may have to [[reset-mysql-root-password|Reset MySQL root password]] if you do not know it. cap@CMAL-aaed:~$ sudo aptitude install mysql-server Make sure the mysql server is enabled and started. sudo systemctl enable mysql.service sudo systemctl start mysql.service Change an important setting of the MySQL server. You will have to enter the MySQL root password for the following command. mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';" Optionally check the above setting was changed. mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;" With all the above completed you should be able to start installing the SIS. Back on the computer where you access the WiFI of the CMAL100 device in your browser point it to ''http://my.content/'' and it should present you with the following. Click ''New Installation''. {{ :misc-it:opensis-install-1.png?nolink |}} Make sure you have all dependencies met. Click ''Continue''. {{ :misc-it:opensis-install-2.png?nolink |}} Enter the MySQL Server details (i.e. the password put previously). Click ''Save & Next''. {{ :misc-it:opensis-install-3.png?nolink |}} Enter the database name. Click ''Save & Next''. {{ :misc-it:opensis-install-4.png?nolink |}} Enter the school details. Click ''Save & Next''. {{ :misc-it:opensis-install-5.png?nolink |}} Enter the first admin user as follows. Click ''Save & Next''. {{ :misc-it:opensis-install-6.png?nolink |}} You should see the following. Click on ''Proceed to openSIS Login''. {{ :misc-it:opensis-install-7.png?nolink |}} Login with your admin user. {{ :misc-it:opensis-install-8.png?nolink |}}