მთავარ შიგთავსზე გადასვლა

როგორ დავაყენოთ Laravel-ზე დაფუძნებული საიტი

ინსტალაცია ხორციელდება composer-ის გამოყენებით. მაგალითად გამოყენებული დომენია example.com, ხოლო საიტის მომხმარებელია user.

მომზადება

Composer-ის ინსტალაცია

დააყენეთ composer FASTPANEL®-ში, "Applications" განყოფილებაში

აპლიკაციების მართვის მენიუ FASTPANEL-ში

Composer-ის დაყენება FASTPANEL-ში

ვებსაიტის შექმნა

შექმენით ვებსაიტი FASTPANEL®-ში და საიტის პარამეტრებში, "Site Directory" განყოფილებაში მიუთითეთ public ქვედირექტორია.

public ქვედირექტორიის მითითება

პროექტის შექმნა

პროექტის შესაქმნელად საჭიროა სერვერთან SSH-ით დაკავშირება საიტის მფლობელის მონაცემების გამოყენებით. საიტის მფლობელი ნაჩვენებია FASTPANEL-ში საიტის ბარათზე

საიტის მფლობელის შემოწმება FASTPANEL-ში

SSH კავშირის დამყარების შემდეგ, უნდა გაასუფთაოთ საიტის დირექტორია შემდეგი ბრძანების მაგალითის გამოყენებით (example.com-ის ნაცვლად მიუთითეთ თქვენი საიტის სახელი)

rm -rf /var/www/user/data/www/example.com/*

შემდეგ გადადით საიტის დირექტორიაში

cd /var/www/user/data/www/example.com

და შექმენით პროექტი

composer create-project laravel/laravel ./
სწორი ინსტალაციის შემთხვევაში გამოსატანის მაგალითი
73 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
No publishable resources for tag [laravel-assets].
Publishing complete.
No security vulnerability advisories found
> @php artisan key:generate --ansi
Application key set successfully.

Laravel-ის კონკრეტული ვერსიის ინსტალაცია

კონკრეტული ვერსიის დასაყენებლად, პროექტის შექმნისას, ბრძანების ბოლოს ბრჭყალებში უნდა მიუთითოთ ვერსია

composer create-project laravel/laravel ./ "5.8.*"

მონაცემთა ბაზასთან კავშირი

  • Artisan-ისთვის მონაცემთა ბაზასთან დასაკავშირებელი მონაცემები მიუთითეთ საიტის დირექტორიაში არსებულ .env ფაილში
  • საიტისთვის მონაცემთა ბაზასთან დასაკავშირებელი მონაცემები მიუთითეთ ./config/database.php ფაილში

.env ფაილის რედაქტირებისთვის შეგიძლიათ SSH-ის საშუალებით გამოიყენოთ ტექსტური რედაქტორი nano:

nano .env
.env-ის მაგალითი
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

./config/database.php ფაილის SSH-ით რედაქტირებისთვის:

nano ./config/database.php
./config/database.php-ის მაგალითი
    'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'site_db'),
'username' => env('DB_USERNAME', 'db_user'),
'password' => env('DB_PASSWORD', '0j9vd3qATwTsXW7C'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],

nano რედაქტორში ცვლილებების შესანახად გამოიყენება Ctrl+O, ხოლო რედაქტორიდან გასასვლელად — Ctrl+X.

Memcached-თან კავშირი (არასავალდებულო)

საჭიროა საიტზე გამოყენებული PHP ვერსიისთვის PHP-ის memcached მოდულის დაყენება, ასევე აპლიკაციის ინსტალაციაც.

memcached PHP მოდულის ინსტალაცია

PHP-ის მართვის მენიუ FASTPANEL-ში

PHP memcached მოდულის დაყენება FASTPANEL-ში

memcached აპლიკაციის ინსტალაცია

აპლიკაციების მართვის მენიუ FASTPANEL-ში

memcached აპლიკაციის დაყენება FASTPANEL-ში

კონფიგურაციის ფაილის რედაქტირება

memcached-თან დასაკავშირებელი მონაცემები მიუთითეთ ./config/cache.php ფაილში

./config/cache.php-ის მაგალითი
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],

Artisan-ის გამოყენება PHP-ის არასისტემურ ვერსიაზე

PHP-ის არასისტემურ ვერსიაზე artisan-ის გამოსაყენებლად, უნდა მიუთითოთ შესრულებადი ფაილის სრული გზა. ალტერნატიული php ვერსიის 8.2 გამოყენების მაგალითი:

/opt/php82/bin/php artisan list

Artisan-ის ძირითადი ბრძანებები

ბრძანებები უნდა შესრულდეს თქვენი პროექტის ძირეულ დირექტორიაში (ამ მაგალითში example.com)

cd /var/www/user/data/www/example.com

Artisan-ის ყველა ხელმისაწვდომი ბრძანების სიის სანახავად შეგიძლიათ გამოიყენოთ ბრძანება

php artisan list

გაუშვით Laravel-ის ლოკალური განვითარების სერვერი. შეგიძლიათ მიუთითოთ --host და --port გასაღებები

php artisan serve

მიგრაციის დაწყება

php artisan migrate

საიტზე maintenance mode-ის ჩართვა, maintenance mode-ის გვერდის მისათითებლად გამოიყენეთ --redirect=/ გასაღები

php artisan down

საიტზე maintenance mode-ის გამორთვა

php artisan up