/
/
Установка ispmanager Docs

Установка ispmanager Docs

Установка ispmanager Docs - это инструкция по сборке проекта из исходного кода и подготовке бэкенда.

Сборка фронтенда

Находясь в корне проекта, последовательно выполните следующие команды.

#  npm install
# npm run build
Обратите внимание!
Результат сборки будет доступен в директории "build".

Подготовка бэкенда (без использования Docker)

Обратите внимание!
Убедитесь, что используется актуальная версия PHP 8.2.

 

1. Выполните команду:

# npm run copy-build
Пояснение

 

2. Установите Composer версии 2.5

Для Debian/Ubuntu установите следующие пакеты.

zlib1g-dev libpng-dev libxml2-dev libonig-dev libcurl4-openssl-dev libedit-dev libxslt-dev git zip unzip

 

3. Установите следующие модули для PHP.

xml mbstring curl pdo pdo_mysql bcmath

 

4. Перейдите в директорию html и установите остальные зависимости с помощью команды.

# composer install

 

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

# composer install --no-dev

 

6. Настройте переменные в файле .env в соответствии с потребностями.

Настройте используемый веб-сервер на использование директории public в качестве корневой (директивы root для nginx и <DirectoryRoot> для Apache).

Настройте используемый веб-сервер на использование php8.2 в режиме php-fpm.

Установка с использованием Docker

1. В Docker-контейнере запустите команду.

# npm run copy-build
Пояснение

 

2. Для сборки бэкенда в docker-контейнер используйте следующий пример Dockerfile.

FROM php:8.2.8-fpm AS main

COPY --from=composer:2.5 /usr/bin/composer /usr/local/bin/composer

RUN apt-get update && apt-get install --no-install-recommends -y \

    	nginx \

    	zlib1g-dev libpng-dev libxml2-dev libonig-dev \

    	libcurl4-openssl-dev libedit-dev libxslt-dev git zip unzip && \

    	apt-get clean && rm -rf /var/lib/apt/lists/* && \

    	rm -rf /etc/nginx/conf.d /etc/nginx/sites-enabled /etc/nginx/sites-available /etc/nginx/nginx.conf /etc/nginx/proxy_params /etc/nginx/scgi_params /etc/nginx/uwsgi_params /etc/nginx/snippets \

            	/var/www/html/index.nginx-debian.html \

    	/usr/local/etc/php-fpm.d/zz-docker.conf

RUN docker-php-ext-install -j$(nproc) xml mbstring curl pdo pdo_mysql bcmath

EXPOSE 80

FROM main

RUN sed -i 's|/var/www/html|/var/www/html/public|' /etc/nginx/nginx.conf && \

    	mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini && \

    	sed -i 's/expose_php =.*/expose_php = off/g' /usr/local/etc/php/php.ini && \

    	sed -i 's/short_open_tag =.*/short_open_tag = on/' /usr/local/etc/php/php.ini

USER www-data:www-data

COPY --chown=www-data:www-data html /var/www/html

composer install # Или composer install --no-dev

USER root:root

COPY entrypoint.sh /usr/local/bin

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

 

3. Пример файла entrypoint.sh

#!/bin/sh

cd /var/www/html
php artisan migrate --force
RUN php artisan config:cache && php artisan route:cache && php artisan view:cache && php artisan storage:link
exec /usr/local/bin/docker-entrypoint.sh