Это руководство предназначено как для технических энтузиастов, так и для ИТ-специалистов и предлагает простой, пошаговый процесс установки Passbolt CE в вашей системе Ubuntu 26.04. Если вы хотите повысить личную кибербезопасность или улучшить командное управление паролями, это руководство поможет вам.

Предварительные условия

  • Ubuntu 26.04 VPS
  • Минимум 2 ГБ ОЗУ
  • root-доступ по SSH или системный пользователь с привилегиями sudo.
  • Рабочий SMTP-сервер для уведомлений по электронной почте.

Шаг 1. Обновите систему

Свежая установка Ubuntu 26.04 требует обновления пакетов до последних доступных версий.

1
$ sudo apt update -y && sudo apt upgrade -y

Система может нуждаться в перезагрузке после обновления.

1
sudo reboot -f

Шаг 2. Установите веб-сервер

В этом руководстве мы будем использовать Nginx в качестве веб-сервера, но вы также можете выбрать Apache, если хотите. Nginx, высокоэффективный веб-сервер, в настоящее время пользуется большим спросом. Более того, он служит универсальным инструментом, способным функционировать как обратный прокси-сервер, так и кеширующий сервер. Используйте следующую команду для установки веб-сервера Nginx:

1
sudo apt install nginx

Шаг 3. Установите MariaDB

MariaDB служит полной заменой MySQL. Он был разработан бывшими членами команды MySQL, которые выразили обеспокоенность тем, что Oracle может перевести MySQL в продукт с закрытым исходным кодом. Выполните следующую команду, чтобы установить MariaDB в Ubuntu 26.04:

1
sudo apt install mariadb-server

Шаг 4. Установите PHP

Далее мы установим расширения PHP8.5 с его расширениями с помощью следующей команды:

1
sudo apt install php8.5-{fpm,mysql,common,cli,opcache,readline,mbstring,xml,gd,curl,imagick,gnupg,ldap,imap,zip,bz2,intl,gmpl}

Шаг 5. Создайте базу данных и пользователя базы данных.

Теперь, когда стек LEMP установлен, мы собираемся создать пустую базу данных для Passblot и пользователя базы данных с разрешением на доступ к этой базе данных.

Войдите в консоль MySQL и выполните следующие команды:

1
sudo mysql -u root
1
2
3
4
5
CREATE DATABASE passbolt;
CREATE USER 'passbolt'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere';
GRANT ALL PRIVILEGES ON passbolt.* TO 'passbolt'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Обязательно обновите YourStrongPasswordHere, указав более безопасный пароль.

Шаг 6. Клонируйте репозиторий Passbolt GitHub

После установки системных зависимостей для работы Passbolt мы клонируем репозиторий последней стабильной версии Passbolt, доступной на GitHub, выполнив следующие команды:

1
2
3
4
sudo apt install git 
sudo -R chown www-data:www-data /var/www/
cd /var/www/
sudo -u www-data git clone https://github.com/passbolt/passbolt_api.git

Затем откройте каталог Passbolt и установите композитор:

1
2
cd /var/www/passbolt_api/
sudo apt install composer

Используйте Composer для установки зависимостей PHP с помощью следующей команды:

1
sudo -u www-data composer install --no-dev

Он должен спросить, хотите ли вы установить права доступа к каталогу, ответьте Y:

Шаг 7. Создайте ключ OpenPGP

Пользователям виртуальных частных серверов (VPS) рекомендуется установить пакет hasged, чтобы обеспечить адекватное генерирование энтропии.

1
sudo apt install haveged

Затем выполните следующую команду, чтобы сгенерировать новую пару ключей.

1
sudo -u www-data gpg --quick-gen-key --pinentry-mode=loopback 'YourFirstName YourLastName <yourMailAddress@yourDomain.com>' default default never

Замените YourFirstName и YourLastName на свое имя и фамилию, а <yourMailAddress@yourDomain.com на свою учетную запись электронной почты.

Если будет предложено установить пароль, просто проигнорируйте его, нажав Enter, поскольку модуль php-gnupg в настоящее время не поддерживает использование пароля.

Скопируйте закрытый и открытый ключ в папку конфигурации Passbolt, выполнив следующие команды:

1
2
3
sudo -u www-data gpg --armor --export-secret-keys yourMailAddress@yourDomain.com | sudo tee /var/www/passbolt_api/config/gpg/serverkey_private.asc > /dev/null

