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

قبلا توی پست‌های "معرفی کلاینت lync برای لینوکس" و "دسترسی از طریق Remote Desktop Connection ویندوز به لینوکس" به بررسی دو تا از مشکلاتی که ممکن هست توی استفاده از لینوکس برای ما پیش بیاد پرداختیم. یکی دیگه از این دست مشکلات اتصال vpn به سرورهای ویندوزی هست؛ معمولا شرکت‌ها - در صورتیکه بخوان دسترسی ریموت به فردی بدن - برای راحتی کاربر یک فایل با پسوند pbk ایجاد میکنن و اون رو به فرد تحویل میدن، این فایل‌ها برای ویندوز شناخته شده هست و با دوبار کلیک و اجرای اون و البته وارد کردن نام کاربری و کلمه عبور، براحتی میشه از دسترسی ریموت استفاده کرد؛ ولی متاسفانه این فایل‌ها برای لینوکس شناخته شده نیست و نمیشه به این راحتی از اون استفاده کرد.

توی این پست سعی می‌کنیم توی چند مرحله این مشکل رو هم حل کنیم :)


۱. با استفاده از دستورات زیر بسته‌های مورد نیاز رو نصب می‌کنیم:

$ sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp 
$ sudo apt-get update
$ sudo apt-get install network-manager-l2tp

۲. اگر از میز کاری غیر از unity و یا gnome استفاده می‌کنید باید بجای دستور زیر دستور متناظر با میز کار خودتون رو پیدا کنید:

$ sudo apt-get install network-manager-l2tp-gnome

۳. توی این مرحله باید یک کانکشن vpn تعریف کنیم؛ نرم افزار System Settings رو اجرای می‌کنیم، گزینه Network رو انتخاب و بر روی علامت + که پایین پنجره هست کلیک می‌کنیم. مقدار Interface رو VPN و نوع اون رو Layer 2 Tunneling Protocol (L2TP) می‌زنیم.

۳.۱. یک اسم برای این کانکشن وارد می‌کنیم.

۳.۲. آدرس سرور رو تو قسمت Gateway وارد می‌کنیم. اگر آدرس سرور رو نمیدونید، می‌تونید فایل pbk رو با یک ویرایشگر متن باز کنید و دنبال عبارت PhoneNumber بگردید.

۳.۳. نام کاربری رو تو قسمت User name وارد کنید.

۳.۴. گزینه IPsec Settings رو انتخاب کنید:

۳.۴.۱. گزینه Enable IPsec tunnel to L2TP host رو تیک بزنید.

۳.۴.۲. رمزی که همراه فایل pbk به شما دادن رو تو قسمت Pre-shared key وارد کنید.

۳.۴.۳. تو بخش Advanced برای Phase 1 Algorithms مقدار 3des-sha1-modp1024 و برای Phase 2 Algorithms مقدار 3des-sha1 رو وارد کنید.

۳.۴.۴. دکمه Ok رو کلیک کنید.

۳.۵. دکمه Save رو کلیک کنید.


حالا میتونید با استفاده از این vpn به سرور ویندوزی دسترسی ریموت داشته باشید.


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

$ sudo service xl2tpd stop
$ sudo systemctl disable xl2tpd


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


منبع: https://askubuntu.com/questions/789421/l2tp-ipsec-psk-vpn-client-on-xubuntu-16-04/797764

  • علی مقدس زاده
برای اینکه بتونید یک 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 هست.


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

در سیستم عامل ویندوز ما نرم افزاری به اسم tortoisegit داریم که محیط خیلی راحتی برای استفاده از git برای ما فراهم میکنه؛ یکی از امکانات این نرم افزار، نمایش وضعیت پوشه‌های git در explorer ویندوز هست:



اگر تمایل دارین این قابلیت رو در لینوکس هم ببینید میتونید از rabbitvcs-nautilus استفاده کنید. برای استفاده کافی هست دو تا دستور زیر رو تو محیط ترمینال وارد کنید:

