سعيد يوسف نشر 4 أكتوبر 2021 أرسل تقرير نشر 4 أكتوبر 2021 أريد شرح الخطوات لرفع مشروع موقع الكتروني مبني بواسطة لارافل Laravel بطريقة سليمة، كيفية وضع الملفات و المجلدات وضبط إعدادات المخدم، وهل نحتاج لأي تعديلات إضافية في جزء API وكيف أعرف متطلبات تشغيل المشروع 1 اقتباس
4 Wael Aljamal نشر 4 أكتوبر 2021 أرسل تقرير نشر 4 أكتوبر 2021 إن متطلبات تشغيل المشروع، تعتمد على إصدار Laravel بالإضافة للمكتبات الخارجية التي قمت بتثبيتها في composer.json متطلبات لارافيل العامة: في مسار PHP في ملف php.ini أزل الفاصلة المنقوطة ; من أمام كل من الميزات التالية لأن لارافل تعتمد عليهم ثم احفظ الملف وأعد تشغيل المخدم. على الأغلب تجد تنصيب PHP في مسار تثبيت المخدم الذي تستعمله أو نفذ سكربت <php phpinfo(); ?> المتطلبات: PHP >= 7.3 BCMath PHP Extension Ctype PHP Extension Fileinfo PHP Extension JSON PHP Extension Mbstring PHP Extension OpenSSL PHP Extension PDO PHP Extension Tokenizer PHP Extension XML PHP Extension بعد إنشائك لمشروع لارافل، احتفظ بالمجلد public بموقعه ضمن public_html ولا تبدله ولا تنقله المهم أن يكون متاح على الشبكة ، إنما باقي المشروع يمكن أن تضعه خارج public_html وتعدل السطرين التاليين في index.php ليدلا على مجلد الجذر للمشروع require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php'; إعداد ngnix الموصى به من لارافل: server { listen 80; # منفذ server_name example.com; # دومين root /srv/example.com/public; # مسار المشروع على الاستضافة add_header X-Frame-Options "SAMEORIGIN"; # إعدادات حماية add_header X-Content-Type-Options "nosniff"; index index.php; # الملف الجذر لتصفح المشروع charset utf-8; # ترميز الأحرف ليقبل العربية و غيرها من اللغات location / { try_files $uri $uri/ /index.php?$query_string; # إعادة توجيه الطلبات } location = /favicon.ico { access_log off; log_not_found off; } # أيقونة الموقع location = /robots.txt { access_log off; log_not_found off; } # ملف الفهرسة error_page 404 /index.php; # صفحة غير متوفرة location ~ \.php$ { # إعداد PHP fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } } لرفع المشروع، ادخل مجلد المشروع ثم حدد جيمع الملفات والمجلدات بدون vendor ثم قم بعمل أرشيف أو ضغطه zip منهم، تحديد بزر الفأرة ثم add to archive ثم علينا رفع هذا الملف للاستضافة. نسجل دخول للوحة التحكم في الاستضافة، ثم نفتح متصفح الملفات ثم نتوجه ل public_html ونرفع الملف المضغوط عليه، ثم نفك الضغط. ننتقل لمسار المشروع ثم نقوم بتثبيت الاعتماديات: composer install --optimize-autoloader --no-dev ^^^^^^^^ لاتثبت اعتماديات المطورين نتأكد من أن المجلد public متاح للقراءة وله صلاحية (يمكن 644 ) مناسبة (755 موصى بها) مثله مثل مجلد التخزين storage و cache. chmod -R o+w storage chmod -R o+w bootstrap/cache وربط التخزين php artisan storage:link ln -s /home/username/laravel-project/storage/app/public/ /home/username/public_html/laravel-project/storage إنشاء قاعدة بيانات فارغة، لأن لارافل تقوم بعملية تهجير وتبني الجداول (طبعا أنت يفترض أن تتبع هذه الطريق) يفضل أن يكون للمستخدم صلاحيات كالة على القاعدة ALL PREVILLAGE ثم يبقى تعديل ملف البيئة env وإدراج معلومات قاعدة البيانات التي أنشأناها مع معلومات المستخدم. APP_URL=http://localhost DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret ونقوم بإلغاء تفعيل app_debug APP_DEBUG=false وباقي الإعدادت APP_NAME=Laravel اي اسم APP_ENV=production APP_KEY= سيتم توليده من خلال أمر لاحق APP_DEBUG=false APP_URL=http://localhost رابط الاستضافة لديك ثم نولد مفتاح: php artisan key:generate نحذف الكاش: php artisan config:cache php artisan route:cache php artisan view:cache ثم نقوم بعمل التهجير php artisan migrate php artisan db:seed في حال بيانات افتراضية الآن الموقع جاهز للعمل، جزء API ليس له متطلبات إضافية في حال اتصالك بقواعد بيانات خارجية تأكد من ضبط driver الخاص بها لكل خدمة laravel/config/database.php ... 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => '', ], 'mysql' => [ 'driver' => 'mysql', 'host' => env('RDS_HOSTNAME', '127.0.0.1'), 'port' => env('RDS_PORT', '3306'), 'database' => env('RDS_DB_NAME', 'forge'), 'username' => env('RDS_USERNAME', 'forge'), 'password' => env('RDS_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], ... لإضافة تعديلات، نطفي artisan ثم نعيد تشغيله بعد الانتهاء php artisan down إيقاف php artisan up تشغيل في حال قمت بعدد من التعديلات الكثيرة، ولكي لارفع المجلد المضغوط عددة مرات، يمكن رفع المشروع على مستودع مثل github أو gitbucket ثم استنساخ المستودع git clone أول مرة ثم git pull.. بعد كل تحديث تقوم به (git push إلى المستودع) لكي تسحب التحديثات للاستضافة تابع المستجدات على توثيق لارافل. 5 اقتباس
0 حيدر رزاق نشر 26 يوليو أرسل تقرير نشر 26 يوليو بتاريخ On 4/10/2021 at 23:05 قال Wael Aljamal: composer install --optimize-autoloader --no-dev كيف يمكنني الوصول الى موجه الاوامر في استضافة هورستنجر المدفوعه ؟ 1 اقتباس
0 محمد عاطف17 نشر 27 يوليو أرسل تقرير نشر 27 يوليو بتاريخ On 26/7/2024 at 04:42 قال حيدر رزاق: كيف يمكنني الوصول الى موجه الاوامر في استضافة هورستنجر المدفوعه ؟ للوصول الى موجه الاوامر في اي إستضافه يجب عليك الوصول إليه عن طريق ال ssh حيث جميع الاستضافات المدفوعة توفر لك طريقة الاتصال عبر ssh . قم بالبحث عن خانة ssh في لوحة التحكم لديك ومن ثم قم بتفعيل خاصية سيرفر ssh إذا كانت غير مفعلة بعد ذلك ستجد البيانات كما الصورة السابقة يمكنك نسخ السطر ووضعه في cmd لديك وستجد انك الان بداهل موجه الاوامر في الاستضافه . ويمكنك إستعمال برامج اخري للاتصال مثل PuTTy وغيرها او الإكتفاء فقط ب cmd لديك. ولتفاصيل اكثر هذا يمكنك الدخول على الرابط النالى من موقع hostinger يشرح لك طريقة الاتصال بال shh. https://support.hostinger.com/en/articles/1583245-how-to-connect-to-a-hosting-plan-via-ssh 1 اقتباس
0 حيدر رزاق نشر 27 يوليو أرسل تقرير نشر 27 يوليو بتاريخ 7 ساعة قال محمد عاطف17: للوصول الى موجه الاوامر في اي إستضافه يجب عليك الوصول إليه عن طريق ال ssh حيث جميع الاستضافات المدفوعة توفر لك طريقة الاتصال عبر ssh . قم بالبحث عن خانة ssh في لوحة التحكم لديك ومن ثم قم بتفعيل خاصية سيرفر ssh إذا كانت غير مفعلة بعد ذلك ستجد البيانات كما الصورة السابقة يمكنك نسخ السطر ووضعه في cmd لديك وستجد انك الان بداهل موجه الاوامر في الاستضافه . ويمكنك إستعمال برامج اخري للاتصال مثل PuTTy وغيرها او الإكتفاء فقط ب cmd لديك. ولتفاصيل اكثر هذا يمكنك الدخول على الرابط النالى من موقع hostinger يشرح لك طريقة الاتصال بال shh. https://support.hostinger.com/en/articles/1583245-how-to-connect-to-a-hosting-plan-via-ssh شكرا لك .. هل يمكن شرح طريقة رفع مشروع لارافل الاصدار الحديث ؟ لاني اواجه مشكله عدم التعرف على vite في هوستنجر استضافة نوع بزنس شير 1 اقتباس
0 Mustafa Suleiman نشر 27 يوليو أرسل تقرير نشر 27 يوليو بتاريخ 4 دقائق مضت قال حيدر رزاق: شكرا لك .. هل يمكن شرح طريقة رفع مشروع لارافل الاصدار الحديث ؟ لاني اواجه مشكله عدم التعرف على vite في هوستنجر استضافة نوع بزنس شير ما هو الخطأ الذي يظهر لك؟ اقتباس
0 حيدر رزاق نشر 27 يوليو أرسل تقرير نشر 27 يوليو بتاريخ 1 دقيقة مضت قال Mustafa Suleiman: ما هو الخطأ الذي يظهر لك؟ شكرا لك استاذ مصطفى في الامس قمت بجميع المحاولات التي قمت حضرتك بتوضيحها لي , لكن للاسف لم تحل المشكله و انا شعرت بالاحراج لكثرة اسألتي و حجم الموضوع . مشاكل عديدة ابرزها ان النود ليس مثبت في الاستضافة و قد قمت بتنفيذ الاوامر التي اعطيتني اياها في الامس و تم تثبيت النود , لكن لا يمكن عمل npm run build يتم تنفيذ الامر و لكن لا يتم نقل الملفات الخاصه ب css و كأن شيء لم يكن , عند عمل npm run dev يعمل الموقع في الاستضافة لكن بدون ستايل تضهر فقط html شكرا لك و انا اعتذر عن كثرة الاسالة 1 اقتباس
0 Mustafa Suleiman نشر 27 يوليو أرسل تقرير نشر 27 يوليو بتاريخ 3 دقائق مضت قال حيدر رزاق: شكرا لك استاذ مصطفى في الامس قمت بجميع المحاولات التي قمت حضرتك بتوضيحها لي , لكن للاسف لم تحل المشكله و انا شعرت بالاحراج لكثرة اسألتي و حجم الموضوع . مشاكل عديدة ابرزها ان النود ليس مثبت في الاستضافة و قد قمت بتنفيذ الاوامر التي اعطيتني اياها في الامس و تم تثبيت النود , لكن لا يمكن عمل npm run build يتم تنفيذ الامر و لكن لا يتم نقل الملفات الخاصه ب css و كأن شيء لم يكن , عند عمل npm run dev يعمل الموقع في الاستضافة لكن بدون ستايل تضهر فقط html شكرا لك و انا اعتذر عن كثرة الاسالة لا عليك، طالما حاولت يجب السؤال لكي تصل لحل للمشكلة، قم بتجربة تحزيم المشروع على حاسوبك وليس على الاستضافة، أي تجهيزه للنشر كما أخبرتك، ثم رفع النسخة الجاهزة للنشر على الاستضافة مباشرًة كما أوضحت لك ووضع المجلدات والملفات مباشرًة في public_html 1 اقتباس
السؤال
سعيد يوسف
أريد شرح الخطوات لرفع مشروع موقع الكتروني مبني بواسطة لارافل Laravel بطريقة سليمة، كيفية وضع الملفات و المجلدات وضبط إعدادات المخدم، وهل نحتاج لأي تعديلات إضافية في جزء API
وكيف أعرف متطلبات تشغيل المشروع
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.