Bloğa geri dön

Ubuntu 20.04 üzerinde Nginx ile Laravel Kurulumu ve Yapılandırılması

Ubuntu 20.04 üzerinde Nginx ile Laravel Kurulumu ve Yapılandırılması

Giriş

Laravel, yerleşik araç ve kaynak setiyle birlikte gelen, modern PHP uygulamaları geliştirmek için bir web uygulaması çerçevesidir. Güvenilirliği, performansı, verimliliği, modülerliği ve güvenliği ile tanınır. Çeşitli yerleşik özellikleri sayesinde Laravel, popülaritesinde inanılmaz bir büyüme kaydetti. Birçok geliştirici, web geliştirme sürecini kolaylaştırmak için Laravel'i benimsiyor.

Bu kılavuz, Ubuntu 20.04 üzerinde yeni bir Laravel uygulamasının nasıl kurulacağını ve yapılandırılacağını gösterecektir.

Ubuntu üzerinde Laravel

Laravel'i indirmek ve yönetmek için Composer adındaki PHP bağımlılık yöneticisini kullanacağız. Composer'ı kurmak için bu eğitimin talimatlarını takip edin. Uygulamayı Nginx sunucusu sunacaktır. Bu sunucu, MySQL veritabanını kullanan bir demo Laravel uygulaması kuracaktır.

Bu kılavuz bazı önkoşullar gerektirmektedir. Halihazırda düzgün şekilde yapılandırılmış ve çalışan bir Ubuntu 20.04 sunucunuz olduğunu varsayıyoruz. Referans olması açısından, bir Ubuntu sunucusu kurma hakkında hızlı bir kılavuz bulabilirsiniz. Ayrıca LEMP (Linux, Nginx, MySQL ve PHP) yığınının kurulu ve yapılandırılmış olması gerekir. LEMP yığınının kurulması ve yapılandırılması.

hakkında ayrıntılı bir kılavuzumuz bulunmaktadır. Çeşitli paketler kuracağımız için root izni gereklidir. Ubuntu durumunda, root kullanıcısı varsayılan olarak devre dışıdır. Bu nedenle, sudo yetkisine sahip root olmayan bir kullanıcıya erişmemiz gerekiyor. Diğer kullanıcılara nasıl sudo yetkisi verileceği.

Step 1 – PHP Modüllerinin Kurulması

Laravel'i kurmadan önce, framework için bazı önemli PHP modüllerine ihtiyacımız var. Bu modüller doğrudan Ubuntu varsayılan paket depolarından edinilebilir. Bu modüller karakter kodlama, XML ve hassas matematik gibi özellikleri destekler.

İlk olarak, APT önbelleğini güncelleyin ve paketleri kurun:

Step 2 – Uygulama için Veritabanı Oluşturma

Laravel'in işlevselliğini göstermek için, kullanıcının ziyaret etmek istediği yerlerin listesini ve halihazırda visited olan yerlerin listesini gösteren bir seyahat listesi uygulaması yapacağız. Bu verileri, name (konum adı) ve visited ( visited veya nonvisited olarak işaretleyen) alanlarına sahip bir yer tablosunda saklayabiliriz. Ek bir alan, her giriş için benzersiz bir kimlik içerecektir. Verileri Laravel uygulamamızla bağlamak için özel bir MySQL kullanıcısı oluşturacağız ve kullanıcıya travellist.

veritabanı üzerinde tam yetki vereceğiz. Yerel MySQL PHP kütüphanesi olan mysqlnd artık caching_sha2_authentication yöntemini desteklememektedir. Bu nedenle, veritabanımızı mysql_native_password kimlik doğrulama yöntemiyle ayarlamamız gerekiyor. MySQL kabuğuna root:

Ardından, travellist:

Bundan sonra, uygun bir şifre ile özel bir travellist_user kullanıcısı oluşturun:

Give the user travellist_user kullanıcısına travellist veritabanı üzerinde tam yetki verin. Bu aynı zamanda kullanıcının sunucudaki diğer veritabanlarını oluşturmasını ve değiştirmesini de engelleyecektir:

