البداية السريعة | أمثلة | المميزات | مكدس Devilbox | المجتمع | المساهمة | شعارات | رخصة
إن Devilbox عبارة عن مكدس PHP Docker متعدد الاستخدامات وقابل للتخصيص بدرجة كبيرة ويدعم LEMP وMEAN بالإضافة إلى Websockets وNode وPython وGolang عبر تكامل Reverse Proxy الآلي.
الهدف الرئيسي هو توفير بيئة تطوير قابلة للتكرار تعمل على جميع الأنظمة الأساسية الرئيسية وتكون قادرة على التبديل والدمج بين أي إصدار تحتاجه. وهو يدعم عددًا غير محدود من المشاريع التي يتم إنشاء مضيفات vhosts وشهادات SSL وسجلات DNS لها تلقائيًا. ستكون اعتراضات البريد الإلكتروني وأدوات التطوير الشائعة في خدمتك أيضًا. التكوين ليس ضروريًا، حيث أن كل شيء تم إعداده مسبقًا بالفعل.
ستكون جميع المشاريع التي تم إنشاؤها (الواجهة الأمامية أو الخلفية) قادرة على التواصل مع بعضها البعض لدعم محاكاة بنية الخدمات الصغيرة الكاملة أو مشهد واجهة برمجة التطبيقات (API).
البنى المتاحة: amd64
، arm64
إصدارات PHP المتوفرة: 5.2
، 5.3
، 5.4
، 5.5
، 5.6
، 7.0
، 7.1
، 7.2
، 7.3
، 7.4
، 8.0
، 8.1
، 8.2
Docker
و Docker Compose
:محرك دوكر 17.06.0+
دوكر يؤلف 1.16.0+
كن جاهزًا للعمل خلال دقيقتين.
تحميل صندوق الشيطان
استنساخ بوابة https://github.com/cytopia/devilbox
أدخل دليل Devilbox git
cd Devilbox
انسخ ملف البيئة الافتراضي
cp env-example .env
هام: تأكد من عدم الاستماع إلى أي شيء على المنفذ 80
و443
على نظامك المضيف. هذه المنافذ مطلوبة بواسطة خادم الويب Devilbox.
ابدأ تشغيل حاوية httpd
و php
و mysql
# قد تستغرق هذه الخطوة بضع دقائق كما هو مطلوب. # يجب سحب صور Docker في البداية. # داخل Devilbox git Directorydocker-compose up httpd php mysql
قم بزيارة http://localhost في متصفحك
تحميل صندوق الشيطان
استنساخ بوابة https://github.com/cytopia/devilbox
أدخل دليل Devilbox git
cd Devilbox
انسخ ملف البيئة الافتراضي
cp env-example .env
هام: تأكد من عدم الاستماع إلى أي شيء على المنفذ 80
و443
على نظامك المضيف. هذه المنافذ مطلوبة بواسطة خادم الويب Devilbox.
ابدأ تشغيل حاوية httpd
و php
و mysql
# قد تستغرق هذه الخطوة بضع دقائق كما هو مطلوب. # يجب سحب صور Docker في البداية. # داخل Devilbox git Directorydocker-compose up httpd php mysql
قم بزيارة http://localhost في متصفحك
WSL2
، فارجع إلى دليل Linux بدلاً من ذلك. استنساخ https://github.com/cytopia/devilbox
إلى C:devilbox
باستخدام Git لنظام التشغيل Windows
انسخ C:devilboxenv-example
إلى C:devilbox.env
هام: تأكد من عدم الاستماع إلى أي شيء على المنفذ 80
و443
على نظامك المضيف. هذه المنافذ مطلوبة بواسطة خادم الويب Devilbox.
افتح محطة طرفية على نظام التشغيل Windows وابدأ تشغيل حاوية httpd
و php
و mysql
:
ابدأ تشغيل حاوية httpd
و php
و mysql
# قد تستغرق هذه الخطوة بضع دقائق كما هو مطلوب. # يجب سحب صور Docker في البداية. # داخل Devilbox git Directorydocker-compose up httpd php mysql
قم بزيارة http://localhost في متصفحك
يتيح لك Devilbox العمل على مشاريعك على النظام المضيف وكذلك داخل حاوية العمل. ستكون ملفات مشروعك متاحة في كلا الموقعين. سير العمل عادة هو:
استخدم IDE المفضل لديك (مثل PhpStorm) على نظامك المضيف لإضافة الملفات وتعديلها
اعمل داخل الحاوية لتشغيل أدوات cli الشائعة مثل node
composer
npm
و phpcs
و webpack
وغيرها الكثير.
للدخول إلى حاوية العمل، ما عليك سوى تشغيل ./shell.sh
على Linux وMacOS وWindows مع WSL2
# داخل دليل Devilbox git./shell.sh
على نظام التشغيل Windows دون WSL2
# داخل دليل Devilbox git./shell.bat
قم بإنشاء مشروعك الأول:
ابدأ الحاوية التي تحتاجها:
عامل الإرساء يؤلف httpd php mysql
أدخل حاوية العمل:
./shell.sh
انتقل إلى /shared/httpd
:
مؤتمر نزع السلاح / مشترك / httpd
قم بإنشاء دليل المشروع الخاص بك
mkdir مشروع وهمي
تفضل بزيارة http://localhost/vhosts.php
ستلاحظ أنك بحاجة إلى إنشاء دليل htdocs/
قم بإنشاء دليل htdocs/
# انتقل إلى دليل مشروعكcd /shared/httpd/dummy-project# أنشئ htdocs dirmkdir htdocs
تفضل بزيارة http://localhost/vhosts.php
سترى أن كل شيء قد تم إعداده الآن وتم إنشاء مشروعك وإتاحته
قم بإنشاء ملف index.php
# انتقل إلى دليل htdocs الخاص بمشروعك cd /shared/httpd/dummy-project/htdocs# قم بإنشاء ملف Index.php بسيط '<?php echo "it Works";' > الفهرس.php
اعرض مشروعك في المتصفح: http://dummy-project.dvl.to
ابحث عن جميع الأمثلة في الوثائق:
يحاول Devilbox أن يكون مكدسًا خاليًا من التكوين خارج الصندوق وقام بأتمتة جميع المهام المملة. بالإضافة إلى ذلك فهو يوفر ميزة مشتركة مطلوبة للعمل اليومي.
الأتمتةAutomated Project creation Automated SSL Automated DNS Host permission sync | وسائطStatic files PHP files Reverse Proxy Websockets | الواجهات الخلفيةPHP-FPM NodeJS Python Golang ... | التنميطBlackfire Xdebug XHProf |
المشاريعUnlimited Projects Inter-Project Communication Custom Project domains Valid browser HTTPS | الإنترانتVirtual Hosts C&C Email Reader OpCache Gui | البطارياتAdminer phpMyAdmin phpPgAdmin phpRedMind | خدماتSQL NoSQL Cache ... |
يهدف Devilbox إلى أن يكون بمثابة سكين الجيش السويسري للتنمية المحلية من خلال تزويدك بجميع الخدمات التي قد تحتاجها. للحصول على فكرة عن البنية التي تقف خلفه ولمعرفة ما هو متاح أيضًا، قم بإلقاء نظرة على مكوناته واستخدامه.
أصغر كومةهذا هو أصغر مكدس ممكن وكامل الوظائف يمكنك تشغيله | كومة كاملةلفهم ما هو ممكن فعليًا بشكل أفضل، قم بإلقاء نظرة على المثال الكامل |
يمكنك بدء تشغيل Devilbox وتشغيله بثلاث طرق مختلفة عبر docker-compose
:
بدء تشغيل انتقائي
عند الطلب (إضافة/إزالة الحاوية أثناء التشغيل)
بدء التشغيل الكامل
إذا كنت تعرف بالفعل نوع الحاوية التي تحتاجها قبل بدء تشغيل Devilbox، فيمكنك فقط تحديدها بشكل صريح.
# داخل دليل Devilbox git، ابدأ تشغيل httpd php mysql ثم redisdocker-compose up httpd php mysql redis
ستعرض لك شبكة الإنترانت الحاوية التي تقوم بتشغيلها حاليًا:
إذا كان Devilbox قد بدأ بالفعل، فيمكنك إرفاق المزيد من الحاويات أثناء التنقل،
# داخل دليل Devilbox git قم بإرفاق mongo و memcacheddocker-compose up mongo memcd
يمكنك أيضًا إغلاق حاويات معينة لا تحتاج إليها
# داخل دليل Devilbox git، إيقاف redisdocker-compose stop redis
إذا كنت تريد فقط بدء كل شيء، فقم بتشغيل docker-compose up
بدون أي وسائط
# داخل دليل Devilbox git، قم بتشغيل alldocker-compose up
ستعرض لك شبكة الإنترانت الحاوية التي تقوم بتشغيلها حاليًا:
إذا كنت تفضل الدليل المرئي، فقم بإلقاء نظرة على مقطعي الفيديو التقديميين على Youtube:
التوثيق: تثبيت Devilbox | ابدأ صندوق الشيطان | ملف .env
يسرد الجدول التالي جميع حاويات Docker المدمجة والمكونة مسبقًا والتي يتم شحنها بواسطة Devilbox. فقط خادم الويب وحاوية PHP هما الإلزاميان، أما باقي الأشياء فهي اختيارية ولا تحتاج إلى البدء.
يتوفر كل منها أيضًا في عدة إصدارات مختلفة لتعكس البيئة التي تريدها بالضبط.
أتسارع | ويب | برنامج | SQL | NoSQL | قائمة الانتظار / البحث | الأيائل | المرافق |
---|---|---|---|---|---|---|---|
HAProxy | أباتشي | PHP | ماريا دي بي | ميمكاشد | RabbitMQ | بحث مرن | ربط |
ورنيش | نجينكس | بايثون (قارورة) | ماي إس كيو إل | MongoDB | سولر | لوغستاش | بلاك فاير |
بيركوناDB | ريديس | كيبانا | MailHog | ||||
PostgreSQL | نجروك |
التوثيق: الحاوية المتوفرة
تأتي كل حاوية قابلة للفصل مع العديد من الإصدارات المختلفة. لتحديد الإصدار المطلوب للحاوية، ما عليك سوى تحرير ملف .env
وإلغاء التعليق على الإصدار الذي تختاره. أي مزيج ممكن.
أباتشي | نجينكس | PHP | ماي إس كيو إل | ماريا دي بي | بيركونا | بجسكل | ريديس | ميمكاشد | MongoDB |
---|---|---|---|---|---|---|---|---|---|
2.2 | مستقر | 5.2 [1] | 5.5 | 5.5 | 5.5 | 9.0 | 2.8 | 1.4 | 2.8 |
2.4 | الخط الرئيسي | 5.3 | 5.6 | 10.0 | 5.6 | 9.1 | 3.0 | 1.5 | 3.0 |
5.4 | 5.7 | 10.1 | 5.7 | 9.2 | 3.2 | 1.6 | 3.2 | ||
5.5 | 8.0 | 10.2 | 8.0 | 9.3 | 4.0 | أحدث | 3.4 | ||
5.6 | 10.3 | 9.4 | 5.0 | 3.6 | |||||
7.0 | 10.4 | 9.5 | 6.0 | 4.0 | |||||
7.1 | 10.5 | 9.6 | 6.2 | 4.2 | |||||
7.2 | 10.6 | 10 | 7.0 | 4.4 | |||||
7.3 | 10.7 | 11 | أحدث | 5.0 | |||||
7.4 | 10.8 | 12 | أحدث | ||||||
8.0 | 10.9 | ... | |||||||
8.1 | 10.10 | 15 | |||||||
8.2 | أحدث |
الوثائق: تغيير إصدارات الحاوية
بالإضافة إلى المجموعة الافتراضية، هناك مجموعة متنوعة من الخدمات الأخرى التي يمكن تمكينها وبدء تشغيلها بسهولة.
بايثون (قارورة) | بلاك فاير | الأيائل | MailHog | نجروك | RabbitMQ | سولر | HAProxy | ورنيش |
---|---|---|---|---|---|---|---|---|
2.7 | 1.8 | 5.xy | v1.0.0 | 2.x | 3.6 | 5 | 1.x | 4 |
... | ... | 6.xy | أحدث | 3.7 | 6 | 5 | ||
3.7 | 1.18.0 | 7.xy | أحدث | 7 | 6 | |||
3.8 | أحدث | أحدث | أحدث |
الوثائق: تمكين الحاوية المخصصة
إن Devilbox عبارة عن حزمة تطوير، لذا تم التأكد من توفر الكثير من وحدات PHP الجاهزة للعمل مع العديد من أطر العمل المختلفة.
تمكين النواة (لا يمكن تعطيلها):
ممكّن (يمكن تعطيله):
متاح، ولكن معطل (يمكن تمكينه): د
وحدات | بي إتش بي 5.2 | بي إتش بي 5.3 | بي إتش بي 5.4 | PHP 5.5 | بي إتش بي 5.6 | PHP 7.0 | بي إتش بي 7.1 | بي إتش بي 7.2 | بي إتش بي 7.3 | PHP 7.4 | PHP 8.0 | بي إتش بي 8.1 | بي إتش بي 8.2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
com.amqp | |||||||||||||
com.apc | |||||||||||||
apcu | |||||||||||||
com.bcmath | |||||||||||||
بلاك فاير | د | د | د | د | د | د | د | ||||||
bz2 | |||||||||||||
تقويم | |||||||||||||
com.ctype | |||||||||||||
حليقة | |||||||||||||
تاريخ | |||||||||||||
ديسيبل | |||||||||||||
دوم | |||||||||||||
سبى | |||||||||||||
ereg | |||||||||||||
com.exif | |||||||||||||
مؤسسة مالية أجنبية | |||||||||||||
معلومات الملف | |||||||||||||
فلتر | |||||||||||||
ftp | |||||||||||||
gd | |||||||||||||
com.gettext | |||||||||||||
gmp | |||||||||||||
التجزئة | |||||||||||||
iconv | |||||||||||||
igbinary | |||||||||||||
com.imagick | |||||||||||||
IMAP | |||||||||||||
com.interbase | |||||||||||||
الدولي | |||||||||||||
ioncube | د | د | د | د | د | د | د | ||||||
json | |||||||||||||
ldap | |||||||||||||
libxml | |||||||||||||
lz4 | |||||||||||||
lzf | |||||||||||||
mbstring | |||||||||||||
com.mcrypt | |||||||||||||
com.memcache | |||||||||||||
com.memcached | |||||||||||||
مهاش | |||||||||||||
مونجو | |||||||||||||
com.mongodb | |||||||||||||
com.msgpack | |||||||||||||
mysql | |||||||||||||
mysqli | |||||||||||||
com.mysqlnd | |||||||||||||
OAuth | |||||||||||||
oci8 | د | د | د | د | د | د | د | د | د | د | د | د | |
OPcache | |||||||||||||
opensl | |||||||||||||
com.pcntl | |||||||||||||
pcre | |||||||||||||
شركة تنمية نفط عمان | |||||||||||||
pdo_dblib | |||||||||||||
PDO_Firebird | |||||||||||||
pdo_mysql | |||||||||||||
PDO_OCI | د | د | د | د | د | د | د | د | |||||
pdo_pgsql | |||||||||||||
pdo_sqlite | |||||||||||||
pdo_sqlsrv | د | د | د | د | د | د | د | د | |||||
com.pgsql | |||||||||||||
فالكون | د | د | د | د | د | د | د | د | د | د | د | ||
فار | |||||||||||||
posix | |||||||||||||
com.pspell | |||||||||||||
psr | د | د | د | د | د | د | د | د | د | د | د | ||
عشوائي | |||||||||||||
rdkafka | د | د | د | د | د | د | د | د | د | د | د | د | |
readline | |||||||||||||
إعادة ترميز | |||||||||||||
redis | |||||||||||||
انعكاس | |||||||||||||
حصة | |||||||||||||
shmop | |||||||||||||
SimpleXML | |||||||||||||
com.snmp | |||||||||||||
صابون | |||||||||||||
مآخذ | |||||||||||||
الصوديوم | |||||||||||||
solr | |||||||||||||
SPL | |||||||||||||
com.sqlite | |||||||||||||
sqlite3 | |||||||||||||
sqlsrv | د | د | د | د | د | د | د | د | |||||
ssh2 | |||||||||||||
swoole | د | د | د | د | د | د | د | د | د | د | د | ||
com.sysvmsg | |||||||||||||
com.sysvsem | |||||||||||||
com.sysvshm | |||||||||||||
مرتب | |||||||||||||
رمز مميز | |||||||||||||
تحميل التقدم | |||||||||||||
uuid | |||||||||||||
كبار الشخصيات | |||||||||||||
com.wddx | |||||||||||||
Xdebug | |||||||||||||
com.xhprof | د | د | د | د | د | د | د | د | |||||
com.xlswriter | |||||||||||||
xml | |||||||||||||
com.xmlreader | |||||||||||||
com.xmlrpc | |||||||||||||
com.xmlwriter | |||||||||||||
xsl | |||||||||||||
yaml | |||||||||||||
أَزِيز | |||||||||||||
زليب | |||||||||||||
zstd |
تمكين النواة (لا يمكن تعطيلها):
ممكّن (يمكن تعطيله):
متاح، ولكن معطل (يمكن تمكينه): د
الوثائق: تمكين/تعطيل وحدات PHP
ستكون الأدوات المعروفة والشائعة في خدمتك:
أداة | بي إتش بي 5.2 | بي إتش بي 5.3 | بي إتش بي 5.4 | PHP 5.5 | بي إتش بي 5.6 | PHP 7.0 | بي إتش بي 7.1 | بي إتش بي 7.2 | بي إتش بي 7.3 | PHP 7.4 | PHP 8.0 | بي إتش بي 8.1 | بي إتش بي 8.2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
الزاوي CLI | |||||||||||||
com.asgardcms | |||||||||||||
رهيبة-CI | |||||||||||||
com.codeception | |||||||||||||
الملحن | |||||||||||||
com.corepack | |||||||||||||
الناشر | |||||||||||||
eslint | |||||||||||||
بوابة | |||||||||||||
تدفق البوابة | |||||||||||||
نخر CLI | |||||||||||||
بلع | |||||||||||||
jq | |||||||||||||
com.jsonlint | |||||||||||||
لارافيل المثبت | |||||||||||||
لارافيل التجويف | |||||||||||||
linkcheck | |||||||||||||
mdl | |||||||||||||
com.mdlint | |||||||||||||
أدوات Mupdf | |||||||||||||
أدوات الشبكة | |||||||||||||
العقدة | |||||||||||||
npm | |||||||||||||
nvm | |||||||||||||
falcon-devtools | |||||||||||||
PHP-CS-المثبت | |||||||||||||
phpcbf | |||||||||||||
phpcs | |||||||||||||
phpmd | |||||||||||||
phpunit | |||||||||||||
نقطة | |||||||||||||
مساء2 | |||||||||||||
com.pwncat | |||||||||||||
rsync | |||||||||||||
ساس | |||||||||||||
com.shellcheck | |||||||||||||
سش | |||||||||||||
com.stylelint | |||||||||||||
svn | |||||||||||||
Symfony-cli | |||||||||||||
ملف المهام | |||||||||||||
تيج | |||||||||||||
همة | |||||||||||||
vue-cli | |||||||||||||
webpack-cli | |||||||||||||
com.wkhtmltopdf | |||||||||||||
wp-cli | |||||||||||||
com.wscat | |||||||||||||
ياملينت | |||||||||||||
غزل | |||||||||||||
yq | |||||||||||||
zsh |
بقدر ما تم اختباره، لا توجد قيود ويمكنك استخدام أي إطار عمل أو نظام إدارة محتوى (CMS) تمامًا كما تفعل في بيئتك الحية. فيما يلي بعض الأمثلة على أطر العمل وأنظمة إدارة المحتوى التي تم اختبارها على نطاق واسع:
التوثيق:
إعداد الكيكPHP | إعداد CodeIgniter | إعداد كونتاو | إعداد CraftCMS | إعداد دروبال | إعداد جملة | إعداد لارافيل | إعداد ماجنتو 2 | إعداد فالكون PHP | إعداد PhotonCMS | إعداد بريستاشوب | إعداد ProcessWire | إعداد Shopware | إعداد سيمفوني | إعداد Typo3 | إعداد ووردبريس | إعداد يي | إعداد زند
بقدر ما تم اختباره، لا توجد قيود ويمكنك استخدام أي تطبيق يقوم بإنشاء منفذ مفتوح. سيتم عكس هذه المنافذ بواسطة خادم الويب وستسمح لك باستخدام HTTPS صالحًا لها. من خلال ميزة التشغيل التلقائي المضمنة في Devilbox، يمكنك التأكد من بدء تشغيل تطبيقك تلقائيًا بمجرد تشغيل docker-compose up
.
التوثيق:
إعداد الوكيل العكسي NodeJs | إعداد وثائق الوكيل العكسي لأبو الهول
يأتي Devilbox مزودًا بشبكة إنترانت تم تكوينها مسبقًا على http://localhost
و https://localhost
. يمكن تعطيل هذا بشكل صريح أو حمايته بكلمة مرور. لن تعرض لك شبكة الإنترانت التكوين الذي تم اختياره فحسب، بل ستتحقق أيضًا من صحة حالة التكوين الحالي، مثل وجود سجلات DNS (على المضيف والحاوية)، وهي أدلة تم إعدادها بشكل صحيح. بالإضافة إلى ذلك، فهو يوفر أدوات خارجية تتيح لك التفاعل مع قواعد البيانات ورسائل البريد الإلكتروني.
نظرة عامة على المضيف الظاهري (التحقق من صحة الدلائل وDNS)
القيادة والسيطرة
نظرة عامة على البريد الإلكتروني
نظرة عامة على قاعدة البيانات (MySQL، PgSQL، Redis، Memcache، ...)
صفحات المعلومات (Httpd، MySQL، PgSQL، Redis، Memcache، ...)
وغيرها الكثير...
تتوفر البطاريات التالية في إنترانت Devilbox بشكل افتراضي:
المشرف | phpMyAdmin | phpPgAdmin | phpRedMin | PHP Memcached المشرف | واجهة المستخدم الرسومية OpCache | عارض البريد |
التوثيق: إنترانت Devilbox
بعض الأمثلة على كيفية ظهور شبكة الإنترانت المدمجة.
يحتوي Devilbox على الكثير من الميزات بدءًا من بيئة التطوير البسيطة لمستخدم واحد والتي تعمل خارج الصندوق وحتى البنية التحتية للتطوير المشترك لشبكة الشركة.
لكي تكون على دراية بكل هذه الميزات، تأكد من الاطلاع على الوثائق ، حتى تعرف ما يمكن القيام به وكيف يمكن أن يؤدي ذلك إلى تبسيط حياتك اليومية. إذا واجهت أي مشكلات غير متوقعة، فلا تتردد في الانضمام إلى دردشة Discord أو زيارة المنتديات والحصول على دعم المجتمع بسرعة.
المستندات | الفتنة | المنتدى | النيران |
---|---|---|---|
Devilbox.readthedocs.io | الفتنة/صندوق الشيطان | Devilbox.discourse.group | github.com/devilbox/flames |
لا يزال Devilbox مشروعًا شابًا وله خريطة طريق طويلة أمامه. يتم تحديد الميزات بواسطتك - المجتمع ، لذلك نرحب بأي نوع من المساهمة.
نجمة هذا المشروع
فتح القضايا للأخطاء وطلبات الميزات
انسخ هذا المشروع وأرسل الإصلاحات أو الميزات
أحاول مواكبة أكثر من 100 مشروع حرفيًا. إذا كان عملي يجعل حياتك أسهل، فكر في إرسال القهوة أو البيرة.
رعاية جيثب
باتريون
المساهمات: PyPI: السيتوبيا · Terraform: السيتوبيا · Ansible: السيتوبيا
الشعارات واللافتات يمكن العثور عليها في Devilbox/artwork . لا تتردد في استخدامها أو تعديلها وفقًا لشروط ترخيصها.
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2016 سيتوبيا