theme-sticky-logo-alt
theme-logo-alt
apache2

Configuring Apache2 and PHP on a Fresh Installation

Introduction

Setting up Apache2 with PHP is essential for anyone looking to host a web server for applications and websites. Whether you’re setting up a local development environment or a production server, configuring Apache2 with PHP correctly is vital to ensure smooth performance and compatibility.

Prerequisites

  • A server running a Debian-based distribution such as Ubuntu.
  • A user account with sudo privileges.
  • Basic knowledge of the command line.

Step 1: Update the System

Before we begin, ensure your system’s package list is up-to-date to avoid any issues with outdated packages.

sudo apt update
sudo apt upgrade -y

This command updates the list of available packages and their versions and then upgrades any existing packages to their latest versions.

Step 2: Install Apache2

To install Apache2, run the following command:

sudo apt install apache2 -y

Once the installation is complete, check the status of Apache2 to ensure it is running:

sudo systemctl status apache2

You should see a message indicating that Apache2 is active and running.

Step 3: Adjust Firewall Settings

If your server uses ufw (Uncomplicated Firewall), you’ll need to allow HTTP and HTTPS traffic.

sudo ufw allow 'Apache Full'
sudo ufw reload

Verify that the firewall is active and the rules have been updated:

sudo ufw status

Step 4: Install PHP

Apache2 alone won’t be able to process PHP scripts; we need to install PHP and some commonly used PHP modules.

sudo apt install php libapache2-mod-php php-cli php-mbstring php-xml php-curl php-zip -y

Step 5: Test PHP Installation

To confirm that PHP is working, create a simple PHP file in the Apache document root:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Now, open your web browser and go to http://your_server_ip/info.php. You should see the PHP information page, confirming PHP is correctly installed and configured.

Important: Once you confirm PHP is working, remove the info.php file to avoid exposing sensitive information.

sudo rm /var/www/html/info.php

Step 6: Modify Apache2 Configuration (Optional)

By default, Apache2 uses index.html as the first file to serve. To prioritise index.php, modify the Apache configuration file.

  • Open the configuration file:
sudo nano /etc/apache2/mods-enabled/dir.conf
  • Move index.php to the front:
<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
  • Save and close the file (CTRL + X, then Y and Enter).
  • Restart Apache2 to apply the changes:
sudo systemctl restart apache2

Step 7: Verify Apache2 and PHP Configuration

Ensure everything is working correctly by creating and hosting a simple PHP file or accessing an existing PHP-based application.

This guide covered the essential steps for configuring Apache2 with PHP on a Debian-based server. By following these steps, you now have a basic web server environment ready to serve PHP applications.

Share:
PREVIOUS POST
How to Securely Disable Windows Remote Desktop Protocol (RDP) on Windows 10 and 11

0 Comment

LEAVE A REPLY

15 49.0138 8.38624 1 0 4000 1 https://lab53.uk 300 1