Debian

Debian installation instructions for package based installs, either automatically using apt or manually with pre-downloaded deb packages.

The Perforce IPLM platform can be installed via packages or via the Appliance Installation. The Appliance Installation method deploys an already configured VM into the customer Hypervisor. See the Perforce Appliance Installation page for more details.

The package installation method for Perforce IPLM on Debian uses .deb packages installed using apt. The instructions below are listed at the top of each of the following subsections. In case apt installation is not available at the customer site the manual .deb installation process is outlined.

The Pi Command Line Client (IPLM CLI) can also be installed via a self-extracting tarball (the ".run" file) to enable installation in an NFS mounted centralized tools location. See the PiClient Self-Extracting Archive page for details. 

The IPLM CLI client can also be installed with the scripted Client installation method, which sets up VersIC, PiExtras, and the necessary environment setup in a single step. See the Client-Only Tutorial Installation for Perforce.

Setting Up the Repo

Install the Perforce Debian package repo.

1. Add the latest Certs.
    apt install ca-certificates
2. Add the Perforce Debian package source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
3. Get the Perforce apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
4. Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first

Metrics installation

Metrics installation can be skipped if you are not going to monitor Perforce IPLM metrics. More information on Metrics can be found on the Perforce IPLM Metrics page.

The Metrics package is installed as a standard Linux package using the 'apt' package manager on Debian systems.

1. (Optional) Skip this step if Perforce Debian package repo is set up already.
1.1 Add the latest Certs.
    apt install ca-certificates
1.2 Add the methodics apt source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
1.3 Get the methodics apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
1.4 Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first
 
2. Install Metrics package.
2.1 Update apt.
    apt update
2.2 Install Metrics.
    apt install iplm-metrics -y
2.3 Start Prometheus and Grafana services.
    service mdx-metrics-prometheus start
    service mdx-metrics-grafana start
2.4 If using IPLM Cache, start the Node and StatsD Exporters.
    service mdx-metrics-node-exporter start
    service mdx-metrics-statsd-exporter start

Metrics Upgrade

1. Upgrade Metrics Debian package
    apt update; apt install iplm-metrics -y
2. Restart Prometheus and Grafana services.
    service mdx-metrics-prometheus start
    service mdx-metrics-grafana start
3. If using IPLM Cache, restart the Node and StatsD Exporters.
    service mdx-metrics-node-exporter restart
    service mdx-metrics-statsd-exporter restart

Metrics Manual Install

1. Download the required package.
1.1 Browse to https://mdx.jfrog.io/mdx/debian/pool/production/ and download,
    <iplm-metrics>
1.2 Download dependencies
    wget https://mdx.jfrog.io/mdx/mdx-generic/grafana/mdx-grafana-bin-6.1.6.tgz
    wget https://mdx.jfrog.io/mdx/mdx-generic/jmx-exporter/mdx-jmx-exporter-0.11.0.tgz
    wget https://mdx.jfrog.io/mdx/mdx-generic/prometheus/mdx-node-exporter-bin-0.17.0.tgz
    wget https://mdx.jfrog.io/mdx/mdx-generic/prometheus/mdx-prometheus-bin-2.9.2.tgz
    wget https://mdx.jfrog.io/mdx/mdx-generic/prometheus/mdx-statsd-exporter-bin-0.11.2.tgz
 
**Transfer the package to the target machine**

2. Install dependencies
   mkdir -p /usr/share/mdx/metrics
   cd /usr/share/mdx/metrics
   tar xf <path to mdx-grafana-bin-6.1.6.tgz>   
   tar xf <path to mdx-jmx-exporter-0.11.0.tgz>   
   tar xf <path to mdx-node-exporter-bin-0.17.0.tgz>   
   tar xf <path to mdx-prometheus-bin-2.9.2.tgz>   
   tar xf <path to mdx-statsd-exporter-bin-0.11.2.tgz>
					
3. On the target machine install the package.
    dpkg -i <mdx-metrics>
4. Start the Prometheus and Grafana services and the Node and StatsD Exporters, as above.
 

PiServer installation

Perforce IPLM server is installed as a standard Linux package using 'apt' package manager on Debian systems.

Install Java

Java-11 JRE is required to run PiServer. To help troubleshooting problems that might be related with PiServer, Java-8 JDK is recommended.

Both Oracle Java and OpenJDK are supported. Please refer to instructions on Oracle website for installation of Oracle JDK/JRE.

Below are the instructions for OpenJDK installation.

apt install -y openjdk-11-jdk-headless
java -version

Java should report version 11.

Install 2024.1 PiServer packages

1. (Optional) Skip this step if Perforce Debian package repo is set up already.
1.1 Add the latest Certs.
    apt install ca-certificates
1.2 Add the methodics apt source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
1.3 Get the methodics apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
1.4 Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first

2. Install PiServer debian packages.
2.1 As root, run:
    apt install iplm-server -y
    Note: For 3.0 and later PiServer releases, Neo4j is installed automatically when iplm-server package is installed.
          The behavior of Neo4j installation can be controlled with MDX_PISERVER_NEO4J_INSTALL environmental variable.
          The following command uses neo4j-enterprise-4.4.35 tarball that is pre-downloaded,
              MDX_PISERVER_NEO4J_INSTALL=<full path of Neo4j tarball> apt install iplm-server -y
          The following command skips installation of Neo4j and only installs files for PiServer,
              MDX_PISERVER_NEO4J_INSTALL=0 apt install iplm-server -y
2.2 (Optional) Configure Java executable for Piserver
    vi /etc/mdx/piserver # configure javaexe option with full path of preferred Java executable
    Note: If the system default Java program is the preferred Java executable, no need to configure javaexe option.
