Exported on 28-Sep-2021 12:54:21
Parameters
1 - Install Prerequisite For Rhel
We will being by installing epel-release respository for this automation task. This makes Nginx package available to be installed by Yum.
Login as user {Linux User} on node {Linux Node}
# Update yum repository
sudo yum -y update
# Install epel repository
sudo yum -y install epel-release
2 - Install Nginx Web Server
This step installs Nginx web server and configures it to launch at system reboot. Nginx is a light weight web server used in production by Enterprises.
Login as user {Linux User} on node {Linux Node}
# Install dependencies for Rhel
sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/gperftools-libs-2.6.1-1.el7.x86_64.rpm
#Install nginx
sudo yum -y install nginx
# Start nginx server
sudo systemctl start nginx
# Enable nginx server
sudo systemctl enable nginx
3 - Install MySQL Server
Installs MySQL database server
Login as user {Linux User} on node {Linux Node}
# Download MySQL server rpm
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# Install MySQL Server rpm
sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm
# Download and start mysql server
sudo yum -y install mysql-server
4 - Install PHP v7.4 and FPM
Installs PHP version 7.4 and PHP-FPM package which is used as the php interpreter for Nginx.
Login as user {server_credential} on node {server_host}
# Install PHP remi repository
sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# Enable remi repository
sudo yum-config-manager --enable remi-php74
#Install dependencies
sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/apr-1.4.8-7.el7.x86_64.rpm
sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/mailcap-2.1.41-2.el7.noarch.rpm
sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/httpd-tools-2.4.6-95.el7.centos.x86_64.rpm
sudo yum -y install http://mirror.centos.org/centos/7/os/x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm
# Install requiered php plugins
sudo yum -y install php php-mysqlnd php-fpm
# Starts php-fpm service
sudo systemctl start php-fpm
# Configures php-fpm to launch at reboot
sudo systemctl enable php-fpm
# Start nginx
sudo systemctl start nginx
5 - Upload Nginx Config File
Uploads PHP configuration file, this enable nginx to support php execution with the help of php-fpm socket.
Login as user {Linux User} on node {Linux Node}
6 - Uploads php-fpm configuration file
Uploads php-fpm configuration files, this sets correct FPM parameters for the LEMP stack environment.
Login as user {Linux User} on node {Linux Node}
7 - Configure Firewall To Allow HTTP Traffic
Allows port 80 for HTTP traffic on the target machine
Login as user {Linux User} on node {Linux Node}
# Add firewall rule
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# Reload firewall
sudo firewall-cmd --reload
8 - Restart Nginx & Verify PHP installation
Finally, move the configuration files to their respective directories and restart the servers. To test that PHP is working fine with Nginx, a info.php file is created in the root directory of the server.
Visit http://YOUR_IP/info.php
, once this step has been completed to verify the installation.
Login as user {Linux User} on node {Linux Node}
# Replace nginx default config file
sudo cp ~/uploads/nginx.conf /etc/nginx/nginx.conf
# Replace fpm configuration file
sudo cp ~/uploads/www.conf /etc/php-fpm.d/www.conf
# Restart nginx and fpm
sudo service nginx restart
sudo service php-fpm restart
# Creates info.php file
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
Install LEMP (Linux, Nginx, MySQL and PHP) On Red Hat Server With AttuneOps
This Blueprint Install LEMP Stack Components On A Red Hat Server And Creates A PHP Info File To Verify The Installation
LEMP is a variation of the ubiquitous LAMP stack used for developing and deploying web applications. While LAMP uses Apache as WebServer, its alternative Nginx is used with LEMP stack. LEMP stack consists of the following technologies.
Linux The Linux® kernel is the main component of a Linux operating system (OS) and is the core interface between a computer's hardware and its processes. Linux provides the base for LEMP stack components, and makes installing the desired applications easy. Most common used Linux distributions are Ubuntu and Debian. Other available Linux distributions are CentOS, RedHat, OpenSuse, and Fedora etc.
Nginx Nginx is an open source reverse proxy server. It is used to enable HTTP, HTTPS, SMTP, POP3, and IMAP protocols over a network. Nginx can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. It is main alternative and competitor to Apache Web Server. NGINX Plus is an application delivery platform built on NGINX, an open-source web server and reverse proxy for high-traffic sites.
PHP PHP is a general-purpose and server-side scripting language that is especially suited for web development. PHP originally stood for Personal Home Page. It was later changed to Hypertext Preprocessor. PHP runs on all major operating systems including Windows, Linux and macOS. PHP supports a wide range of databases, like MySQL, PostgreSQL, MS SQL, db2, Oracle Database, and MongoDB. LEMP stack utilises MYSQL as the database with PHP.
MySQL MySQL is a Relational Database Management System, it is available as a open-source software under the terms of General Public License. MySQL is backed and maintained by Oracle. MySQL runs on all major operating systems and is easy to setup and uses Structured Query Language (SQL).
Pre-Blueprint Attune setup