Úvod
Jste tedy připraveni nasadit aplikaci Laravel na sdílený hosting v. cPanel? Zatímco poskytovatelé VPS hostingu, jako je DigitalOcean nebo AWS, ve spojení s Laravel Forge mohou být pro projekty Laravel běžnější volbou, existují případy, kdy budete muset. nasazení na sdílený hosting.
Nasazení Laravelu v cPanelu lze provést, ale musíte to udělat. správný způsob abyste se vyhnuli dlouhodobým bolestem hlavy. V tomto návodu vás provedu krok za krokem jak hladce nasadit aplikaci Laravel v cPanelu.
Ponořme se do toho!
Proč záleží na "správném způsobu"
Pravděpodobně jste již viděli návody, které doporučují některé riskantní techniky nasazení, jako je například nahrání vašeho prodejce přes FTP nebo přesunutí souborů z Veřejná funkce Laravel do složky public_html. Tyto zkratky mohou zpočátku fungovat, ale mohou vést ke spoustě problémů. Správa změn kódu, aktualizací verzí a migrací databází. je mnohem těžší, pokud použijete tyto přístupy.
Tento průvodce vám pomůže vyhnout se těmto nástrahám, aby se vaše aplikace Laravel dala snadno udržovat a aktualizovat.
Než začneme s průvodcem krok za krokem, ujistěte se, že jste frontend vytvořili lokálně, protože na sdíleném hostingu je sestavení a vytvoření balíčku frontendů obtížné:
npm run build
Pokyny pro nasazení krok za krokem
Krok 1: Přístup k cPanelu a kontrola požadavků
- Přihlaste se do svého panelu cPanel: Přejděte na stránku
https://cpanel.yourdomain.comorhttps://yourdomain.com:2083a přihlaste se pomocí svých přihlašovacích údajů. - Zkontrolujte Pokročilé sekce pro Terminál (pokud chybí, vyžádejte si Přístup ke skořápce od poskytovatele hostingu). Tento terminál budeme používat pro většinu úloh nasazení.

Jakmile se dostanete dovnitř, zkontrolujte verzi PHP aby byla zajištěna kompatibilita.
php -v
Ujistěte se, že se jedná o správnou verzi PHP. Pokud ne, přejděte na domovskou stránku cPanelu a vyhledejte položku Vyberte verzi PHP pod Software a změňte verzi PHP na požadovanou.

Dále ověřte Rozšíření PHP:
php -m
Zkontrolujte, zda jsou nainstalována následující rozšíření:
- ctype
- curl
- dom
- fileinfo
- filtr
- hash
- mbstring
- openssl
- pcre
- pdo
- pdo_mysql
- pdo_sqlite
- relace
- sqlite3
- tokenizer
- xml
a další rozšíření vyžadovaná vaší aplikací.
Krok 2: Instalace nástroje Composer (volitelně)
Kompozitor je obvykle předinstalován poskytovatelem hostingu. Můžete to zkontrolovat spuštěním:
composer -V
Pokud není předinstalována, můžete požádat poskytovatele hostingu o její povolení/instalaci nebo si ji nainstalovat sami. Předpokládejme, že si ji nainstalujete sami, a začněte přidáním aliasu do prostředí shellu:
echo 'alias composer="php -d allow_url_fopen=On /home/username/composer.phar"' >> ~/.bashrcsource ~/.bashrc
Poté si stáhněte a nainstalujte aplikaci Composer:
cd ~curl -k -O https://getcomposer.org/installerphp -d allow_url_fopen=On installer
Ověřte instalaci:
composer -V
Krok 3: Nastavení systému Git
Když je nástroj Composer připraven, přejděme na. Git nastavit. Pokud nemáte Git předinstalovaný v cPanelu, požádejte poskytovatele hostingu o jeho povolení.
Dále zkontrolujte, zda Klíč SSH existuje:
cat ~/.ssh/id_rsa.pub
Pokud ne, vygenerujte ji:
ssh-keygen -t rsa -b 4096 -C "your_cpanel_username"
Zkopírujte veřejný klíč:
cat ~/.ssh/id_rsa.pub
Přidejte ji do repozitáře GitHub pod položkou Nastavení -> Klíče pro nasazení.
DOPORUČUJEME - nekontrolujte Povolení přístupu pro zápis zaškrtávací políčko.

Krok 4: Klonování úložiště a nastavení aplikace
Nyní jsme připraveni klonování aplikace. Spusťte následující příkaz pro klonování úložiště do složky s názvem "app" a poté přejděte do této složky:
git clone git@github.com:username/repo.git app && cd app
Nainstalujte závislosti:
composer install --no-dev
Během toho vytvořte nový Databáze MySQL v panelu cPanel:

Pak nakonfigurujte .env soubor:
cp .env.example .envnano .env
Aktualizujte nastavení prostředí:
APP_ENV=productionAPP_DEBUG=false DB_HOST=localhostDB_CONNECTION=mysqlDB_DATABASE=yourdbnameDB_USERNAME=youruserDB_PASSWORD=yourpass
Vygenerujte aplikační klíč:
php artisan key:generate
Spusťte migrace:
php artisan migrate --force
Pokud používáte filament, optimalizujte komponenty filamentu a ikony nožů:
php artisan filament:optimize
Optimalizace zobrazení, tras, událostí a konfigurací:
php artisan optimize
Vytvoření symbolických odkazů nakonfigurovaných pro aplikaci:
php artisan storage:link
Krok 5: Zveřejnění aplikace
Nyní je aplikace stále soukromá. Abychom ji zpřístupnili, vytvoříme aplikaci symbolický odkaz z aplikace public do složky public_html. Nejprve zálohujte stávající public_html složka:
mv public_html public_html_old
Poté vytvořte symlink:
ln -s /home/yourusername/app/public /home/yourusername/public_html
Nyní navštivte své stránky a měly by být živé!
Krok 6: Nastavení úloh Cron (volitelné)
Pokud vaše aplikace vyžaduje naplánované úlohy, nastavte si Úloha Cron v panelu cPanel:

/usr/local/bin/php /home/yourusername/app/artisan schedule:run >> /dev/null 2>&1
Závěr
A je to! Úspěšně jste nasadili aplikaci Laravel do cPanelu. správný způsob. Žádné zkratky, žádné riskantní strategie - jen čisté a udržovatelné nastavení. Chcete-li nasadit nové změny, stačí odeslat do repozitáře GitHub a spustit git pull z terminálu cPanelu.
A pokud chcete ještě hladší proces nasazení, zvažte možnost nastavení Akce GitHub pracovní postup pro testování a automatizaci nasazení.
🎉☁️ Šťastné nasazení!