2.3 As root, reboot the system and have all the services started automatically, or run:
    service neo4j start; service piserver start
    Note: Neo4j log files are under /var/log/neo4j/ and Piserver log files are under /var/log/mdx-piserver/.
2.4 To start PiServer automatically after reboot, run:
    systemctl enable neo4j; systemctl enable piserver
2.5 If you failed to enable neo4j with systemctl, try the following:
2.5.1 Edit: /etc/systemd/system/piserver.service
2.5.2 Append neo4j.service to both lines of Wants and After.

IPLM Client installation

Perforce IPLM Client can be installed as a standard Linux package using 'apt' package manager on Debian systems.

1. (Optional) Skip this step if Perforce Debian package repo is set up already.
1.1 Add the latest Certs.
    apt install ca-certificates
1.2 Add the methodics apt source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
1.3 Get the methodics apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
1.4 Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first
 
2. Install IPLM CLI Debian packages.
2.1 Update apt.
    apt update
2.2 Install IPLM Client.
    apt install iplm-cli -y

IPLM Client upgrade

1. Upgrade IPLM Client Debian packages.
    apt update; apt install iplm-cli -y

IPLM Web Installation

1. (Optional) Skip this step if Perforce Debian package repo is set up already.
1.1 Add the latest Certs.
    apt install ca-certificates
1.2 Add the methodics apt source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
1.3 Get the methodics apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
1.4 Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first
2. Install IPLM Web.
2.1 Update apt
    apt update
2.2 Install IPLM Web
    apt install iplm-web -y

IPLM Web upgrade

1. Upgrade IPLM Web Debian packages.
    apt update; apt install iplm-web -y

IPLM Web Document Installation

Install IPLM Web as noted above
Then, as root, run
    apt update; apt install iplm-doc -y 

IPLM Web Document Upgrade

Upgrade IPLM Web Document Debian packages.
    apt update; apt install iplm-doc -y

PiExtras installation

1. (Optional) Skip this step if Perforce Debian package repo is set up already.
1.1 Add the latest Certs.
    apt install ca-certificates
1.2 Add the methodics apt source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
1.3 Get the methodics apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
1.4 Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first
 
2. Install iplm-extras.
2.1 Update apt.
    apt update
2.2 Install iplm-extras.
    apt install iplm-extras -y

PiExtras upgrade

1. Upgrade PiExtras Debian package
    apt update; apt install iplm-extras -y

IPLM Cache installation

IPLM Cache requires a dedicated server for production deployments. IPLM Cache is I/O intensive and should be hosted on a separate server from PiServer and IPLM Web.

1. (Optional) Skip this step if Perforce Debian package repo is set up already.
1.1 Add the latest Certs.
    apt install ca-certificates
1.2 Add the methodics apt source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
1.3 Get the methodics apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
1.4 Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first
 
2. Install iplm-cache.
2.1 Install backend server packages.
    apt install iplm-backend-redis iplm-backend-mongodb -y
2.2 Install IPLM Cache packages.
    apt install iplm-cache -y
2.3 Review/Update IPLM Cache settings in /etc/mdx/picache.conf
2.3.1 "root" configuration option defines the location IPLM Cache will use to populate IPVs on disk, and needs to be defined. 
      The "root" directory path needs to be created before starting the IPLM Cache server.
2.3.2 If "worker-user" is defined, make sure the user has the write permission to the "root" path.
      If "worker-user" is not defined, make sure user "mdxadmin" has the write permission to the "root" path.
      Note: The "root" path typically points to a folder exported from filer.
            If so, please make sure the mount options allow "worker-user" or "mdxadmin" to write to it.
            Typically, the "root" path is owned by "worker-user" or "mdxadmin" to avoid any permission problem.
2.3.3 "dm-program" needs to point to valid p4 executable
2.4 Start IPLM Cache daemons.
    service iplm-backend-redis start
    service iplm-backend-mongodb start
    service picache start
2.5 To start PiServer automatically after reboot, run:
    systemctl enable iplm-backend-redis
    systemctl enable iplm-backend-mongodb
    systemctl enable picache

IPLM CacheUpgrade

1. Upgrade IPLM Cache Debian packages
    apt update; apt install iplm-cache -y

IPLM PiForce installation

1. (Optional) Skip this step if Perforce Debian package repo is set up already.
1.1 Add the latest Certs.
    apt install ca-certificates
1.2 Add the methodics apt source.
    echo "deb https://mdx.jfrog.io/mdx/debian/ jessie production" >>/etc/apt/sources.list
1.3 Get the methodics apt key.
    wget -O - https://mdx.jfrog.io/mdx/mdx-generic/mdx@methodics.com.gpg.key | apt-key add -
1.4 Update apt.
    apt update
    Note: Package apt-transport-https might need to be installed first
 
2. Install iplm-piforce.
2.1 Install IPLM PiForce package
    apt install iplm-piforce -y
2.2 Review/update IPLM PiForce configuration file
    vi /etc/mdx/piforce.yml
    Note: Please make sure that there's a space after the configuration name(and colon) and before its value and the value is on the same line of the configuration name. For example, "uri: p4java://localhost:1666"    Note: When using p4javassl in the uri, run the following commands to trust the server fingerprint,
          su - mdxadmin
          p4 -p ssl:<p4 server host>:<p4 server port> trust
2.3 Start/stop IPLM PiForce daemon
    service piforce start
    service piforce status
    service piforce stop

IPLM PiForce upgrade

1. Upgrade IPLM PiForce Debian package
    apt update
    apt install iplm-piforce -y