An Interest In:
Web News this Week
- April 28, 2024
- April 27, 2024
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
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
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To