HEX
Server: nginx/1.24.0
System: Linux rtfmfm 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User: neo (1001)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/sb.akrozia.org/README.md
# Invocies Online

## Системни изискваня

```bash
php >= 8.0.2
php-curl
php-dom
php-gd
php-mbstring
php-mysql
php-zip

composer >= 2.0
SQL Server
```
# Инсталиране

След като изтеглите файловете (чрез `git clone`), в основната директория на приложението копирайте файла `.env_example` в нов файл с име `.env` и го редактирайте, за да отговаря на вашите изисквания. Необходимо е да въведете стойности на следните редове.

- `APP_NAME` - име на приложението
- `APP_URL` - URL адрес на приложението
- `DB_DATABASE` - име на база данни
- `DB_USERNAME` - потребителско име за база данни
- `DB_PASSWORD` - парола за база данни

- `MAIL_USERNAME` - потребителско име за SMTP сървър
- `MAIL_PASSWORD` - парола за SMTP сървър
- `MAIL_HOST` - URL на SMTP сървър

- `OWNER_EMAIL` - имейл адрес, който ще се иползва за създаване на основния потребителски акаунт на приложението и за вход в него
- `OWNER_PASSWORD` - парола, който ще се иползва за вход в основния потребителски акаунт на приложението
- `SUPPORT_EMAIL` - E-mail адрес, който ще се изписва в края на всеки PDF документ

- `TELEGRAM_BOT_TOKEN` - Телеграм Бот API Token за идентификация. Попълнете ако искате да получавате Телеграм съобщения за определени събития
- `TELEGRAM_CHAT_ID` - Телегрем чат ID на групата / чата, в която да се изпращат съобщенията


Приложението използва "опашка" (`queue`), за да обработва Имейл съобщенията.За да бъдат обработени задачите в опашката на заден фон, е необходимо на сървъра да има процес, който да прави това. За целта се препоръчва използването на сървиса `supervisor`.

Примерен конфигурационен файл на `/etc/supervisor/conf.d/invoices.conf`

```bash
[program:invoices_email_queue]
process_name=%(program_name)s_%(process_num)02d
command=/usr/bin/php artisan queue:work database --queue=default --tries=3 --timeout=10
directory=/var/www/invoices/
numprocs=1
autostart=true
autorestart=true
redirect_stderr=false
stdout_logfile=NONE
stdout_logfile_maxbytes=0
user=username # съществуващ потребител на системата
```

Влезте в основната директория на приложението и изпълнете следните команди:

```bash
composer install
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan queue:restart
```

# Стартиране

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

```bash
php artisan serve
```

или да инсталирате приложението на ваш уеб сървър. За реална работа с приложението, не се препоръчва то да бъде използвано с вградения уеб сървър.

# Обновяване на приложението

За да обновите приложението е необходимо да изпълните следните команди

```bash
git pull
php artisan optimize:clear
php artisan migrate --force
php artisan db:seed
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan queue:restart
```