This guide provides comprehensive instructions for setting up the PrestaShop Enterprise Developer Tools on Ubuntu systems. Follow these steps carefully to ensure a proper installation and configuration.
Before installing the Enterprise Developer Tools, you’ll need:
Start by updating your system to ensure you have the latest packages and security updates.
Update package lists:
sudo apt update
Upgrade installed packages:
sudo apt upgrade -y
Install essential build tools (optional but recommended):
sudo apt install -y curl wget unzip build-essential
Docker is essential for containerizing the PrestaShop environments and managing dependencies.
Install Docker from Ubuntu repositories:
sudo apt install -y docker.io docker-compose-v2 docker-buildx-plugin
Start and enable Docker service:
sudo systemctl start docker
sudo systemctl enable docker
Verify Docker installation:
sudo docker --version
sudo docker run --rm hello-world
To run Docker commands without sudo, add your user to the docker group:
Add user to docker group:
sudo usermod -aG docker $USER
Apply group changes:
newgrp docker
Test Docker without sudo:
docker run --rm hello-world
For the latest Docker version with additional features:
Remove old Docker versions:
sudo apt remove -y docker docker-engine docker.io containerd runc
Install prerequisites:
sudo apt install -y ca-certificates curl gnupg lsb-release
Add Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Set up Docker repository:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install Docker Engine:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Git is required for source code management and accessing GitLab repositories.
Install Git:
sudo apt install -y git
Verify Git installation:
git --version
Configure Git (replace with your information):
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
Configure Git for better collaboration:
# Set default branch name
git config --global init.defaultBranch main
# Set pull behavior to rebase
git config --global pull.rebase true
# Enable credential helper
git config --global credential.helper store
SSH keys provide secure authentication to GitLab repositories without passwords.
Create SSH key pair:
ssh-keygen -t ed25519 -C "PC Ubuntu"
Configure the key generation:
/home/$USER/.ssh/id_ed25519)Your public key has been saved in /home/<username>/.ssh/id_ed25519.pub
Display the public key:
cat ~/.ssh/id_ed25519.pub
Copy the entire output to your clipboard
Login to GitLab:
Navigate to SSH Keys:
Add the new key:
Test GitLab SSH connection:
ssh -T git@git.hyperlane.co
Expected response: You should see a welcome message from GitLab confirming successful authentication.
SSH Agent: If you used a passphrase, consider setting up SSH agent to avoid entering it repeatedly:
# Start SSH agent
eval "$(ssh-agent -s)"
# Add your key to the agent
ssh-add ~/.ssh/id_ed25519
These tools can enhance your development experience:
Useful for some PrestaShop development tasks:
# Install Node.js LTS
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
# Verify installation
node --version
npm --version
For code editing and development:
# Download and install VS Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install -y code
Create and navigate to your working directory:
mkdir -p ~/prestashop-development
cd ~/prestashop-development
Download the binary:
wget "https://assets.prestashop3.com/enterprise/tools/ubuntu/ps-enterprise.zip"
Extract the files:
unzip ps-enterprise.zip
Clean up:
rm ps-enterprise.zip
Make executable and install system-wide:
chmod +x ps-enterprise
./ps-enterprise install
Restart your terminal or source your shell profile:
# For bash users
source ~/.bashrc
# For zsh users
source ~/.zshrc
Verify installation:
ps-enterprise -v
Navigate to your project directory:
cd ~/prestashop-development
# Or create a new project directory
mkdir MyPrestaShopProject && cd MyPrestaShopProject
Run the initial setup:
ps-enterprise
Web Authentication:
Complete authentication and return to the terminal
Project and Environment Selection:
Local Environment Configuration:
Check all components:
# Test ps-enterprise
ps-enterprise -v
# Test Docker
docker --version
docker run --rm hello-world
# Test Git
git --version
# Test Docker Compose
docker compose version
Verify SSH connection:
ssh -T git@git.hyperlane.co
You should see a welcome message from GitLab.
Test Docker permissions:
# This should work without sudo
docker ps
Problem: “Permission denied” when running Docker commands
# Solution: Ensure user is in docker group
sudo usermod -aG docker $USER
newgrp docker
# Or restart your session
logout
# Then log back in
Problem: “Docker daemon is not running”
# Solution: Start Docker service
sudo systemctl start docker
sudo systemctl enable docker
# Check status
sudo systemctl status docker
Problem: SSH connection to GitLab fails
# Check SSH agent
ssh-add -l
# Add key if needed
ssh-add ~/.ssh/id_ed25519
# Test with verbose output
ssh -vT git@git.hyperlane.co
Problem: “Host key verification failed”
# Add GitLab to known hosts
ssh-keyscan git.hyperlane.co >> ~/.ssh/known_hosts
Problem: Git authentication fails
# Configure Git credentials
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# Test Git over SSH
git clone git@git.hyperlane.co:path/to/test-repo.git
Problem: Cannot download packages or connect to repositories
# Check network connectivity
ping google.com
# Check DNS resolution
nslookup git.hyperlane.co
# Update package lists
sudo apt update
Increase file watchers limit (for development):
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Optimize Docker performance:
# Add to ~/.bashrc or ~/.zshrc
echo 'export DOCKER_BUILDKIT=1' >> ~/.bashrc
echo 'export COMPOSE_DOCKER_CLI_BUILD=1' >> ~/.bashrc
source ~/.bashrc
Configure memory limits for Docker:
# Edit Docker daemon configuration
sudo mkdir -p /etc/docker
echo '{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker
After successful installation and configuration:
ps-enterprise --help to see available commandsps-enterprise to clone and configure a shopIf you encounter issues:
Check system logs:
# Check Docker logs
sudo journalctl -u docker.service
# Check system logs
sudo journalctl -xe
Verify prerequisites: Ensure all components are properly installed
Restart services: Try restarting Docker and your terminal
Contact support: Reach out to your PrestaShop Enterprise support team
Quick reference for common troubleshooting commands:
# System information
uname -a
lsb_release -a
# Docker information
docker info
docker system df
# Network connectivity
ping -c 4 git.hyperlane.co
curl -I https://assets.prestashop3.com
# Process information
ps aux | grep docker
ps aux | grep ps-enterprise
# File permissions
ls -la ~/.ssh/
ls -la /var/run/docker.sock
You now have a complete Ubuntu development environment for PrestaShop Enterprise development. The setup includes:
Your Ubuntu machine is ready for PrestaShop Enterprise development!