**Ubuntu 18.04 Server amd64** ====== Installation ====== **Important:** Before proceeding with command-line installation, it is assumed that you are already familiar on how to install an operating system into your machine. Make sure to use **Ubuntu 18.04 LTS amd64** image. Please follow the steps to build your coin operated wifi hotspot using Ubuntu Server 18.04 LTS amd64: - **[[x64-server#1._command_line_installation| Command Line Installation]]** - **[[x64-server# 2._initial_setup| Initial Setup Admin Web Interface]]** - **[[x64-server# 3._database_settings| Change Database Settings]]** - **[[x64-server# 4._setup_payment_portal| Setup Payment Portal]]** - **[[admin_configurations| Other Admin Settings]]** ===== 1. Command Line Installation ===== Command line installation is used when software image is not available for your board/machine. First, you need to have access to the command line of your board/machine. In this guide, we will use [[http://old-releases.ubuntu.com/releases/18.04.3/ubuntu-18.04.3-live-server-amd64.iso | Ubuntu Server 18.04.3]]. Follow the step by step guide on how to install an Ubuntu server to x64 pc/machine: https://ubuntu.com/tutorials/install-ubuntu-server Given you already installed the ubuntu server OS, now connect your **LAN cable**, **keyboard**, **monitor** and **USB to LAN adapter**(optional) to your x64 machine. Then power on your board and login to the command line. Execute the following commands line by line (//much easier if you remote ssh your server and just copy paste the commands//): sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install curl -y curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs python nginx bind9 isc-dhcp-server If the above command returns **Package 'python' has no installation candidate**, try the following: sudo apt-get install -y nodejs python2 nginx bind9 isc-dhcp-server sudo ln -s $(which python2) /usr/bin/python Then next: sudo apt-get install -y iptables hostapd dmidecode build-essential openssh-server python-pip unzip bridge-utils git iputils-arping If an error show **Package python-pip is not available**, try this: sudo apt-get install -y iptables hostapd dmidecode build-essential openssh-server python3-pip unzip bridge-utils git iputils-arping Then proceed with the following commands: wget -O /tmp/adopisoft-5.1.1-amd64-node-v16.4.0.deb https://github.com/AdoPiSoft/Releases/releases/download/v5.1.1/adopisoft-5.1.1-amd64-node-v16.4.0.deb sudo apt-get install /tmp/adopisoft-5.1.1-amd64-node-v16.4.0.deb //Other versions available here: https://github.com/AdoPiSoft/Releases/releases // Now, **enable and start adopisoft service** sudo systemctl enable adopisoft sudo systemctl start adopisoft The system will reboot itself. Wait for it to finish rebooting then proceed to [[x64-server#initial_setup| Initial Setup ]] section. ===== 2. Initial Setup ===== **Installation Wizard** Find your board/machine's IP address. In your board/machine's screen, just type: ip address On windows, you can install [[https://www.advanced-ip-scanner.com | network scanner ]] on your PC to scan for your board/machine's IP. Once you have identified your board/machine's IP address, open your browser on your PC and type the url to your board/machine's IP address. Example: http://192.168.1.123 ==== Setup Account ==== - Type your password - Confirm your password - Click **Save Changes** button **NOTE: If you encounter error about UUID, just ignore it and proceed.** ==== Select Board ==== - Choose your board/machine type. Select **Generic x64 Machine**. - Click **Save Changes** ==== Setup WAN ==== - Select your WAN network interface. The system will automatically recommend the interface connected to your network. - Click **Set as WAN Interface** button - Configure your WAN interface (Dynamic IP or Static IP). If not sure, check **Dynamic IP Address**. - Click **Save Changes** button ==== Setup LAN ==== **Important:** Make sure your board/machine has two network interface. For boards without wifi interface, you have to insert the USB to LAN adapter first. - Choose the network interface for your LAN. It can be the wifi interface (wlan0 or wlpsxxx) or any ethernet interface. - Check **Enable Captive Portal** - Set alias to **LAN Interface** or **Built-in WiFi** //(or anything you like)// - Disable/Uncheck **Dynamic IP Address** - Set Statc IP Address to **10.0.0.1** - Set Network Prefix to **20** - Check **Use System DNS Server** - Check **Enable DHCP Server on this interface** - Set DHCP Pool Start to **10.0.0.10** - Set DHCP Pool End to **10.0.15.254** - Click **Save Changes** button - Click **Done** or **Finish** button. ===== 3. Database Settings ===== **Note:** The default database used is **sqlite** because it's the only database that can be package into the debian file. But we highly advice to change the database to postgresql after you have successfully setup the admin. Run the command below line by line to create postgresql account: wget -O ado-psql-script.sh https://gist.githubusercontent.com/alenteria/791dbe32175a01d1f1b602b25489ad22/raw/9a5aa879ac70d24bd9a7dd7f8ed97d7fe2c2f597/ado-psql-script.sh sudo chmod a+x ./ado-psql-script.sh sudo ./ado-psql-script.sh if the above command failed, try the following: bash ./ado-psql-script.sh Reboot the machine. Then in the web admin "**System** -> **Security** -> **Database Connection**" settings, change the config to: Database Type: postgres Host/IP: localhost Port Number: Database Name: adopisoft Username: adopisoft Password: adopisoft Lastly make sure to **DISABLE SSH SERVICE**. This is very important to prevent hackers from accessing your machine. To disable the SSH service, just type: sudo systemctl disable ssh **IMPORTANT:** After the successful setup, update the software to latest version. Go to **System**->**Device** page and click **Check Updates**. ===== 4. Setup Payment Portal ===== === For payment portal, you can use any of the following: === * **[[serial_coinslot| Serial Coinslot]]** * **[[sub-vendo| Wireless Coinslot/Sub-vendo]]** * Wired LAN Subvendo