Home
NexoPOS

Installation

Before starting the installation, make sure your domain is properly configured. You need an A record pointing your domain (e.g. pos.yourdomain.com) to your server’s IP address. Once DNS propagation is complete, you can proceed.

Configure the Web Server User

Ensure the web server user (www-data on Ubuntu) has proper access to the project directory. This avoids permission issues during and after installation.

sudo chown -R www-data:www-data /var/www && sudo chmod -R 755 /var/www

If you're installing in a custom directory, replace /var/www with your chosen path.

Create the NexoPOS Project

Navigate to the directory where you want to install NexoPOS and use Composer to create the project:

cd /var/www && composer create-project blair2004/nexopos nexopos --prefer-dist

Configure Nginx or Apache

Your web server must point to the /public directory of NexoPOS.

Nginx example:

server {
    listen 80;
    server_name pos.yourdomain.com;

    root /var/www/nexopos/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Apache example:

<VirtualHost *:80>
    ServerName pos.yourdomain.com
    DocumentRoot /var/www/nexopos/public

    <Directory /var/www/nexopos/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

After creating the configuration, enable it and reload your server:

# Nginx
sudo ln -s /etc/nginx/sites-available/nexopos /etc/nginx/sites-enabled/ && sudo systemctl reload nginx

# Apache
sudo a2ensite nexopos.conf && sudo systemctl reload apache2

Create the Database

Access MariaDB and create a database and user for NexoPOS:

sudo mysql -u root -p

Then run:

CREATE DATABASE nexopos;
CREATE USER 'nexopos_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON nexopos.* TO 'nexopos_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Finalize Files Permissions

Ensure storage and cache directories are writable:

sudo chown -R www-data:www-data /var/www/nexopos && \
sudo chmod -R 775 /var/www/nexopos/storage /var/www/nexopos/bootstrap/cache

Run the Installation Wizard

Open your browser and navigate to your domain:

http://pos.yourdomain.com

You’ll be guided through the installation wizard, where you will:

  • Provide database credentials
  • Configure application settings
  • Create the administrator account

Once completed, your NexoPOS instance will be ready to use.