sudo -u www-data gpg --armor --export yourMailAddress@yourDomain.com | sudo tee /var/www/passbolt_api/config/gpg/serverkey.asc > /dev/null

Инициализируйте связку ключей для пользователя www-data, чтобы настроить криптографические ключи и связанные операции для пользователя www-data:

1
sudo -u www-data gpg --list-keys

Сохраните отпечаток ключа, чтобы использовать его позже.

Шаг 8. Настройте Passbolt

Доступ к каталогу Passbolt:

1
cd /var/www/passbolt_api

Создайте копию файла конфигурации по умолчанию с помощью команды:

1
sudo cp config/passbolt.default.php config/passbolt.php

Откройте файл конфигурации с помощью текстового редактора:

1
sudo nano config/passbolt.php

Затем измените содержимое:

1
'fullBaseUrl' => 'https://passbolt.example.com',

Обязательно обновите passbolt.example.com, указав URL-адрес, который вы будете использовать для подключения Passbolt.

В разделе конфигурации базы данных введите имя базы данных, имя пользователя и пароль, которые вы создали для Passbolt.

1
2
3
4
5
6
7
8
    // Database configuration.
    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'YourStrongPasswordHere',
            'database' => 'passbolt',

В разделе конфигурации электронной почты вам необходимо заполнить данные своей учетной записи электронной почты, которую вы будете использовать для восстановления паролей.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
   // Email configuration.
    'EmailTransport' => [
        'default' => [
            'host' => 'yourSMTPHostname.com',
            'port' => 465,
            'username' => 'yourSMTPUser',
            'password' => 'yourSMTPPassword',
            // Is this a secure connection? true if yes, null if no.
            'tls' => true,
            //'timeout' => 30,
            //'client' => null,
            //'url' => null,
        ],
    ],
    'Email' => [
        'default' => [
            // Defines the default name and email of the sender of the emails.
            'from' => ['yourMailAddress@yourDomain.com' => 'Passbolt'],
            //'charset' => 'utf-8',
            //'headerCharset' => 'utf-8',
        ],
    ],

В разделе GPG введите отпечаток ключа GPG, как показано ниже. Обязательно удалите все пробелы из отпечатка пальца. Кроме того, раскомментируйте строки открытого и закрытого ключей.

1
2
3
   'fingerprint' => 'E2E6E2EB5CE2DF9158CABBE63A22420DB732C8D3',
   'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
   'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Чтобы сохранить и закрыть файл, нажмите CTRL + X, а затем Y.

Шаг 9. Запустите установку

Теперь нам нужно запустить сценарий установки от имени пользователя www-data.

1
sudo su -s /bin/bash -c "/var/www/passbolt_api/bin/cake passbolt install --force" www-data

Во время установки вам будет предложено создать учетную запись администратора.

1
2
3
4
5
6
7
8
9
User email (also called username)
> YourPassboltUser@example.com
First name
> YourFirstName
Last name
> YourLastName
User saved successfully.
To start registration follow the link provided in your mailbox or here: https://passbolt.example.com/setup/start/a97554f8-3e3f-4764-89a4-858d3a64b99f/cce4db00-3464-41fe-a3f9-d201e73e81b7
Passbolt installation success! Enjoy! ☮

После создания учетной записи вы получите URL-адрес для завершения установки в веб-браузере. Прежде чем продолжить, необходимо создать блок сервера на Nginx.

Шаг 10. Создайте блок сервера на Nginx

Определите блок сервера для вашего домена, создав этот файл. Мы используем nano, но вы можете использовать любой текстовый редактор, который вам нравится:

1
sudo nano /etc/nginx/conf.d/passbolt.conf

После создания файла вставьте следующее содержимое:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
server {
    listen 80;
    server_name passbolt.example.com;
    root /var/www/passbolt_api/webroot/;
    error_log /var/log/nginx/passbolt_error.log;
    access_log /var/log/nginx/passbolt_access.log;
    index index.php index.html index.htm index.nginx-debian.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 256 16k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        access_log off;
        log_not_found off;
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location ~* (Gruntfile|package|composer)\.(js|json)$ {
        deny all;
        access_log off;
        log_not_found off;
    }

    location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
        access_log off;
        log_not_found off;
        expires 360d;
    }

}

