Web application deployment
In AppCode, you can deploy a web application you are working with onto a remote server.
Interaction between AppCode and servers
Interaction between AppCode and servers is controlled through server access configurations. Anytime you are going to use a server, you need to define a server access configuration, no matter whether your server is on a remote host or on your computer.
Taking into account all the above, let's define the following basic concepts related to synchronization between AppCode and servers.
In the in-place server configuration, the web server is running on your computer, your project is under its document root (for example, in the /htdocs folder), and you do your development directly on the server.
The document root of an in-place server is the parent of the project root, either immediate or not. The document root is the web root or website root directory. Usually, it is the publicly-accessible base folder for a website.
In the local server configuration, you do your development, then copy the sources to the server.
A local server is a server that is running in a local or a mounted folder and whose document root is NOT the parent of the project root.
In the remote server configuration, a server runs on another computer (a remote host). To access files on the server, use FTP/SFTP/FTPS protocols.
- The server configuration root is the highest folder in the file tree on the local or remote server accessible through the server configuration. For in-place servers, it is the project root.
A local file/folder is any file or folder under the project root.
A remote file/folder is any file or folder on the server.
Upload is copying data from the project TO the server, either local or remote.
Download is copying data FROM the server to the project.
After you have configured synchronization with a server, you can upload, download, and manage files on it directly from AppCode. Moreover, you can suppress uploading or downloading specific files or entire folders. Finally, you can optimize you workflow by configuring content roots so specific folders are not involved in indexing, which significantly saves project indexing time.
Synchronization with servers, uploading, downloading, and managing files on them are provided via the FTP/SFTP Connectivity bundled plugin, which is by default enabled. If the plugin is disabled, activate it in the Plugins page of the Preferences dialog. For details, see Manage plugins.