Developer Services portal requirements

Developer Services Portal v. 4.16.09

Following are the hardware and software requirements for installation.

Hardware

Requirement

Operating system

These installation instructions and the supplied installation files have been tested on the operating systems listed here: https://apigee.com/docs/api-services/reference/supported-software

RAM

1 GB

Hard disk

10 GB

Network interface

Active internet connection required.

As part of the installation process, the installer downloads resources from the web. If your environment is set up to proxy outgoing HTTP and HTTPS requests, then your proxy must be configured to correctly handle redirected requests that might occur during a download.

For example, a request to https://drupal.org/ returns an HTTP 301 status code and redirects to https://www.drupal.org/.

Your proxy should be configured to return an HTTP 200 status code with the requested content from the redirect.

For SAP installations, if your environment is set up to proxy outgoing HTTPS requests, then your proxy must support TLSv1.0. OpenSSL 0.9.8 does not support TLSv1.1 or TLSv1.2, only TLSv1.0.

MySQL Database Requirements

If you choose to install the MySQL Server on the same machine as the Developer Channel Services, the single-machine topology, the Developer Channel Services installer prompts you to enter the database name and database user, and then installs MySQL Server and creates the database schema for you. The version installed is the latest version available for your OS.

If you want the MySQL Server installed on a separate system, you must have already installed MySQL Server on that system before starting the Developer Channel Services installer. You must have installed MySQL 5.0.15 or later.

The Developer Channel Services installer requires that MySQL Server contains a database with an empty database schema. The Developer Channel Services installer prompts you for the database hostname, database name, and database user. The installer then connects to the database to create the default database tables and data.

The database user is used by Developer Channel Services to connect to the database, and must have the following privileges: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES.

For example, to create a database named devportal, and a user named devportal:

  1. Install MySQL Server on the system.
  2. Log into MySQL as root user by using the command:
    > mysql -u root -p
  3. Enter the root password when prompted.
  4. At the mysql> prompt, enter the following to create the devportal user:
    mysql>create user 'devportal'@'localhost' identified by 'devportal';
    mysql> grant all privileges on *.* to 'devportal'@'localhost';
    mysql> flush privileges;
    mysql> quit
  5. At the system prompt, create the devportal database:
    > mysqladmin -u devportal -p create devportal

    Enter the devportal password.
  6. Log in to MySQL and grant access to devportal from the IP of the portal server:
    mysql> GRANT ALL ON devportal.* TO devportal@'portalIP' IDENTIFIED BY 'devportalPW';

    where portalIP is the IP address of the portal server, and devportalPW is the password of the devportal user.
  7. Edit /etc/my.cnf to set bind-address to the IP address of the MySQL server.
  8. Restart MySQL:
    > /etc/init.d/mysqld restart
  9. Make sure port 3306 is open on the MySQL server. This procedure is based on your operating system. For example, for Linux, use the command:
    > /sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

When you install Developer Channel Services, specify not to install MySQL Server locally. You will then be prompted to enter the IP address, username, and database name of the remote database.

Red Hat Enterprise Linux (RHEL) Requirements

RHEL has extra requirements due to a subscription needed to access software downloads from Red Hat. The server must be able to connect to the Internet to download RPMs via yum. If using RHEL, the server must be registered on the Red Hat Network (RHN) and registered to the server optional channel.

The Red Hat requirements are checked during the install and the portal installer prompts you if RHEL is not already registered. If you already have Red Hat login credentials, you can use the following command to register RHEL before beginning the installation process:

> subscription-manager register --username=my_username --password=my_password --auto-attach 

Replace my_username and my_password with your Red Hat credentials.

If you have a trial version of RHEL, you can obtain a 30-day trial license. See https://access.redhat.com/solutions/32790 for more information.

SMTP requirements

By default, the portal sends mail by using the PHP mail() function. PHP tries to send email using sendmail on the local system, which can be configured in PHP's php.ini file.

In a production environment, Apigee requires that you configure an SMTP server to send email messages from the portal. Therefore, you must ensure that the Drupal can access the necessary port on the SMTP server. For non-TLS SMTP, the port number is typically 25. For TLS-enabled SMTP, it is often 465, but check with your SMTP provider.

Additional Requirements

In order to perform the installation, the user installing the software must have root access.

Deployment Architecture Requirements

Developer Channel Services has a single interface with the Apigee Management Server via a REST API in order to store and retrieve information about a user’s applications. Developer Channel Services will need to be able to connect to the Management Server via HTTP or HTTPS, depending on your installation.

Information Required Before You Start the Install

Before starting the install, you must have the following information available:

  1. Which platform are you configuring: Red Hat or CentOS? If this is a Red Hat install, the machine must be registered on the Red Hat Network to download RPMs.
  2. Do you plan on installing MySQL on the local machine? Some HA installations require MySQL to be on a different machine than the one serving the portal web pages. If this is the case, do not install MySQL locally. If you want a simple install with everything on the same machine, then install MySQL locally.
  3. If you intend to access a remote MySQL server, the hostname, port, database name, username, and password of the remote MySQL server. The remote MySQL server should already be configured before you start the installation.
  4. What is the fully-qualified domain name of the web server? (This information will be added to /etc/hosts.) This should be an IP address or hostname, such as portalserver.example.com. The default value is localhost.
  5. Do you want to use Apigee’s default configuration for Apache’s virtual host? One virtual host is created with the hostname you've specified above in Step 7.
  6. There are three pieces of information that allow your portal to communicate with the Apigee Edge management server. This information is as follows:
    1. URL of the Apigee Management API Endpoint: This will be either a hostname or an IP address. This is the REST endpoint to which all calls are made to create apps and register developers for app keys. The default endpoint is https://api.enterprise.apigee.com/v1.

      For an Edge for Private Cloud installation, the URL is in the form:
      http://EdgeIp:8080/v1

      or:
      https://EdgeIp:SSLport/v1

      Where EdgeIp is the IP address of the Edge management server and SSLport is the SSL port for the Edge management API. For example, 8443.
    2. Apigee Organization name: There is a relationship between portals and Apigee Edge organizations. You will set up the default organization when you set up the Management API Endpoint. The default value is my-org.
    3. Username and password for the management API endpoint: The calls from the portal to Edge must be performed by an administrator for your organization.

      This username/password is for an administrator on your organization and should be used only for connecting to Edge from the portal. For example, if you specify the credentials of a user, and that user is ever deleted on Edge, then the portal will no longer be able to connect to Edge. Therefore, create an administrator on your organization just for this connection.

      For example:
      dc_devportal+ORGNAME@apigee.com:MyP@ssw0rd