Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 3, 2023 02:16 pm GMT

Ubuntu / Apache zerinde Laravel/WebSockets Kurulumu ve Yaplandrlmas.

Bu blog yazsnda, DigitalOcean droplet'na (sanal zel sunucu) kurulu Ubuntu iletim sistemi zerinde Laravel web uygulamas kurulumu ve WebSockets yaplandrmas admlarn reneceksiniz.

1. Dosyalarn Sunucuya Gnderilmesi

Laravel projesi iin gerekli dosyalar sunucuya gndermek iin scp kullanalm. rnek olarak:

scp /home/baris/app.zip kullanici@sunucuadresi:/var/www/html

Eer github'dan ekecekseniz ne yapmanz gerektiini zaten biliyorsunuzdur git clone ...

Dosya aktarm tamamlandktan sonra ssh ile sunucuya balanalm

ssh root@ipadresi

Projenin kk klasrne gemek iin aadaki komutlar kullanalm.

cd ..cd var/www/html

ls komutu ile app.rar dosyanzn bu klasrn iinde olduundan emin olun, ardndan bu dosyay darya aktaralm.

unrar x app.rar## veyaunzip app.zip

veya direkt klasr ad belirterek dosyalar klasre kartalm.

unrar x app.rar laravelapp

2. Proje Kurulumu ve Yaplandrlmas

Projenin dzgn almas iin gerekli izinleri verelim.

chown -R www-data:www-data /var/www/html/laravelapp

Node.js ve Composer modllerini ykleyelim

> composer install --no-dev> npm install> npm run build

3. Apache Ayarlar

vim editor ile gerekli ayarlar yapmak zere config dosyamz aalm

vim /etc/apache2/sites-available/000-default.conf

Yaplandrma dosyamz aadaki gibi grnmeli aadaki rnek yaplandrma dosyasn kullanarak, projeniz iin virtual host ayarlarn yaplandrabilirsiniz. Ayrca, sakn 127.0.0.1 adresini deitirmeyin, buras okomelli :)

<VirtualHost *:80>        ServerAdmin webmaster@localhost        DocumentRoot /var/www/html/laravelapp/public        <Directory /var/www/html/laravelapp>            Options Indexes FollowSymLinks            AllowOverride All            Require all granted        </Directory>        ###  127.0.0.1 olarak kalmal ###        ProxyPass "/app/" "ws://127.0.0.1:6001/app/"        ProxyPass "/apps/" "http://127.0.0.1:6001/apps/"        ### websockets iindi bu alan ###        ErrorLog ${APACHE_LOG_DIR}/error.log        CustomLog ${APACHE_LOG_DIR}/access.log combined        <IfModule mod_dir.c>            DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm        </IfModule></VirtualHost>

Ardndan, gerekli Apache modllerini yklemek iin srayla aadaki komutlar yazalm.

> a2enmod rewrite> apachectl restart

3 Veritaban ve Veritaban Kullancs Oluturma

MySQL veya MariaDB'ye balanmak iin aadaki komutu kullanalm

sudo mysql

Bu komutla MySQL veya MariaDB istemcisini balatabilir ve sunucuya balanabilirsiniz. Ardndan, aadaki komutu kullanarak yeni bir veritaban oluturalm:

CREATE DATABASE laravelapp;

Bu komutla "laravelapp" adnda yeni bir veritaban oluturmu oluyoruz. Daha sonra, bu veritabanna balanmak iin bir kullanc oluturmanz gerekiyor. Aadaki komutla yeni bir kullanc oluturalm.

CREATE USER 'laravelappuser'@'localhost' IDENTIFIED BY 'password';

Bu komutla "laravelappuser" adnda yeni bir kullanc oluturduk. Kullancnn ifresini "password" olarak belirledik, ancak gerek bir uygulamada daha gl bir ifre kullanmanz gerektiini hatrlatmama gerek yok sanrm :).

Son olarak, yeni kullancnn laravelapp veritabanna eriebilmesi iin aadaki komutla izinleri vermeniz gerekiyor:

GRANT ALL PRIVILEGES ON laravelapp.* TO 'laravelappuser'@'localhost';FLUSH PRIVILEGES;

Bu komutlarla "laravelappuser" kullancsna "laravelapp" veritaban iin tm izinleri vermi oluyoruz.

Artk Laravel projemiz iin "laravelapp" adnda bir veritaban oluturuldu ve "laravelappuser" kullancs bu veritabanna eriebilecek ekilde yaplandrld. Laravel konfigrasyonunda (.env) veritaban bilgilerinizi gncelleyerek sunucudaki veritabanna balanabilirsiniz.

4. Supervisor Yaplandrmas

Supervisor, sistem balatldnda arka planda alan ilemleri ynetmek iin kullanlan bir aratr. Bu nedenle, Laravel projenizde kullanacanz Websocket ilemcisi de Supervisor ile ynetilebilir.

Supervisor' kuralm.

apt install supervisor

Supervisor yaplandrma dosyasn oluturalm.

laravel-websockets adn deitirmeyin ufak ama mide bulandrc detaylar var :)

cd /etc/supervisor/conf.d/
touch laravel-websockets.conf
vim laravel-websockets.conf

Dosyamzn ieriini aadaki gibi dzenleyelim, directory ve command ksmndaki path'i deitirdiinizden emin olun.

[program:laravel-websockets]directory=/var/www/html/laravelappcommand=php /var/www/html/laravelapp/artisan websockets:servenumprocs=1user=rootautostart=trueautorestart=truestderr_logfile=/var/log/websockets.err.logstdout_logfile=/var/log/websockets.out.log

Supervisor' yeniden balatalm

service supervisor restart

son olarak /var/www/html/laravelapp/resources/js/bootstrap.js dosyasnda wshost deerini window.location.hostname olarak deitirmeliyiz.

wsHost: window.location.hostname,

5. Sonu

Bu yazda, DigitalOcean zerinde Ubuntu ve Apache kullanarak Laravel projenizde Websocket'leri nasl kurabileceinizi ve yaplandrabileceinizi anlattm. Admlar doru bir ekilde takip ederseniz, Laravel projenizde Websocket'leri kullanarak gerek zamanl bir uygulama gelitirebilirsiniz.


Original Link: https://dev.to/baris/digitalocean-ubuntu-apache-uzerinde-laravelwebsockets-kurulumu-ve-yapilandirilmasi-82l

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To