PartKeepr is an open-source inventory and parts management system aimed at providing a comprehensive and user-friendly platform for managing electronic components and parts. In this tutorial, we will guide you through the process of installing PartKeepr on POP! OS Latest.
Before we begin the installation process, make sure you have the following:
First, we need to install the required dependencies that are necessary for PartKeepr to run. Open the terminal and run the following command:
sudo apt-get update
sudo apt-get install -y php7.4-cli php7.4-intl php7.4-zip php7.4-gd php7.4-mbstring php7.4-xml mariadb-server mariadb-client nginx unzip cron
This command will update the package manager and install all the necessary packages required for PartKeepr.
Next, we need to download the latest version of PartKeepr from their official website. Open your web browser and navigate to https://www.partkeepr.org/download/. Download the latest stable version of PartKeepr.
Alternatively, you can use the following command in the terminal to download PartKeepr:
sudo wget https://github.com/partkeepr/PartKeepr/releases/download/0.1.0/PartKeepr-0.1.0.zip
Once the download is complete, navigate to the downloaded file and extract it. You can use the following command to extract the downloaded file:
sudo unzip PartKeepr-0.1.0.zip -d /var/www/
This command will extract the downloaded file to the /var/www/
directory.
Next, we need to create a database and a user for PartKeepr to use. Open the terminal and log in to your MySQL server with the following command:
sudo mysql -u root
Once you are logged in to the MySQL shell, create a database with the following command:
CREATE DATABASE partkeepr;
Next, create a user and grant access to the database with the following command:
CREATE USER 'partkeepr'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON partkeepr.* TO 'partkeepr'@'localhost' WITH GRANT OPTION;
Replace password
with a strong password.
We need to configure Nginx to serve PartKeepr. Open your text editor and create a configuration file at /etc/nginx/sites-available/partkeepr
.
Add the following content to the configuration file:
server {
listen 80;
listen [::]:80;
server_name localhost;
root /var/www/PartKeepr-0.1.0/web;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ ^/index\.php(/|$) {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APP_ENV prod;
fastcgi_param APP_DEBUG 0;
}
}
Save and close the file.
Next, create a symbolic link to the configuration file with the following command:
sudo ln -s /etc/nginx/sites-available/partkeepr /etc/nginx/sites-enabled/partkeepr
Finally, restart Nginx with the following command:
sudo systemctl restart nginx
We need to configure PartKeepr to use the database that we have created earlier. Open the terminal and navigate to the /var/www/PartKeepr-0.1.0
directory.
Rename the app/config/parameters.yml.dist
file to app/config/parameters.yml
:
sudo mv app/config/parameters.yml.dist app/config/parameters.yml
Next, open the app/config/parameters.yml
file in your editor and update the following:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_name: partkeepr
database_user: partkeepr
database_password: password
Replace password
with the password you created earlier.
Save and close the file.
Finally, we need to run the PartKeepr install script. Open your web browser and navigate to http://localhost/install
.
Follow the on-screen instructions to complete the installation process.
Once the installation is complete, remove the install
directory with the following command:
sudo rm -rf /var/www/PartKeepr-0.1.0/install
In this tutorial, we have shown you how to install PartKeepr on POP! OS Latest. You can now use PartKeepr to manage your electronic components and parts.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!