وبلاگ شخصی علی مقدس زاده

۱۴ مطلب با موضوع «سرور» ثبت شده است

  • ۰
  • ۰

سلام؛

مشکلی که امروز میخوایم راجع بهش صحبت کنیم از زمان عرضه ویندوز ۸ به بعد بوجود اومد، حالا مشکل چی هست؟ اگر همزمان از دو سیستم عامل ویندوز و لینوکس روی یک دستگاه استفاده کنید، زمانیکه ویندوز رو shutdown می‌کنید، از داخل لینوکس نمیتونید به پارتیشن ویندوزی دسترسی داشته باشید و به شما خطای The NTFS partition is in an unsafe state نمایش داده میشه ( البته متن خطاش خیلی طولانیه ولی این جمله رو اون وسطا نوشته :) ). و یا مشکلی که اخیرا من زیاد باهاش برخورد می‌کنم این هست که ویندوز ۱۰ ای توی شرکت ازش استفاده می‌کنم، زمانیکه هارد اکسترنال رو به پورت usb 3 جلوی کیس متصل می‌کنم، آیکن safe remove رو به من نمایش نمیده و مجبورم هارد رو به شیوه‌ای غیر safe از کیس جدا کنم و زمانیکه اون هارد رو به سیستم لینوکسی وصل می‌کنم همون خطا رو میبینم.



حالا که با مشکل آشنا شدیم، وقتش رسیده که راه حل‌ها رو بررسی کنیم:

۱) راه حل اول برای مشکل اول این هست که مجددا با ویندوز بوت بشیم، و بعد به جای shutdown اون رو restart کنیم. برای مشکل دوم هم باید یک سیستم ویندوزی پیدا کنیم، هارد رو وصل کنیم و این دفعه بصورت safe هارد رو جدا کنیم.

۲) راه حل دوم برای مشکل اول این هست که قابلیت fast shutdown رو از قسمت تنظیمات ویندوز غیر فعال کنیم که این کار باعث میشه سرعت بالا اومدن ویندوز به شکل محسوسی کاهش پیدا میکنه.

۳) راه حل سوم که به نظر من سریع‌ترین و راحت‌ترین راه حل هست، اینه که دستور زیر رو توی ترمینال وارد کنین:

$ sudo ntfsfix /dev/sdxx

که به جای sdxx باید آدرس فلش یا هارد رو وارد کنید (این آدرس توی متن خطایی که اول بحث صحبت کردیم هم نمایش داده میشه).

  • علی مقدس زاده
  • ۰
  • ۰
برای اینکه بتونید یک symlink در سیستم عامل ویندوز داشته باشید، لازم هست که ابتدا Command Prompt رو با دسترسی administrator اجرا کنید:


بعد از اجرای شدن Command Prompt می‌تونید با استفاده از دستور زیر symlink رو ایجاد کنید:
> mklink /D Link Target

که در این دستور سوییچ D/ به این موضوع اشاره میکنه که symlink ما برای یک پوشه ساخته میشه، Link نام symlink و Target مسیر پوشه اصلی رو مشخص می‌کنه.


  • علی مقدس زاده
  • ۰
  • ۰

قبلا تو همین وبلاگ روش ریست کردن پسورد کاربر root دیتابیس MySql رو نوشته بودم ولی ظاهرا تو نسخه‌های جدید یه مقدار فرق کرده، اگر از Ubuntu 16.04 استفاده می‌کنید میتونید با استفاده از دستورات زیر پسورد کاربر root رو ریست کنید:


# Stop MySQL
$ sudo service mysql stop
# Make MySQL service directory.
$ sudo mkdir /var/run/mysqld
# Give MySQL user permission to write to the service directory.
$ sudo chown mysql: /var/run/mysqld
# Start MySQL manually, without permission checks or networking.
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
# Log in without a password.
mysql -uroot mysql mysql> UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%'; mysql> EXIT; # Turn off MySQL. $ sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown # Start the MySQL service normally. $ sudo service mysql start

منبع: https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts

  • علی مقدس زاده
  • ۰
  • ۰

سلام :)


خیلی از ابزارهایی که ما در طول روز ازشون استفاده میکنیم بدلیل وجود یک مشکل ایجاد شدن، برنامه‌ای هم که تو این پست معرفی میشه به دلیل وجود یک مشکل تولید شده که در ادامه کل ماجرا توضیح داده میشه.

