‫ چند سئوال

صفحات: 1 2 »

سئوال اول: به طور پیش فرض یک نقش آزاد وجود داره. من نقش های دیگه با دسترسی های مختلف هم درست کردم. مثلا کاربر که دسترسیهای محدودتری داره. وقتی یک کاربر رجیستر میکنه، نقش آزاد میگیره.

در پنل مدیریتی من جایی نمیبینم که بشه یوزرها رو انتخاب کرد و گروهی نقششون رو عوض کرد. باید تک تک پروفایلها رو باز کنم و تغییر نقش بدم.

راه ساده تری نیست؟

سازنده: محمود زمان ایجاد: 1 خرداد 1397 زمان اتمام: 5 خرداد 1397

پاسخ‌ها:

مرتب‌سازی بر اساس
محمود 1 خرداد 1397

سئوال دوم: یک کرون تعریف کردم به شکل زیر

*/01 * * * *    www-data    /var/www/html/shub/ow_cron/run.php

همچنین برای smtp، یک اکانت جی میل دادم و تست شاب میگه درست کار میکنه. ولی همچنان بعد از رجیستر، ایمیل تاییدیه دریافت نمیشه. راه حل چیست؟

ویرایش شده توسط محمود (1 خرداد 1397)
محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 1 خرداد 1397
نقل قول از محمود

سئوال اول: به طور پیش فرض یک نقش آزاد وجود داره. من نقش های دیگه با دسترسی های مختلف هم درست کردم. مثلا کاربر که دسترسیهای محدودتری داره. وقتی یک کاربر رجیستر میکنه، نقش آزاد میگیره.

در پنل مدیریتی من جایی نمیبینم که بشه یوزرها رو انتخاب کرد و گروهی نقششون رو عوض کرد. باید تک تک پروفایلها رو باز کنم و تغییر نقش بدم.

راه ساده تری نیست؟


با سلام

همانطور که اشاره فرمودید در قسمت مدیریت سامانه، بخش مدیریت کاربران، امکان مدیریت نقش ها وجود دارد. در بخش فهرست نقش ها اولین نقش به عنوان نقش پیش فرض کاربرانی که عضو سامانه می‌شوند محسوب می شود. شما این امکان را دارید که به صورت کشیدن و رها کردن(drag and drop) مطابق شکل زیر نقش دیگری را در نقش اول قرار دهید تا به عنوان پیش فرض قرار گیرد

ویرایش شده توسط محمد آقاعباسلو (1 خرداد 1397)
محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 1 خرداد 1397
نقل قول از محمود

سئوال دوم: یک کرون تعریف کردم به شکل زیر

*/01 * * * * www-data /var/www/html/shub/ow_cron/run.php

همچنین برای smtp، یک اکانت جی میل دادم و تست شاب میگه درست کار میکنه. ولی همچنان بعد از رجیستر، ایمیل تاییدیه دریافت نمیشه. راه حل چیست؟


با کاربر sudoer (برای مثال استفاده از sudo bash)

۱- برای همگام‌سازی سرور خود لطفا ntpdate را با اجرای دستور apt-get install ntpdate نصب کنید
۲- با استفاده از دستور crontab –e وارد فایل مدیریت شده و در انتهای این فایل، کد مقابل را وارد نمایید:

* * * * * ntpdate –s ir.pool.ntp.org

۳- با توجه به اینکه فایل run.php مورد نظر را php اجرا می کند، مجدد در انتهای فایل بعد از دستور بالا، دستور زیر را وارد کنید (بعد از * آخر و همچنین بعد از php حتما فاصله باشد)


* * * * * php /ROOT/ow_cron/run.php

۴- فایل را ذخیره نمایید.

برای تست تنظیم بودن رایانامه شما می توانید از امکان (رایانشانی‌های دسته جمعی) در بخش تنظیمات کاربران در مدیریت سامانه استفاده کنید و برای یک نقش که دارای یک یا چند کاربر است به صورت تستی رایانامه ارسال کنید.

لطفا نتیجه را اطلاع دهید.

سپاس فراوان

ویرایش شده توسط محمد آقاعباسلو (1 خرداد 1397)
محمود 1 خرداد 1397
نقل قول از محمد آقاعباسلو

با کاربر sudoer (برای مثال استفاده از sudo bash)

۱- برای همگام‌سازی سرور خود لطفا ntpdate را با اجرای دستور apt-get install ntpdate نصب کنید
۲- با استفاده از دستور crontab –e وارد فایل مدیریت شده و در انتهای این فایل، کد مقابل را وارد نمایید:

