Explore information related to nginx


Deploy Modsecurity with Nginx on Ubuntu 20.04 LTS

This article covers how we can install Modsecurity on an ubuntu server that already has pre-installed Nginx on it. In fact, the ModSecurity engine is deployed in front of the web application, allowing the engine to scan the incoming and outgoing HTTP connections. ModSecurity is most commonly used in conjunction with the OWASP Core Rule Set (CRS), an open-source set of rules written in ModSecurity's SecRules language and is highly regarded among the security industry.


OWASP Rule Set with ModSecurity can almost instantly help protect your server against:

  • Bad user agents
  • DDOS
  • Cross website scripting
  • SQL injection
  • Session hijacking
  • Other Threats

Read More



Install NGINX on openSUSE - Step by step guide ?

This article covers how you can easily install Nginx on your openSUSE system. In fact, Nginx or engine x is a high-performance HTTP- and proxy server with low memory consumption. It is used by large scale websites like Netflix, Pinterest, CloudFlare , Github etc. Nginx has an easy to learn configuration syntax and can act also as a load balancer with health checks and reverse proxy with caching features.


You can Install Nginx with the "zypper in" command:

$ zypper in nginx

Start nginx and enable it to be started at boot time:

$ systemctl start nginx
$ systemctl enable nginx

Read More



Install Nginx on Ubuntu 20.04 LTS Using Source Code - Step by step guide ?

This article covers how you can easily install Nginx on your Ubuntu server. In fact, Nginx is used for security and load-balancing, but can also function independently as a web server. 

It was created on 4 October 2004 by Russian developer Igor Sysoev as he was frustrated with Apache web server and wanted to build a replacement capable of handling 10,000 concurrent connections with a focus on performance, high concurrency, and low memory usages.


How to Enable NGINX on Boot ?

So to enable start-up on boot, run this command:

$ systemctl enable nginx

So we get confirmation of a start-up, symlink being created for this service.

Read More



Set up Nginx as Reverse Proxy on Ubuntu 20.04 - Step by step guide ?

This article covers how you can easily configure the Nginx Web server as a reverse proxy by adding a configuration file. In fact, By doing this, you can protect your main server against different cyberattacks or you can utilize it to balance the load of incoming heavy traffic.

Read More



Install Open Source osTicket on Ubuntu 20.04 - Step by Step guide ?

This article covers how to install the osTicket open source ticket system on Ubuntu 20.04 LTS Focal Fossa system. In fact, OsTicket allows you to manage, organize and archive your support request. It seamlessly routes inquiries created via email, web-forms, and phone calls into a simple, easy-to-use, multi-user, web-based customer support platform.


How to install osTicket with Nginx on Ubuntu ?

1. Update the system

First, log in to your server with sudo privileges and update the system with the latest stable version using the following command:

$ sudo apt update &&  sudo apt upgrade -y


2. Install LEMP Server

OsTicket requires Web server, PHP and Database Server to be installed on your server.

i. Install Nginx Web Server

You can install Nginx web server by the following command:

$ sudo apt install nginx -y

Now let's check Nginx service and To start the service manually, run the following commands:

$ sudo systemctl status nginx
$ sudo systemctl start nginx

Now enable nginx service to start at boot time by running the following command:

$ sudo systemctl enable nginx

ii. Install PHP and PHP-FPM

Next, you need to install PHP, PHP-FPM and some additional PHP modules which are required for OsTicket to run properly:

$ sudo apt install php php-mysql php-cgi php-fpm php-cli php-curl php-gd php-imap php-mbstring php-xml-util php-intl php-apcu php-common php-gettext php-bcmath

Above command will install php-7.2

Now edit php.ini file by running following command in terminal.

$ sudo vim /etc/php/7.2/fpm/php.ini

Uncomment cgi.fix_pathinfo variable and change its value to 0

cgi.fix_pathinfo=0

Now save and close the file.

Next, restart php7.2-fpm service and enable it at startup using the following command:

$ sudo systemctl restart php7.2-fpm
$ sudo systemctl enable php7.2-fpm

iii. Install and Configure MySQL Database server for OsTicket

From your terminal window, issue the following command to install the MySQL database server:

$ sudo apt install mysql-server

Now start MySQL service and enable it to start at boot time then check MySQL service status with the following command:-

$ sudo systemctl start mysql
$ sudo systemctl enable mysql
$ sudo systemctl status mysql

Next, secure MySQL installation with the following command:

$ sudo mysql_secure_installation

Answer all the questions as below:

Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Next, log in to MySQL console as shown below:

$ sudo mysql -u root -p

Enter your Root password here.

Now you need to create the database for osTicket

run following command:

$ mysql> create database osticket_db;
$ mysql> grant all privileges on osticket_db.* to osticket_user identified by 'OsTicketPassw0rd@19';
$ mysql> flush privileges;


3. Download and Configure osTicket

Create a new directory for osTicket and then go to that directory:

$ sudo mkdir -p /var/www/osticket/
$ cd /var/www/osticket/

Next download latest osTicket setup using wget and Extract it using the following command:-

$ sudo apt-get install wget unzip
$ sudo wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
$ sudo unzip osTicket-v1.14.1.zip

You will get scripts and upload directory after extracting.

Next create an osTicket configuration file from ost-sampleconfig.php file using the following command:

$ sudo su -
$ cd upload/
$ cp ost-sampleconfig.php ost-config.php

Next, you need to change ownership of the osTicket web directory to the 'www-data' user and group.

$ sudo chown -R www-data:www-data /var/www/osticket/


4. Create OsTicket Virtual Host

Now create new virtual host configuration for OsTicket by running following command:

$ sudo vim /etc/nginx/sites-available/osticket.conf

Paste the configuration as below:

server {
listen 80;
server_name 13.52.217.10;   ## change server_name as per your domain name.
root /var/www/osticket/upload;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php index.html index.htm;

# Enable gzip
gzip on;
gzip_min_length 1000;
gzip_types text/plain application/x-javascript text/xml text/css application/xml;
set $path_info "";
location ~ /include {
deny all;
return 403;
}
if ($request_uri ~ "^/api(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/api/(?:tickets|tasks).*$ {
try_files $uri $uri/ /api/http.php?$query_string;
}
if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/scp/ajax.php/.*$ {
try_files $uri $uri/ /scp/ajax.php?$query_string;
}
location / {
try_files $uri $uri/ index.php;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}

Here, You need to change server_name 13.52.217.10 as per your domain name.

Save the Nginx configuration file and exit.

Now activate the virtual host and test the configuration:

$ ln -s /etc/nginx/sites-available/osticket.conf /etc/nginx/sites-enabled/
$ nginx -t

Now restart nginx service:

$ sudo systemctl restart nginx


5. Install and configure osTicket

Now let's enter your domain name to get osTicket UI in any web browser.

Next Click on 'Continue' and you will be redirected to the osTicket configuration section.

Fill all required information and click “Install Now” button.

In the database settings, enter details as dbname, username, and password you have created during mysql setup.

Finally, Click on Install Now button

Next, change the permission of ost-config.php to remove write access by running the following command:

$ cd /var/www/osticket/upload/
$ chmod 0644 include/ost-config.php

For osTicket admin type your IP/domain name in the web browser.

For admin login/agent panel/Admin panel configuration type as following:

  • osTicket admin login - http://yourdomainname/scp/
  • osTicket agent panel - http://yourdomainname/scp/index.php
  • osTicket Admin panel configuration - http://yourdomainname/scp/settings.php

Read More



Install LibreNMS on Ubuntu 20.04 LTS using Nginx - Step by step guide ?

This article covers the process of installing LibreNMS on your Ubuntu 20.04 LTS Focal Fossa system. In fact, LibreNms works and supports protocols such as SNMP, LLDP, OSPF, ARP, CDP, BGP and FDP to auto-discover the network.  You can also use LibreNms to monitor many network hardware (such as Cisco, Juniper, Foundry, FreeBSD, Brocade) and even operating systems such as Windows, Linux, and FreeBSD.

Read More




For Linux Tutorials

We create Linux HowTos and Tutorials for Sys Admins. Visit us on LinuxAPT.com

Also for Tech related tips, Visit forum.outsourcepath.com or General Technical tips on www.outsourcepath.com