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.