قضیه از این قراره که من چند سالی میشه که از خدمات هاستینگ شرکت پارس پک استفاده می‌کنم و باید بگم تو این چند سال و خرید تقریبا ۲۰ - ۳۰ هاست و ۳ - ۴ تا VPS و ... واقعا از خدمات و پشتیبانی این شرکت راضی هستم. تقریبا ۲ سال پیش من هاستی از این شرکت خریدم که از ابتدا مشکلاتی داشت و مدام down می‌شد. از اونجایی که من برای مانیتورینگ وضعیت هاست‌ها و سرورهام از سایت https://www.statuscake.com استفاده می‌کنم، زمانیکه با پشتیانی تماس گرفتم و گزارش سایت رو براشون ارسال کردم به من گفتن که گزارش این سایت اعتبار نداره، برای همین تو سایت https://www.host-tracker.com یک اکانت ایجاد کردم و بعد از چند هفته گزارش down شدن‌های سایت رو مجددا برای پشتیانی هاست ارسال کردم. پاسخ این دفعه پاسخ جالبی بود، به من گفتن چون این سرویس در خارج از کشور هست و هاستی که من استفاده می‌کنم در داخل ایران، برای همین گاهی اوقات به دلیل مشکلات route شبکه‌های داخلی اون سرویس به اشتباه میگه که هاست down هست در صورتیکه سایت up هست؛ من چند نوبت امتحان کردم و دیدم استثنائا برای این هاست این مشکل وجود داره، یعنی زمانیکه host-tracker میگه سایت down هست میشه سایت رو از طریق اینترنت دید! ولی همچنان سایت با قطعی مواجه بود و من گزارش مستندی برای ارائه به بخش پشتیبانی نداشتم.

برای بررسی دقیق این مشکل خودم دست به کار شدم و با استفاده از یک کد ساده که تو سایت stackoverflow پیدا کردم، یک اسکریپت php نوشتم که up بودن سایت رو چک کنه و اون رو روی یک هاست داخل ایران آپلود کردم و گذاشتم که هر یک دقیقه اجرا بشه. برای اینکه وضعیت هاست لاگ بشه هم از یک دیتابیس sqlite و برای مرور اطلاعات این دیتابیس هم از phpLiteAdmin استفاده کردم. حالا نتیجه کار رو توی سایت github آپلود کردم. این ابزار فعلا خیلی ساده هست و فقط وضعیت up بودن سایت رو چک میکنه ولی میشه بعدا یک سری موارد دیگه رو هم به اون اضافه کرد.

اگر شما هم علاقه دارین از این ابزار استفاده کنید آدرس پروژه این هست:

https://github.com/alimzadeh/Ping

برای استفاده فقط لازم هست که آدرس سایت مورد نظرتون رو تو فایل ping.php اصلاح کنید. رمز ورود ابزار phpLiteAdmin هم بصورت پیش فرض admin هست.


  • علی مقدس زاده
  • ۰
  • ۰

گاهی اوقات، بنا به دلایلی شما تشخیص میدید که بهتره مسیر پیش فرض اطلاعات سرویس‌های مختلف تغییر کنه. به عنوان مثال فرض می‌کنیم شما یک هارد ssd دارید و تصمیم دارید اطلاعات دیتابیس‌های شما به جای مسیر اصلی، روی پارتیشنی که مربوط به هارد ssd هست ذخیره بشه و یا اینکه برای راحت شدن عملیات بک آپ و ... تصمیم دارین تمام اطلاعات مهم مربوط به سرور خودتون (شامل اطلاعات وب سرور، دیتابیس‌های Postgres و MySql و ...) رو تو یک پارتیشن جدا ذخیره کنید تا بعدا زمان نصب سیستم عامل کارتون راحت‌تر باشه.

قبلا تو این وبلاگ در مورد تغییر مسیر پیش فرض اطلاعات PostgreSQL در اوبونتو 14.04 نوشتیم و تو این پست تصمیم داریم نحوه تغییر مسیر پیش فرض اطلاعات MySql رو بصورت مرحله به مرحله با هم مرور کنیم:


مرحله ۱) اولین مرحله متوقف کردن سرویس MySql هست:

$ sudo /etc/init.d/mysql stop


مرحله ۲) با استفاده از دستور زیر، اطلاعات فعلی رو به مسیر جدید منتقل می‌کنیم:

$ sudo cp -R -p /var/lib/mysql /path/to/new/datadir


مرحله ۳) در این مرحله لازم هست تغییرات مورد نظر خودمون رو تو فایل کانفیگ MySql اعمال کنیم. برای این کار ابتدا فایل زیر رو با استفاده از یک ویرایشگر متن باز می‌کنیم:

$ sudo nano /etc/mysql/my.cnf

بعد از نمایش محتویات فایل، عبارت datadir رو جستجو می‌کنیم و مقدار اون رو از var/lib/mysql/ به مسیر دلخواه خودمون (تو این مثال path/to/new/datadir/ تغییر میدیم).


مرحله ۴) تو این مرحله لازم هست مسیر جدید اطلاعات MySql رو برای AppArmor هم مشخص کنیم. برای این کار ابتدا فایل زیر رو با استفاده از یک ویرایشگر متن باز می‌کنیم:

$ sudo nano /etc/apparmor.d/usr.sbin.mysqld

