Mac için Devilbox kurulumu

2 yıl önce @mehmettevfiksahin tarafından oluşturuldu· the-devilbox, wamp, lamp, mamp, mean

Laravel'le geliştirdiğim bir projem için MySQL ihtiyacım vardı, MySql'i kolayca kurabilirdim sadece MySql kurduğum zamanda ayrıca bir veritabanı yönetim aracına ihtiyacım olacaktı Navicat gibi tabi mac için uyumlu bir versiyonuda varmı bilmiyorum ama zaten kullanmayı sevdiğim bir araç değil genel olarak phpMyAdmin kullanmaya alışığım bunu çalıştırabilmek içinde Apache ve PHP'ye ihtiyacım var yani bana bir Web Servis paketi olan bir program lazım. Windows'ta WAMP Server kullanıyordum bu ihtiyacı karşılamak için benim içinde yeterli güzel bir programdı fakat macOS için desteği bulunmuyordu. Mac'ide yeni aldığım için ekosistemine pek alışık değilim bir çok şey çok daha farklı windows'a göre...


Bende yazdım Google amcaya alternatif neler var diye çıkan ilk sayfaya tıkladım, sonra windows için WAMP olan programın alternatifi olarak linux için LAMP ve mac için MAMP adında farklı programlar olduğunu öğrendim ve balıklama MAMP'a atlayıp kurdum fakat çok dikkat etmemiş olacağımki MAMP Pro indirmişim bununda lisanssız kullanım süresi sadece 14 gün. Neyse dedim zaten benim için çok önemli değildi işim 14 gün içinde biterdi ama programı her açtığımda lisansınız bitmesine X gün kaldı hemen satın al penceresinin çıkması oldukça rahatsız etti. Aslında MAMP Free'de kurabilirdim ama özellikleri kısıtlanmış araçları kullanmakta hoşuma gitmiyor.


Bende yeni bir araştırmaya giriştim bu sefer sadece çıkan ilk sayfaya değil 2. 3. sayfalarada baktım ve bir kaç programı üstün körü inceledikten sonra The Devilbox'ı buldum oldukça eski gözüken bir web sayfası olsada programın özellikleri dikkatimi çekti, alt yapısında yine daha önce adından bahsettiğimiz LAMP var onunla birlikte MEAN var iki alt yapıyı birleştirip geniş bir alt yapı desteği sunmuşlar bunuda dockerize ederek platform bağımsız hale getirmişler böylelikle tüm işletim sistemleride desteklenmesi sağlanmış yani ister Windows kullanın ister MacOS ister Linux farketmez Devilbox'i hepsinde rahatlıkla kullanabilirsiniz.


Devilbox'ın sundukları:


Otomasyon

- Otomatik Proje oluşturma

- Otomatik SSL

- Otomatik DNS

- Host izin senkronizasyonu


Modlar

- Statik dosyalar

- PHP dosyaları

- Reverse Proxy

- Websockets


Backend

- PHP-FPM

- NodeJS

- Piton

- Golang


Profilleştirme

- Blackfire

- Xdebug

- XHProf


Proje

- Sınırsız Proje

- Projeler Arası İletişim

- Özel Proje alanları

- Tarayıcı geçerli HTTPS


Intranet

- Virtual Hosts

- C&C

- Email Reader

- OpCache Gui


Araçlar

- adminer

- phpMyAdmin

- phpPgAdmin

- phpRedMind


Veritabanı Hizmetleri

- SQL

- NoSQL

- Cache


ve çok şaşıracağınız program isimlerinin gizemli şifreleri :)


WAMP

W - Windows

A - Apache

M - MySql

P - PHP


LAMP

L - Linux

A - Apache

M - MySql

P - PHP


MAMP

M - Mac

A - Apache

M - MySql

P - PHP


MEAN

M - MongoDB

E - Express

A - Angular

N - NodeJS


