# Shared Hosting Checklist

Ask the hosting provider or verify in cPanel:

- PHP 8.2 or newer
- MySQL/MariaDB database
- Cron Jobs enabled, ideally every minute
- `fsockopen()` enabled
- cURL extension enabled
- Outbound TCP connections allowed to your forwarded device ports
- Outbound HTTPS allowed to `api.telegram.org`
- Laravel project root and document root can be configured correctly
- Storage and bootstrap/cache folders are writable

## Test outbound TCP

Create a temporary route or use Tinker:

```php
$socket = fsockopen('YOUR_REAL_IP', YOUR_FORWARDED_PORT, $errno, $errstr, 5);
dump($socket !== false, $errno, $errstr);
```

## Test Telegram

```php
use Illuminate\Support\Facades\Http;

Http::post(
    'https://api.telegram.org/bot'.config('services.telegram.bot_token').'/sendMessage',
    [
        'chat_id' => config('services.telegram.chat_id'),
        'text' => 'ISP Monitor test message',
    ]
)->json();
```