* * * * * ntpdate –s ir.pool.ntp.org

۳- با توجه به اینکه فایل run.php مورد نظر را php اجرا می کند، مجدد در انتهای فایل بعد از دستور بالا، دستور زیر را وارد کنید (بعد از * آخر و همچنین بعد از php حتما فاصله باشد)


* * * * * php /ROOT/ow_cron/run.php 

۴- فایل را ذخیره نمایید.

 

برای تست تنظیم بودن رایانامه شما می توانید از امکان (رایانشانی‌های دسته جمعی) در بخش تنظیمات کاربران در مدیریت سامانه استفاده کنید و برای یک نقش که دارای یک یا چند کاربر است به صورت تستی رایانامه ارسال کنید.

لطفا نتیجه را اطلاع دهید.

سپاس فراوان

 

 


 

این کار رو انجام دادم ولی هنوز حل نشده. خروجی دستورات زیر رو ببینید

 

root@ce:~# crontab -l
0-59 * * * * curl http:/somewhere/courses/admin/cron.php?password=mypass
* * * * * ntpdate –s ir.pool.ntp.org
* * * * * php /var/www/html/shub/ow_cron/run.php
root@ce:~# cat /etc/crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
*/01 * * * *    www-data    /var/www/html/shub/ow_cron/run.php
*/1 * * * *     www-data /usr/bin/php7.0 /var/www/html/courses/admin/cli/cron.php > /var/log/moodle/cron.log
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

ویرایش شده توسط محمود (1 خرداد 1397)
محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 1 خرداد 1397

سلام و سپاس از پاسختون

۱- لطفا دستور */01 * * * * www-data /var/www/html/shub/ow_cron/run.php را حذف کنید

مجدد ذخیره سازی را انجام دهید.

۲- در صورتیکه کران جاب درست نصب نشده باشد در بخش مدیریت با کلیک روی شما پیغام زیر را مشاهده خواهید کرد

در صورتیکه پیغام بالا را مشاهده نمی کنید یعنی کرون به درستی اجرا می شود. لطفا بعد از ثبت نام با یک کاربر، در پایگاه داده، جدول base_mail را بررسی کنید و ببینید که آیا داده های رایانامه در جدول مذکور ذخیره می شوند یا خیر. لطفا نتیجه را اطلاع دهید.

ویرایش شده توسط محمد آقاعباسلو (1 خرداد 1397)
محمود 1 خرداد 1397

خب این کار رو انجام دادم و بخش مدیریت همون پیغامی که شما نشون دادید رو میبینم. توی لاگ سیستم میبینم که از root@somewhere داره ارسال میشه که همچین ایمیلی وجود نداره.

May 22 13:08:01 ce sm-mta[4384]: w4M8c18J004381: to=armin, ctladdr=<root@somewhere> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31199, dsn=2.0.0, stat=Sent

 

ایمیلی که من توی قسمت smtp ست کردم جیمیل هست. این ایمیل root@somewhere در زمانیکه پایگاه داده رو ساختم نوشتم. چطوری میتونم عوض کنم؟

 

محمود 1 خرداد 1397

من الان نگاه کردم در زمان ساخت پایگاه داده این دستور رو نوشتم

 

GRANT ALL PRIVILEGES ON motoshubdb.* TO 'mahmood'@'localhost' IDENTIFIED BY 'myp@ss' WITH GRANT OPTION;

 

اون ایمیل root@somewhere یادم نیست کی و کجا وارد شده. کلمه somewhere همون دومین سایت هست.

ویرایش شده توسط محمود (1 خرداد 1397)
محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 1 خرداد 1397
نقل قول از محمود

خب این کار رو انجام دادم و بخش مدیریت همون پیغامی که شما نشون دادید رو میبینم. توی لاگ سیستم میبینم که از root@somewhere داره ارسال میشه که همچین ایمیلی وجود نداره.

May 22 13:08:01 ce sm-mta[4384]: w4M8c18J004381: to=armin, ctladdr=<root@somewhere> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31199, dsn=2.0.0, stat=Sent

ایمیلی که من توی قسمت smtp ست کردم جیمیل هست. این ایمیل root@somewhere در زمانیکه پایگاه داده رو ساختم نوشتم. چطوری میتونم عوض کنم؟


لطفا به بخش مدیریت، تنظیمات، تنظیمات عمومی رفته و رایانشانی وبگاه را نیز بررسی کنید

