Debian
Instrucciones para instalar Passwork en el SO:
- Debian 11
- Debian 12
Las instrucciones utilizan bloques de código intercambiables para separar los comandos según las versiones del sistema operativo.
1. Requisitos mínimos del sistema
Passwork no es exigente en cuanto a recursos del sistema, y el número de servidores necesarios depende de la cantidad de usuarios activos, el volumen de datos almacenados y los requisitos de tolerancia a fallos del sistema.
Familiarícese con los requisitos completos del sistema.
Si el servidor tiene 2-4 GB de RAM, le recomendamos habilitar un archivo SWAP.
2. Acciones básicas antes de la instalación
Obtenga privilegios de root y actualice la base de datos de paquetes local:
- shell
sudo -i
apt-get update
Instale el servidor web Apache2 y la utilidad de transferencia de datos curl:
- shell
apt-get install -y apache2 unzip curl zip jq
3. Instalación de PHP
Instale paquetes para trabajar con repositorios HTTPS:
- shell
apt-get install -y apt-transport-https lsb-release ca-certificates
Obtenga y guarde la clave GPG del repositorio PHP:
- shell
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Agregue el repositorio PHP a la lista de fuentes de apt:
- shell
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
Actualice la lista de paquetes y repositorios locales:
- shell
apt update
Instale PHP y los módulos de extensión:
- shell
apt install -y php8.3 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
Modifique la cantidad de RAM disponible para la ejecución de scripts PHP:
- shell
sed -i 's/^memory_limit\s*=.*/memory_limit = 256M/' /etc/php/8.3/fpm/php.ini
Se recomienda aumentar el parámetro memory_limit de 256M a 512M o superior si se espera que un gran número de usuarios utilice Passwork.
Asegúrese de que el servicio php8.3-fpm esté en ejecución:
- shell
systemctl status php8.3-fpm
Inicie y habilite el inicio automático del servicio si está detenido:
- shell
systemctl start php8.3-fpm
systemctl enable php8.3-fpm
3.1 Instalación del controlador PHP MongoDB
Instale el controlador PHP MongoDB:
- shell
pecl install mongodb
Presione Enter para aceptar las opciones de compilación predeterminadas.
Cree archivos de configuración para cargar y habilitar PHP MongoDB:
- shell
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. Instalación de la base de datos MongoDB
Descargue y agregue la clave GPG de MongoDB:
- Debian 12
- Debian 11
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
Agregue el repositorio de MongoDB al archivo:
- Debian 12
- Debian 11
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
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] http://repo.mongodb.org/apt/debian bullseye/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
Actualice la lista de paquetes disponibles:
- shell
apt-get update
Instale MongoDB usando el gestor de paquetes apt:
- shell
apt-get install -y mongodb-org
Inicie el servicio mongod.service:
- shell
systemctl start mongod.service
Habilite el inicio automático del servicio:
- shell
systemctl enable mongod.service
5. Obtención y configuración de Passwork
En línea
Obtenga el script:
- wget
- curl
wget https://repos.passwork.pro/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.pro/repository/linux/scripts/passwork.sh
El script de instalación de Passwork no debe ubicarse en el directorio con los archivos del servidor de aplicaciones.
Asigne derechos de ejecución al script:
chmod +x passwork.sh
De forma predeterminada, el script passwork.sh realizará:
- Creación de un archivo oculto
.script_enven el directorio actual; - Creación del directorio
passwork_archivepara copias de seguridad de Passwork; - Obtención de la última versión disponible de Passwork, firma y clave pública;
- Instalación del archivo previamente obtenido en
/var/www/
Para usar una ruta de instalación no estándar, deshabilitar la verificación de certificados o cambiar el comportamiento, puede utilizar los parámetros de ejecución del script.
Ejecute el script:
sudo ./passwork.sh
En la primera ejecución, el script solicitará una clave API y realizará verificaciones básicas del entorno:

Ejemplo de ejecución exitosa del script:

