IntelliJ IDEA 2017.2 Help

Configuring Synchronization with a Web Server

The functionality described on this page and in the entire chapter Working with Web Servers: Copying Files is available only in the Ultimate Edition of IntelliJ IDEA.

On this page:

Before you start

Synchronization with servers, uploading, downloading, and managing files on them are provided via the Remote Hosts Access bundled plugin, which is by default enabled. If the plugin is disabled, activate it in the Plugins page of the Settings dialog box. For details, see Enabling and Disabling Plugins. Note that the plugin is available only for the Ultimate Edition of IntelliJ IDEA.

Basics

IntelliJ IDEA distinguishes among in-place, local, and remote servers, however the meaning of these terms in the context of IntelliJ IDEA slightly differs from their common meaning:

  • An in-place server is a server whose document root is the parent of the project root, either immediate or not. In other words, the Web server is running on your computer, your project is under its document root, and you do your development directly on the server.
  • A local server is a server that is running in a local or a mounted folder and whose document root is NOT the parent of the project root.
  • A remote server is a server on another computer (remote host).

For more information about possible configuration of the production and development environment and working with servers from IntelliJ IDEA, see Deployment. Working with Web Servers.

Server access configuration

IntelliJ IDEA controls interaction with Web servers through server access configurations. Anytime you are going to use a server, you need to define a server access configurations, no matter whether your server is on a remote host or on your machine.

A server access configuration defines:

  • The server type (in-place, local, or remote).
  • The computer (host) where the server is running. For in-place and local servers, IntelliJ IDEA presupposes that it is the current computer where your project is.
  • The server access configuration root: the highest folder in the server hierarchy that can be accessed through the server configuration.
  • The URL address to access the server configuration root. Both the HTTP and the HTTPS protocols are supported.

    To access a server through HTTPS, you need to acquire a certificate file <certificate_name>.cert signed by a recognized authority and import this certificate in the truststore/keystore of the Oracle JRE (Java Runtime Environment) on which IntelliJ IDEA runs. Note that self-signed certificates are rejected as unsafe.

    To import a certificate in Oracle JRE:

    1. Open the embedded Terminal and type the following command:
      <jre_home>/bin/keytool.exe -importcert -keystore <path to jre truststore/keystore> -file <full_path_to_<cert_name>.cert>
      If you are using the Oracle JRE bundled with IntelliJ IDEA, the default path to the truststore/keystore is <%product_installation_folder>/jre/jre/lib/security/jssecacerts or <%product_installation_folder>/jre/jre/lib/security/cacerts.

      Otherwise it is <jre_home>/jre/lib/security/jssecacerts or <jre_home>/jre/lib/security/cacerts.

    2. When asked to enter a password for the truststore/keystore, specify the default one changeit.
    3. Open the IntelliJ IDEA.exe.vmoptions file in the <IntelliJ IDEA_installation_folder>/bin and add the following line to it:
      -Djavax.net.ssl.keyStore=<path to keystore>
    4. Restart IntelliJ IDEA.

    Learn more at Java6 and Java7.

  • The protocol to transfer the data through.
  • Correspondence between local (project) folders, destination folders on the server, and URL addresses to access the data on the server. This correspondence is called mapping.

You can define as many configurations as necessary, thus enabling flexible switching between upload/download setups.

Last modified: 29 November 2017

See Also