Linux Server setup

Set up a local development environment

Part 3 of the “Linux Web Server” tutorial.

After working through the two tutorials Setting up a Linux web server (Part 1) and Installing Databases (Part 2), our server is ready to run web projects in production. Before doing so, we will set up a practical development environment. Links to the software are provided. The installation process itself is only described where additional guidance is useful.

The scope of a development environment varies depending on the project. Its main purpose is to streamline software-development workflows and automate individual tasks. It becomes particularly complex if programmers, database engineers, graphic designers and editors develop an application together. The team members may also use different operating systems.

As a rule, software developers use integrated development environments (IDE) or editors whose range of functions can be increased with extensions.

The development environment presented here combines several free programs and provides a basic setup for web development.

Development tools


Version control

Version control, also known as source code management, should be an integral part of the workflow. It records the history of source code as well as other files and folders. The version management software Git has proven particularly useful.


SFTP client

An SFTP client lets you browse a remote server’s file system and transfer files and folders.

For SFTP file transfers, FileZilla is a good choice.


IDE and editor

A well-configured editor or IDE (integrated development environment) forms the basis of a development environment. Usually, the program code on the server is synchronized with the local files during programming. So it is also possible to work offline and transfer the finished work to the server at a later time.

I like to work with Visual Studio Code. An alternative on macOS is Sublime Text. Both programs can establish an SFTP connection by using an extension. Both programs are editors rather than IDEs, although they are often described as IDEs.


Database administration tool

Databases, locally or on remote servers, are most easily managed with database management software. These tools provide a graphical interface for viewing and editing databases, tables and records. Auto-completion and syntax correction are only a fraction of the assistance that such software offers.

For relational databases like MySQL there is MySQL Workbench, for PostgreSQL pgAdmin and for NoSQL databases like MongoDB Compass.