evet isimleri gerçekten böyle oluşmuş garip basit ve güzel :) bu akımı kim başlatmış bilmiyorum ama isimleri bunlar gibi oluşmuş oldukça çok program olduğunu gördüm.


# KURULUM


Kurulum diye attım başlığı onun haricinde ne varsa bahsettim artık sözü daha fazla yormadan artık kuruluma geçelim.

İlk olarak bahsettiklerim eskimiş olabilir veya daha ayrıntılı bilgiye ihtiyacınız olabilir doğru ve güncel bilgiye ulaşmak için Devilbox'ın anasayfasına buradan ulaşabilirsiniz.


1- Docker

Devilbox paketlerini ayağa kaldırmak için bunu son adım olarakta uygulayabilirsiniz veya eğer sizde varsa bu adımı atlayabilirsiniz.


Buradan Docker'i intel chip yada apple çip seçeneklerinden size uygun olana tıklayarak indirip kolaylıkla kurabilirsiniz.

Ben ilk dmg dosyasını açtığımda ne yapacağımı anlamamıştım Windows gibi bir setup bekliyordum eğer sizde bilmiyorsanız açılan bencede solda bulunan Docker simgesini tutup sağdaki Applications klasörüne sürükleyip bırakıyorsunuz ve kurulum bundan sonra otomatik olarak gerçekleşiyor.


2- The Devilbox


Devilbox'in dosyalarını github adresinden aşağıdaki komutu kullanarak git yardımıyla indiriyoruz


git clone https://github.com/cytopia/devilbox


Ben heniz dosya yapısında alışamadığım için klonlamayı masaüstüne yaptım


3- .env


Terminali açıp Devilbox'i indirdiğimiz klasöre gidelim bu benim için aşağıdaki gibi olacak sizde masaüstüne indirdiyseniz kullanabilirsiniz.

cd ~/Desktop/devilbox/


klasöre ulaştıktan sonra .env dosyasını oluşturmamız gerekiyor bunu env-example dosyasını kopyalayarak yapıyoruz.

aşağıdaki komutla bunu yapabilirsiniz.

cp env-example .env



4- .env Ayarları

Kullanıcı id'imizi ve grup id'imizi öğrenmemiz gerekiyor


Kullanıcı ID'si için terminalde aşağıdaki komutu çalıştıralım

id -u


Grup ID'si için terminalde aşağıdaki komutu çalıştıralım

id -g


çıktıları aklınızda tutmayı unutmayın :)


vi .env


komutu çalıştırıp .env dosyasını düzenlemeyi açalım. NEW_UID ve NEW_GID bulana kadar inelim daha önce aklımızda tutuğumuz kullanıcı id'sini 1001 yerine grup id'isinide 1002 yerine yazalım.


NEW_UID=1001
NEW_GID=1002


bide MOUNT_OPTIONS'u düzenlememiz gerekiyor .env içinde onuda bulalım ve aşağıdakiyle değiştirelim


MOUNT_OPTIONS=,cached


düzenleyeceklerimiz bu kadar kaydedip çıkabilirsiniz.


# ÇALIŞTIRMA


Artık kurulmumuzu tamamladık devilbox'ı çalıştırabiliriz. İlk olarak yeni bir terminal açtıysak yada farklı bir yola gittiysek ihitmaline karşı devilbox klasöründe olduğumuzdan emin olalım.

cd ~/Desktop/devilbox/


daha sonra aşağıdaki komutu çalıştırarak tüm servisleri ayağa kaldırabilirsiniz.

docker-compose up


yada sadece belirli servisleri çalıştırmak için aşağıdaki komutları kullanabilirsiniz.


Benim gibi MySql'e ihtiyacınız varsa LAMP'ı çalıştabilirsiniz yani Apache PHP MySql

$ docker-compose up httpd php mysql


Yada sadece redis'e ihtiyacınız varsa

$ docker-compose up redis


bir yanlışlıkla başlattığınız yada bir hatadan dolayı bir servisi durdurmak isterseniz stop komutunu kullanabilirsiniz.

$ docker-compose stop mysql