# Пускане онлайн на сайт или приложение

Вашият VPS Pro обслужва сайтовете и приложенията ви на тяхното име на домейн, по HTTP и HTTPS. Посетителите пристигат на портове **80** и **443** на сървъра ви, под името на сървъра ви; HTTPS криптирането е от край до край, до вашия сървър, където се намира сертификатът ви.

## 1. Насочете домейна си към сървъра

Там, където се управлява DNS зоната на домейна ви, създайте два записа за името на сървъра си, с адресите, показани в картата му, раздел **VPS** на клиентския ви портал:

| Тип    | Име                             | Стойност                     |
| ------ | ------------------------------- | ---------------------------- |
| `A`    | `app` (или `@` за самия домейн) | **IPv4 адрес** от картата ви |
| `AAAA` | `app` (или `@`)                 | **IPv6 адрес** от картата ви |

Име под `vps.simafri.cloud` вече работи: не е нужно да създавате нищо.

Когато DNS зоната на домейна ви се управлява от Simafri, нашият екип създава тези записи вместо вас: пишете ни. Преди да превключите сайт, който вече е онлайн, помолете ни също да намалим времето на живот (TTL) на записа: тогава превключването се разпространява за няколко минути.

За проверка от компютъра ви:

```
dig +short A app.vashatafirma.bg

dig +short AAAA app.vashatafirma.bg
```

## 2. Инсталирайте уеб сървъра си

Уеб сървърът ви слуша на порт **80** за HTTP и на порт **443** за HTTPS. Два често срещани избора:

* **Caddy**, който сам получава и подновява HTTPS сертификата ви;
* **Nginx** или **Apache**, с **Certbot** за сертификата.

### С Caddy

```
apt install caddy
```

След това, в `/etc/caddy/Caddyfile`, за статичен сайт:

```
app.vashatafirma.bg {

    root * /var/www/app

    file_server

}
```

или за приложение, което слуша на порт 3000:

```
app.vashatafirma.bg {

    reverse_proxy 127.0.0.1:3000

}
```

`systemctl reload caddy` и сайтът ви отговаря по HTTPS: Caddy е получил сертификата и ще го подновява сам.

### С Nginx и Certbot

```
apt install nginx certbot python3-certbot-nginx
```

Създайте сайта в `/etc/nginx/sites-available/app`:

```
server {

    listen 80;

    listen [::]:80;

    server_name app.vashatafirma.bg;



    location / {

        proxy_pass http://127.0.0.1:3000;

        proxy_set_header Host $host;

        proxy_set_header X-Forwarded-Proto $scheme;

    }

}
```

Активирайте го, след това заявете сертификата:

```
ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/

nginx -t && systemctl reload nginx

certbot --nginx -d app.vashatafirma.bg
```

Certbot инсталира сертификата на Let's Encrypt, добавя слушането на порт 443 и планира автоматичното му подновяване. `certbot renew --dry-run` проверява дали подновяването е готово.

## 3. Поддържайте приложението си в работа

Приложение на Node.js, Python, Go или Java, което работи непрекъснато, се поверява на **systemd**: то се стартира заедно със сървъра и се рестартира само, ако спре. Пример, в `/etc/systemd/system/app.service`:

```
[Unit]

Description=Моето приложение

After=network.target



[Service]

WorkingDirectory=/srv/app

ExecStart=/usr/bin/node server.js

Restart=always

Environment=NODE_ENV=production

User=www-data



[Install]

WantedBy=multi-user.target
```

```
systemctl daemon-reload

systemctl enable --now app

journalctl -u app -f    # следене на логовете му
```

PM2 за Node.js, Gunicorn или Uvicorn за Python или Docker Compose изпълняват същата роля, ако ги предпочитате.

## 4. Вашата база данни

PostgreSQL, MySQL, MariaDB, Redis или MongoDB се инсталират на сървъра ви с пакетния мениджър или от официалното хранилище на производителя за най-новата версия:

```
apt install postgresql
```

Оставете базата си да слуша на `localhost`: приложението ви достига до нея на самия сървър. За да я администрирате от компютъра си, използвайте SSH тунел:

```
ssh -p 22101 -L 5432:localhost:5432 root@app.vashatafirma.bg
```

Тогава вашият инструмент (DBeaver, pgAdmin, TablePlus) се свързва към `localhost:5432`.

## Обслужване на няколко домейна

Сървърът ви отговаря под името си, определено при поръчката. За да обслужвате друг домейн или друг поддомейн на същия VPS Pro, пишете на поддръжката, като посочите имената за добавяне: нашият екип ги свързва към сървъра ви, след което създавате DNS записите им както в стъпка 1 и добавяте техния блок в уеб сървъра си.

## Често задавани въпроси

### Сайтът ми показва грешка в сертификата.

Проверете по ред: записите ви `A` и `AAAA` сочат към адресите от картата ви (`dig`), уеб сървърът ви слуша на портове 80 и 443 (`ss -tlnp`) и сертификатът наистина покрива това име (`certbot certificates`). Сертификатът се получава, след като името сочи към сървъра ви: стартирайте отново Certbot или презаредете Caddy след разпространението на DNS.

### Сайтът ми изобщо не отговаря.

На сървъра `curl -I http://localhost` показва дали уеб сървърът ви отговаря. `systemctl status nginx` (или `caddy`, или вашата услуга) и логовете му казват защо е спрял. Опишете на поддръжката какво наблюдавате: Цялостната поддръжка поставя диагнозата заедно с вас.

### Мога ли да инсталирам WordPress, Laravel или Symfony?

Да: инсталирайте PHP-FPM, базата си данни и уеб сървъра си, след това приложението си, както на всеки Linux сървър. Цялостната поддръжка ви посочва подходящите за проекта ви настройки, стъпка по стъпка.