در صورتیکه ایمیل مذکور را نیافتید، ایمیل مربوطه در پایگاه داده در جدول base_config ذخیره شده است. در این جدول می توانید رایانامه را تغییر دهید.

ویرایش شده توسط محمد آقاعباسلو (1 خرداد 1397)
محمود 1 خرداد 1397

آیا ایمیلی که در قسمت تنظیمات عمومی نوشتم باید با قسمت smtp یکی باشه؟

در قسمت base_config من چیزی نمیبینم.

به این فکر میکنم که شاید پیغامی که در syslog دیدم root@somewhere شاید ربطی به شاب نداره!

محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 1 خرداد 1397

تشکر و سپاس فراوان از پاسختون

همانطور که اشاره کردید، وقتی که کاربر در سامانه ثبت نام میکنه یک سطر جدید به پایگاه داده base_mail اضافه می شه مشابه تصویر زیر

شما در داده های base_config کلمه mail را جستجو کنید (مانند تصویر زیر):

لزومی به یکی بودن ایمیل ها نیست. لطفا در اطلاعات این جدول ببینید آیا ایمیل مورد نظر وجوود دارد یا خیر، نتیجه را اطلاع بدید.

محمود 1 خرداد 1397

من از webmin استفاده کردم و همون طور که در پست قبلی دیدید، base_config مواردی که شما گفتید رو نداره. اگر به طور خاص بگید از چی استفاده میکنید یا دقیقا دستوری که مد نظرتون هست چیه که من در mysql> اجرا کنم.

محمود 1 خرداد 1397

این صفحه دیتاهای مربوط به ow_base_config هست. مقادیری که اینجا نوشته همونی هست که در تنظیمات عمومی نوشتم.

https://pasteboard.co/HmlKtaz.jpg

در شکل زیر هم میبینید که تست ایمیل موفقیت آمیزه

https://pasteboard.co/HmlKyiN.jpg

 

الان اکانت ایمیل درست ست آپ شده؟ ایمیل هم وجودداره واقعا. پس اشکال در چیه؟ در کرون؟

محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 1 خرداد 1397

۱- لطفا تمامی خطوط داخل فایل crontab -e خود را پاک کنید و فقط خط زیر را بگذارید بماند و ذخیره کنید و تست کنید (شما نبایستی در مدیریت پیام "شما باید یک کرون جاب بسازید" را ببینید اگر این پیام مشاهده شود یعنی اجرای کرون خطا خورده است). (لطفا با کاربر root اینکار را انجام دهید)

* * * * * php /var/www/html/shub/ow_cron/run.php

۲- با استفاده از رایانشانی دسته جمعی در مدیریت یک رایانامه به یک نقش که کاربر دارد بفرستید (این عمل مستقل از کرون است) و ببینید که آیا ایمیل توسط کاربر دارای نقش دریافت شده است یا خیر

۳- لطفا داده های جدول base_mail مانند اطلاعات تصویری که گذاشتم را بررسی کنید که ایا بعد از اینکه کاربر ثبت نام میکند مانند شکل زیر پر شده است یا خالی اس

لطفا نتیجه را اطلاع دهید

ویرایش شده توسط محمد آقاعباسلو (1 خرداد 1397)
محمود 1 خرداد 1397

مورد 1 رو انجام دادم

root@ce:~# crontab -l
* * * * * php /var/www/html/shub/ow_cron/run.php
root@ce:~# service cron restart
cron stop/waiting
cron start/running, process 16815
root@ce:~#

 

مورد 2 رو هم انجام دادم. یک نقش درست کردم. همه موارد رو تیک زدم. یک اکانت جیمیل اضافه کردم بهش و بعد پیغام فرستادم به اون نقش. ولی چیزی دریافت نشده در مقصد (ایمیل)

هنوز مورد 3 رو چک نکردم. فکر کنم همین مورد دوم باید اوکی بشه. آیا راهی هست که فایل ow_cron/run.php رو دیباگ کرد؟ شاید در حین اجرای اون خطایی رخ بده.

ویرایش شده توسط محمود (1 خرداد 1397)
محمود 1 خرداد 1397

نظری وجود نداره؟

من خودم بعد از این که به یک نقش ایمیل فرستادم، توی ترمینال دستور

php /var/www/html/shub/ow_cron/run.php

