ServBay में Laravel प्रोजेक्ट बनाना और चलाना
अवलोकन
ServBay एक पावरफुल लोकल वेब डेवलपमेंट एनवायरनमेंट है, जो macOS और Windows दोनों के लिए उपलब्ध है। इसमें कई लोकप्रिय सॉफ्टवेयर पैकेज इंटीग्रेटेड हैं—जैसे PHP, Node.js, Python, Go, Java, विभिन्न डेटाबेस (MySQL, PostgreSQL, MongoDB), कैशिंग सर्विसेज (Redis, Memcached), और वेब सर्वर (Caddy, Nginx, Apache)।
यह दस्तावेज़ आपको ServBay एनवायरनमेंट में तेज़ी से एक Laravel प्रोजेक्ट बनाने, कॉन्फ़िगर करने और चलाने के लिए गाइड करेगा। इसमें आप ServBay के इनबिल्ट PHP वातावरण, Composer पैकेज मैनेजर और उसकी वेबसाइट मैनेजमेंट (पहले “होस्ट”) फीचर का उपयोग करेंगे जिससे पूरा प्रोसेस आसान हो जाता है।
Laravel क्या है?
Laravel एक प्रसिद्ध और ओपन-सोर्स PHP वेब ऐप्लिकेशन फ्रेमवर्क है, जिसे Taylor Otwell ने विकसित किया है। यह MVC (Model-View-Controller) आर्किटेक्चर पर आधारित है और वेब डेवलपमेंट के आम टास्क जैसे यूज़र ऑथेंटिकेशन, राउटिंग, सेशन मैनेजमेंट, कैशिंग, और डेटाबेस ऑपरेशन को सरल बनाता है। Laravel अपनी सुंदर सिंटैक्स, फीचर्स और मज़बूत समुदाय के कारण जाना जाता है। यह मॉडर्न, मेंटेनेबल वेब ऐप्लिकेशन विकसित करने के लिए एक आदर्श विकल्प है।
Laravel की प्रमुख खूबियां और लाभ
- शानदार सिंटैक्स: कोड क्लीन, पढ़ने और लिखने में आसान, जिससे डेवलपमेंट एफिशिएंसी बढ़ती है।
- Eloquent ORM: एक शक्तिशाली ActiveRecord इम्प्लीमेंटेशन के साथ, डेटाबेस इंटरएक्शन को आसान बनाता है।
- Artisan कंसोल: बहुत से कमांड लाइन टूल्स—माइग्रेशन, कोड जेनरेशन, टेस्टिंग आदि के लिए।
- Blade टेम्प्लेट इंजन: सिंपल टेम्प्लेट सिंटैक्स के साथ डायनामिक व्यूज़ बनाना आसान।
- समृद्ध इकोसिस्टम: बहुत सारे ऑफिशियल और थर्ड-पार्टी पैकेज, जिन्हें Composer से आसानी से इंटीग्रेट किया जा सकता है।
- मजबूत समुदाय: एक्टिव कम्युनिटी, हेल्पफुल गाइड्स, ट्यूटोरियल्स और सॉल्यूशंस की उपलब्धता।
ServBay में Laravel डेवलपमेंट के लाभ
ServBay Laravel डेवलपर्स के लिए कई सुविधाएं लाता है:
- इंटीग्रेटेड वातावरण: ServBay मल्टीपल PHP वर्जन, Composer, सामान्य डेटाबेस और कैशिंग सर्विसेज प्री-इंस्टॉल के साथ आता है—अलग से इंस्टाल या कॉन्फ़िगरेशन की जरूरत नहीं।
- आसान प्रबंधन: ServBay के GUI में PHP वर्जन बदलना, वेबसाइट सेटिंग्स (साइट्स) मैनेज करना, सर्विसेज स्टार्ट/स्टॉप करना बहुत आसान है।
- प्री-कॉन्फ़िगर्ड वेब सर्वर: ServBay डिफॉल्ट रूप से Caddy का उपयोग करता है, जो PHP फ्रेमवर्क्स (जैसे Laravel) के लिए ऑप्टिमाइज़ है—वेब सर्वर सेटअप रहे आसान।
- HTTPS सपोर्ट: ServBay .local डोमेन के लिए SSL सर्टिफिकेट ऑटोमैटिकली कॉन्फ़िगर करता है, जिससे आपके लोकल डेवलपमेंट को सुरक्षित और प्रोडक्शन जैसी फील मिलती है।
Laravel प्रोजेक्ट बनाना
ServBay सलाह देता है कि आपके वेबसाइट प्रोजेक्ट्स निम्न डायरेक्ट्री में रखें, ताकि फाइल स्ट्रक्चर क्लीन और मैनेज्ड रहे:
- macOS:
/Applications/ServBay/www
- Windows:
C:\ServBay\www
Composer की उपलब्धता की पुष्टि करें
ServBay इंस्टालेशन के साथ Composer पहले से आता है—अलग से इंस्टाल करने की जरूरत नहीं। Composer चेक करने के लिए टर्मिनल में:
bashcomposer --version
1अगर कमांड वर्शन नंबर दिखा रहा है, मतलब Composer रेडी है।
नया Laravel प्रोजेक्ट बनाएं
टर्मिनल खोलें, ServBay की सुझाई वेब डायरेक्ट्री में जाएं और Composer से नया Laravel प्रोजेक्ट बनाएं। प्रोजेक्ट का नाम
servbay-laravel-app
रखें:macOS:
bashcd /Applications/ServBay/www # प्रोजेक्ट डायरेक्ट्री बनाएं mkdir servbay-laravel-app # डायरेक्ट्री में जाएं cd servbay-laravel-app # Composer से Laravel प्रोजेक्ट बनाएं composer create-project --prefer-dist laravel/laravel .
1
2
3
4
5
6
7Windows:
cmdcd C:\ServBay\www # प्रोजेक्ट डायरेक्ट्री बनाएं mkdir servbay-laravel-app # डायरेक्ट्री में जाएं cd servbay-laravel-app # Composer से Laravel प्रोजेक्ट बनाएं composer create-project --prefer-dist laravel/laravel .
1
2
3
4
5
6
7Composer Laravel और उसकी सभी dependencies इंस्टाल कर देगा।
प्रोजेक्ट डायरेक्ट्री में जाएं
सुनिश्चित करें कि आप टर्मिनल में बनाए गए Laravel प्रोजेक्ट की root डायरेक्ट्री में हैं:
macOS:
bashcd /Applications/ServBay/www/servbay-laravel-app
1Windows:
cmdcd C:\ServBay\www\servbay-laravel-app
1
प्रारंभिक कॉन्फ़िगरेशन
एप्लीकेशन की Key जेनरेट करें
Laravel में एप्लिकेशन key यूज़र session और encrypted डेटा की सुरक्षा के लिए होती है। प्रोजेक्ट root डायरेक्ट्री में Artisan कमांड चलाएं:
प्रोजेक्ट root path:
- macOS:
/Applications/ServBay/www/servbay-laravel-app
- Windows:
C:\ServBay\www\servbay-laravel-app
bashphp artisan key:generate
1यह आपके
.env
फाइल मेंAPP_KEY
सेट कर देगा।- macOS:
पर्यावरण वेरिएबल्स (
.env
) कॉन्फ़िगर करेंLaravel
.env
फाइल के ज़रिए environment variables (जैसे डेटाबेस, एप्लिकेशन यूआरएल आदि) मैनेज करता है। फाइल खोलें और जरूरत के हिसाब से सेटिंग्स एडजस्ट करें। कम से कम इन बेसिक कॉन्फ़िगरेशन को जरूर सेट करें:dotenvAPP_NAME=ServBay Laravel Demo APP_ENV=local APP_KEY=base64:... # यह value php artisan key:generate से बनी है APP_DEBUG=true APP_URL=https://servbay-laravel-test.local LOG_CHANNEL=stack # डेटाबेस सेटिंग (MySQL) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=servbay_laravel_app # डेटाबेस नाम DB_USERNAME=root # डिफॉल्ट यूजर DB_PASSWORD=password # डिफॉल्ट पासवर्ड # कैश/क्यू सेटिंग (Redis) CACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # डिफॉल्ट Redis पासवर्ड नहीं है REDIS_PORT=6379 # कैश/क्यू सेटिंग (Memcached) # CACHE_STORE=memcached # MEMCACHED_HOST=127.0.0.1 # MEMCACHED_PORT=11211
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26नोट: अगर आप अलग डेटाबेस या सर्विस इस्तेमाल कर रहे हैं तो
DB_*
,REDIS_*
याMEMCACHED_*
सेटिंग्स बदलें। ServBay के डिफॉल्ट यूजरनेम और पासवर्ड ServBay कंट्रोल पैनल में देख सकते हैं।
वेब सर्वर कॉन्फ़िगर करना (ServBay में वेबसाइट जोड़ना)
ServBay के वेबसाइट मैनेजमेंट फीचर से वेब सर्वर सेट करें और डोमेन को Laravel प्रोजेक्ट के public
डायरेक्ट्री की तरफ पॉइंट करें।
ServBay कंट्रोल पैनल खोलें
ServBay ऐप खोलें और कंट्रोल पैनल खोलें।
नई वेबसाइट जोड़ें
कंट्रोल पैनल के ‘वेबसाइट’ सेक्शन में जाएं। नया साइट जोड़ने के लिए add बटन (
+
या किसी आइकन) पर क्लिक करें।वेबसाइट जानकारी भरें
उदाहरण के लिए वेबसाइट सेटिंग्स:
नाम (Name):
My First Laravel Dev Site
(आपकी इज़ाद के लिए)डोमेन (Domain):
servbay-laravel-test.local
(ब्राउज़र में यूज़ होने वाला डोमेन)साइट प्रकार (Site Type):
PHP
PHP वर्शन (PHP Version): अपनी Laravel वर्शन के हिसाब से—जैसे
8.3
साइट root डायरेक्ट्री:
- macOS:
/Applications/ServBay/www/servbay-laravel-app/public
- Windows:
C:\ServBay\www\servbay-laravel-app\public
(महत्वपूर्ण: Root को Laravel प्रोजेक्ट की
public
डायरेक्ट्री पर पॉइंट करना है)- macOS:
और भी स्टेप्स के लिए ServBay के ऑफिशियल डॉक्स में पहली वेबसाइट जोड़ना सेक्शन देखें (अंग्रेजी लिंक तलाशें)।
सेटिंग्स सेव व अप्लाई करें
अपनी सेटिंग्स सेव करें। ServBay अपने वेब सर्वर (डिफॉल्ट Caddy) कॉन्फ़िगरेशन अपडेट कर देगा। अगर वेब सर्वर रीस्टार्ट की जरूरत हो तो इंस्ट्रक्शन फॉलो करें।
बेसिक एक्सेस का सत्यापन
अब आपका Laravel प्रोजेक्ट वेबसाइट डोमेन से खुल जाना चाहिए।
ब्राउज़र खोलें
ब्राउज़र में आपका डोमेन टाइप करें—जैसे
https://servbay-laravel-test.local
।रिज़ल्ट देखें
सही सेटअप है तो Laravel का welcome पेज दिखेगा।
एक सिंपल कोड उदाहरण जोड़ें
परीक्षण के लिए हम routes/web.php
में एक सिंपल रूट एड करेंगे, जो "Hello ServBay!" दिखाएगा।
अपने प्रोजेक्ट के routes/web.php
फाइल में जाएं, और नीचे दिए गए अनुसार जोड़ें या बदलें:
php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| यहाँ आप अपनी अनुप्रयोग के वेब रूट्स रजिस्टर कर सकते हैं।
| यह रूट्स RouteServiceProvider द्वारा लोड होते हैं, जो
| 'web' मिडलवेयर ग्रुप के भीतर आता है। अब कुछ शानदार बनाएं!
|
*/
Route::get('/', function () {
return 'Hello ServBay!'; // इस लाइन को जोड़ें या एडिट करें
});
// ... अन्य रूट्स
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
फाइल सेव करें और फिर https://servbay-laravel-test.local
खोलें। अब "Hello ServBay!" ब्राउज़र में दिखना चाहिए।
डेटाबेस इंटीग्रेशन उदाहरण
Laravel शक्तिशाली डेटाबेस abstraction लेयर व ORM (Eloquent) देता है, जिससे विभिन्न डेटाबेस से आसानी से इंटरएक्शन किया जा सकता है। ServBay में MySQL, PostgreSQL, MongoDB, Redis, और Memcached प्री-इंस्टॉल हैं—लोकल टेस्टिंग के लिए सुविधाजनक।
NoSQL डेटाबेस उदाहरण
ServBay Redis और Memcached को डिफॉल्ट रूप से इंटीग्रेट करता है—PHP एक्सटेंशन साथ में आ जाते हैं।
Memcached उदाहरण
.env
में Memcached सेट करेंअगर ना किया हो, तो
.env
फाइल में Memcached सेटिंग्स जोड़ें:dotenvCACHE_STORE=memcached MEMCACHED_HOST=127.0.0.1 MEMCACHED_PORT=11211 # ServBay का डिफॉल्ट Memcached पोर्ट
1
2
3Memcached का उपयोग
अपने रूट या कंट्रोलर में Laravel की Cache facade से Memcached यूज़ करें:
routes/web.php
में एक रूट जोड़ें:phpuse Illuminate\Support\Facades\Cache; Route::get('/memcached-test', function () { // कैश में डेटा सेव करें, 10 मिनट (600 सेकंड) के लिए Cache::put('servbay_memcached_key', 'Hello from Memcached on ServBay!', 600); // कैश से डेटा पाएं $value = Cache::get('servbay_memcached_key'); if ($value) { return "Memcached डेटा: " . $value; } else { return "Memcached डेटा नहीं मिला या एक्सपायर हो गया।"; } });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15https://servbay-laravel-test.local/memcached-test
खोलकर टेस्ट करें।
Redis उदाहरण
.env
में Redis सेट करें.env
फाइल में Redis के कनेक्शन डिटेल्स:dotenvCACHE_STORE=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null # डिफॉल्ट Redis पासवर्ड नहीं है REDIS_PORT=6379 # डिफॉल्ट Redis पोर्ट
1
2
3
4नोट: अगर Memcached और Redis दोनों सेट हैं, तो
.env
मेंCACHE_STORE
में जिसको टेस्ट करना है वही एक्टिव रखें (दूसरे को कमेंट करें)।Redis का उपयोग
अपनी रूट या कंट्रोलर में Laravel के Redis या Cache facade से Redis इस्तेमाल करें:
routes/web.php
में एक रूट जोड़ें:phpuse Illuminate\Support\Facades\Redis; // या Cache facade, अगर CACHE_STORE=redis सेट है // use Illuminate\Support\Facades\Cache; Route::get('/redis-test', function () { // Redis facade से डेटा सेट करें Redis::set('servbay_redis_key', 'Hello from Redis on ServBay!'); $value_redis = Redis::get('servbay_redis_key'); // या Cache facade (अगर CACHE_STORE=redis) // Cache::put('servbay_redis_key', 'Hello from Redis on ServBay!', 600); // $value_cache = Cache::get('servbay_redis_key'); return "Redis डेटा: " . $value_redis; });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15https://servbay-laravel-test.local/redis-test
खोलकर टेस्ट करें।
रिलेशनल डेटाबेस उदाहरण (MySQL & PostgreSQL)
ServBay MySQL और PostgreSQL डिफॉल्ट रूप से इंस्टॉल करता है। Laravel का Eloquent ORM इनसे कनेक्ट करना आसान बनाता है।
सबसे पहले प्रोजेक्ट के लिए डेटाबेस बनाएं। ServBay के डेटाबेस टूल (phpMyAdmin, Adminer, pgAdmin आदि) या कमांड लाइन से servbay_laravel_app
डेटाबेस बनाएं।
फिर, Laravel की Migration फीचर से टेबल स्ट्रक्चर बनाएं।
Migration फाइल बनाएं
प्रोजेक्ट root में Artisan कमांड से migration फाइल बनाएं:
bashphp artisan make:migration create_accounts_table --create=accounts
1यह फाइल
database/migrations
में बनेगी।Migration फाइल एडिट करें
नया migration फाइल खोलें (जैसे
YYYY_MM_DD_HHMMSS_create_accounts_table.php
) औरup
मेथड मेंaccounts
टेबल की संरचना परिभाषित करें:php<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * माइग्रेशन चलाएं। */ public function up(): void { Schema::create('accounts', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); // created_at और updated_at कॉलम }); } /** * माइग्रेशन रीवर्स करें। */ public function down(): void { Schema::dropIfExists('accounts'); } };
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29फाइल सेव करें।
माइग्रेशन रन करें
प्रोजेक्ट root में Artisan से माइग्रेशन कमांड चलाएं:
bashphp artisan migrate
1अगर डेटाबेस सेटिंग सही है और
servbay_laravel_app
डेटाबेस बना है, तो यह कमांडaccounts
सहित Laravel की डिफॉल्ट टेबल्स बना देगा।
MySQL उदाहरण
.env
में MySQL सेट करें.env
फाइल में MySQL सेटिंग्स:dotenvDB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 # डिफॉल्ट MySQL पोर्ट DB_DATABASE=servbay_laravel_app DB_USERNAME=root DB_PASSWORD=password # डिफॉल्ट MySQL पासवर्ड
1
2
3
4
5
6उदाहरण डेटा लिखें
routes/web.php
में एक रूट जोड़ें, जोaccounts
टेबल में डेटा डालता है:phpuse Illuminate\Support\Facades\DB; Route::get('/mysql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay Demo User', 'email' => 'demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account added to MySQL!'; });
1
2
3
4
5
6
7
8
9
10
11https://servbay-laravel-test.local/mysql-add-account
खोलकर डेटा डालें।उदाहरण डेटा पढ़ें
routes/web.php
में एक रूट जोड़ें, जोaccounts
टेबल से डेटा निकाले:phpuse App\Models\Account; // अगर Account मॉडल बनाया है // या सीधे DB facade Route::get('/mysql-accounts', function () { // DB facade से $accounts = DB::table('accounts')->get(); // या Eloquent ORM (अगर Account मॉडल है) // $accounts = Account::all(); return $accounts; });
1
2
3
4
5
6
7
8
9
10
11
12https://servbay-laravel-test.local/mysql-accounts
खोलें, डेटा देखें।
PostgreSQL उदाहरण
.env
में PostgreSQL सेट करेंअगर PostgreSQL यूज़ करना चाहते हैं,
.env
में इसे कॉन्फ़िगर करें:dotenvDB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 # डिफॉल्ट PostgreSQL पोर्ट DB_DATABASE=servbay_laravel_app DB_USERNAME=root # डिफॉल्ट यूजर DB_PASSWORD=password # डिफॉल्ट पासवर्ड
1
2
3
4
5
6नोट: DB कनेक्शन बदलने बाद, आपको
php artisan migrate:refresh
याphp artisan migrate
फिर से चलाना पड़ सकता है।PostgreSQL में उदाहरण डेटा लिखें
routes/web.php
में रूट जोड़ें, जोaccounts
टेबल में डेटा डालता है:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-add-account', function () { DB::table('accounts')->insert([ 'name' => 'ServBay PG Demo User', 'email' => 'pg-demo-user@servbay.test', 'created_at' => now(), 'updated_at' => now(), ]); return 'Account added to PostgreSQL!'; });
1
2
3
4
5
6
7
8
9
10
11https://servbay-laravel-test.local/pgsql-add-account
खोलकर डेटा डालें।PostgreSQL में उदाहरण डेटा पढ़ें
routes/web.php
में रूट जोड़ें, जोaccounts
टेबल से डेटा निकालता है:phpuse Illuminate\Support\Facades\DB; Route::get('/pgsql-accounts', function () { $accounts = DB::table('accounts')->get(); return $accounts; });
1
2
3
4
5
6https://servbay-laravel-test.local/pgsql-accounts
खोलें, डेटा देखें।
निष्कर्ष
ServBay के माध्यम से, आप आसानी से एक लोकल डेवलपमेंट वातावरण सेटअप कर सकते हैं जिसमें Laravel प्रोजेक्ट बना और चला सकते हैं। ServBay द्वारा इनबिल्ट PHP, Composer, Caddy वेब सर्वर, विभिन्न डेटाबेस और कैशिंग सर्विसेज, वातावरण के कॉन्फ़िगरेशन को बहुत आसान बना देते हैं। महज कुछ स्टेप्स में, आप नया Laravel प्रोजेक्ट बना सकते हैं, वेब सर्वर कॉन्फ़िगर कर सकते हैं, डेवलपमेंट शुरू कर सकते हैं और डेटाबेस व कैशिंग फीचर्स भी टेस्ट कर सकते हैं। ServBay का उद्देश्य डेवलपर्स को तेज़, आसान और सक्षम लोकल डेवलपमेंट एक्सपीरियंस देना है।
अगर आपको कोई समस्या आती है, तो ServBay की ऑफिशियल डॉक्स देखिए या समुदाय से मदद लीजिए।