Giriş yapmadınız.

#1 27.06.2019 15:29:44

ugurdnlr
Üye
Kayıtlı: 23.04.2019
Mesajlar: 6

Laravel Projeyi Paylaşımlı sunucuya almak.

Projemi yayına almak istiyorum da dikkat etmem gereken noktalar ve yapmam gerekenler nedir tam olarak normal html projeyi yayına almaktan farklı olarak ?

Bir de SSH iznim var sunucuya composer install komutu verdikten sonra composer not found diye bir hata alıyorum.Öncesinde curl -sS https://getcomposer.org/installer | php komutunu yazıyorum success dönüş alıyorum ama composer install yapamıyorum. Vendor dosyası da oluşmuyor bu yüzden. Yardımcı olabilir misiniz ?

Çevrimdışı

#2 27.06.2019 15:33:55

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,703
Website

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

GIT kullanıyor musunuz?

Çevrimdışı

#3 27.06.2019 15:54:03

ugurdnlr
Üye
Kayıtlı: 23.04.2019
Mesajlar: 6

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

Kullanmıyorum malesef. Kullanıcaktım fakat bir kaç hata aldığım için ilerleyemedim.

Çevrimdışı

#4 27.06.2019 16:32:18

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,703
Website

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

GIT artık bir araç değil, yazılımın kendisidir. Ne yapın ne edin öğrenin.

Diğer kısımlara gelince:
1. Sunucuda işlemleri root olarak yapmıyorsunuz, mutlaka ayrı bir kullanıcı ile yapmanız gerekiyor. Eğer SSH ile bağlanırken root değil de farklı bir kullanıcı ile bağlanıyorsanız ve o kullanıcı web server ile aynı grupta ise kabaca sorun yok diyebiliriz.
2. Dosyaları nasıl gönderiyorsunuz bilmiyorum ama FTP/SFTP ile gönderirken hangi kullanıcı ile sunucuya bağlanırsanız, özel bir işlem yoksa, onun sahipliliğinde dosyalar ve dizinler oluşturulur. Web server o kullanıcın yetkilerine sahip değilse hata alacaksınız. O yüzden 1. maddedeki kullanıcı ile bağlanın, diğer tüm işlemler gibi.
3. Genellikle dosyaların yazma izni 644; dizinlerin yazma izinleri 755 olur, buna dikkat edin. Dosyaları göndereceğiniz dizine SSH ile ulaşıp o dizin içindeyken komut satırına umask 022 yazabilirsiniz. Bu komuttan sonra eklenen dosya ve klasörler 644/755 izinleriyle oluşturulur; herkes tarafından okunabilir ama sadece sahibi/grubu tarafından yazılabilir.
4. Ben global composer kullanmıyorum. composer bir phar dosyası olduğu için php ile tek başına çalışabilir. O yüzden https://getcomposer.org/composer.phar adresinden inidirip projenizin kök dizinine atın (app klasörünün yanına yani). Sonra şu şekilde kullanabilirsiniz:

$ php composer.phar install

5. .env dosyasını göndermiyorsunuz. O geliştirme ortamında kullandığımız bir dosya.
6. Alan adı için DOCUMENT_ROOT Laravel içindeki public olmalı, public içindeki dosyalar dışındaki dosyalara dışarıdan erişim mümkün olmamalıdır.
7. Veritabanına migration'ları kurmadan önce oluşturduğunuz veritabanının dil kodlamasının utf8mb4 ve karşılaştırma değerinin utf8mb4_unicode_ci olduğundan emin olun.
8. Artisan komutları proc_*, exec gibi sistem fonksiyonlarını gerektiriyor. Hata alırsanız PHP ayarlarında disable_functions anahtarında bu fonksiyonlar varsa silmeniz gerekebilir. Sadece ihtiyacınız olanları silin, hepsini silmeyin.
9. Sunucunuzda mutlaka bir yedekleme sistemi olmalı ve buna da mutlak suretle güvenmemelisiniz. Sunucu dışındaki yerlere de yedekleme ile ilgili araştırma yapın.

Şimdilik aklıma gelenler bunlar.

Çevrimdışı

#5 27.06.2019 16:33:58

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 476

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

composeri kurduysanız hatasız.composer yazdıgınızda composerle ilgili verileri görebiliyor olmanız lazım.
Terminal oturumunuzu kapatıp yeni bir terminal oturumu açarsanız.Calıştırabilirsiniz.

Birde git kullanın.Öyle hata aldım ilerleyemedim gibi bir şey yok.
Olmadıysa sonsuza kadar kullanmam ben bunu diyerek yazılım sektöründe bir yere varamazsınız.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#6 28.06.2019 01:03:38

Kevin-Mitnick
Üye
Kayıtlı: 26.05.2016
Mesajlar: 493

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

@mgsmus hocam git konusu açılmışken şimdi benim proje githubta + CI var arada her push ettiğimde deploy ediyor sorun yok.

sorun şu diyelim paket kurmak istiyoruz. Bu durumda ssh ile bağlanıp paketimi kurduktan sonra bu sefer github güncell kalmadı ?

nasıl bir mantık izlememiz gerekiyor tam olarak orayı kavramış değilim . Teşkkürler


Mister Koder

Çevrimdışı

#7 28.06.2019 08:25:01

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 476

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

Kevin-Mitnick yazdı:

@mgsmus hocam git konusu açılmışken şimdi benim proje githubta + CI var arada her push ettiğimde deploy ediyor sorun yok.

sorun şu diyelim paket kurmak istiyoruz. Bu durumda ssh ile bağlanıp paketimi kurduktan sonra bu sefer github güncell kalmadı ?

