Appearance
Настройка окружения
Общие настройки системы
Перед установкой необходимого ПО рекомендуется обновить все пакеты:
shell
apt-get update && apt-get -y upgradeНеобходимо добавить пользователя, из-под которого будет работать web-server. Например www-data
shell
mkdir -p /var/www
adduser --home /var/www/ www-data
cp /etc/skel/.bashrc /var/www
cp /etc/skel/.profile /var/www
chown -R www-data:www-data /var/www
usermod -s /bin/bash www-dataGit
Необходимо установить Git
shell
apt install gitЧтобы протестировать установку, запустите команду:
shell
git --versionВы должны получить подобный вывод с версией
shell
git version 2.34.1PHP
Общую информацию по установке PHP можно найти в официальной документации
Для подключения репозитория с PHP:
shell
apt install apt-transport-https lsb-release ca-certificates wget -y
wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.yandex.ru/mirrors/packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://mirror.yandex.ru/mirrors/packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt updateУстановите библиотеку OpenSSL
shell
apt-get install opensslУстановка PHP 8.4 и необходимых пакетов
shell
apt install php8.4 php8.4-{cli,curl,fpm,intl,mbstring,pgsql,zip,xml,bcmath,ldap}Отредактируйте файлы /etc/php/8.4/fpm/php.ini и /etc/php/8.4/cli/php.ini.
Настройки:
Дефолтная временная зона
ini
date.timezone = "Europe/Moscow" ; Или любая другая, необходимая для сервераИзмените include_path, чтобы исключить поиск файлов в несуществующих папках
ini
include_path = "."Отключите отображение ошибок
ini
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = OffPHP-FPM
В файле /etc/php/8.4/fpm/pool.d/www.conf проверить, что php-fpm запускается от ранее созданного пользователя (в нашем примере www-data)
shell
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-dataЕсли были внесены изменения - перезапустите php-fpm
shell
service php8.4-fpm restartComposer
Общую информацию по установке пакетного менеджера Composer можно найти в официальной документации
Установка пакетного менеджера Composer на Debian 11/12
shell
apt install wget
wget -O composer-setup.php https://getcomposer.org/installer
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
chmod +x /usr/local/bin/composerЧтобы протестировать установку, запустите команду:
shell
composerВы должны получить подобный вывод с версией и аргументами Composer.
shell
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.5.1 2022-12-22 15:33:54
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
. . .Nginx
Общую информацию по установке и настройке Nginx можно найти в официальной документации
Установка nginx в Debian 11/12
shell
apt-get install nginx nginx-fullПосле установки удалите конфиги, которые были созданы автоматически
shell
rm /etc/nginx/sites-available/default /etc/nginx/sites-enabled/defaultВ файл /etc/nginx/nginx.conf в секцию http добавить(или раскомментировать) строки:
shell
server_tokens off;Создать виртуальный хост В файл /etc/nginx/sites-available/<hostname> поместить содержимое
shell
upstream bp_fastcgi_backend {
server unix:/run/php/php8.4-fpm.sock;
}
server {
listen 80;
server_name bearpass.ru;
set $BP_ROOT /var/www/bearpass;
include /var/www/bearpass/nginx.conf;
}Где server_name - URL по которому будет открываться парольный менеджер set $BP_ROOT - директория, где будет располагаться парольный менеджер include - путь до конфига nginx, включает в себя директорию из set $BP_ROOT
Активировать сайт
shell
ln -s /etc/nginx/sites-available/<hostname> /etc/nginx/sites-enabled/<hostname>Важно
Конфиг nginx ссылается на файл приложения, и пока приложение не скачано - запустить nginx не удастся.
PostgreSQL
Общую информацию по установке и настройке PostgreSQL можно найти в официальной документации
Установка PostgreSQL в Debian 11/12
shell
apt-get install postgresqlСоздать пользователя и базы данных
Супер пользователем PostgreSQL является системный пользователь postgres. Для этого сначала логинимся в него:
bash
su postgresПотом подключаемся к Postgres:
bash
psqlСоздание пользователя:
sql
CREATE USER <имя_пользователя> WITH encrypted password '<пароль_пользователя>';Создание базы данных:
sql
CREATE DATABASE <имя_базы_данных> OWNER <владелец_базы_данных> ENCODING 'UNICODE';Exim4
Если Вы планируете отправлять почту со своего сервера, то необходимо дополнительно настроить Exim4
shell
apt-get install exim4
dpkg-reconfigure exim4-configНа первом шаге выбрать internet site. На втором пишем доменное имя сайта. Всё остальное по-умолчанию.
В дальнейшем Вам, возможно, потребуется настроить SPF и DKIM. Подробнее с данными настройками Вы можете ознакомиться в данной статье