LAMP Break Down
The below command can be broken down into multiple steps as follows:
sudo apt update && sudo apt install apache2 php libapache2-mod-php phpmyadmin php-mbstring php-zip php-gd php-json php-curl php-mysql mysql-server -y && sudo service apache2 restart && sudo systemctl enable apache2 && sudo ufw app info "Apache Full" && sudo ln -sf /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf && sudo a2enconf phpmyadmin && sudo service apache2 restart && echo '<?php phpinfo(); ?>' | sudo tee /var/www/html/info.php && sudo chmod -R 755 /var/www/html && sudo find /var/www/html -type f -exec chmod 644 {} \; && echo "Successfully installed the required packages and configured Apache."
Step 1: Update package repositories
sudo apt update
This command updates the package repositories on the system, ensuring that the latest package information is available.
Step 2: Install required packages
sudo apt install apache2 php libapache2-mod-php phpmyadmin php-mbstring php-zip php-gd php-json php-curl php-mysql mysql-server -y
This command installs the required packages, including Apache2, PHP, phpMyAdmin, and other necessary PHP extensions and modules. The `-y` flag is used to automatically answer "yes" to any prompts during the installation process.
Step 3: Restart Apache service
sudo service apache2 restart
This command restarts the Apache web server to apply the configuration changes and make sure the changes take effect.
Step 4: Enable Apache service on system startup
sudo systemctl enable apache2
This command enables the Apache service to start automatically when the system boots up.
Step 5: Retrieve information about Apache Full application profile in UFW
sudo ufw app info "Apache Full"
This command provides information about the Apache Full application profile in UFW (Uncomplicated Firewall).
Step 6: Create a symbolic link for phpMyAdmin configuration in Apache
sudo ln -sf /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
This command creates a symbolic link between the phpMyAdmin configuration file and the Apache configuration directory.
Step 7: Enable phpMyAdmin configuration in Apache
sudo a2enconf phpmyadmin
This command enables the phpMyAdmin configuration in Apache by creating a symbolic link to it in the `conf-enabled` directory.
Step 8: Restart Apache service again
sudo service apache2 restart
This command restarts the Apache web server to apply the updated configuration.
Step 9: Create a PHP information file
echo '<?php phpinfo(); ?>' | sudo tee /var/www/html/info.php
This command creates a new PHP file named `info.php` in the `/var/www/html` directory with the `phpinfo()` function to display PHP configuration information.
Step 10: Set file permissions for the web server
sudo chmod -R 755 /var/www/html && sudo find /var/www/html -type f -exec chmod 644 {} \;
This command sets the file permissions for the web server directory `/var/www/html` and its files to ensure proper access and security.
Each step contributes to the overall process of installing Apache, PHP, phpMyAdmin, and configuring the web server environment.