I, Librarian Local Storage Installation


We provide installers to get your server up and running on Windows 10+, Windows Server 2016+, Ubuntu 22.04, and other Linux distributions.

  • This is a CLI PowerShell installer. First, open PowerShell as administrator.
  • Download our installation package from the link we emailed you, and verify its integrity. Replace [KEY] with the actual link key:
    $ProgressPreference = 'SilentlyContinue'
    Invoke-WebRequest https://i-librarian.net/download/[KEY] -OutFile i-librarian-storage-5.10.1-pro-windows.zip
    if((Get-FileHash i-librarian-storage-5.10.1-pro-windows.zip | Select-Object -ExpandProperty Hash).ToLower() -eq '64a894c9d43790d280ffa8462966f5c2ae0e4fd21228956b63337a7a021de460') { Write-Host 'Package is OK' } else { Write-Host 'Wrong package!' }
  • Extract the archive and run the installer:
    Expand-Archive i-librarian-storage-5.10.1-pro-windows.zip
    cd i-librarian-storage-5.10.1-pro-windows
    .\installer.ps1
  • You will be asked to enter your static IP, or domain name.
  • You will be asked to choose how many GB of RAM to reserve for Apache Solr. Enter the default, if you are not sure.
  • The installer will place program files in C:\Program Files\ILibrarianStorage, and store your data in C:\ILibrarianStorage. Please back up this directory regularly.
  • The installer will also install a helper program ilstorage to perform some essential functions:
    usage: ilstorage help
           ilstorage (start|stop|restart|status) (apache|solr|<empty string>)
           ilstorage allow -ip <IP number>
           ilstorage upgrade -v <version>
           ilstorage uninstall
           ilstorage version

    help      - this screen
    start     - start the service(s)
    stop      - stop the service(s)
    restart   - restart or start the service(s)
    status    - show the status of the service(s)
    allow     - allow the IP number to access the web storage interface
    upgrade   - upgrade to the version specified in the -v flag
    uninstall - uninstall this software DANGER! ALL STORED DATA WILL BE DELETED
    version   - get the software version
  • To access the storage web interface, you may need to add your client IP to the allowed_ips list in ilibrarian.ini. Replace [YOUR IP] with the actual IP number:
    ilstorage allow -ip [YOUR IP]
  • Open the storage web interface in a web browser at https://[SERVER_IP/DOMAIN_NAME]:38443, and follow the instructions to connect your server to our network.
  • We provide a Bash CLI installer. It uses native Ubuntu packages to establish a web server with Apache, and PHP. If you want to have a separate web server instance, use the Linux installer, which works on Ubuntu as well.
  • First, download the installation package from the link we emailed you, and verify its integrity. Replace [KEY] with the actual link key:
    wget https://i-librarian.net/download/[KEY] -O i-librarian-storage-5.10.1-pro-ubuntu.tgz
    if [ $(sha256sum 'i-librarian-storage-5.10.1-pro-ubuntu.tgz' | awk '{print $1}') = 'd6d1751170b73a31dd644ff9f11a2680b7e58010ade618f3c73b3df582338c3e' ]; then echo 'Package is OK'; else echo 'Wrong package!'; fi
  • Unpack the archive and execute the installer. You must run it using sudo, or as root:
    tar xzf i-librarian-storage-5.10.1-pro-ubuntu.tgz
    cd i-librarian-storage-5.10.1-pro-ubuntu
    bash install.sh
  • You will be asked to enter your static IP, or domain name.
  • You will be asked to choose how many GB of RAM to reserve for Apache Solr. Enter the default, if you are not sure.
  • The installer will place program files in /opt/i-librarian, configuration files in /etc/opt/i-librarian, and store data in /var/opt/i-librarian. Please back up this directory regularly.
  • The installer will also install a helper program ilstorage to perform some essential functions:
    usage: ilstorage help
           ilstorage (start|stop|restart|status) (apache|solr|<empty string>)
           ilstorage allow -ip <IP number>
           ilstorage upgrade -v <version>
           ilstorage uninstall
           ilstorage version

    help      - this screen
    start     - start the service(s)
    stop      - stop the service(s)
    restart   - restart or start the service(s)
    status    - show the status of the service(s)
    allow     - allow the IP number to access the web storage interface
    upgrade   - upgrade to the version specified in the -v flag
    uninstall - uninstall this software DANGER! ALL STORED DATA WILL BE DELETED
    version   - get the software version
  • To access the storage web interface, you must add your client IP to the allowed_ips list in ilibrarian.ini. Replace [YOUR IP] with the actual IP number:
    ilstorage allow -ip [YOUR IP]
  • Open the storage web interface in a web browser at https://[SERVER_IP/DOMAIN_NAME]:38443, and follow the instructions to connect your server to our network.
  • We provide a Bash CLI installer. First, download the installation package from the link we emailed you, and verify its integrity. Replace [KEY] with the actual link key:
    wget https://i-librarian.net/download/[KEY] -O i-librarian-storage-5.10.1-pro-linux.tgz
    if [ $(sha256sum 'i-librarian-storage-5.10.1-pro-linux.tgz' | awk '{print $1}') = 'ec36fbf44f6f9d2834a94d8e0f10351ac85ba317660002586653eddb0e38a334' ]; then echo 'Package is OK'; else echo 'Wrong package!'; fi
  • Unpack the archive and execute the installer. You must run it using sudo, or as root:
    tar xzf i-librarian-storage-5.10.1-pro-linux.tgz
    cd i-librarian-storage-5.10.1-pro-linux
    bash install.sh
  • You will be asked to enter your static IP, or domain name.
  • You will be asked to choose how many GB of RAM to reserve for Apache Solr. Enter the default, if you are not sure.
  • The installer will place program files in /opt/i-librarian, configuration files in /etc/opt/i-librarian, and store data in /var/opt/i-librarian. Please back up this directory regularly.
  • The installer will also install a helper program ilstorage to perform some essential functions:
    usage: ilstorage help
           ilstorage (start|stop|restart|status) (apache|solr|<empty string>)
           ilstorage allow -ip <IP number>
           ilstorage upgrade -v <version>
           ilstorage uninstall
           ilstorage version

    help      - this screen
    start     - start the service(s)
    stop      - stop the service(s)
    restart   - restart or start the service(s)
    status    - show the status of the service(s)
    allow     - allow the IP number to access the web storage interface
    upgrade   - upgrade to the version specified in the -v flag
    uninstall - uninstall this software DANGER! ALL STORED DATA WILL BE DELETED
    version   - get the software version
  • To access the storage web interface, you must add your client IP to the allowed_ips list in ilibrarian.ini. Replace [YOUR IP] with the actual IP number:
    ilstorage allow -ip [YOUR IP]
  • Open the storage web interface in a web browser at https://[SERVER_IP/DOMAIN_NAME]:38443, and follow the instructions to connect your server to our network.

