Mybase Server 8.x User's Manual


  1. Installing Mybase Server

    Mybase Server 8.x runs on desktop computers and dedicated servers including VPS/NAS running Linux_amd64, macOS 10.14+ or Windows 7+ (x64). The server package for Windows provides a self-extracting setup program, while the Linux/macOS version provides a shell script for the server program to be installed with ease. This section tries to describe how to install the server with the setup program on Windows and the installer shell script for Linux/macOS.

    • For GNU Linux

      Firstly extract the downloaded .tar.xz package into your home directory, by using a GUI archive tool, or with in a Terminal window running the tar command like this:

      $ cd $ tar xJf Mybase-Server-Ver800b1-Linux-amd64.tar.xz

      Then run the installer script to have the server installed into the system as a Systemd service, like this:

      $ cd MybaseServer $ ./Install-Mybase-Server.sh

      By default, the server program is installed at "/opt/MybaseServer", with the database repository folder located at "/var/opt/MybaseServer/Repository", and the server logs folder located at "/var/opt/MybaseServer/Logs".

      The installer script supports customization of a few server settings, e.g. host name or ip, tcp port number, database repository and server logs folder location. You may choose to take the default settings or customize with your desired settings.

      During the installation, you may be prompted to confirm overwriting if there's an existing version previously installed, and may be asked for your sudo password for systemctl operations.

      Once installation is completed, the server program should have automatically been started and running as a Systemd/Initd daemon, and you can get started by navigating the following URLs with in your preferred web browsers from on the local server computer;

      • http://localhost:8082/welcome
      • http://localhost:8082/admin
      • http://localhost:8082/edit
      • http://localhost:8082/view

      where the default port number "8082" should be replaced with your own settings if customized.

      For users else to connect to the server remotely over network, the "localhost" should be replaced with the server's IP address or host name specific to the network.

      If there's a Linux desktop environment (KDE or GNOME) properly installed in the system, the installer will also try to add a few desktop entries for your convenience of getting started from in the KDE Application Launcher or the GNOME Activities.

      For existing .nyf database files from the desktop edition you would like to use in the server edition, just put them into the repository folder and then restart Mybase Server by using the systemctl utility in Terminal, like this;

      $ sudo systemctl stop mybaseserver $ sudo systemctl start mybaseserver

      To check errors or monitor server logs while it runs, try using the tail utility in Terminal, like this;

      $ tail -n 150 -f /var/opt/MybaseServer/Logs/debug_20231001.log

      Note that the server program currently supports amd64 based Linux distributions, and the installer supports those familiar Linux distributions that use Systemd/Initd services. If the installer fails to run, please try making a manual installation by simply copying the whole program files and folders to your Apps directory like: /opt/MybaseServer, whereby the server can manually be launched and self-daemonized by running the below command line in Terminal;

      $ /opt/MybaseServer/MybaseServer.Daemon.sh

      To temporarily perform tests for the server program with std::cerr enabled in a Terminal window in the interactive mode, run this command;

      $ /opt/MybaseServer/MybaseServer.Terminal.sh
    • For Apple macOS

      Open the downloaded .dmg package file in a Finder window, then double click on the installer icon thereof to launch the installation script file.

      By default, the server program is installed at "/Applications/MybaseServer", with the database repository folder located at "/Library/Application Support/MybaseServer/Repository", and the server logs folder located at "/Library/Application Support/MybaseServer/Logs".

      The installer script supports customization of a few server settings, e.g. host name or ip, tcp port number, database repository and server logs folder location. You may choose to take the default settings or customize with your desired settings.

      During the installation, you may be prompted to confirm overwriting if there's an existing version previously installed, and may be asked for your macOS administrative password for Launchctl operations.

      Once installation is completed, the server program should have automatically been started and running as a Launchd daemon, and you can get started by navigating the following URLs with in your preferred web browsers from on the local server computer;

      • http://localhost:8082/welcome
      • http://localhost:8082/admin
      • http://localhost:8082/edit
      • http://localhost:8082/view

      where the default port number "8082" should be replaced with your own settings if customized.

      For users else to connect to the server remotely over network, the "localhost" should be replaced with the server's IP address or host name specific to the network.

      For convenience of controlling the service without having to use Terminal, the installer script tries to add a few command shortcuts in the "/Applications/MybaseServer" folder which is accessible from within the Finder window. If you'd prefer to control (start/stop/restart) the service manually from within Terminal, try running the commands like this;

      % sudo Launchctl unload /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist % sudo Launchctl load /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      For existing .nyf database files from the desktop edition you would like to use in the server edition, just put them into the repository folder "/Library/Application Support/MybaseServer/Repository" and then restart Mybase Server by double-clicking on the Stop/Start command from in the "/Applications/MybaseServer" folder, or using the above Launchctl command line in Terminal.

      To check errors or monitor server logs while it runs, open a Finder window of the "/Library/Application Support/MybaseServer/Logs" folder, or run the command below in Terminal;

      % open "/Library/Application Support/MybaseServer/Logs/debug_20231001.log"

      or

      % tail -n 150 -f "/Library/Application Support/MybaseServer/Logs/debug_20231001.log"
    • For Microsoft Windows

      Simply run the downloaded .exe setup program as administrator and follow the instructions, you'll need to select the target directory and program group name. At the last step before finishing, make sure to have the "Register as NT service" option checked, so the server can be configured as an auto-start service. Otherwise, the server program will not start automatically unless you manually run the server with in a Command Prompt window.

      Once the setup is completed with the default settings, the server should have automatically been started and running as an NT serivce in background, you can get started by navigating the following URLs with in your preferred web browsers from on the local server computer;

      • http://localhost:8082/welcome
      • http://localhost:8082/admin
      • http://localhost:8082/edit
      • http://localhost:8082/view

      For users else to connect to the server remotely over network, the "localhost" should be replaced with the server's IP address or host name specific to the network.

      For convenience of controlling the service without having to use the Windows NT Service Control Manager, a few command shortcuts are added into the Start menu of Windows. To control (start/stop/restart) the service using the Start menu, right-click on the Start/Stop menu items and then choose the "Run as administrator" menu item.

      By default, the server program is installed at "C:\Program Files\wjjsoft\MybaseServer", with the database repository folder located at "C:\ProgramData\MybaseServer\Repository", and the server logs folder located at "C:\ProgramData\MybaseServer\Logs".

    • Re-configuring with different settings

      If you'd want to re-configure the server with a different host name, TCP port, or change the repository/log folder location after setup/installation is done, simply re-install the program, the Linux/macOS version of the installer supports customization of the settings.

      For Windows, the setup program doesn't support customization of these settings, it installs a separate .bat command utility instead in the server's install folder for administrators to reconfigure the server later when needed. To reconfigure the server, simply run the .bat file './reconfigure.bat' by right-clicking on the file and selecting the "Run as administrator" menu item, then you'll be prompted to customize the database repository/log folder location, host name and TCP port nubmer.

    • Concerns about network security

      If you're using Mybase Server via Internet and having concerns about security sending data over public network, you may want to set up a VPN or Stunnel, or alternatively set up a reverse proxy to add the TLS/SSL/HTTPS support by utilizing Traefik or the proxy-pass feature provided by familiar web servers like Nginx/Apache.

  2. Uninstalling Mybase Server

    Before uninstalling the server program, please be sure first to make backup of your database files.

    • For GNU Linux

      Try first to stop the daemon if it's running;

      $ sudo systemctl stop mybaseserver

      then remove the Systemd configuration file;

      $ sudo rm -f /etc/systemd/system/mybaseserver.service

      finally remove the server program files;

      $ sudo rm -rf /opt/MybaseServer

      By default, the database repository folder is setup at "/var/opt/MybaseServer/Repository", and the server log files are kept in the "/var/opt/MybaseServer/Logs" folder. You may choose to back them up in a safe place for later reference, or remove them if they are no use.

    • For Apple macOS

      Try first to stop the daemon if it's running, by double clicking on the Stop utility from in the "/Applications/MybaseServer" folder, or use the command line like this;

      % sudo Launchctl unload /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      then remove the Launchd configuration file;

      % sudo rm -f /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      finally trash the server program files from in the Finder window at the "/Applications/MybaseServer" folder;

      By default, the database repository folder is setup at "/Library/Application Support/MybaseServer/Repository", and the server log files are kept in the "/Library/Application Support/MybaseServer/Logs" folder. You may choose to back them up in a safe place for later reference, or remove them if they are no use.

    • For Microsoft Windows

      Select the "Uninstall" menu item from the Start menu, and press the "Yes" button to confirm the operation.

      By default, the database repository folder is setup at "C:\ProgramData\MybaseServer\Repository", and the server log files are kept in the "C:\ProgramData\MybaseServer\Logs" folder. You may choose to back them up in a safe place for later reference, or remove them if they are no use.

    • Be sure to make backup before uninstalling

      Before uninstalling the server program, please be sure to make backup of your own database and log files for later reference if necessary. [ How to backup ].

  3. Administrative Control Panel

    Mybase Server 8.x provides a web user interface for administrators to manage and configure the database server. To login to the administrator interface, open the link http://localhost:8082/admin on your server computer. For remote administration, replace the "localhost" with the IP address specific to your network. If you have the server listen on a different TCP port other than the default 8082, replace the port number 8082 with your settings.

    The administrator web interface uses tabbed pages to lists out existing entries of databases, users, groups, privilege schemes and sessions separately, and allows administrators to add, remove, edit and manage the entries with ease.

    1. Working Databases

      All working databases are listed out under the Database tab whereby you can choose to create new databases, trash existing databases, change database titles and adjust sequence of the databases being listed at client side.

      To create a database, click the "New..." button, which indicates the server to make a new .nyf file named with a given database ID in the server's repository folder. Database is identified by its ID which must be determined at creation, and may contain 1-32 characters picked from in [a-z, A-Z, 0-9, -, _, CJK].

      If there're multiple databases available in the list, you may want the database entries to be listed in a specified order, click the "Sequence..." button.

      Title of a database is shown as display name which can be different than the database ID. To change title text of selected databases, click the "Title..." button.

      The "Trash..." button indicates the server to trash the corresponding .nyf files from on the server computer. For data safety considerations, it only marks .nyf files as removed, with no files permanently deleted from in the server's file system. This way you may choose to manually restore trashed databases later on when needed, or permanently delete them if they are no use.

    2. User Accounts

      All existing user accounts are listed out under the Users tab whereby you can choose to create new user accounts, initialize login passwords, group user accounts, disable/enable/delete user accounts.

      To add a new user account, click the "New..." button. Name of user accounts contains characters of [a-z, A-Z, 0-9, -, _, CJK].

      To reset password for selected user accounts, click the "Password..." button.

      To put user accounts to specified groups, click the "Owner groups..." button. A user account can be put into multiple owner groups with all of their privileges inherited.

      To temporarily disable user accounts, click the "Disable..." button. Disabled user accounts lose all access privileges and have no access to the server till they're re-enabled.

      To delete selected user accounts, click the "Delete..." button.

    3. Group Accounts

      All existing group accounts are listed out under the Groups tab whereby you can choose to create/delete/disable group accounts.

      To add a new group account, click the "New..." button. Name of group accounts contains characters of [a-z, A-Z, 0-9, -, _, CJK].

      To temporarily disable group accounts, click the "Disable..." button. Disabled group accounts lose all access privileges till they're re-enabled.

      To delete selected group accounts, click the "Delete..." button.

    4. Privilege Schemes

      Under this tab, access privileges on specific databases can be granted to specific group accounts with a set of privilege schemes by administrators.

      A privilege scheme is defined with the 3 factors: a given group account, a list of databases and a list of access privileges which are granted on the databases to the given group account.

      To add a new privilege scheme, click the "New..." button, then choose a group account which will have the privileges of this scheme. For existing privilege schemes, associated group accounts can be changed to others by clicking the 'Group...' button.

      To specify target databases on which to grant the privileges, click the "Databases..." button.

      To grant specific access privileges for selected schemes, click the "Privileges..." button. With in the popup privileges list window, clicking on the [Editor, Viewer, Anonymous, Full, None] button automatically selects their pre-defined access privileges respectively. To modify selection of the pre-defined privileges, check/uncheck the desired/unwanted privileges separately.

      To delete selected privilege schemes, click the "Delete..." button.

    5. Anonymous Access

      Turning on the Anonymous Access option makes the server accessible to the public over network without having to login with a valid user account. To turn on the Anonymous Access option, click the "Anonymous Access" button, then specify an active user account with its privileges granted to anonymous users. For data security, it's necessary to limit access privileges for anonymous users within the Viewers group.

    6. Web Sessions

      For each user logged in to the server, a web session is created to maintain its login state on the server side. Under the Web Sessions tab, all active web sessions are listed out.

      To forcedly close selected sessions, click the "Kill..." button. The current web session you logged in as administrator can not be killed till the session timed out or actively logged off.

    7. IP Filter

      A list of IP addresses or patterns can be set up under the "IP Filter" tab to block unauthorized IP addresses from accessing to the server.

      Entries of the IP filter can be either individual IP addresses (e.g. 192.168.1.1), or CIDR (e.g. 192.168.1.0/24), or regexp patterns (e.g. /^192\.168\.[1-5]\.[0-9]{1,2}$/).

      Each IP filter entry takes a line, or multiple on a line are separated with semicolon. RegExp patterns must be enclosed by slashes. To add remark lines, prepend the '#' character before each remark lines.

      # IP address 192.168.1.1; 192.168.1.2 192.168.1.3; 192.168.1.4 # CIDR 192.168.2.0/24; 192.168.22.0/24 # RegExp /^192\.168\.[3-5]\.[0-9]{1,2}$/

      The default IP filter policy is "Block", which means to setup a "Block-list", the IP addresses matched any of the listed patterns will be blocked. The filter policy can be changed to "Allow", which turns the IP filter list into an "Allow-list", the IP addresses matched any of the listed patterns are allowed, but else are all blocked.

      The IP filtering by default takes effect at the http layer, accessing to the server from a blocked IP address returns 403. Note that if the server runs with one or more reverse proxy servers, the IP filter policy and settings will apply to all of them. If any of them is blocked or not allowed, 403 is returned.

    8. Event Logs

      Event log files generated while the server program runs are listed under this tab and automatically sorted in reverse chronological order for administrators to have the convenience of inspecting log events via the web interface without having to use the server computer separately.

    9. About/Licensing

      To check out the app version and licensing info, open the About tab, whereby the application/server info including licensing info are listed.

      To install a license on the server, click the "Register..." button, then input your registration name and license key codes in the popup dialog.

      To uninstall licenses previously installed on the server, click the "Unregister..." button, all existing licenses will be deleted from in the server computer.

      The application title is shown in the page header. By default it is set to "Mybase Server (Demo)". If you'd like to show a custom text as application title, click the "Set app title..." button.

  4. Building up databases

    Before adding info items, you'll need to create a database via the editors or administrative web interface.

    1. Create databases

      To create a new database, first login to the server as editor or administrator. Within the administrative interface, click the "New..." button under the Database list. Within the editor interface, select the "Action - Database - New ..." menu item. Database is identified by its ID which must be determined at creation, and may contain 1-32 characters picked from in [a-z, A-Z, 0-9, -, _, CJK].

    2. Add info items

      Once a database is created and mounted wihtin the editor interface (/edit), you can add info items inthe outline tree view by selecting the "Action - Info items - New ..." menu item, or using the "New ..." tool buttons above the outline view. Each info item accepts a piece of text information in HTML/Text/Markdown as default content, that will automatically open when the info item is clicked from in the outline view.

    3. Insert attachments

      Each info item accepts a collection of files as attachments. To insert local files into an info item as attachments, click the Attach button on the right Relation pane.

    4. Add contents

      When adding a new info item, the default content type can be set to one of the 3 supported document formats: HTML, Text and Markdown. The HTML format is used to store web pages, or write articles with HTML formatting options. The Text format is used to keep plain text information with no formatting data preserved. The Markdown format is used to write articles in a easy-to-read format.

      Once the content type is determined, it's automatically locked for editing, so you can type in or capture some information into the inbuilt html editor. If you've the webcollect addon installed with your web browser (Chrome/Firefox), you'll have the convenience of capturing web pages to save with Mybase Server through the system clipboard.

  5. Organizing info items

    With in the editor interface, info items are organized and listed in the intuitive tree-structured outline form, and can be labelled and categorized with tags in a secondary hierarchy, and can be bi-directionally linked with other info items.

    1. Label info items

      Before applying labels to info items, you'll need to add some custom label names into the label list. To add lables in the editor interface, click the Labels tab, then select the "Action - Label - New ..." menu item, or click the "New ..." tool buttons above the label tree view. New labels must have unique names, and can be added as sibling or child items, and then listed as a label tree. Like the outline tree, the label tree is also fully customizable and you may add as many labels as you need.

      Once the lable tree is created, you can apply labels to info items by selecting the "Action - Label - Apply label..." menu item under the Outline tab in the editor interface.

      By labelling, the tree-structured info items are categorized with in a secondary hierarchy for different views of the database.

    2. Make item links

      Each info item can have a list of related info items, which will be listed out in the Relation pane for reference when the info item opens. Double-clicking on a linked item will open and jump to the item. To make item links, select the "Action - Link - Link with..." menu item under the Outline tab in the editor interface, then select one or multiple target items to link.

      In order to link an info item from the currently selected text within the HTML/Rich text content, please right-click and select the [Edit hyperlink ...] menu item, then press [Info item] button and select a target info item to link;

    3. Relocate info items

      To move or relocate an info item with in the outine tree, firstly select the info item, then select the "Action - Location - Move up/down/to..." menu item.

      If an info item is locked for editing, you'll need first to save or discard changes and then unlock it before moving or relocating.

  6. When making changes to info items they are automatically saved and indexed on the server side, so the database can be full-text searchable. In some cases you may also want to rebuild (clear and then update) indexes manually.

    1. Clear index data

      To clear index data, firstly login to the sever as editor, then select the "Action - Index data - Clear" menu item. Note that without index data the database is not searchable.

    2. Update index data

      To update/rebuild index data, select the "Action - Index data - Update" menu item. It may take quite a while to complete the index updating process for a large database.

    3. Search for keywords

      The Search for keywords feature is based on index data updated at the server side. To search an indexed database, type in keywords to the search box on the top bar with in the viewer/editor interface and press Enter key, search results if any matched will be listed out in the results pane which will automatically open at bottom of the interface.

      The search utility supports boolean operators: [AND, OR, NOT] and their abbreviations: [ &, |, ! ]; For example, you may search for "ABC or XYZ", or equivalently "ABC | XYZ".

    4. Search with labels

      A single click to select an label item within the label tree view automatically runs a query with the label name, query results if any matched are listed out in the results pane.

      To enable/disable recursive queries with sub labels included, select the "Action - Options - Search sub labels" menu item above the label tree view.

  7. Content editings

    Default content type of info items can be set to one of the 3 supported document formats: HTML, Text and Markdown. The HTML format is used to store web pages, or write articles with HTML formatting options. The Text format is used to keep plain text information with no formatting data preserved. The Markdown format is used to take notes or write articles in a easy-to-read format.

    To start editing text contents of an info item, click the "Edit" button above the content view, then the info item is automatically locked for editing till the "OK" button is clicked to commit changes, or the "Cancel" button is clicked to discard changes.

    1. HTML formatting

      To edit html contents, select the "Action - Edit html source" menu item above the content view. The html editor supports a set of essential formatting tools such as font, size, style, color, images and hyperlinks, which are accessible from on the editing tool bar above the editor view.

    2. Edit HTML source

      To edit html source code of current text content, select the "Action - Edit html source" menu item above the content view.

      The html source code is supposed to contain only inner html source code of the <body> element, avoid inputting any other outer elements e.g. <body> or <head>

    3. Edit plain text

      For info items added as plain text, the content editor only supports plain text with no any formatting data preserved when commiting changes. To edit plain text contents, select the "Action - Edit html source" menu item above the content view.

    4. Edit Markdown text

      Info items addded as Markdown are automatically rendered into HTML for viewing when they open in the content view. To edit the markdown text, select the "Action - Edit html source" menu item above the content view. Markdown syntax supported by the integrated Markdown renderer conforms to the Common Markdown Specs.

      For info items added as Markdown, extended features such as Syntax highlighting, Flowcharts and Katex/MathJax are supported.

    5. Capture web contents

      To capture contents from a webpage, simply copy/paste the contents into the html editor. Note that most websites usually have images linked rather than embedded in BASE64, and the Copy utility provided in web browsers will include only html source code without linked images embedded, therefore when viewing the copied contents in your database, it may connect to the original websites to download them.

      If you have the WebCollect addon installed within your web browser (Chrome/Firefox), you can take advantages of its ability to copy web contents with stylesheets and images embedded in contents. you can choose to copy whole or a portion of contents on a web page to system clipboard, then paste the clip in the html editor.

    6. To insert hyperlinks in html contents, first have a link label text selected in the html editor, then click the "Make hyperlink" tool button above the editor view, then determine a target link/url in the popup dialog box.

      The target link can be either a normal http[s]:// link, or an internal nyf:// link pointing to another info item or attachment file existing in a specified database. Cross-database links are supported.

      The nyf:// protocol scheme is an app-defined protocol scheme inherited from earlier desktop editions 4.x/5.x/6.x/7.x/8.x for internal use only. The use of the nyf:// protocol scheme in the server edition is totally for back-compatibility with the desktop editions. The compatibility helps make the .nyf databases interchangeable between the server edition and the desktop edition with the internal links remaining valid.

    7. Insert images

      To insert images into html contents from local file system, first upload them as attachments of the current info item by pressing the "Attach" button from in the Relation pane, then the attached images can be inserted into html contents by selecting the "Action - Images - Insert..." menu item above the editor view.

    8. Resize images

      To resize images in html contents, first have them included in current selection, and select the "Action - Images - Resize..." menu item above the editor view, then you can choose the desired size or proportion from on the popup dialog box to resize the images in selection.

    9. Copy text to title

      To rename the current info item with selected text in the content view, select the "Action - Selection - Copy to title" menu item above the content view. Redundant blank spaces will be stripped off when renaming info items.

  8. FAQ

    1. Does Mybase Server load a whole database into computer Memory?

      No. Mybase Server supports the 'Load on Access' feature, it only loads the currently working info items into the server computer's RAM, without having to load a whole database into RAM, so does as well at the client side.

    2. Does Mybase Server use a lot of hard disk space?

      Mybase Server doesn't use any more disk space than its binary package, you'll need enough disk space to store your own database and log files on the server computer. At client side, it's web-based with no write access to the local file system, it may need a small amount of bytes of localStorage for user preferences to be kept with in your web browser.

    3. Is it possible to run Mybase Server from on a USB stick?

      The server edition is primarily designed to run on desktop or server computers as a system daemon/service in order to enable multi-user access features and provide consistent access privilege schemes for collaboration over network. For test/trial purpose, it does run in Console/Terminal window though.

      If you'd like to have a portable and productive version of Mybase software running from on a USB drive, it's recommended to try the desktop edition.

    4. What type of files/documens will be indexed and searchable?

      Mybase Server invokes associated file filters installed on the server system to parse documents during updating index data.

      For Linux/macOS, Mybase Server provides inbuilt file parsers for html/txt/md/xlsx/docx/pptx documents.

      For Windows, Mybase Server invokes IFilter plugins installed on the system to parse documents based on extension names. The IFilter plugins for MS-Office and HTML documents have been inbuilt with in Windows 2000+; For other documents (e.g. PDF) to be searchable, you'll need an appropriate IFilter plugin for each document types from their manufactories or 3rd-parties.

      For example, in order to search .PDF documents, you may want to install an IFilter plugin from Acrobat Reader or 3rd-party.

      Note that once a new IFilter is installed, you'll need to clear and rebuild the index data for it to take effect with the relevant documents re-parsed and indexed.

    5. Does Mybase Server work behind a reverse proxy with TLS/SSL/HTTPS enabled?

      Yes. Mybase Server works behind reverse proxy servers (e.g. Nginx, Apache, and Traefik) with TLS/SSL/HTTPS enabled.

      By properly setting up a reverse proxy, Mybase Server can run in your local private network without having to expose its IP address and TCP port to the public network, and it's also possible to convert HTTP into HTTPS for secure connections based on TLS/SSL certificate keys installed in your reverse proxy server.

      For instance, if Mybase Server is installed on the same server computer where Nginx is installed, and listening on localhost:8082, adding the following settings in your Nginx configuration file truns on a reverse proxy for Mybase Server to run with TLS/SSL/HTTPS enabled.

      server { listen 443 ssl; server_name xxx.com www.xxx.com; access_log /path/to/access.log; error_log /path/to/error.log; ssl_certificate /path/to/ssl_certificate.pem; ssl_certificate_key /path/to/ssl_certificate_key.pem; # ... other settings ... location /mybase/ { proxy_pass http://localhost:8082/; proxy_set_header Host $host; proxy_set_header Referer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

      With this configuration Nginx is reloaded, Mybase Server running in your private network ( http://localhost:8082/ ) will be accessible to the public network via the secure link: "https://www.xxx.com/mybase" where the "xxx" is your website domain name and the "/path/to/ssl_certificate*" points to your SSL certificate files.

      If you don't have an ssl certificate installed in your reverse proxy server, you may want to get an ssl certifiate for free from a certificate authority like Let's Encrypt or ZeroSSL. For temporary/unofficial use, you may simply generate a self-signed ssl certificate by using OpenSSL without having to get it from a certificate authority.

    6. .

      .

  9. Howtos

    1. How to get started with Mybase Server?

      First of all, you'll need to download a copy of Mybase Server setup package which is appropriate for your system platform (Linux/macOS/Windows), and then have the server program properly installed on your system by running its setup program or installer script shipped with in the package.

      Once the server setup/installation is completed, you can access to the server via http://localhost:8082 from on the server computer itself, where the default port number "8082" should be replaced with your own settings if customized, and for clients to visit the server over network, the "localhost" should be replaced with the server's IP address or host name specific to the network

      For the initial setup/installation, the default login name is set to "root" with no password required. For security considerations it's recommended to set a password for the root account in the administrative control panel once the server is installed.

      Mybase Server provides intuitive web-based user interfaces for administrators and editors respectively, which can be chosen to login to at the login form. The administrator interface (./admin) is intended for administrators to create/remove/edit databases, user accounts, group acounts, privilege schemes and ip filters as needed. The editor interface (./edit) is intended for viewers/editors to view/edit contents of databases mounted on the server.

      At the client side, before you input your own information, you'll need first to create a new database if this is not done earlier in the administrator interface, then add info items in the tree-structured outline view. Each info item accepts a peice of text info in Html/Text/Markdown format as its default content, as well as a list of files as attachments that can be uploaded to the server by using the "Attach" tool button in the Relation pane.

      Default text content of an info item is automatically loaded and shown in the content view when clicking on the info item. Pressing the "Edit" button lets the content view go into edit mode, whereby you can make changes to the text contents and finally press the "OK" button to save changes on the server. The inbuilt content editor provides a set of editing/formatting tools specific to text fonts, colors, styles, links and images.

      Info items can be categorized with labels, and can also be bidirectionally linked with other info items as appropriate. Appllied labels and linked info items are listed out in the Relation pane for reference.

      [ How to migrate .nyf databases from the desktop edition ] [ How to backup .nyf databases ]

    2. How to install license keys on Mybase Server?

      To install a license key for Mybase Server, please try this;

      • Login to the administrative contorl panel via the link http://localhost:8082/admin for default setup, or via http://[your-server]:[port]/admin for custom setup;
      • Click the Register button on the About tab-page;
      • Enter your registration name in the Registration Name box;
      • Enter your license key code in the License Key box;
      • Press the OK button to install the license key on the server.

      Having problems registering?

      • It's recommended that you input the registration name and license key codes by using the Copy/Paste command, instead of typing them in manually, in case of typos;
      • A single valid license key for v8.x consists of multi-line codes, please be sure to input all of them exactly as shown in your licensing emails.

    3. How to make a custom UI theme?

      The web user interface is based on HTML/CSS and customizable by revising the inbuilt .css files located at the ./css folder, or putting your custom ui theme .css files into the ./themes folder. There're several inbuilt sample themes shipped within the "./themes" folder for demonstration, you may make a dupicate from one of the sample theme .css files and then revise it by using a plain text editor.

    4. How to translate/localize the user interface?

      The web user interface is multilingual and customizable. To translate to another language, try first to make a duplicate of the default English template file "./lang/en-US.ini" and rename the new .ini file with your language ID (BCP47), e.g. de-DE.ini, then open the new .ini file with a plain text editor, and translate all existing messages.

    5. How to rename an info item?

      To rename an info item, click its title text twice (click once and then click again, rather than double-clicks), then the item title text goes into edit mode.

      In addition, the current info item can be renamed with the selected text in the content view by selecting the "Action - Selection - Copy to title" menu item above the content view.

    6. How to multi-select info items?

      To have multiple items selected within tree views, hold down the Ctrl (or Command) key as a key modifier when clicking on info items by mouse.

    7. How to make backup of .nyf databases?

      To backup .nyf database files from in the server, please navigate to the database repository folder whereby you can duplicate/copy the .nyf database files to your backup storage devices.

      Note that .nyf database files are locked by system while they're open in case of potential file access conflicts with other programs/processes; so please be sure first to stop the server before making backup of the .nyf database files.

      There may be additional files residing in the same repository folder and having the .dbindex suffix name, wchich are accompanying files of index data of the corresponding .nyf databases. The .dbindex files can be rebuilt by selecting the "Action - Update index data" menu item from in the editor interface if you chose not to backup them.

      In addition, you may also want to backup .log files for later reference, please navigate to the server logs folder whereby you can duplicate/copy the .log files to your backup storage devices.

    8. How to migrate exisitng .nyf databases to Mybase Server 8.x

      If you have existing .nyf databases created within desktop editions (e.g. 7.x, 8.x), and would like to use them with in the server edition, just put them (including *.dbindex) into the server's repository folder, and then restart the server program to load them.

      Note that the server edition doesn't support password-protection of .nyf databases. Before migirating password-protected .nyf databases to the server edition, it's required first to remove existing passwords. To remove password from a .nyf database, open it with in the desktop edition, and select the [File - Maintenance - Replicate database] menu item, then replicate the whole database as a new one with no password set.

      For migration of legacy .nyf database files created within the earlier verion 4/5/6.x, it's required first to upgrade the storage format to the version 7/8.x by using Mybase Desktop 6.5.1 which is available for download here.

    9. How to manually start/stop the server program?

      By default setup, the server program is installed as a system service that is automatically managed by the OS system. The server program auto-starts up at boot and stops at system shutdown. In the case that you'd want to manually start/stop/restart the system service, please follow the below instructions.

      For Linux: to manually start/stop the systemd service of Mybase Server, run the systemctl command in Terminal like this;

      $ sudo systemctl start mybaseserver $ sudo systemctl stop mybaseserver

      For macOS: you may choose to run the Start/Stop command from in the /Applications/MybaseServer folder, or alternatively run the launchctl command in Terminal like this;

      % sudo Launchctl load /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist % sudo Launchctl unload /Library/LaunchDaemons/com.wjjsoft.mybaseserver.plist

      For Windows: you may choose to right-click on the Start/Stop menu item from in the Windows Start menu and then choose to Run as administrator; Or alternatively use the Windows Service Control Manager (SCM).

    10. .

      .

  10. Notes

    1. Licensing message not received after paid

      We issue personalized license keys for each customers and deliver via email within 48-hour after payment transcations completed. The licensing message contains key codes that look like garbage characters, some email service providers may mark the licensing messages as SPAM. If you don't seem to receive the licensing message in your Inbox, it might be worth to check your Spam folder as well, some email service providers will automatically file it there. If it did not arrive, please be sure to let us know, we'll be glad to help resent it.

    2. Suffix/Extension names (.nyf, .dbindex)

      Files named with the .nyf suffix are primary data files of Mybase software, containing info items, text contents, images, attachments, labels, links, everything you save in the database.

      Files named with the .dbindex suffix are accompanying files automatically generated to keep index data for fast searching.

    3. Database repository folder location

      By default, the database repository is setup at the following folder location if not customized during setup/installation.

      • For Linux: /var/opt/MybaseServer/Repository
      • For macOS: /Library/Application Support/MybaseServer/Repository
      • For Windows: C:\ProgramData\MybaseServer\Repository

    4. Server logs folder location

      By default, server event logs are kept in the following folder location if not customized during setup/installation.

      • For Linux: /var/opt/MybaseServer/Logs
      • For macOS: /Library/Application Support/MybaseServer/Logs
      • For Windows: C:\ProgramData\MybaseServer\Logs

    5. .

      .

  11. Troubleshooting

    1. .

      .