Ana içeriğe atla

Laravel tabanlı bir site nasıl kurulur

Kurulum composer kullanılarak yapılır. Örnek olarak kullanılan alan adı example.com, site kullanıcısı ise user'dır.

Hazırlık

Composer'ın kurulması

Composer'ı FASTPANEL® içinde "Uygulamalar" bölümünden yükleyin

FASTPANEL'de uygulama yönetimi menüsü

FASTPANEL'de composer kurulumu

Bir web sitesi oluşturma

FASTPANEL® içinde bir web sitesi oluşturun ve site ayarlarında "Site Dizini" bölümünde public alt dizinini belirtin.

public alt dizininin belirtilmesi

Bir proje oluşturma

Bir proje oluşturmak için, site sahibinin bilgilerini kullanarak SSH üzerinden sunucuya bağlanmanız gerekir. Site sahibi FASTPANEL'de site kartında gösterilir

FASTPANEL'de site sahibinin kontrol edilmesi

SSH bağlantısı kurulduktan sonra, aşağıdaki komut örneğini kullanarak site dizinini temizlemelisiniz (example.com yerine kendi site adınızı belirtin)

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

Ardından site dizinine gidin

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

Ve bir proje oluşturun

composer create-project laravel/laravel ./
Doğru kurulum durumunda çıktı örneği
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.

Belirli bir Laravel sürümünün kurulması

Belirli bir sürümü yüklemek için, proje oluştururken komutun sonunda sürümü tırnak içinde belirtmeniz gerekir

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

Veritabanı bağlantısı

  • Artisan için, site dizinindeki .env dosyasında veritabanına bağlanmak için gerekli bilgileri belirtin
  • Site için, veritabanına bağlanmak için gerekli bilgileri ./config/database.php dosyasında belirtin

.env dosyasını düzenlemek için SSH üzerinden nano adlı bir metin düzenleyici kullanabilirsiniz:

nano .env
.env örneği
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

./config/database.php dosyasını SSH üzerinden düzenlemek için:

nano ./config/database.php
./config/database.php örneği
    '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 düzenleyicisinde, değişiklikleri kaydetmek için Ctrl+O, düzenleyiciden çıkmak için Ctrl+X kullanılır.

Memcached bağlantısı (isteğe bağlı)

Sitede kullanılan PHP sürümü için PHP memcached modülünü yüklemeniz ve ayrıca uygulamayı da yüklemeniz gerekir.

Memcached PHP modülünün kurulması

FASTPANEL'de PHP yönetimi menüsü

FASTPANEL'de PHP memcached modülünü yükleme

Memcached uygulamasının kurulması

FASTPANEL'de uygulama yönetimi menüsü

FASTPANEL'de memcached uygulamasını yükleme

Bir yapılandırma dosyasını düzenleme

Memcached'e bağlanmak için gerekli bilgileri ./config/cache.php dosyasında belirtin

./config/cache.php örneği
'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'ı sistem dışı bir PHP sürümünde kullanma

Artisan'ı sistem dışı bir PHP sürümünde kullanmak için çalıştırılabilir dosyanın tam yolunu belirtmeniz gerekir. Alternatif PHP sürümü 8.2 kullanım örneği:

/opt/php82/bin/php artisan list

Temel Artisan komutları

Komutlar projenizin kök dizininde çalıştırılmalıdır (bu örnekte example.com)

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

Kullanılabilir tüm Artisan komutlarının listesini görüntülemek için şu komutu kullanabilirsiniz

php artisan list

Yerel bir Laravel geliştirme sunucusu başlatın. --host ve --port anahtarlarını belirtebilirsiniz

php artisan serve

Migrasyonu başlatın

php artisan migrate

Sitede bakım modunu etkinleştirme, bakım modu sayfasını belirtmek için --redirect=/ anahtarı

php artisan down

Sitede bakım modunu kapatma

php artisan up