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-data
Git
Необходимо установить Git
shell
apt install git
Чтобы протестировать установку, запустите команду:
shell
git --version
Вы должны получить подобный вывод с версией
shell
git version 2.34.1
PHP
Общую информацию по установке PHP можно найти в официальной документации
Для установки PHP и его расширений в Debian 11/12 используется сторонний репозиторий: https://deb.sury.org/ Документация: https://github.com/oerdnj/deb.sury.org/wiki
Для подключения репозитория:
shell
apt install apt-transport-https lsb-release ca-certificates wget -y
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://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.3 и необходимых пакетов
shell
apt install php8.3 php8.3-{cli,curl,fpm,intl,mbstring,pgsql,zip,xml,bcmath,ldap}
Отредактируйте файлы /etc/php/8.3/fpm/php.ini
и /etc/php/8.3/cli/php.ini
.
Настройки:
Дефолтная временная зона
ini
date.timezone = "Europe/Moscow" ; Или любая другая, необходимая для сервера
Измените include_path
, чтобы исключить поиск файлов в несуществующих папках
ini
include_path = "."
Отключите отображение ошибок
ini
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
PHP-FPM
В файле /etc/php/8.3/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.3-fpm restart
Composer
Общую информацию по установке пакетного менеджера 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.3-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
. Подробнее с данными настройками Вы можете ознакомиться в данной статье