====== Build a LAMP Web Server with WordPress ======

Learn to set up a LAMP (Linux, Apache, MySQL, PHP) stack on your Raspberry Pi and configure it to work as a web server.

  *     Install software on your Raspberry Pi
  *     Install and configure Apache, PHP, and MySQL to create a LAMP web server

===== Set up an Apache web server =====

Type the following command into the terminal and press Enter to install apache2

    sudo apt install apache2 -y
    
===== Install PHP =====

PHP is a preprocessor: it’s code that runs when the server receives a request for a web page via a web browser. It works out what needs to be shown on the page, and then sends that page to the browser.

Type the following command in the terminal to install PHP:

    sudo apt install php -y

==== Test PHP ====

Type this command to delete the index.html file from earlier:

    sudo rm index.html

Create a new file called index.php:

    sudo nano index.php

In the nano code editor, type this PHP code into the file and save it.

    <?php echo "hello world"; ?>

Refresh your browser. You should see “hello world”. This page is not dynamic, but it is still served by PHP.

===== Install MariaDB =====


MariaDB is a popular database engine. Like PHP, it’s widely used on web servers, which is why projects like WordPress use it, and why those projects are so popular.

Type this command to install the MariaDB Server and PHP-MySQL packages:

    sudo apt install mariadb-server php-mysql -y

Now restart Apache:

    sudo service apache2 restart

==== Set up ====


Run the MySQL secure installation command in the terminal window.

    sudo mysql_secure_installation

Go through the setup wizard :



  * Enter current password for root (enter for none): — press Enter.
  * 
  * Switch to unix_socket authentication [Y/n] - Type in N and press Enter
  * 
  * Change the root password? - Type in Y and press Enter
  * 
  * New password: - Type in a password and press Enter, then repeat a second time. Important: remember this root password, as you will need it later to set up WordPress.
  * 
  *     Remove anonymous users - Type in Y
  * 
  *     Disallow root login remotely - Type in Y
  * 
  *     Remove test database and access to it - Type in Y
  * 
  *     Reload privilege tables now - Type in Y
 

 
    