Çalışma ortamınızda Docker kurulu değilse, buraya tıklayarak gerekli docker kurulumunu gerçekleştiriniz.
Aşağıdaki komutları sırasıyla çalıştırarak mevcut projenizin içerisine dahil edebilirsiniz.
$ git remote add xdocker git@github.com:emnsen/xdocker.git
$ git remote update
$ git pull xdocker masterNot:
Eğer
$ git pull xdocker masterkomutunda sorun yaşıyorsanız, komutun sonuna--allow-unrelated-historiesekleyip tekrar çalıştırınız.Yukarıdaki opsiyonel seçeneği tek sefer kullandıktan sonra
$ git pull xdocker masterşeklinde kullanmaya devam edebilirsiniz.Örnek;
$ git pull xdocker master --allow-unrelated-histories
Terminalden projenin ana dizinine girin.
Eğer aşağıdaki aliaseslar mevcut değilse. Aşağıdaki kodu çalıştırın.
$ cat xdocker/aliases >> ~/.bash_aliasesKullandığınız terminal, varsayılan terminal değilse .bash_aliases dosyasını terminalinize uygun olan dosya adıyla değiştirin. Örnek;
- oh-my-zshrc > ~/.zshrc
- linux terminal > ~/.bash_aliases veya ~/.bashrc
- mac terminal > ~/.profile
Yukarıda ki aliasesları ekledikten sonra terminalden projenizin ana dizininde rundockerrun yazarak çalıştarabilirsiniz.
Linux üzerindeki kurulumlarda root yetkisi gerekebilir. Böyle bir durumda
sudo rundockerrunşeklinde çalıştırınız. Eğer veritabanı parametrelerini(host, kullanıcı, şifre, vs..) güncellemek istiyorsanız--dpuopsiyonu ile çalıştırınız. Örnek:rundockerrun --dpu
Aşağıda aliases dosyası içerisindeki aliaslar yer almaktadır.
Kurulum için xdocker/php-fpm/php-ini-overrides.ini dosyasında yer alan devre dışı bırakılmış aşağıda yer alan ayarların başında bulunan ; karakterini kaldırınız.
;zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
;xdebug.remote_host=host.docker.internal
;xdebug.remote_enable=1
;xdebug.remote_handler=dbgp
;xdebug.remote_port=9001
;xdebug.remote_autostart=0
;xdebug.remote_connect_back=0
;xdebug.idekey=PHPSTORM
Yukarıdaki ayarları yaptıktan sonra PHPStorm'da Preferences > Languages & Frameworks > PHP tıklayınız.
Debugmenüsüne tıklayın, sağ tarafta yer alanDebug Portdeğerini9001olarak ayarlayınız. Burası php.ini içerisindeki değerle aynı olmalıdır.Debugsonra yer alanServersmenüsüne tıklayın, açılan ekran+'ya tıklayarak yeni bir server ekleyiniz.Host: localhost,Port: 80,Debugger: Xdebugolacak şekilde ayarlayın. Hemen altında yer alanUse path mappings'e tıklayın açılan alandaProject fileshemen altında yer alan proje dizininizin karşısında yer alanAbsolute path on the serverdeğerini/applicationolacak şekilde ayarlayın.- Tekrar docker buildi aldıktan sonra Chrome Xdebug helper eklentisini indirin eklentiye tıklayıp debug seçeneğine tıklayın ve keyifli debuglar.
Eğer eklentisiz yapmak istiyorsanız
xdebug.remote_autostart=1şeklinde ayarlayarak otomatik olarak sürekli bağlanmayı sağlayabilirsiniz.
Varsayılan SSL Portu olan 443 portunun docker-compose.yml dosyasında bulunan services > webserver > ports altında - 443:443 şeklinde tanımlandığından emin olun.
Aşağıda yer alan;
adımlarını yaptıktan sonra projenin dizininde dc build && rundockerrun komutu çalıştırmayı unutmayınız.
Local geliştirme ortamınızda SSL oluşturmak için terminalden cd xdocker/nginx/certs komutunu çalıştırın.
Aşağıdaki komutta bulunan <domain>'i local domaininiz ile değiştirerek gerekli sertifikaları oluşturun.
openssl req -x509 -out <domain>.local.crt -keyout <domain>.local.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=<domain>.local' -extensions EXT -config <( \
printf "[dn]\nCN=<domain>.local\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:<domain>.local\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")Aşağıdaki dosyada yer alan satırların başındaki # karakterini kaldırarak sertifika kullanımını aktif hale getiriniz.
File: xdocker/nginx/nginx.conf.template
#listen 443 ssl http2;
#listen [::]:443 ssl http2;
#ssl on;
#ssl_certificate /etc/nginx/certs/${NGINX_HOST}.crt;
#ssl_certificate_key /etc/nginx/certs/${NGINX_HOST}.key;- Keychain Access'i açın, sol menüde yer alan Keychains altında yer alan System'e tıklayın.
- Yukarıdaki menüden
File > Import Itemsseçeneğine tıklayın ve açılan ekrandan oluşturduğunuz<domain>.local.crtdosyasını seçipAddseçeneğine tıklayın. (Şifre istenmesi durumunda bilgisayarınızın şifresini girin.) - Sağ üstte yer alan
Searchkısmından<domain>.localşeklinde arama yapıp import ettiğiniz sertifikayı bulun ve üzerine çift tıklayın. Açılan pencerede> Trustyazısının okuna tıklayıp tab'ı genişletin.When using this certificate:karşısında bulunan seçeneklerdenAlways Trustseçeneğini seçin ve kapatın.https://<domain>.localşeklinde local ssl sertifikanız ile kullanmaya başlayabilirsiniz.
alias dc='docker-compose'
alias dcu='dc up -d'
alias dck='dc kill $(docker ps -aq) &>/dev/null'
alias dcl='dc ps'
alias dcr='dc restart'
alias dcp='dc exec --privileged php-fpm'
alias dcn='dc exec --privileged nginx'
alias dcm='dc exec --privileged mysql'
alias dp='dcp php'
alias cmp='dcp composer'
alias ci='cmp install'
alias cu='cmp update'
alias cr='cmp require'
alias sc='dp bin/console'
alias sdsu='sc d:s:u --force'
alias scc='sc c:c --no-warmup'
alias rundockerrun='./start.sh'
alias rerundocker='dck || rundockerrun'