Manual installation
Linux
Alma/Rocky/CentOS
36min
installing passwork on following os centos 8 stream, alma linux 8, rocky linux 8 centos 9 stream, alma linux 9, rocky linux 9 on this page you can switch between blocks of code to view the commands applicable to your version of the os 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 shell sudo i dnf makecache then, install web server apache2 and curl data transfer tool bash dnf install y httpd unzip curl zip jq replace the documentroot location in the apache configuration shell sed i 's|^documentroot "/var/www/html"|documentroot "/var/www"|' /etc/httpd/conf/httpd conf run httpd service shell systemctl start httpd service and enable autostart shell systemctl enable httpd service 2 1 installing and setting up firewalld install the dynamically managed firewall firewalld shell dnf install firewalld y run firewalld service shell systemctl start firewalld service enable autostart shell systemctl enable firewalld service allow https services in firewalld shell firewall cmd permanent add service=https and apply the changes to firewalld shell firewall cmd reload 2 2 disabling selinux and restarting os edit the /etc/selinux/config configuration file shell nano /etc/selinux/config change the selinux parameter from enforcing to disabled shell selinux=disabled save the changes (ctrl+o) and exit the terminal (ctrl+x) then, restart your system to apply the changes to selinux shell reboot 3\ installing php install the epel package and yum package management tool dnf y install epel release yum utils download and install the latest epel repository os 9 dnf install y https //dl fedoraproject org/pub/epel/epel release latest 9 noarch rpm os 8 dnf install y https //dl fedoraproject org/pub/epel/epel release latest 8 noarch rpm download and install the repository for access to php versions os 9 dnf install y https //rpms remirepo net/enterprise/remi release 9 rpm os 8 dnf install y https //rpms remirepo net/enterprise/remi release 8 rpm enable the php 8 3 modile from remi repository dnf module enable php\ remi 8 3 install php and its extensions dnf install y php cli php fpm php pear php devel php curl php gd php intl php ldap php bcmath php mbstring php mysqlnd php opcache php pgsql php soap php zip php sqlite3 php xml make sure the php fpm service is up and running systemctl status php fpm start and activate the autorun service if it is stopped systemctl start php fpm systemctl enable php 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 d/20 mongodb ini 4\ installing mongodb database create a file to add mongodb into yum package manager nano /etc/yum repos d/mongodb org 6 0 repo add the following lines into the file os 9 \[mongodb org 6 0] name=mongodb repository baseurl=https //repo mongodb org/yum/redhat/9/mongodb org/6 0/x86 64/ gpgcheck=1 enabled=1 gpgkey=https //pgp mongodb com/server 6 0 asc os 8 \[mongodb org 6 0] name=mongodb repository baseurl=https //repo mongodb org/yum/redhat/8/mongodb org/6 0/x86 64/ gpgcheck=1 enabled=1 gpgkey=https //pgp mongodb com/server 6 0 asc install mongodb dnf install mongodb org y 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 install a ssl module for apache2 shell dnf install mod ssl y create a new directory to store the private key and the certificate in shell mkdir /etc/ssl/private use openssl to generate a self signed x 509 certificate for apache2 shell openssl req x509 nodes days 365 newkey rsa 2048 subj '/cn=your domain name' keyout /etc/ssl/private/apache selfsigned key out /etc/ssl/certs/apache selfsigned 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 generate diffie hellman parameters with the key length of 2048 shell openssl dhparam out /etc/ssl/certs/dhparam pem 2048 add diffie hellman parameters to the self signed certificate shell cat /etc/ssl/certs/dhparam pem | tee a /etc/ssl/certs/apache selfsigned crt give root access to the user to secure the private key and the certificate shell chmod 700 /etc/ssl/private 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 open the virtual host configuration file for https connection shell nano /etc/httpd/conf d/ssl conf find the section that starts with \<virtualhost default 443> and edit it as follows uncomment the documentroot line and change the path to passwork's root folder /var/www/public uncomment the servername line and change www example com to the ip or the domain of the server (it should match the common name of the certificate) documentroot /var/www/public servername passwork 443 add the \<directory> directive after servername \<directory /var/www/public> options followsymlinks multiviews allowoverride all order allow,deny allow from all 	 require all granted \</directory> update the paths to certificate files, which were generated earlier shell sslcertificatefile /etc/ssl/certs/apache selfsigned crt sslcertificatekeyfile /etc/ssl/private/apache selfsigned key modify the php file handler by specifying proxying requests to the php fpm socket bash \<filesmatch \\ php$> sethandler "proxy\ unix /run/php fpm/www sock|fcgi //localhost/" \</filesmatch> after editing the file, check if the virtual host configuration file matches the example shell \<virtualhost default 443> documentroot "/var/www/public" servername passwork 443 \<directory /var/www/public> options followsymlinks multiviews allowoverride all order allow,deny allow from all require all granted \</directory> errorlog logs/ssl error log transferlog logs/ssl access log loglevel warn sslengine on sslhonorcipherorder on sslciphersuite profile=system sslproxyciphersuite profile=system sslcertificatefile /etc/ssl/certs/apache selfsigned crt sslcertificatekeyfile /etc/ssl/private/apache selfsigned key \<filesmatch \\ php$> sethandler "proxy\ unix /run/php fpm/www sock|fcgi //localhost/" \</filesmatch> browsermatch "msie \[2 5]" \\ nokeepalive ssl unclean shutdown \\ downgrade 1 0 force response 1 0 customlog logs/ssl request log \\ "%t %h %{ssl protocol}x %{ssl cipher}x \\"%r\\" %b" \</virtualhost> restart services bash systemctl restart php fpm systemctl restart httpd 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 additional component parameters, security settings, and system configuration options for passwork are available in the advanced settings docid\ u3ehrdg2hymecbhyagiss section