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.