Note: # mean -> optional / Comment for a condition
sudo apt update
sudo apt install apache2
# sudo ufw app list
sudo ufw allow in " Apache"
# sudo ufw status
Install Default PHP. This command will install default with php plugins. after this no need to use other commands
sudo apt-get update
sudo apt install php libapache2-mod-php php-mysql
# sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt-get install -y php8.2-cli php8.2-common php8.2-fpm php8.2-mysql php8.2-zip php8.2-gd php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath
update-alternatives --config php
# OR
sudo update-alternatives --set php /usr/bin/php8.1
INSTALL MARIADB -> ( Install MARIADB Or MYSQL. not both)
sudo apt update
sudo apt install mariadb-server
sudo systemctl start mariadb.service
# sudo mysql_secure_installation
sudo apt install mysql-server
sudo systemctl start mysql.service
sudo mysql
# OR
mysql -u root -p
ALTER USER ' root' @' localhost' IDENTIFIED WITH mysql_native_password BY ' 12345' ; # 12345 is password
GRANT ALL ON * .* TO ' admin' @' localhost' IDENTIFIED BY ' 12345' WITH GRANT OPTION;
sudo apt install phpmyadmin
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo systemctl reload apache2.service
INSTALL COMPOSER GLOBALLY
# download
curl -sS https://getcomposer.org/installer | php
# composer.phar move to bin composer
sudo mv composer.phar /usr/local/bin/composer
# Permission bin/composer for Sudo
sudo chmod +x /usr/local/bin/composer