Hint: You can use the Tab key to autocomplete all filenames and directories, so you don't have to type in the complete file or directory name manually.

Important: This tutorial is for Debian 8. However, if you use Debian 9 or 10 (latest Debian version), you'll find the appropriate tutorial for Debian 9/10 here.

This tutorial was last checked and updated on October 6, 2019.

Are you looking for very good, powerful and cheap servers? I've been renting my servers at Contabo for 6 years now and I can highly recommend Contabo to everyone!
  1. If you havn't already done so, download the program "PuTTY".
  2. Connect to your root server or VPS/vServer via SSH using PuTTY. To do this, open PuTTY and enter the domain or IP address of your server in the text box named "Host Name (or IP address)". Then click the "OK" button below.
  3. Update your package lists with the command apt update.
  4. Now install any available updates of the packages already installed on your server using the command apt upgrade -y.
  5. Next, install the packages needed for future installations in this tutorial by executing the following command: apt install ca-certificates apt-transport-https lsb-release curl nano unzip -y
  6. Use the command wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - to add the key needed for the PHP repository.
  7. Add the repository needed to install PHP 7.3 by executing the command echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list. PHP 7.3 is not yet available through the official repositories.
  8. Now update your package lists again with the command apt update.
  9. Install the Apache2 web server and other required packages with the following command: apt install apache2 -y
  10. Install PHP 7.3 and some important PHP modules. The command for this is: apt install php7.3 php7.3-cli php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-readline php7.3-xml php7.3-xsl php7.3-zip php7.3-bz2 libapache2-mod-php7.3 -y
  11. Next, install the MySQL server and client using the command apt install mysql-server mysql-client -y. During the installation you have to set a password for the MySQL user "root".
  12. Restart the Apache2 server by executing the command systemctl restart apache2. Now both the Apache2 web server including PHP 7.3 and the MySQL server are ready for use. By default, the web directory is "/var/www/html".
  13. Go to the directory where phpMyAdmin will be installed using the command cd /usr/share.
  14. To download phpMyAdmin, execute the command wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip.
  15. Then unzip the archive you just downloaded by executing this command: unzip phpmyadmin.zip
  16. Remove the downloaded archive, which is already unzipped, with the command rm phpmyadmin.zip.
  17. Now you have to rename the directory to "phpmyadmin". Use this command: mv phpMyAdmin-*-all-languages phpmyadmin
  18. After that, assign the required permissions to the phpMyAdmin directory using the command chmod -R 0755 phpmyadmin.
  19. Now create an Apache2 configuration file for phpMyAdmin by executing the command nano /etc/apache2/conf-available/phpmyadmin.conf.
  20. Add the following content to this configuration file:
    # phpMyAdmin Apache configuration

    Alias /phpmyadmin /usr/share/phpmyadmin

    <Directory /usr/share/phpmyadmin>
        Options SymLinksIfOwnerMatch
        DirectoryIndex index.php
    </Directory>

    # Disallow web access to directories that don't need it
    <Directory /usr/share/phpmyadmin/templates>
        Require all denied
    </Directory>
    <Directory /usr/share/phpmyadmin/libraries>
        Require all denied
    </Directory>
    <Directory /usr/share/phpmyadmin/setup/lib>
        Require all denied
    </Directory>
  21. Save your changes to the configuration by pressing CTRL + X, then hit the "Y" key followed by enter.
  22. Activate the Apache2 configuration file you just added with the command a2enconf phpmyadmin and then execute the command systemctl reload apache2 to reload the Apache2 web server.
  23. Create the temporary directory that phpMyAdmin needs by running the command mkdir /usr/share/phpmyadmin/tmp/.
  24. Now assign the required owner permissions for this temporary directory to the web server user with the command chown -R www-data:www-data /usr/share/phpmyadmin/tmp/.
  25. Your Apache2 web server including PHP 7.3, the MySQL server and phpMyAdmin is now ready to use. You can access the phpMyAdmin web interface in your web browser by appending "/phpmyadmin" to the IP address or domain of your server. There you can log in with the MySQL username "root" and the password you chose during the MySQL server installation.