MySQL kabuğundan çıkın:

exit

Yeni kullanıcıyı test edelim. Aşağıdaki komut, MySQL kabuğuna travellist_user kullanıcısı olarak giriş yapacaktır. -p bayrağı kullanıcı şifresini soracaktır:

Mevcut tüm veritabanlarını yazdırın. Daha önce yapılandırıldığı gibi, yalnızca travellist ve information_schema veritabanlarını göstermelidir:

Ardından, places veri tablosunu oluşturmamız gerekiyor. Aşağıdaki MySQL ifadesini çalıştırın:

Tabloyu bazı örnek verilerle dolduralım:

Verilerin veritabanına başarıyla kaydedilip kaydedilmediğini görelim:

Gördüğümüz gibi, test tablosu geçerli verilerle dolduruldu. Şimdi MySQL kabuğundan çıkabiliriz:

MySQL shell

Adım 3 – Yeni Bir Laravel Uygulaması Oluşturma

Artık Composer kullanarak yeni bir Laravel uygulaması oluşturmaya hazırız. Demo uygulaması olarak travellist uygulamasını kullanacağız. Bu uygulama, Laravel'in temel yapılandırmasını göstererek MySQL veritabanındaki konum listesini görüntüleyecektir. Kullanıcının ana dizinine gidin:

Bir sonraki adım, Composer kullanarak yeni bir Laravel uygulaması oluşturmaktır. Varsayılan ayarlara sahip temel bir Laravel uygulaması içeren özel bir travellist dizini oluşturacaktır. Aşağıdaki komutu çalıştırın:

composer create-project

Uygulama kurulduktan sonra, tüm bileşenlerin başarıyla yüklenip yüklenmediğini doğrulayabiliriz:

php artisan

Çıktı, tüm uygulama dosyalarının yerinde olduğunu doğrular. Ayrıca tüm Laravel komut satırı araçlarının işlevsel olduğunu garanti eder. Ancak, veritabanını kurmak ve birkaç ekstra ince ayar yapmak için hala uygulama yapılandırması gerektirir.

Adım 4 – Laravel Yapılandırması

Tüm Laravel yapılandırma dosyaları, kök uygulama dizini içindeki config adlı bir dizinde saklanır. Ek olarak, Laravel'i Composer ile kurarken bir ortam dosyası da oluşturulur. Bu dosya, mevcut ortama özgü çeşitli ayarları içerir. İçinde bildirilen değerler, config.

dizinindeki normal yapılandırma dosyalarında ayarlanan değerlerden öncelikli olacaktır. Her benzersiz kurulum; veritabanı bağlantı ayarları, uygulama URL'si, hata ayıklama seçenekleri vb. değerleri tanımlamak için kendi ortam dosyasına ihtiyaç duyacaktır. Ortam dosyasının veritabanı kimlik bilgileri, güvenlik anahtarları vb. hassas bilgiler içerdiğini unutmayın. Bu nedenle, bu dosyanın asla herkese açık olarak paylaşılmaması şiddetle tavsiye edilir.

Ortam dosyasını bir metin düzenleyiciyle açın:

İşte örnek bir ortam kodu:

DB_PASSWORD=password123

Değerleri inceleyelim:

  • APP_NAME: Bu alan uygulamanın adını tanımlar. Bu ad, bildirimler ve mesajlar için kullanılacaktır.
  • APP_ENV: Uygulamanın mevcut ortamı.
  • APP_KEY: Bu anahtar, Laravel Composer aracılığıyla kurulurken otomatik olarak oluşturulur. Salt ve hash oluşturmak için kullanılır. Değiştirilmesine gerek yoktur.
  • APP_DEBUG: Hata ayıklama modu geçişi. Açıldığında, istemci tarafında hata ayıklama bilgilerini gösterir.
  • APP_URL: Uygulama temel URL'si. Ayrıca uygulama bağlantıları oluşturmak için de kullanılır.
  • DB_DATABASE: Veritabanının adı. Bu durumda, oluşturduğumuz özel veritabanı olacaktır.
  • DB_USERNAME: Veritabanına bağlanmak için kullanılacak kullanıcı adı.
  • DB_PASSWORD: Veritabanına bağlanmak için kullanılacak şifre.

