Ubuntu 20.04'te Nginx ile Laravel PHP Çerçevesi Nasıl Kurulur


Laravel, etkileyici ve zarif sözdizimi ile bilinen, dünyadaki en popüler, ücretsiz ve açık kaynaklı PHP çerçevesidir. Laravel erişilebilirdir, güçlüdür ve büyük, sağlam ve modern uygulamalar için gereken en iyi web geliştirme araçlarından bazılarını sunar.

Bu makalede, Nginx web sunucusu üzerinde çalışan Ubuntu 20.04 sunucusuna Laravel PHP Framework'ün nasıl kurulacağını öğreneceksiniz.

Önkoşullar

  • Ubuntu 20.04'te PhpMyAdmin ile LEMP Yığını Nasıl Kurulur

Adım 1: Gerekli PHP Modüllerini Yükleme

Yukarıdaki bağlantıdaki kılavuzda açıklandığı gibi Ubuntu 20.04 sunucunuza LEMP yığınını kurduktan sonra, Laravel'in gerektirdiği ek PHP uzantılarını aşağıdaki şekilde yüklemeniz gerekir:

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

Adım 2: Laravel için Veritabanı Oluşturma

Daha sonra, Laravel uygulamanız için bir MySQL veritabanı oluşturmanız gerekir. O halde mysql kabuğunuza giriş yapın ve veritabanını aşağıdaki gibi oluşturun.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

Adım 3: Composer'ı Ubuntu 20.04'e Yükleme

Laravel, bağımlılıklarını yönetmek için besteci'yi (PHP için bir bağımlılık yöneticisi) kullanır. Bu nedenle, Laravel'i kullanmadan önce, gösterildiği gibi sisteminizde Composer'ın kurulu olduğundan emin olun.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Adım 4: Laravel'i Ubuntu 20.04'e kurmak

Besteci'yi yükledikten sonra Laravel dosyalarını yüklemek için onu kullanın. Web dosyalarının depolandığı /var/www/html dizininize gidin, ardından gösterildiği gibi besteciyi kullanarak Laravel'i yükleyin. example.com yerine Laravel dosyalarının saklanacağı dizinin adını koymayı unutmayın.

cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com

Adım 5: Ubuntu 20.04'te Laravel'i Yapılandırma

Yeni Laravel kurulumunun içeriğini listelemek için aşağıdaki ls komutunu çalıştırın. Geçmişte manuel olarak oluşturulması gereken bir .env dosyasının otomatik olarak oluşturulduğunu fark edeceksiniz.

ls -la /var/www/html/example.com/

Daha sonra Laravel dizininde uygun izinleri aşağıdaki gibi ayarlayın.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Daha sonra Laravel, kullanıcı oturumlarını ve diğer şifrelenmiş verileri güvence altına almak için bir uygulama anahtarı kullanır. Varsayılan .env, varsayılan bir uygulama anahtarı içerir ancak güvenlik amacıyla laravel dağıtımınız için yeni bir anahtar oluşturmanız gerekir.

sudo php artisan key:generate

Oluşturulan anahtar, APP_KEY'in değeri olarak .env dosyasına eklenecektir. Eklenen anahtarı grep komutunu kullanarak görüntüleyebilirsiniz.

grep -i APP_Key /var/www/html/example.com/.env

Ayrıca aşağıdaki ekran görüntüsünde gösterildiği gibi Laravel veritabanı bağlantı ayrıntılarını .env dosyasında yapılandırmanız gerekir.

sudo nano /var/www/html/example.com/.env

Adım 6: NGINX'i Laravel Uygulamasını Sunacak Şekilde Yapılandırma

NGINX'in yeni uygulamanıza hizmet vermesi için, NGINX yapılandırmasında /etc/nginx/sites-available/ dizini altında bir sunucu bloğu oluşturmanız gerekir.

sudo nano /etc/nginx/sites-available/example.com.conf

Aşağıdaki konfigürasyonda kök yönergesini Laravel uygulamasının genel dizinine güncelleyin ve gösterildiği gibi www.example.com yerine web sitenizin alan adını yazdığınızdan emin olun.

Ayrıca, fastcgi_pass yönergesini PHP-FPM'nin istekler için dinlediği ortama işaret edecek şekilde ayarlayın (örneğin fastcgi_pass unix:/run/php/php7.4) -fpm.sock):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Dosyayı kaydedin ve ardından /etc/nginx/sites-available/example.com.conf dosyasından /etc/nginx/sites-enabled/ dosyasına bir bağlantı oluşturarak Laravel site yapılandırmasını etkinleştirin. dizini. Ayrıca varsayılan sunucu bloğu yapılandırmasını kaldırın.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Ardından, hizmeti yeniden başlatmadan önce aşağıdaki komutu çalıştırarak NGINX yapılandırma sözdiziminin doğru olup olmadığını kontrol edin.

sudo nginx -t
sudo systemctl restart nginx

Adım 7: Laravel Uygulamasına Web Tarayıcısından Erişmek

Bu aşamada Laravel dağıtımınızın düzgün çalışıp çalışmadığını ve ona bir tarayıcıdan erişilip erişilemediğini test etmeniz gerekir. Sahte alan adı olan example.com'u kullanmak için, yerel DNS oluşturmak amacıyla yerel bilgisayarınızdaki /etc/hosts dosyasını kullanalım.

Laravel sunucusunun IP adresini almak ve /etc/hosts dosyasına eklemek için aşağıdaki komutları çalıştırın (değeri ayarlarınıza göre değiştirin).
$ip reklamı
$echo “192.168.56.11 example.com” | sudo tee -a /etc/hosts

Şimdi yerel bilgisayarda bir web tarayıcısı açın ve gezinmek için aşağıdaki adresi kullanın.

http://www.example.com/

Artık Laravel'i yüklediğinize göre web uygulamanızı veya sitenizi oluşturmaya başlayabilirsiniz. Daha fazla bilgi için Laravel belgelerine bakın.