Manual installation
Linux
Debian
31min
installing passwork on following os debian 11 debian 12 on this page you can switch between blocks of code to view the commands applicable to your version of ubuntu 1\ minimum system requirements passwork is not resource heavy how much disk space, ram and cpu power you will need depends on the number of active users, the amount of stored data, and your requirements for fault tolerance see the technical requirements docid 0qxzmsecr2kfjk3wtcqub if your server has 2 4 gb of ram, we recommend enabling the enabling swap file on linux docid 4bakilpetuhwcwxyd6vjf file 2\ steps before installation switch to root and update the local packages bash sudo i apt get update then, install web server apache2 and curl data transfer tool bash apt get install y apache2 unzip curl zip jq 3\ installing php install packages for https repositories bash apt get install y apt transport https lsb release ca certificates download and save the gpg key of the php repository bash wget o /etc/apt/trusted gpg d/php gpg https //packages sury org/php/apt gpg add the php repository to the apt sources list echo "deb https //packages sury org/php/ $(lsb release sc) main" > /etc/apt/sources list d/php list update the local packages and repositories apt get update install php and its extensions apt install y php8 3 cli php8 3 bcmath php8 3 fpm php8 3 curl php8 3 gd php8 3 intl php8 3 ldap php8 3 mbstring php8 3 mysql php8 3 opcache php8 3 pgsql php8 3 soap php8 3 zip php8 3 sqlite3 php8 3 xml php8 3 dev php pear make sure the php8 3 fpm service is up and running systemctl status php8 3 fpm start and activate the autorun service if it is stopped systemctl start php8 3 fpm systemctl enable php8 3 fpm 3 1 installing a php mongodb driver install a php mongodb driver pecl install mongodb create configuration files for php mongodb startup and activation echo "extension=mongodb so" | tee /etc/php/8 3/fpm/conf d/20 mongodb ini echo "extension=mongodb so" | tee /etc/php/8 3/cli/conf d/20 mongodb ini 4\ installing mongodb database download and add the mongodb gpg key debian 12 curl fssl https //www mongodb org/static/pgp/server 7 0 asc | gpg o /usr/share/keyrings/mongodb server 7 0 gpg dearmor debian 11 wget qo https //www mongodb org/static/pgp/server 6 0 asc | sudo apt key add add the mongodb repository into the file debian 12 echo "deb \[ signed by=/usr/share/keyrings/mongodb server 7 0 gpg ] http //repo mongodb org/apt/debian bookworm/mongodb org/7 0 main" | tee /etc/apt/sources list d/mongodb org 7 0 list debian 11 echo "deb http //repo mongodb org/apt/debian buster/mongodb org/6 0 main" | sudo tee /etc/apt/sources list d/mongodb org 6 0 list update the list of available packages apt get update install mongodb using the apt package manager apt get install y mongodb org run mongod service shell systemctl start mongod service and enable autostart shell systemctl enable mongod service 5\ receiving passwork & configure online download the script wget wget https //repos passwork pro/repository/linux/scripts/passwork sh curl curl o https //repos passwork pro/repository/linux/scripts/passwork sh the script to install passwork should not be located in a directory along with the application server files set execution permissions shell chmod +x passwork sh by default, passwork sh performs create hidden script env file in current directory create directory passwork archives , for code backups in current directory downloads latest available to you passwork archive, signature, and passwork public key installs previously downloaded code to /var/www to use a custom install path, disable certificate validation, or adjust behavior — see linux docid\ eznzqfzd1cha6qkmuox36 run script sudo /passwork sh on first run, the script will ask for your portal api key and perform basic environment checks successfull script execution example offline download the script use another machine with internet access wget wget https //repos passwork pro/repository/linux/scripts/passwork sh curl curl o https //repos passwork pro/repository/linux/scripts/passwork sh powershell (new object system net webclient) downloadfile("https //repos passwork pro/repository/linux/scripts/passwork sh", "$pwd\passwork sh") or download passwork sh script manually using this link https //repos passwork pro/repository/linux scripts/passwork sh the script to install passwork should not be located in a directory along with the application server files set execution permissions chmod +x passwork sh before running passwork sh download passwork 7 from customer portal (required); place it in the working directory, or use input to specify a path (required); download archive signature and passwork public key (optional if using skip ) by default, passwork sh performs create directory passwork archives , for code backups in current directory; unpack archive with passwork; installs previously unpacked code to /var/www to use a custom install path, disable certificate validation, or adjust behavior — see linux docid\ eznzqfzd1cha6qkmuox36 once prepared, run passwork sh sudo /passwork sh offline performs same environment checks successfull script execution example 6 configuring a web server for the https protocol to ensure correct operation, it is necessary to use https protocol using http will cause errors 6 1 generating a self signed ssl certificate create a new directory to store the private key and the certificate in bash mkdir /etc/apache2/ssl/ use openssl to generate a self signed x 509 certificate for apache2 bash openssl req x509 nodes days 365 newkey rsa 2048 subj '/cn=your domain name' keyout /etc/apache2/ssl/apache key out /etc/apache2/ssl/apache crt common name (cn) — specify the ip of your server or host this field is important, as the certificate should match the domain or ip of your website give root access to the user to secure the private key and the certificate bash chmod 600 /etc/apache2/ssl/ 6 2 configuring a virtual host to access passwork via https before configuring a web server with ssl termination enabled, it is recommended that you familiarize yourself with the ssl termination docid\ aqgt0an6 xcudu ahpjwq activate the ssl module in apache for the server to support https bash a2enmod ssl enable the website's virtual host configuration file with the ssl settings bash a2ensite default ssl open the virtual host configuration file for https connection bash nano /etc/apache2/sites enabled/default ssl conf find the section that starts with \<virtualhost 443> and edit it as follows add the servername directive (server name or ip) and 443 port under the serveradmin line bash serveradmin webmaster\@localhost servername passwork 443 add the \<directory> directive after servername bash \<directory /var/www/public> options followsymlinks multiviews allowoverride all order allow,deny allow from all \</directory> update the paths to the certificate files that were previously generated bash sslcertificatefile /etc/apache2/ssl/apache crt sslcertificatekeyfile /etc/apache2/ssl/apache key modify the php file handler by specifying proxying requests to the php fpm socket bash \<filesmatch \\ php$> sethandler "proxy\ unix /run/php/php8 3 fpm sock|fcgi //localhost/" \</filesmatch> after editing the file, check if the virtual host configuration file matches the example bash \<virtualhost 443> servername passwork 443 documentroot /var/www/public \<directory /var/www/public> options followsymlinks allowoverride all require all granted \</directory> sslengine on sslcertificatefile /etc/apache2/ssl/apache crt sslcertificatekeyfile /etc/apache2/ssl/apache key errorlog ${apache log dir}/error log customlog ${apache log dir}/access log combined \<filesmatch \\ php$> sethandler "proxy\ unix /run/php/php8 3 fpm sock|fcgi //localhost/" \</filesmatch> \</virtualhost> enable modules and restart services bash a2enmod rewrite proxy fcgi setenvif headers systemctl restart php8 3 fpm systemctl restart apache2 7 passwork parameter checklist when you connect to passwork for the first time, you will need to go over the checklist that includes automatic parameter checking checking connection to mongodb database change mongodb connection string to — mongodb //localhost 27017 generating an encryption key for mongodb license verification after finishing the checklist, you will be offered to create the first passwork user and set their login, password and email address for notifications the first user is the default local user and owner of passwork 8 configure background tasks background tasks are tasks that are executed by the scheduler in the background see how to set up background tasks docid\ yfbv3nwxjyj7casf5uhii background tasks are mandatory for some of the passwork functionality to work correctly, for example ldap works; sending email notifications; favicon downloads; cleanups of the session collection in the passwork database 9\ set up security before modifying security settings, we strongly recommend to make sure that passwork is stable and works correctly, and to back up the files you are making changes to server security is an important part of ensuring the protection of valuable company data and resources it is a process that requires planning and execution to ensure maximum protection against various threats look through the overview of security settings docid\ xwwgklt56 4kib23wmmxr