Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
blocks:server:virtualized [2023-01-05 10:09]
admin Added Synologu VM notes and pix
blocks:server:virtualized [2024-06-25 15:52]
admin Recommend to use net-blocks
Line 1: Line 1:
-======Virtualized Server Image====== +======Virtual Server Installation====== 
-While the full Linux-based server image can be installed on a virtual machine, it is not specifically designed for that purposeInstallations that run Blocks in a virtualized environment often have different priorities than those using a stand-alone server. Many of the features included in the full server Linux image are typically managed by other parts of the infrastructure in a virtualized environment.+Blocks works well on virtual servers, whether "in the cloud" or on premise. For such environments, you generally don't want the graphical user interface provided by our standard Linux server image. Running Blocks in a virtualized environment often have different priorities than those using a stand-alone server. Furthermore, some of the features included in the full server Linux image (such as the DHCP server) are then typically managed by other parts of the infrastructure.
  
-:!: This is an advanced guide. If you don't feel at home in a Linux terminal window, you should probably not follow it.+There are two methods available for getting Blocks up and running in a virtual environment: 
 + 
 +  - Installation from scratch using our cloud server installation scripts (recommended). 
 +  - Installing a bare-bones Blocks server based on a OVA server image file (described below). 
 + 
 +In most cases, installing the server using our [[https://github.com/pixilab/net-blocks|server installation scripts]] offers the best mix of features, flexibility and control. Hence, this is the recommended method. 
 + 
 +The method described below uses an standard "virtual application file" for installing a bare-bones Blocks server in a virtual environment such as Oracle VirtualBox or VMWare. This is suitable for internal testing purposes, if you're running virtual machines on your laptop or similar. 
 + 
 +:!: This is an advanced guide, descibing an unsupported method for running Blocks. If you don't feel at home in a Linux terminal window, you're strongly advised to use our [[blocks:linux|standard Linux server image]] instead.
  
 ===Minimal Server OS=== ===Minimal Server OS===
-The full Linux-based server runs an enhanced desktop version of Ubuntu, including a user friendly window-and-mouse based desktop environment. That's suitable for users that prefer such a desktop environment for managing their server. In contrast, the virtual server image discussed here runs on Debian, which is essentially the same operating system core, but a pure server-version, without any desktop environment. Thus, all system management and maintenance must be done from the command line.+The virtual server image discussed here runs is based on Debian, without any desktop environment. Thus, all system management and maintenance must be done from the command line. Most of the additional functions included with our standard Linux serve rimage are not included here.
  
 ===No Webmin interface=== ===No Webmin interface===
Line 20: Line 29:
    
   * Oracle [[https://www.virtualbox.org/wiki/Downloads|VirtualBox]] – a free virtual machine available for most operating systems   * Oracle [[https://www.virtualbox.org/wiki/Downloads|VirtualBox]] – a free virtual machine available for most operating systems
-  * VMWare'free "Workstation Player" as well as their popular "VMWare Fusion".+  * VMWare's popular "VMWare Fusion" application.
  
 After importing the OVA file into your virtualizer of choice, start it up and wait for the login screen to appear. After importing the OVA file into your virtualizer of choice, start it up and wait for the login screen to appear.
Line 69: Line 78:
 Blocks server software requires a license to be operational. Either connect a physical license key to a USB port or request a cloud-based license (requires internet access). A physical license key can be accessed either directly from a USB port attached to the virtual machine or over the local network. Blocks server software requires a license to be operational. Either connect a physical license key to a USB port or request a cloud-based license (requires internet access). A physical license key can be accessed either directly from a USB port attached to the virtual machine or over the local network.
  
-====Network Access from Host Computer==== +[[blocks:wibu|Install Blocks license.]]
-This method provides access to the license key over the network. Assuming both the guest and host operating systems are on the same network (which they will be when using a network adapter in bridge mode), a license key connected to the host computer can be accessed. This assumes network access is allowed in the license keys's settings (more on this below). Thus, the physical USB key can be connected to the host computer and will then be automatically found by Blocks.+
  
-=== Host operating system === 
-Verify or adjust the following license key settings in your host computer 
  
-  * Open the CodeMeter Control Center. 
-  * Click the WebAdmin button, and wait for the web UI to appear. 
-  * Select Configuration > Server. 
-  * Under Network Server, select Enable. 
-  * Click Apply. 
- 
-=== Guest operating system === 
-The CodeMeter software has been pre-installed, and configured to look for the license on the local network. To verify accesibility: 
-  * Start the virtual machine. 
-  * Once up, use the command //cmu --list-server --list-content//. 
-  * This should show your server's IP address and license information. Look for the text "102977" 
   
-==== Connecting the USB License Key to Another Computer ==== 
-In the example above, the license key is physically connected to the host computer, and then accessed over the (host-computer internal) "network". If you can't connect the license key to the host computer for some reason, you can instead connect it to another computer on the same subnet, and it will be found automatically by Blocks. Alternatively, use a cloud-based license (requires internet access). 
- 
-====Direct USB Access==== 
-If you have physical access to the computer running the virtualizer, you may prefer to connect the license key directly to this computer, and make the USB port accessible to the guest OS. 
- 
-=== Host computer === 
- 
-  * Connect the license key. The key must be physically connected to a USB port on the host computer. 
-  * Do NOT install the CodeMeter driver/software (or disable it if already installed). 
- 
-:!: The host computer must NOT run the CodeMeter software, since only one driver may access the physical key at a time, and in this case that's is the driver inside the virtual machine. 
- 
-===VirtualBox settings === 
-  * Select your guest OS in the list on the left hand side 
-  * Select its Details settings pane 
-  * Click USB 
-  * Make sure "Enable USB Controller" is selected 
-  * Add a "USB Device Filter" using the + button to the right 
-  * Select your CodeMeter device 
-  
-To verify license key accesibility: 
-  * Start the virtual machine. 
-  * Once up, use the command //cmu -x//. 
-  * This should show the details of your license key. Look for the text "102977". 
- 
- 
-=== Synology NAS settings === 
-  * Install Virtual Machine Manager. 
-  * [[https://kb.synology.com/en-ro/DSM/help/Virtualization/virtual_machine|Import the OVA file]] provided above. 
-  * Connect your Blocks license key to a free USB port on the NAS. 
-  * Double-click your Blocks vertual machine in the Virtual Machine Manager (see illustrations below). 
-  * In the Edit Virtual machine dialog box, select Others. 
-  * Select "Wibu Systems AG CmStick" on the USE Device menu. 
-  * Click OK. 
-  * Start the Blocks virtual machine. 
-  * Once up, in a terminal window connected to the virtual machine run the command //cmu -x// as described above to berify license key access. 
- 
-{{ :blocks:server:virtualized:screenshot_2023-01-05_at_10.23.43.png?nolink |}} 
  
-{{ :blocks:server:virtualized:screenshot_2023-01-05_at_10.24.15.png?nolink |}} 
 =====Blocks Configuration===== =====Blocks Configuration=====
 There's no [[blocks:server_configuration_file|configuration file]] included for Blocks in the VM image. This means that Blocks defaults to HTTP over port 8080. Add a configuration file if you need to adjust Blocks' server settings. Note that since Blocks runs under a limited user account, ports below 1024 (thus including the default HTTP port 80) can't be directly specified in the configuration file. However, the included //nginx// program – acting as a reverse proxy – provides access to Blocks on the customary ports (80 and 443 if you have HTTPS enabled). More on //nginx// and HTTPS below. There's no [[blocks:server_configuration_file|configuration file]] included for Blocks in the VM image. This means that Blocks defaults to HTTP over port 8080. Add a configuration file if you need to adjust Blocks' server settings. Note that since Blocks runs under a limited user account, ports below 1024 (thus including the default HTTP port 80) can't be directly specified in the configuration file. However, the included //nginx// program – acting as a reverse proxy – provides access to Blocks on the customary ports (80 and 443 if you have HTTPS enabled). More on //nginx// and HTTPS below.