Değişiklikler yapıldıktan sonra dosyayı kaydedin ve düzenleyiciyi kapatın.

Adım 5 – Nginx Kurulumu

Laravel'i kullanıcının ana dizinindeki yerel bir klasöre başarıyla kurduk. Bu yapılandırma yerel geliştirme ortamı için gayet iyi çalışır. Ancak, genel internete açık web sunucuları için uygulanması önerilmez.

Bir sonraki adımımız uygulamayı şuraya taşımaktır: /var/www çünkü burası Nginx üzerinde çalışan web uygulamaları için alışılagelmiş konumdur. mv komutunu kullanarak travellist klasörünü şuraya taşıyın: /var/www/travellist:

Ardından, kullanıcıya şu klasörler için yazma erişimi atayın: storage ve cache klasörleri. Bunlar Laravel uygulaması tarafından oluşturulan dosyaların konumlarıdır:

Uygulama dosyaları artık yerinde. Ancak, Nginx'e içeriği sunmasını söylememiz gerekiyor. Yeni bir sanal ana bilgisayar yapılandırma dosyası oluşturun:

Nginx üzerinde çalışan bir Laravel uygulaması için önerilen ayarların bir örneği aşağıdadır:

Yeni sanal ana bilgisayar yapılandırma dosyasını etkinleştirme zamanı. Şuraya bir sembolik bağlantı oluşturun: sites-enabled dizini:

Aşağıdaki Nginx komutu, yapılandırma dosyalarını sözdizimi hatalarına karşı test edecektir:

Ardından, Nginx'i yeniden yükleyin:

Uygulama artık alan adı veya IP adresi kullanılarak erişilebilir olmalıdır (şu direktif tarafından tanımlandığı gibi: server_name direktifi):

Installing Laravel image 3

Step 6 – Customizing the Main Page

Laravel uygulaması yapılandırıldığına göre artık üzerinde çalışmaya başlayabiliriz. Gösterim amacıyla, veritabanı tablosundaki örnek verileri sergileyen örnek bir sayfa oluşturma zamanı geldi: places. İlk olarak, ana rota dosyasını bir metin düzenleyicide açın:

Dosya varsayılan olarak bazı içerikler barındıracaktır. Burada rotalar, statik yöntem kullanılarak tanımlanır (Route::get). Bağımsız değişken olarak bir path ve bir callback function alır.

Kodu aşağıdakilerle değiştirin:

Installing Laravel image 2

Dosyayı kaydedin ve düzenleyiciyi kapatın. Ardından, veritabanı sorgu sonuçlarını kullanıcıya sunmak için düzeni oluşturacağız. Şurada yeni bir dosya oluşturun: resource/views:

Aşağıdaki kodda, değerine bağlı olarak iki yer listesi oluşturduk: visited ve togo:

Installing Laravel image 1

Dosyayı kaydedin ve düzenleyiciyi kapatın. Şimdi web uygulaması sayfasına tekrar erişin:

Travel list

İşte bu kadar! Artık içerikler için MySQL veritabanını kullanan işlevsel bir Laravel uygulamamız var.

Son Düşünceler

Bu öğreticide, Ubuntu 20.04 sunucusunda çalışan LEMP yığını üzerinde bir Laravel uygulamasının nasıl kurulacağını gösterdik. Ayrıca, veritabanı içeriğini sorgulamak ve sonuçları özel bir görünümde görüntülemek için varsayılan rotanın nasıl özelleştirileceğini de gösterdik. Laravel hakkında daha fazla bilgi için şu konulardaki resmi belgeleri inceleyin: views, routes ve veritabanı desteği.

Bu öğreticideki kurulum bağımsız bir sanal makine üzerinde gerçekleştirilmiştir. Ancak, dilerseniz Laravel'i Docker üzerindeki LEMP yığınlarında dağıtabilirsiniz.

Keyifli Kodlamalar!

author

Hark Labs

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.