I, Librarian storage server has to meet requirements enumerated below. We do not provide help with their installation.

1. Apache Solr

Solr 9 is used for the full text search. You should increase its memory allocation in solr.in.sh to at least 1-2g. Solr also requires Java.
Download Solr
Download OpenJDK

After you install Solr, there are a few steps that are required for I, Librarian to function:

  • Create a Solr core named "template":
    su - solr -c "/opt/solr/bin/solr create -c template -n data_driven_schema_configs"
  • Add library paths for UTF-8 support in solrconfig.xml inside the config tag. The exact file paths may differ in your Solr version:
      <lib path="/opt/solr/modules/analysis-extras/lib/solr-analysis-extras-9.0.0.jar" />
      <lib path="/opt/solr/modules/analysis-extras/lib/lucene-analysis-icu-9.0.0.jar" />
      <lib path="/opt/solr/modules/analysis-extras/lib/icu4j-68.2.jar" />
  • Reload the template core:
    curl 'http://localhost:8983/api/cores/template/?action=RELOAD'
  • Copy the template conf files to a configsets directory:
    mkdir -p /var/solr/data/configsets/template
    cp -R /var/solr/data/template/conf /var/solr/data/configsets/template
    chown -R solr:solr /var/solr/data/configsets
2. Web server with PHP

Any web sever will do. PHP version 8.1 is required, with the following extensions: curl, gd, intl, json, mbstring, sodium, sqlite3, xml, zip.

  • Additionally, our software requires a SourceGuardian loader PHP extension. Add the loader path at the end of the php.ini file:
    zend_extension = "/path/to/ixed.8.1.lin"

All data transfer must be encrypted, therefore a TLS certificate is required. The default self-signed certificate included with Apache will not work for I, Librarian.

  • You may create a self-signed certificate matching your hostname, or IP in the web storage interface, or using a tool included in the source package:
    php certificate.php [HOSTNAME OR SERVER IP]

You can also use a certificate authority (CA)-signed certificate, if you have one installed.

3. Shared libraries

We use poppler-utils, ghostscript, and zip. They are included in the Windows source package, and are common libraries on all Linux platforms.

4. Install I, Librarian Storage

I, Librarian source can be installed in these steps, with examples below:

  • Unpack the source package outside the web root directory:
    Expand-Archive source.zip -DestinationPath "C:\ILibrarianStorage"
    tar xzf source.tgz -C /var/www/i-librarian
  • Make data directory writable by the web server on Linux:
    chmod 0777 -R /var/www/i-librarian/data
  • Point the web server to the public directory using a symbolic link, server alias, or virtual host configuration, example:
    Alias /librarian /var/www/i-librarian/public
    <Directory /var/www/i-librarian/public>
        AllowOverride All
        Require all granted
    </Directory>
  • To access the storage web interface, you must add your client IP to the allowed_ips list in ilibrarian.ini. Replace [YOUR IP] with the actual IP number:
    (Get-Content "C:\ILibrarianStorage\etc\config\ilibrarian.ini").replace('allowed_ips = "', 'allowed_ips = "[YOUR IP],') | Set-Content "C:\ILibrarianStorage\etc\config\ilibrarian.ini"
    sed -i 's/allowed_ips \= "/allowed_ips \= "[YOUR IP],/' /var/www/i-librarian/config/ilibrarian.ini
  • Open the storage web interface in a web browser at https://[SERVER_IP/DOMAIN_NAME]/librarian, and follow the instructions to connect your server to our network.