بعد از نمایش محتویات فایل، عبارت var/lib/mysql/ رو با مسیر جدید جایگزین می‌کنیم.


مرحله ۵) در نهایت، لازم هست سرویس AppArmor و MySql رو مجددا راه اندازی کنیم:

$ sudo service apparmor reload
$ sudo service mysql restart


بعد از انجام این مراحل باید سرویس MySql شما بدون هیچ مشکلی اجرا بشه و اطلاعات شما رو توی مسیر جدید ذخیره کنه.



منبع: http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html

  • علی مقدس زاده
  • ۰
  • ۰

کاربر postgres کاربر پیش فرض دیتابیس PostgreSql هست که دسترسی کامل به تمام امکانات این سرویس داره. اگر پسورد این کاربر رو فراموش کردین، با استفاده از این چند تا دستور می‌تونید به راحتی پسورد کاربر postgres رو تغییر بدید:

$ sudo -u postgres psql postgres
postgres=# \password postgres

بعد از اجرای دستور بالا، باید کلمه عبور جدید رو وارد کنید.

بعد از اتمام کار، برای خروج از شل postgres میتونید از دستور q\ استفاده کنید.


  • علی مقدس زاده
  • ۰
  • ۰

قبلا در این وبلاگ در مورد راه اندازی پایگاه داده PostgreSQL بر روی سیستم عامل اوبونتو صحبت کردیم، در این پست نحوه تغییر مسیر پیش فرض اطلاعات، بصورت گام به گام توضیح داده میشه.

فرض می‌کنیم مسیر databases/ رو قبلا بر روی فایل سیستم ایجاد کردیم و تصمیم داریم اطلاعات دیتابیس‌های ما در این مسیر ذخیره بشن.


مرحله اول) اولین مرحله، تغییر مالک پوشه مد نظر هست. برای این منظور از دستور زیر استفاده می‌کنیم:

$ sudo chown -R postgres:postgres /databases


مرحله دوم) در این مرحله لازم هست مسیر مد نظر، برای اولین بار پیکربندی بشه:

$ su postgres
$ /usr/lib/postgresql/9.3/bin/initdb -D /databases
$ exit

توجه: تو این مرحله، زمانیکه شما دستور su postgres رو میزنید از شما پسورد کاربر postgres پرسیده میشه، اگر قبلا پسورد این کاربر رو مشخص نکردید، اول باید با استفاده از دستور زیر پسورد کاربر postgres رو مشخص کنید و بعد این مرحله رو ادامه بدید:

$ sudo passwd postgres


مرحله سوم) متوقف کردن سرویس PostgreSQL

$ sudo service postgresql stop


مرحله چهارم) در این مرحله فایل etc/postgresql/9.3/main/postgresql.conf/ رو با استفاده از یک ویرایشگر متن باز کرده و به دنبال این خط می‌گردیم:

data_directory = ‘/var/lib/postgresql/9.3/main’

و اون رو به مقدار زیر تغییر میدیم و ذخیره می‌کنیم:

data_directory = ‘/databases’

چنانچه قبل از ویرایش این فایل، سرویس PostgreSQL متوقف نشده باشه، در صورت درخواست توقف سرویس، سرویس متوقف نشده و پیام خطایی برای شما نمایش داده میشه، در این شرایط باید سرویس PostgreSQL رو بصورت دستی kill کنید.


مرحله پنجم) راه اندازی مجدد سرویس

$ sudo service postgresql start


منبع: http://climber2002.github.io/blog/2015/02/07/install-and-configure-postgresql-on-ubuntu-14-dot-04

  • علی مقدس زاده
  • ۰
  • ۰

اگر نرم افزاری دارید که از MySql استفاده می‌کنه و باید بر روی ویندوز اجرا بشه، ممکن هست با مشکل کندی سرویس MySql تو ویندوز مواجه بشید. برای رفع این مشکل (تو اکثر مواقع) کافی هست برای اتصال به سرویس MySql به جای localhost از 127.0.0.1 استفاده کنید :)

  • علی مقدس زاده
  • ۰
  • ۰

اگر پسورد کاربر root سرویس MySql رو فراموش کردین، خیلی راحت می‌تونید با اجرای این چند تا دستور پسورد جدید کاربر root رو مشخص کنید:


$ sudo service mysql stop
$ sudo mysqld_safe --skip-grant-tables &
$ mysql -uroot
mysql> use mysql;
mysql> update user set password=PASSWORD("...new...password...") where User='root';
mysql> flush privileges;
mysql> quit
$ sudo service mysql start



  • علی مقدس زاده
  • ۰
  • ۰

در این پست قصد معرفی پایگاه داده PostgreSQL و یا مقایسه آن با سایر پایگاه داده‌ها را نداریم، بلکه فقط نحوه راه اندازی این سرویس در سیستم عامل اوبونتو به صورت مرحله به مرحله آورده می‌شود.

  • علی مقدس زاده