Development Installation
Support Respond! You can support the development of Respond 6 by using our Digital Ocean referral Code. This helps us pay for hosting.
Are you ready to get started developing with Respond? Learn how to install Respond on a traditional LAMP deployment and setup UI development using the Angular CLI.
Quick Note: This installation process is built to enable fast development for Respond, and as such, assumes you have basic understanding of Laravel, PHP, and the Angular CLI. If these are new concepts, spend some time reading up on them before moving forward.
1. Create the directory structure for Respond
You create your directory structure by navigating to your web root and creating folders for Respond. You can also do this using a graphical tool (such as sFTP). Below we are creating the following structure: var/www/html/respond/app
. We are also adding a var/www/html/respond/app/public/sites
folder that will hold the sites and a var/www/html/respond/app/resources/sites
folder that will hold private data about your sites.
// go to your HTML root cd var/www/html // create the respond directory mkdir respond // switch directories cd respond // create a directory to hold the app and sites mkdir app // change to the app directory cd app
2. Pull the repository and add dependencies
Pull the repository into the app folder.
git clone https://github.com/madoublet/respond . // install front-end dependencies (angular, hashedit, etc) npm install // install composer (see https://getcomposer.org/download/) php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" // run composer to install PHP dependencies php composer.phar install --prefer-dist --no-dev// run gulp (this copies all the dependencies into their appropriate places) gulp
3. Make the sites directories
Make the folders that store the sites public and private data. This is typically done by making Apache the owner of the directory. You can also set read-write permissions (e.g. 755) on the folder. Contact your hosting provider about the correct permissions for writeable directories.
// make sites directory in app (app/public/sites) mkdir public/sites // make sites directory in app (app/resources/sites) mkdir resources/sites // make the directories writeable chown -R www-data public/sites chown -R www-data resources/sites
4. Setup env
Copy the env file. You can set this up later to specify email and other settings.
// switch to app directory cp .env.example .env
5. Map domains
We recommend you setup a domain for your application and a sub-domain (or domain) for each of your sites. This allows you to secure your application using https and provide nice URLs for sites created using the CMS. Domains are typically setup using DNS and your htdocs file. Refer to your hosting provider's documentation on setting up domains. For installs that will host multiple sites, we have created a guide for installing wildcard DNS based on our Digital Ocean setup.
.../respond .../respond/app/public -> https://app.myrespond.com .../respond/app/public/sites/mysite -> https://mysite.myrespond.com or https://app.myrespond.com/sites/my-site
6. Test installation
Navigate to https://app.myrespond.com/install (where app.myrespond.com is your installation URL) to test your installation.
7. Setup Respond UI
Setup front-end development for Respond using the Angular CLI. Get started here.