Sin conexión
Obtenga el script en otra máquina con acceso a Internet:
- wget
- curl
- PowerShell
wget https://repos.passwork.pro/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.pro/repository/linux/scripts/passwork.sh
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/linux/scripts/passwork.sh", "$PWD\passwork.sh")
O obtenga el script passwork.sh manualmente usando el enlace
El script de instalación de Passwork no debe ubicarse en el directorio con los archivos del servidor de aplicaciones.
Asigne derechos de ejecución al script:
chmod +x passwork.sh
Antes de ejecutar passwork.sh, necesita:
- Obtener Passwork versión 7 desde nuestro Portal de cliente (obligatorio);
- Colocarlo en el directorio de ejecución o usar el argumento
--inputpara especificar la ubicación (obligatorio); - Obtener la firma del archivo y la clave pública de Passwork (opcional si usa el argumento
--skip).
De forma predeterminada, el script passwork.sh realizará:
- Creación del directorio
passwork_archivepara copias de seguridad de Passwork; - Extracción del archivo de Passwork;
- Instalación del archivo previamente obtenido en
/var/www/
Para usar una ruta de instalación no estándar, deshabilitar la verificación de certificados o cambiar el comportamiento, puede utilizar los parámetros de ejecución del script.
Después de la preparación, ejecute el script passwork.sh:
sudo ./passwork.sh -offline
Ejemplo de ejecución exitosa del script sin conexión:

6. Configuración del servidor web para protocolo HTTPS
Para garantizar el correcto funcionamiento, es necesario utilizar el protocolo HTTPS. El uso de HTTP provocará errores.
6.1 Generación de certificado SSL autofirmado
Cree un nuevo directorio para almacenar la clave privada y el certificado:
- shell
mkdir /etc/apache2/ssl/
Genere un certificado X.509 autofirmado para Apache2 usando OpenSSL:
- shell
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)— Es importante aquí especificar la dirección IP de su servidor o el nombre de host, ya que su certificado debe coincidir con el dominio (o dirección IP) del sitio web;
Establezca los derechos de acceso del usuario root para proteger la clave privada y el certificado:
- shell
chmod 600 /etc/apache2/ssl/*
6.2 Configuración del host virtual para acceso HTTPS
Antes de configurar el servidor web con la terminación SSL habilitada, se recomienda familiarizarse con las características de configuración.
Habilite el módulo SSL en Apache2, permitiendo al servidor soportar el protocolo HTTPS:
- shell
a2enmod ssl
Habilite el archivo de configuración del host virtual del sitio con los ajustes de conexión SSL:
- shell
a2ensite default-ssl
Abra el archivo de configuración del host virtual para la conexión HTTPS:
- shell
nano /etc/apache2/sites-enabled/default-ssl.conf
Realice los siguientes cambios:
- Agregue la línea
ServerNamey cambiewww.example.compor la dirección IP o el dominio del servidor (dependiendo del valor especificado en elCommon Namedel certificado); - Descomente la línea
DocumentRooty cambie la ruta al directorio raíz de Passwork (/var/www/public);
- shell
ServerAdmin webmaster@localhost
ServerName passwork:443
DocumentRoot /var/www/public
- Agregue la directiva
<Directory>después deServerName:
- shell
<Directory /var/www/public>
Options +FollowSymLinks -Indexes -MultiViews
AllowOverride FileInfo
Require all granted
</Directory>
- Actualice las rutas a los archivos de certificado generados anteriormente:
- shell
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
- Cambie el manejador de archivos .php, especificando el proxy de solicitudes al socket php-fpm:
- shell
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>
- Después de realizar los cambios, verifique que el archivo de configuración del host virtual coincida con el ejemplo:
- shell
<VirtualHost *:443>
ServerName passwork:443
DocumentRoot /var/www/public
<Directory /var/www/public>
Options +FollowSymLinks -Indexes -MultiViews
AllowOverride FileInfo
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>
Habilite módulos y reinicie servicios:
- shell
a2enmod rewrite proxy_fcgi setenvif
systemctl restart php8.3-fpm
systemctl restart apache2
7. Completar la lista de verificación
Al conectarse por primera vez a Passwork, necesita completar la lista de verificación de parámetros, durante la cual se realizará lo siguiente:
- Verificación de parámetros necesarios
- Conexión a la base de datos MongoDB
- Elección del modo de cifrado de datos
- Generación aleatoria de clave para cifrar datos en MongoDB
- Verificación de la clave de licencia
Después de completar la lista de verificación, se le solicitará crear el primer usuario en Passwork, donde necesitará especificar el inicio de sesión, la contraseña y la dirección de correo electrónico para el envío de notificaciones.
Los parámetros adicionales de componentes, configuraciones de seguridad y configuración del sistema de Passwork están disponibles en la sección de configuración avanzada.