Ç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 master
Not:
Eğer
$ git pull xdocker master
komutunda sorun yaşıyorsanız, komutun sonuna--allow-unrelated-histories
ekleyip 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_aliases
Kullandığı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--dpu
opsiyonu 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.
Debug
menüsüne tıklayın, sağ tarafta yer alanDebug Port
değerini9001
olarak ayarlayınız. Burası php.ini içerisindeki değerle aynı olmalıdır.Debug
sonra yer alanServers
menüsüne tıklayın, açılan ekran+
'ya tıklayarak yeni bir server ekleyiniz.Host: localhost
,Port: 80
,Debugger: Xdebug
olacak şekilde ayarlayın. Hemen altında yer alanUse path mappings
'e tıklayın açılan alandaProject files
hemen altında yer alan proje dizininizin karşısında yer alanAbsolute path on the server
değerini/application
olacak ş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 Items
seçeneğine tıklayın ve açılan ekrandan oluşturduğunuz<domain>.local.crt
dosyasını seçipAdd
seçeneğine tıklayın. (Şifre istenmesi durumunda bilgisayarınızın şifresini girin.) - Sağ üstte yer alan
Search
kısmından<domain>.local
şeklinde arama yapıp import ettiğiniz sertifikayı bulun ve üzerine çift tıklayın. Açılan pencerede> Trust
yazısının okuna tıklayıp tab'ı genişletin.When using this certificate:
karşısında bulunan seçeneklerdenAlways Trust
seç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'