رو اجرا کردم ولی ایمیلی نیومده در مقصد. من فکر کنم مشکل از کرون نیست. تنظیمات smtp میگه ایمیل در دسترسه ولی ظاهرا وقتی run.php اجرا میشه ایمیلی ارسال نمیشه. تنظیماتی که برای جیمیل ست کردم همونی هست که در سایت moodle استفاده میکنیم و اونجا ایمیلها ارسال میشن

محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 1 خرداد 1397
نقل قول از محمود

مورد 1 رو انجام دادم

root@ce:~# crontab -l
* * * * * php /var/www/html/shub/ow_cron/run.php
root@ce:~# service cron restart
cron stop/waiting
cron start/running, process 16815
root@ce:~#

مورد 2 رو هم انجام دادم. یک نقش درست کردم. همه موارد رو تیک زدم. یک اکانت جیمیل اضافه کردم بهش و بعد پیغام فرستادم به اون نقش. ولی چیزی دریافت نشده در مقصد (ایمیل)

هنوز مورد 3 رو چک نکردم. فکر کنم همین مورد دوم باید اوکی بشه. آیا راهی هست که فایل ow_cron/run.php رو دیباگ کرد؟ شاید در حین اجرای اون خطایی رخ بده.

تشکر از مواردی که انجام دادید. مورد سوم برای بررسی و شناسایی دقیق تر مرحله ای است که خطا روی می دهد. لطفا بررسی نمایید بعد از ثبت نام کاربر در جدول base_mail اطلاعات ایمیل ذخیره می شود یا خیر.

لطفا فایل error.log و همینطور cron_error.log موجود در پوشه ow_log را نیز بررسی کنید و برای من ارسال کنید. همچنین در صورتیکه امکان دارد و اجازه این کار برایتان ممکن است لطفا اطلاعات مربوط به حساب کاربری گوگل را که به عنوان ارسال کننده ایمیل از آن استفاده می کنید نیز در پیام خصوصی برای من ارسال کنید.

یک سوال دیگر، آیا تنظیم کاهش امنیت حساب کاربری گوگل را برای حساب کاربری مربوطه تنظیم کرده اید؟ کاهش امنیت حساب کاربری برای دسترسی برنامه های مختلف برای ارسال ایمیل با استفاده از حساب کاربری گوگل ضروری است

https://support.google.com/accounts/answer/6010255?hl=en

ویرایش شده توسط محمد آقاعباسلو (1 خرداد 1397)
محمود 1 خرداد 1397

برای مورد سوم (base_mail) شما از چه برنامه ای برای دیدن داده ها استفاده میکنید؟

مشخصات ایمیل رو میفرستم خدمتتون

محمود 1 خرداد 1397

علی رغم تغییر تنظیمات و ارسال های چند باره ایمیل، در فایل لاگ چیز خاصی ننوشته

root@ce:~# cat /var/www/html/shub/ow_log/error.log
[Tue May 22 22:17:11 2018] [ow_core_log] [Notice] Message: Undefined index: find_friends_url File: /var/www/html/shub/ow_smarty/template_c/265d12e1cab230571c259b402a6598b6d2aae1c8_0.file.index_friends.html.php Line:31
[Tue May 22 22:17:11 2018] [ow_core_log] [Notice] Message: Trying to get property of non-object File: /var/www/html/shub/ow_smarty/template_c/265d12e1cab230571c259b402a6598b6d2aae1c8_0.file.index_friends.html.php Line:31

 

مشخصات اکانت را فر ستادم براتون

محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 2 خرداد 1397
نقل قول از محمود

برای مورد سوم (base_mail) شما از چه برنامه ای برای دیدن داده ها استفاده میکنید؟

مشخصات ایمیل رو میفرستم خدمتتون


ضمن عرض سلام و صبح بخیر

سپاس فراوان از پاسخ و پیگیری شما

در محیط لینوکس با اتصال مستقیم به پایگاه داده و استفاده از دستور select و در محیط ویندوز از نرم افزارهایی مانند HeidiSQL و یا phpMyAdmin نرم افزار xampp و ... می توان داده ها را مشاهده کرد.

در تصویر زیر که شما برای من ارسال فرمودید فکر کنم گزینه view data داده های جدول را نمایش می دهد.

لطفا در صورتیکه برای مشاهده اطلاعات جداول داده‌ها نیاز به راهنمایی بیشتری دارید، بفرمایید.

ویرایش شده توسط محمد آقاعباسلو (2 خرداد 1397)
محمود 2 خرداد 1397

خب همون طور که در عکس زیر میبینید، دیتایی برای base_mail وجود نداره

صفحات: 1 2 »
این موضوع بسته شده است