How to set up ftp, apache, php, mysql and more on your VPS

Started by dvdv, Mar 09, 2023, 08:01 AM

Previous topic - Next topic

dvdvTopic starter

I have a Debian installed on a remote hosting (VPS) and I intend to create a server for experimentation purposes while also allowing my friends to access a couple of web pages. Unfortunately, the information I found about how to install ftp, apache, php, mysql, phpmyadmin, git, and svn is not satisfactory as it's either outdated or vague, especially when it comes to network security such as firewall settings, ssh, access rights, and ensuring the server has all the functions of a normal provider.

Therefore, I am seeking more detailed and comprehensive instructions that explain what needs to be done and why. Additionally, I am curious about the meaning of "Nginx on the frontend" and would appreciate if someone could shed some light on this subject.

- Could you tell me more information about the advantages of Nginx on the frontend?


If you're in need of server setup, consider posting an announcement in the work section on this resource. There are many skilled admins available who can set up your server efficiently and give you guidance. In doing so, you can avoid spending countless hours trying to navigate manuals and trial-and-error methods. Instead, you can hire a professional for a day or two and rest assured that your server is in good hands. It's worth noting that hosting providers also offer similar services.


If you're unsure about the meaning of "Nginx on the frontend," it may be worth seeking out some literature to better understand the concept. What may seem unclear to you at first may actually be explained well in an existing manual, you just need to become familiar with the terms. Keep in mind that simply asking someone else to explain it may not be sufficient if you don't already have some background knowledge on the topic.


The documentation provided on is impressive, thanks to its user-friendly format and clear, step-by-step instructions accompanied by screenshots. What's more, it's all freely accessible and very stable--I've happily relied on it since the second version. If you're looking for guidance on how to set up and manage a control panel, this documentation is definitely worth checking out.


In the /usr/local/etc/httpd/conf directory, there are three configuration files that allow complete customization of the Apache server's functions. Once modified to fit specific requirements, the server can be started without any further configuration.

To access the configuration files, navigate to the directory /usr/local/etc/httpd/conf, which contains the three files with the .conf extension. It is recommended that these files are not edited directly, but rather copied with the following command: `$for I in *-dist do mycopy = ▒basename $i √ dist▓ cp $i $mycopy done`. The original distribution files should be preserved in case mistakes are made.

 The httpd.conf file contains the main technical description of the daemon, the srm.conf specifies the order of file provision, and the access.conf determines who has access to the server.

Before starting the server, it is necessary to make some configuration changes to the httpd.conf file. The Apache server offers numerous options, although only the most useful are listed in the configuration files. A full list of options can be found in the official documentation on the Apache server.

To modify the server configuration, open the httpd.conf file and change necessary lines according to the guidance provided. The only required line change is the one beginning with ⌠ServerAdmin■. By default, the ServerType is set to standalone, which creates a separate copy for each connection to optimize performance. The server running offline listens for connection requests and splits to service them until the copy finishes working and terminates. StartServers and MaxServers directives can customize this basic model.