$ sudo apt install rabbitvcs-nautilus
$ killall -KILL nautilus

دستور اول برای نصب نرم افزار و دستور دوم برای اجرای مجدد نرم افزار مدیریت فایل nautilus هست. بعد از اجرای این دو دستور یه چنین چیزی رو میتونید ببینید:



امیدوارم این پست مفید بوده باشه :)


منبع: http://askubuntu.com/questions/190227/is-there-a-way-to-show-icons-on-a-git-repo-folder-like-tortoisegit




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

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

برای رفع این مشکل و استفاده از دستگاه‌های متصل به پورت usb در نرم افزار virtualbox باید کاربر مد نظر به گروه vboxusers اضافه بشه. برای این منظور میتونید از دستور زیر در ترمینال استفاده کنید:

$ sudo usermod -a -G vboxusers <your-user-name>


منبع: http://askubuntu.com/questions/365850/virtualbox-not-seeing-any-usb-devices-in-the-usb-filters-settings


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

چند سالی هست که تو ادارات و شرکت‌ها، برای چت درون سازمانی و انتقال فایل و ... از نرم افزار Microsoft Lync استفاده میشه که متاسفانه کلاینت رسمی ای برای این نرم افزار در سیستم عامل لینوکس وجود نداره؛ تو این پست دو تا راه حل برای این مشکل رو با هم بررسی می‌کنیم:

۱) اگر استفاده شما از Lync فقط برای چت کردن هست، میتونید از نرم افزار pidgin استفاده کنید، فقط کافی هست بعد از نصب این نرم افزار، بسته pidgin-sipe رو هم نصب کنید و زمان اضافه کردن اکانت، پروتوکل رو از نوع Office Communicator انتخاب کنید.

۲) اگر علاوه بر چت، از قابلیت desktop sharing (که برای پشتیبانی نرم افزاری خیلی مناسب هست) هم استفاده می‌کنید، می‌تونید نرم افزار Sky رو نصب کنید. توضیحات مربوط به نصب این نرم افزار در سایت این محصول به آدرس https://tel.red/repos.htm اومده که میتونید از اون استفاده کنید. بعد از نصب این نرم افزار شما هم میتونید خیلی راحت علاوه بر چت، از قابلیت desktop sharing هم استفاده کنید. این محصول دو نسخه رایگان و پولی داره، تنها محدودیتی که نسخه رایگان داره این هست که تماس‌ها و desktop sharing بعد از دو دقیقه قطع میشه و نیاز به اتصال مجدد داره.

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

گاهی پیش میاد که نرم افزار خاصی فقط بصورت rpm منتشر میشه، این طور مواقع برای استفاده از این نرم افزارها بر روی توزیع‌هایی که از بسته‌های با فرمت deb استفاده می‌کنن میشه از نرم افزار alien استفاده کرد. وظیفه این نرم افزار تبدیل بسته‌های rpm به deb هست، البته باید به این نکته هم توجه داشته باشید که تبدیل بسته‌های rpm به deb به این معنی نیست که همه بسته‌های rpm رو میشه رو توزیع‌های مبتنی بر دبیان نصب کرد.

نصب نرم افزار alien با استفاده از دستور زیر انجام میشه:

sudo apt-get install alien dpkg-dev debhelper build-essential

تبدیل بسته rpm به deb با استفاده از نرم افزار alien:

sudo alien packagename.rpm

برای نصب بسته deb ایجاد شده هم از دستور زیر استفاده میشه:

sudo dpkg -i packagename.deb


منبع: http://www.howtogeek.com/howto/ubuntu/install-an-rpm-package-on-ubuntu-linux

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

گاهی اوقات، بنا به دلایلی شما تشخیص میدید که بهتره مسیر پیش فرض اطلاعات سرویس‌های مختلف تغییر کنه. به عنوان مثال فرض می‌کنیم شما یک هارد 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\ استفاده کنید.


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