nasıl bir mantık izlememiz gerekiyor tam olarak orayı kavramış değilim . Teşkkürler

paket derken laravel paketinden mi bahsediyorsun?.Eğer öyleyse tabiki en once localinde yükleyip sonra githubına atıcaksın.
bunda sorun yok.Eğer linuxa özel bir yükleme yapıcaksan (apt-get install -y blabla).o zamanda localinde docker kullanıcaksın.

her türlü localini eşitlemek zorundasın yani.Öbür türlü iş yükü oluşturur sana ve hatalara gebe kalacaksın.
Prod ve local 100 de 100 eşit olmak zorunda lamı cimi yok.Değilse saçma sapan bir ortamınız var demektir.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#8 28.06.2019 11:14:52

Kevin-Mitnick
Üye
Kayıtlı: 26.05.2016
Mesajlar: 493

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

@deathisonitsway yok şuanda öyle ortam evet laravel paketi yani siz nasıl geliştiyorsunuz sunucudaki projeyi onu merak ediyorum gittiğim yol doğru mu doğru değilse daha iyi yollar nedir  ?Mesela versiyonlamada dev brancım var birde master brancı master sunucudaki çalışan proje dev brancı ise geliştirme ortamım ama dev brancı nasıl test edicem sub domain ile mi ? Yani sub domainde test ettikten sonra master ile merge etmek mi lazım ? Teşekkürler.


Mister Koder

Çevrimdışı

#9 28.06.2019 13:56:01

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,703
Website

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

Paket kurulumu vs hepsi geliştirme ortamında yapılır, composer.lock dosyası sunucuya gönderilir (zaten git dahilindedir), sunucuda sadece composer install yapılır. Paketler bazen ek dosyalar oluşturabilir, Laravel paketlerinin config ya da view oluşturması gibi. Bunlar da geliştirme ortamında oluşturulur (Laravel'de vendor:publish ile yani) composer.lock ile sunucuya gönderilir. Kısacası production ortamda remote origin'e push yapmanıza neden olacak bir işlem yapmamanız gerekiyor, production daima pull yaparak yaşamaya devam etmeli. Bunun aksi sistemler hiç yok mudur? Arkasında mantıklı bir sebep varsa neden olmasın.

Dev branch, production ortamında test edilecekse ona production ortamı lazım yani. Subdomain de olur, ayrı domain de olur, ayrı sunucu/ortam da olur, sadece ne yaptığınızı neyin değişip neyin değişmediğini bilin yeter. Daha sonra dev → master şeklinde bir pull request ile master ve dev'i eşitlersiniz.

Elbette deathisonitsway'in dediği gibi en iyisi productiona eşdeğer bir dev ortamı.

Ben şunu kullanıyorum, isterseniz bir bakın. Docker'a aşina olmamı sağlamıştı:
http://devilbox.org/

Çevrimdışı

#10 29.06.2019 17:26:45

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 476

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

dev brancını localde test ediceksin.dev brancı senin de dediğin gibi geliştirme brancıdır.Master branchı ise son kullanıcı branchıdır.
Aslında branchlama tekniği sadece dev ve master üzerine kurulu ise bana göre hatalı bir branch çalışması olur.Niye olduğunu söyleyeyim.

Sizin tüm geliştirmeleriniz aslında dev branchındadır.Orneğin uzun soluklu bir modül üstünde çalışıyorsunuz ama dev branchında calısıyorsunuz.
Bir yandan da başka modüller yada kavramlar üzerinde geliştirmeye ihtiyacınız var.Gördüğünüz gibi hepsi dev branchında yapılıyor.
Deploy günü geldiğinizde deploy yapıyorsunuz ve uzun soluklu üzerinde çalıştığınız modül henüz bitmedi.Hoopp masterda..nolcak şimdi.

Gitmemesini istiyorsunuz ama.Bitmedi ki henüz.Yada patronunuz dedi ki..Ben bu geliştirmeyi atmak istemiyorum henüz.Napıcaksınız.Geri mi alcaksınız.
Historyden mi temizleyeceksiniz.

Hayır işte branchlama teknikleri sadece bunun üzerine yani dev ve master için kurulamaz.Görev mantığında ilerlemek en mantıklısı.Eğer ki bir jira varsa (tabi team work işlerden bahsediyorum) yada onemli değil kendinize ait bir çalışma tekniği de olabilir bu.

Her geliştirme ayrı bir branch olarak çıkılmalı.Orneğin bir foto gallery üzerinde geliştirme yapıyorsanız..

Work-PhotoGallery-1 gibi isimlerle branchlama yapmalısınız.

Deploy günlerinde elinizde şu branchlar olacaktır.

Work-PhotoGallery1
Work-BlogFix-1
Work-Category-Feature-1

falan filan isimlendirmeler daha derli toplu olabilir.Sadece örnek vermek açısından yazıyorum.

Deploy günü sadece photoGallery atılabilir..

İyi çalışmalar...

Son düzenleyen deathisonitsway (29.06.2019 17:29:44)


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#11 30.06.2019 08:39:52

alihankoc
Üye
Kayıtlı: 14.09.2017
Mesajlar: 63

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

Biz her issue için bir branch açıyoruz. Issue tamamlandığında kendi branchinde testi geçerse master a merge ediyoruz. Branch açmak sınırsız iyi ki big_smile

Son düzenleyen alihankoc (30.06.2019 08:40:16)

Çevrimdışı

#12 01.07.2019 16:41:19

ugurdnlr
Üye
Kayıtlı: 23.04.2019
Mesajlar: 6

Yanıt: Laravel Projeyi Paylaşımlı sunucuya almak.

Teşekkürler, Sağolun.

Çevrimdışı

Forum alt kısmı