Linux Server setup

Set up 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 now has a production-ready state and is ready to run web projects. Before we get to that, we will first set up a common development environment. The sources of various software are linked. The installation itself is not described in detail, only relevant special features are explained.

Type and extent of a development environment can vary strongly and depend usually on the project. The development environment has above all the purpose of optimizing the workflows in software creation and automating subtasks. It becomes particularly complex if programmers, data base engineers, graphic designers and editors develop an application together. It must also be taken into account that the various players may be working with 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 I present here will be a compilation of various free programs. It maybe more of a basic setup for web development.

Development Tools:

Version control

The version management or also called source code management should be absolutely integrated into the workflow. It can be used to create histories not only of program code, but also of folders and files in general. The version management software Git has proven particularly useful.

SFTP client

With a SFTP client the file system can be viewed from a remote server and of course files as well as folders can be transferred.

For file transfer via SFTP, FileZilla is quite suitable.

IDE and editor

A well-established IDE (Integrated Development Environment) forms the basis of any 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. The pondon on Mac is probably Sublime Text. The important thing is that the software can establish an SFTP connection, which is possible with both of them using an SFTP addon. By the way, these two programs are editors and not IDEs, even if they are often classified as such.

Database administration tool

Databases, locally or on remote servers, are most easily managed with database management software. These tools have a graphical interface, which facilitates the visualization and editing of 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.