Standard Installation

This assumes you already have a machine with PHP v8.1 and a SQL database engine installed. If not, please refer to the Vanilla Ubuntu Installation guide to setup a fresh Ubuntu instance with all necessary dependencies. Installation of Apex is quite simple and should only take a few minutes.

Pre-Requisites

Apex requires a Linux machine with the following:

  • PHP v8.1 with the extensions: pdo, openssl, curl, mbstring, redis, gd, zip.
  • One clean mySQL v8.0+, PostgreSQL or SQLite database.
  • redis v5.0+
  • subversion v1.1+
  • composer v2.0+
  • SSH / terminal access

Installation

You may install Apex by running the following terminal commands:

composer create-project apex/apex
cd apex
./apex

This will begin the installation wizard which will ask for your domain name, redis and SQL database connection information. Upon completing the prompts, Apex will be fully installed and ready to use.

URL Rewriting

If using Apache, ensure the AllowOverride All directive within your virtual host is set, and the /public/.htaccess file should handle the rewrites correctly. If using Nginx, you will need to slightly modify the server configuration. Within the location { } directive for your virtual host, add the line:

try_files $uri $uri/ /index.php?$query_string;

Install Packages

Once Apex is installed, you will most likely wish to install some packages such as the webapp and users packages to provide an administration panel and user management. You may browse all available packages at https://code.apexpl.io/ or can search for packages via the CLI command:

apex package search <TERM>

This will display any available packages that match the specified term. You may then install any desired packages via the CLI command such as:

apex install webapp users

This will install the webapp and users packages on the local machine. For all packages not developed by Apex, you will need to include the author's username with the install command, such as:

apex install username/package

Import Account

If you have an existing Apex account you may import it with the command:

apex account import

Enter your Apex username and password, then follow the prompts to import your existing account onto the local machine. Once imported, you will have full access to all necessary commercial and private packages, and will be able to checkout and commit to any repositores you have write access to.

Alteratively, you may run the installer with the --import flag, and immediately after installation it will prompt you to import your account, for example:

./apex --import

Start Developing

Check out the Guides section for easy to follow guides to help you get started with Apex. The Develop Your First Package guide is an excellent starting point if you're new to Apex. If you ever have any questions or issues, feel free to ask on the /r/apexpl sub Reddit.