Skip to content

Instantly share code, notes, and snippets.

@nissicreative
Last active February 21, 2018 15:49
Show Gist options
  • Save nissicreative/ca66a90e0696c8b3550d52c322f7571a to your computer and use it in GitHub Desktop.
Save nissicreative/ca66a90e0696c8b3550d52c322f7571a to your computer and use it in GitHub Desktop.
Web Hosting Requirements and Considerations

Web Hosting

Required Components

  • 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

Recommended Components/Capabilities

  • NodeJS
  • Redis
  • Memcached
  • Beanstalkd
  • Supervisor
  • Ability to host multiple domains (i.e. staging and production)

Email Server

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.

Outgoing ("Transactional") Email Service

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment