How to Install vTiger CRM with Nginx on Ubuntu 24.04
Installing vTiger CRM with Nginx on Ubuntu 24.04 gives you a self-hosted business tool to track sales leads, run marketing campaigns, and handle customer support. vTiger CRM is an open-source customer relationship management platform, and Nginx acts as the web server to process visitor traffic quickly on your Ubuntu 24.04 server.
This setup pairs a stable Linux base with a fast web server to keep all your customer data in one free, reliable place. The stack has four parts: Nginx serves the pages, PHP-FPM runs the vTiger code, MariaDB stores the data, and Let’s Encrypt secures the connection. Follow these steps in order to install and configure all of them on your server.
You need an Ubuntu 24.04 server, a user account with sudo rights, and an internet connection. A domain name pointing at the server is optional for testing, but you need one for the SSL step near the end.
Install vTiger CRM with Nginx on Ubuntu 24.04 by first installing the stack from the terminal: run sudo apt update and sudo apt install nginx, then sudo apt install mariadb-server for the database. Nginx serves the pages, PHP-FPM runs vTiger, MariaDB stores your data, and Let’s Encrypt adds SSL. You need a sudo user and, for SSL, a domain pointing at the server.
Install Nginx HTTP server on Ubuntu
You can install Nginx on Ubuntu 24.04 to serve web pages for your CRM by using the built-in package manager in your terminal. Open your terminal and run the commands sudo apt update and sudo apt install nginx to download and set up the web server on your system.
The first command refreshes the package list so Ubuntu pulls the current version of Nginx. The second installs the web server itself.
To do that, open the Ubuntu terminal and run the commands below to install the Nginx web server.
- Open the terminal on your Ubuntu server, or connect to it over SSH.
- Run the commands in the block below.
- Type Y and press Enter if apt asks you to confirm the download.
When the commands finish, Nginx is installed. On Ubuntu it usually starts on its own right after installation.
sudo apt update
sudo apt install nginx
Once Nginx is installed, the commands below can start, stop, and enable the Nginx web server to start automatically when your server boots up.
You only need the enable command once. It makes sure Nginx comes back after a reboot, so your CRM does not go offline when the server restarts. The stop and start commands are there for when you need to take the web server down briefly, for example during maintenance.
sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx
You can test the Nginx web server by opening your web browser and browsing to the server's localhost or IP address.
- Open a web browser on the server itself, or on any computer that can reach it.
- Type the address in the address bar. Use the address shown below if you are on the server, or the server's IP address if you are on another machine.
- Press Enter.
http://localhost

When you see the Welcome to nginx!, it means the Nginx HTTP server is successfully installed.
If something else, such as Apache, already uses port 80, Nginx cannot start until you stop that service.
Additional help on installing Nginx on Ubuntu is in the link below.
Install the MariaDB database server on Ubuntu
You can install MariaDB on Ubuntu 24.04 to store and manage all your CRM data securely by using the terminal package manager. Open your terminal and run the command sudo apt install mariadb-server to download and set up the database software on your machine.
To install and use the MariaDB database server, use the instructions below.
Open the Ubuntu terminal and run the commands below to install the MariaDB database server.
Confirm the download if apt asks. The install pulls in the server and its client tools.
sudo apt update sudo apt install mariadb-server
Once the MariaDB database server is installed, use the commands below to stop, start, and enable the MariaDB server to start automatically when the server boots.
As with Nginx, the enable command is the one that matters long term. Without it, the database stays down after a reboot and vTiger shows errors until you start it by hand.
sudo systemctl stop mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
Run the following commands to validate and test if the MariaDB database server is installed successfully.
These commands connect to the database and show you its version information. If the connection fails, the server is not running, so go back and check the start and enable commands.
sudo mariadb
Once you run the commands above, it will log you onto the MariaDB console and display a message similar to the one below.
Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 32 Server version: 10.11.2-MariaDB-1 Ubuntu 23.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
The message tells you that the server is installed successfully.
Leave the console by typing the exit command shown in your MariaDB prompt, or just keep it open if you are moving straight to the next section.
Additional help on installing MariaDB.
- How to install MariaDB on Ubuntu Linux
- MariaDB without password prompt
Create a vTiger database
You can create a new vTiger database and a dedicated user in MariaDB by logging into the database command line tool and running SQL queries. Access the database prompt using sudo mysql and run CREATE DATABASE vtigerdb; along with the required user permission commands.
A dedicated database and user keep vTiger separate from anything else on the server. If the vTiger account is ever compromised, it cannot touch other databases.
As part of the setup, we will create a vtigerdb database and a user account called vtigerdbuser.
Finally, we'll grant the vtigerdbuser full access to the vtigerdb database.
All the database steps above can be done using the commands below:
The sequence is: create the database, create the user with a password, grant that user full rights on the database, then reload the privileges so the change takes effect.
But first, log on to the MariaDB database server:
Run the login command in the block below. You should land at the MariaDB prompt, where SQL statements end with a semicolon.
sudo mariadb
Then run the commands below to complete the steps:
Paste or type them at the MariaDB prompt. Each statement should return a short confirmation, such as Query OK. An error here usually means a typo or a missing semicolon, so fix it before moving on.
CREATE DATABASE vtigerdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER vtigerdbuser@localhost IDENTIFIED BY 'type_your_password_here';
GRANT ALL ON vtigerdb.* TO vtigerdbuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Ensure to replace 'type_your_password_here 'with your password.
Pick a strong password and keep it somewhere safe. You will need it again, along with the database name vtigerdb and the user vtigerdbuser, when you run the vTiger web installer.
Install PHP-FPM on Ubuntu Linux
You can install PHP-FPM and all required PHP modules on Ubuntu 24.04 to process application code for your CRM by running a single apt command. Open your terminal and run sudo apt install php-fpm php-mysql php-curl php-cli php-zip php-xml php-gd to install everything at once.
Nginx does not run PHP itself. It hands PHP requests to PHP-FPM, which is why this package is needed. The extra modules cover database access, web requests, archives, XML, and image handling, which vTiger relies on.
Run the commands below to install PHP-FPM.
Ubuntu 24.04 installs PHP 8.3 by default. vTiger's installer checks the PHP version and a few PHP settings. If it reports a warning, check the vTiger release notes for the PHP versions it supports, and change any setting the installer names in your PHP configuration. Then restart PHP-FPM so the change takes effect.
sudo apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-json php-sqlite3 php-soap php-ldap php-zip
Additional help on installing PHP
Download vTiger files
You can download the latest vTiger CRM installation files directly from the official website and place them in your Nginx web root directory. Use the wget command to grab the archive file from the official download page and extract it to the correct folder on your server.
The download is a compressed archive, so you unpack it first and then copy the contents into a folder inside the Nginx web root.
To always install the latest version, check the vTiger's download page. If a new version is available, replace the version number in the link below.
First, navigate to the /tmp/ directory and download vTiger files. After unzipping the file, move the content into the vTiger folder in the Nginx root directory.
- Change to the /tmp directory.
- Download the vTiger archive with wget, using the link with the current version number.
- Unzip the archive.
- Move the extracted content into the vTiger folder in the Nginx root directory.
The commands for each of these actions are in the block below. After the move, the vTiger folder should contain the CRM files, including the installer's index.php file.
The final step is to change the permissions. This will allow the Nginx web server to interact safely with the files, ensuring a secure environment for your vTiger installation.
Nginx and PHP-FPM run as a web server account, not as your user. If they cannot read and write the vTiger files, the installer fails or cannot save its settings. Giving ownership to the web server account fixes that without opening the files to everyone.
cd /tmp
wget https://phoenixnap.dl.sourceforge.net/project/vtigercrm/vtiger%20CRM%208.2.0/Core%20Product/vtigercrm8.2.0.tar.gz
tar -xvf vtigercrm8.2.0.tar.gz
sudo mv vtigercrm /var/www/vtigercrm
sudo chown -R www-data:www-data /var/www/vtigercrm
Once you have completed all the above steps, continue configuring the Nginx web server below to serve the vTiger content.
Right now Nginx only knows about its default welcome page. A server block tells it where the vTiger files are and how to pass PHP requests to PHP-FPM.
Run the commands below to create an Nginx server block file for vTiger.
The command opens a new, empty file in a text editor. Keep it open for the next part.
sudo nano /etc/nginx/sites-available/vtigercrm.conf
Then, copy and paste the content block below into the Nginx server block.
Before you save, check the server name in the block. Replace it with your own domain name or the server's IP address. This is also the address you will type in the browser later. Make sure the PHP-FPM socket path in the block matches the PHP version installed on your server.
server {
listen 80;
listen [::]:80;
server_name vtigercrm.example.com www.vtigercrm.example.com;
root /var/www/vtigercrm;
index index.php;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
client_max_body_size 100M;
autoindex off;
location / {
index index.html index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}Save the file.
Then close the editor and return to the terminal prompt.
This action enables the vTiger CRM virtual host configuration and restarts the Nginx web server, ensuring that Nginx recognizes and serves your vTiger CRM installation. After completing these commands, you can proceed to access your vTiger CRM setup in a web browser.
If Nginx fails to restart, the cause is almost always a typo in the server block, such as a missing semicolon or a brace that does not close. Open the file again and compare it with the block above. To undo the change, remove the enabled link for the vTiger site and restart Nginx.
sudo ln -s /etc/nginx/sites-available/vtigercrm.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx.service
Setup Let's Encrypt SSL/TLS for vTiger
You can set up a free Let's Encrypt SSL certificate for Nginx on Ubuntu to secure your CRM login and data traffic. Install the Certbot tool using your terminal and run the command sudo certbot --nginx to automatically generate and configure your security certificate.
A CRM holds customer data and logins, so you should not run it over plain HTTP. Let's Encrypt only issues certificates for domain names, not bare IP addresses. Before you run Certbot, make sure your domain's DNS record points to this server and that ports 80 and 443 are reachable from the internet.
Please read the post below for additional resources on installing and creating Let's Encrypt SSL certificates for Nginx.
How to set up Let's Encrypt SSL certificate for Nginx on Ubuntu Linux
Once you have restarted the Nginx web server, open your browser and browse to the server hostname or IP address defined in the Nginx server block.
If you set up SSL, use the https:// address. If you see the Nginx welcome page instead of vTiger, the new server block is not active or the server name does not match what you typed.
http://vtiger.example.com
A vTiger installation wizard page should appear. Click Install to begin.
- Click Install on the welcome page.
- Read and accept the license agreement if the wizard asks, then continue.
The wizard then checks your server. If it lists a missing PHP module or a setting that is too low, fix it, restart PHP-FPM, and reload the page.

Next, enter the database name, database account, and password. Then, create an administrator account and continue.
- Enter vtigerdb as the database name.
- Enter vtigerdbuser as the database user, and the password you set earlier.
- Create the administrator account with a username, a strong password, and an email address.
- Continue to the next page.
If the wizard cannot connect to the database, recheck the name, user, and password for typos. Then confirm that MariaDB is running.

Confirm the setup info and continue.
Check the values on this summary page. Going back now is easier than fixing a wrong entry after the installation.

On the next screen, create a user account and complete the installation. Then, choose what vTiger CRM features you want to install and continue.
The feature choices are the industry modules or extras you want to start with. You can leave the defaults if you are not sure. The installation can take a few minutes, so do not close the browser tab while it runs.

Your vTiger site should be set up and ready to use.
Sign in with the administrator account you created. From here you can add users, import contacts, and start building your sales and support workflow.

That should do it!
Conclusion
You've now successfully installed vTiger CRM on Ubuntu 24.04 using Nginx! We covered setting up Nginx, MariaDB, and PHP-FPM, creating the vTiger database, downloading the files, and securing your site with Let's Encrypt. Following these steps ensures your vTiger CRM is up and running securely.
Keep Ubuntu and your packages up to date, and back up the vtigerdb database and the vTiger folder regularly so you can recover your customer data if something goes wrong.
Have a question about this guide?
Answered by AI from this guide. Good questions may be added to this page — please don't include personal details.
Did this guide fix your problem?
About the Author
Richard
Tech Writer, IT Professional
Richard is a writer at Geek Rewind who turns complex IT tasks into clear, step-by-step guides. He draws on years of hands-on experience in system administration and enterprise IT operations, focusing on Windows, Linux and WordPress: the problems people actually run into, and the fixes that work. His server and WordPress guides come from systems he runs himself. Richard builds and maintains the platform behind Geek Rewind, from its Ubuntu servers and Nginx configuration to its custom WordPress plugins. Many new tutorials start with readers' questions, and he's always glad to answer them in the comments.
No comments yet — be the first to share your thoughts!