Обязательно обновите passbolt.example.com, указав URL-адрес, который вы будете использовать для подключения Passbolt.

Чтобы сохранить и закрыть файл, нажмите CTRL + X, а затем Y.

Вы можете проверить правильность синтаксиса, используя:

1
sudo nginx -t

Вот как будет выглядеть результат:

1
2
3
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем перезагрузите сервис Nginx, чтобы применить изменения:

1
systemctl reload nginx

Шаг 11. Установите Certbot

Чтобы включить SSL, нам необходимо установить сертификат SSL для нашего домена/поддомена Passbolt. Выполните следующие действия, чтобы установить SSL от Let’s Encrypt с помощью certbot.

1
sudo apt install python3-certbot-nginx -y

После установки выполните следующую команду, чтобы установить сертификат SSL:

1
certbot

Вам будет предложено указать свой адрес электронной почты, принять Условия использования Let’s Encrypt TOS и выбрать, следует ли передавать свой адрес электронной почты Electronic Frontier Foundation. Затем вам нужно будет выбрать имя домена/субдомена, для которого вы хотите активировать HTTPS. Введите соответствующий номер и нажмите ENTER, чтобы выбрать веб-сайт Passbolt.

Затем Let’s Encrypt установит сертификат и предложит вам настроить перенаправление HTTP на HTTPS. Вы можете выбрать перенаправление, и certbot создаст перенаправление и перезагрузит NGINX, если все в порядке.

После запуска команды certbot вы получите примерно такой результат:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Saving debug log to /var/log/letsencrypt/letsencrypt.log

Enter email address (used for urgent renewal and security notices)

 (Enter 'c' to cancel): YourPassboltUser@example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Please read the Terms of Service at

https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2026.pdf. You must

agree in order to register with the ACME server. Do you agree?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Would you be willing, once your first certificate is successfully issued, to

share your email address with the Electronic Frontier Foundation, a founding

partner of the Let's Encrypt project and the non-profit organization that

develops Certbot? We'd like to send you email about our work encrypting the web,

EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(Y)es/(N)o: y

Account registered.

Which names would you like to activate HTTPS for?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

1: passbolt.example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Select the appropriate numbers separated by commas and/or spaces, or leave input

blank to select all options shown (Enter 'c' to cancel): 1

Requesting a certificate for passbolt.example.com

Successfully received certificate.

Certificate is saved at: /etc/letsencrypt/live/passbolt.example.com/fullchain.pem

Key is saved at:         /etc/letsencrypt/live/passbolt.example.com/privkey.pem

This certificate expires on 2026-05-04.

These files will be updated when the certificate renews.

Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate

Successfully deployed certificate for passbolt.example.com to /etc/nginx/conf.d/passbolt.conf

Congratulations! You have successfully enabled HTTPS on https://passbolt.example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

If you like Certbot, please consider supporting our work by:

 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate

 * Donating to EFF:                    https://eff.org/donate-le

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Шаг 12. Завершите установку

Passbolt совместим только с Firefox и Google Chrome. Для завершения установки вам необходимо скачать и установить расширение для браузера.

После установки расширения перейдите по URL-адресу, указанному в конце сценария установки.

Если доступ прошел успешно, мы должны создать пароль.

Когда Passbolt успешно установлен, вы можете создавать пароли.

Шаг 13. Настройте задание Cron для очереди почты Passbolt.

Чтобы отправлять сообщения электронной почты, вам необходимо настроить запуск задания cron каждую минуту.

Вы должны добавить задание cron для пользователя, связанного с вашим веб-сервером, которым в этом руководстве является пользователь www-data. Выполните следующую команду:

1
sudo crontab -u www-data -e

Затем добавьте следующий контент:

1
* * * * * /var/www/passbolt_api/bin/cake EmailQueue.sender

Сохраните и закройте файл.

Теперь вы можете получить доступ к Passbolt Manager, используя свое доменное имя по адресу https://passbolt.example.com, и начать работу над своим проектом. Дополнительные сведения о Passbolt, его функциях и настройке см. в их официальной документации.

Завершение

Это было пошаговое руководство о том, как установить и настроить Passbolt на Ubuntu 26.04.

Вы можете поделиться статьей со своими друзьями в социальных сетях, которым может быть интересна эта статья или просто оставить комментарий ниже. Спасибо.