- Linux server with SSH/SFTP access (prefer key authentication)
- Nginx or Apache Web Server
- MySQL >= 5.6 (or MariaDB)
- Ability to define web root directory and store files above web root
- PHP >= 7.1.3
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Git
- Composer
- NodeJS
- Redis
- Memcached
- Beanstalkd
- Supervisor
- Ability to host multiple domains (i.e. staging and production)
It is highly recommended to host your domain's email on a separate, dedicated platform such as Google’s G Suite, Rackspace, Office 365, or Zoho Mail.
In addition to sending/receiving personal email via your domain, the website itself may also generate "transactional" emails, such as contact form submissions, password reset instructions, or automated messages to site members or administrators.
Although these messages can theoretically be sent using the web server's built-in capabilities, it is highly recommended to utilize a third party transactional email services such as Mailgun, SparkPost, or Mandrill, as it increases deliverability, avoids "blacklisting" and provides a record of outbound message activity or deliverability issues.
It may also be necessary to modify your domain's DNS records in order to authenticate these services.