نحوه پیکربندی MariaDB SSL و ایجاد اتصالات امن از مشتریان مختلف. نصب MariaDB در دبیان نصب mariadb

سلام!

من کاملا از تصمیم شما حمایت می کنم! من سرورهایم را 3 سال پیش از MySQL به MariaDB منتقل کردم و نه به خوبی. پس از خرید اوراکل، نسخه‌های MySQL بدتر و بدتر شدند. خرابی ها و خطاهای مداوم در جداول تأثیر منفی بر در دسترس بودن سایت ها داشت، بنابراین تصمیم به تغییر به MariaDB گرفته شد.

نتیجه کاملاً موجه است؛ MariaDB بسیار پایدار و به خوبی بهینه شده است. آپ تایم سه ساله بدون وقفه در چندین سرور کاملاً این را ثابت می کند.

انتخاب نسخه MariaDB

  • آیا باید /var/run/php5-fpm.sock از قبل روی سرور وجود داشته باشد؟ در اوبونتو 16.04 من چنین فایلی را در /var/run پیدا نکردم
  • 2 شاخه از MariaDB وجود دارد - 5.x و 10.x.

    5.x نسخه هایی هستند که تا حد امکان به آخرین نسخه های MySQL نزدیک هستند؛ آنها کاملاً با MySQL سازگار هستند. اگر به تازگی از MySQL به MariaDB نقل مکان می کنید، این خط از نسخه ها برای شما مناسب است.

    10.x - خط جدیدنسخه هایی که بعد از نسخه 5.5 شروع شده اند. این نسخه ها تمام ویژگی های جدید آخرین نسخه های MySQL را به طور کامل کپی نمی کنند، بلکه دارای ویژگی های منحصر به فرد خود هستند. آنها هنوز با MySQL سازگار هستند، اما اگر تازه شروع به استفاده از MariaDB کرده اید، بهتر است با نسخه 5.5 شروع کنید.

    نصب MariaDB بر روی سرور لینوکس

    توزیع های MariaDB معمولاً در مخازن توزیع های اصلی لینوکس (به عنوان مثال CentOS 6 و CentOS 7) گنجانده نمی شوند. اما، حتی اگر وجود داشت، بهتر است مخزن بومی MariaDB را روی سیستم نصب کنید تا همیشه داشته باشید نسخه های فعلی. برای نصب مخزن yum، دستورالعمل ها را دنبال کنید:

    1. ایجاد کنید فایل جدیدمخزن با استفاده از دستور:

    vi /etc/yum.repos.d/MariaDB.repo

    کلید i را فشار دهید تا وارد حالت ویرایش ویرایشگر vi شوید.

    2. فایل متنی نسخه توزیع لینوکس خود را از این لینک دریافت کنید. شما باید نام توزیع، نسخه و بیت آن را انتخاب کنید:

    متن فایل مخزن را کپی کنید، آن را در فایل خود قرار دهید و ":wq" را فشار دهید تا از ویرایشگر vi خارج شوید و ذخیره کنید.

    اکنون می توانید برنامه های MariaDB Server و محیطی را با استفاده از yum نصب کنید:

    yum نصب MariaDB-server MariaDB-client

    کتابخانه های زبان های برنامه نویسی مختلف را می توان برای MySQL نصب کرد و کاملاً سازگار است. به عنوان مثال، برای PHP:

    اکنون باید سرور MariaDB نصب شده را راه اندازی کرده و پیکربندی آن را ادامه دهید:

    اگر همه چیز را به درستی انجام داده باشید، این پیام را خواهید دید:

    راه اندازی MariaDB

    برای شروع کار با MariaDB به طور معمول، باید یک رمز عبور root تنظیم کنید. در مورد تنظیم و بهینه سازی دیتابیس در یک مقاله ویژه به تفصیل به شما خواهم گفت؛ اینها موارد اولویت دار نیستند.

    راه اندازی اولیه رمز عبور ریشه MySQL:

    ساده ترین راه برای تنظیم رمز عبور root استفاده از یک اسکریپت خاص است که در توزیع MariaDB گنجانده شده است:

    /usr/bin/mysql_secure_installation

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

    اگر سوالی دارید یا نیاز به توضیح دارید، لطفاً سوالی بپرسید یا نظر خود را بنویسید.

    من همیشه خوشحالم که کمک می کنم!

    فکر می کنم همه می دانند که MariaDB شاخه ای از MySQL است. MariaDB توسط MariaDB Corporation Ab و بنیاد MariaDB توسعه و پشتیبانی می شود. توسعه‌دهنده اصلی MariaDB، مایکل ویدنیوس، نویسنده نسخه اصلی MySQL است.

    نسخه فعلی نسخه ای است که در 13 فوریه 2018 منتشر شده است. در نسخه جدید MariaDB، فروشگاه InnoDB به نسخه 5.7.21 به روز شد و بیش از 100 باگ برطرف شد، از جمله مواردی که می توان از آنها برای شروع انکار سرویس از راه دور استفاده کرد.

    بیایید سعی کنیم نسخه جدید را روی یک سیستم تمیز Debian 9.3 (Stretch) نصب کنیم.

    من این واقعیت را پنهان نمی کنم که من واقعا MariaDB را دوست دارم و مدت هاست که استفاده از Oracle MySQL را به نفع MariaDB یا Percona Server برای MySQL کنار گذاشته ام و ذره ای از آن پشیمان نیستم. MariaDB به عنوان جایگزینی برای Oracle MySQL در بسیاری از توزیع های لینوکس استفاده می شود. MariaDB همچنین به عنوان پایگاه داده در تعداد زیادی از سایت های بزرگ استفاده می شود، در واقع، وبلاگ من نیز از این قاعده مستثنی نیست - من از MariaDB 10.2 به عنوان پایگاه داده استفاده می کنم.

    اطلاعات اولیه:سیستم عامل دبیان 9.3 (کشش)؛
    وظیفه: MariaDB 10.2.13 را با حداقل تلاش نصب کنید و راه اندازی پایه پایگاه داده را انجام دهید.

    شما می توانید مقالات زیادی در اینترنت در مورد نحوه نصب MariaDB در Debian بیابید، اما همه آنها راه حل های نسبتاً دست و پا گیر ارائه می دهند.
    نیز وجود دارد، اما شامل آن نیز نمی شود راه حل ساده، اما وجود دارد!

    نصب MariaDB 10.2.13 در Debian 9:

    1. نصب تجهیزات اضافی لازم. بسته ها:

    آپدیت Apt-get apt-get install dirmngr wget -y

    2. و اکنون جادوی ساده ای که در مورد آن نوشته نشده است - دانلود و اجرای اسکریپت نصب مخزن:

    Wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod a+x mariadb_repo_setup ./mariadb_repo_setup --mariadb-server-version=10.2

    برای اطلاعات:
    این اسکریپت سیستم شما را تجزیه و تحلیل می کند، کلیدهای GPG را نصب می کند و مخزن را به فایل /etc/apt/sources.list.d/mariadb.list اضافه می کند.
    اسکریپت رسمی است و از توزیع‌های RHEL/CentOS 6 و 7، Ubuntu 16.04 LTS (xenial) و 18.04 (bionic)، Debian 8 (jessie) و 9 (stretch) و SLES 12 و 15 پشتیبانی می‌کند.
    این اسکریپت همچنین از نصب مخازن برای نسخه های مختلف MariaDB، MaxScale و MariaDB Tools پشتیبانی می کند. می توانید آن را دانلود کنید و همه گزینه های راه اندازی را مشاهده کنید:

    ./mariadb_repo_setup --help

    P.S. برای کسانی که دوست دارند همه چیز را با دست انجام دهند، جایی که می توانید با انعطاف پذیری بیشتری بسته به موقعیت جغرافیایی سرور خود، مخزن مورد نظر را انتخاب کنید.

    3. لیست بسته ها را به روز کنید:

    آپدیت Apt-get

    4. نصب کنید آخرین نسخه MariaDB 10.2.x:

    Apt-get نصب mariadb-server -y

    در طول مراحل نصب، نصب کننده از ما می خواهد که یک رمز عبور ایجاد کنیم. کاربر ریشه، در این مرحله آن را خالی می گذاریم و بعداً آن را تغییر می دهیم.

    پس از نصب، وضعیت MariaDB را بررسی کنید:

    # وضعیت systemctl mariadb ● mariadb.service - سرور پایگاه داده MariaDB 10.2.13 بارگیری شد: بارگیری شد (/lib/systemd/system/mariadb.service؛ فعال؛ از پیش تعیین شده فروشنده: فعال) Drop-In: /etc/systemd/system/mariadb. service.d └─migrated-from-my.cnf-settings.conf فعال: فعال (در حال اجرا) از پنجشنبه 2018-02-15 12:14:17 +05; 19s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ PID اصلی: 7270 (mysqld) وضعیت: "اکنون درخواست های SQL شما را می گیریم..." CGroup: /system. slice/mariadb.service └─7270 /usr/sbin/mysqld # netstat -ltupn | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 7270/mysqld # ps -ef | grep [m]ysql mysql 7270 1 0 12:14 ? 00:00:00 /usr/sbin/mysqld

    ما همچنین سعی خواهیم کرد با استفاده از دستور mysql به پایگاه داده متصل شویم (از آنجایی که در مرحله نصب رمز عبور root را خالی گذاشتیم، از گزینه -u root -p استفاده نخواهیم کرد):

    # mysql به مانیتور MariaDB خوش آمدید. دستورات با ; یا\g. شناسه اتصال MariaDB شما 10 نسخه سرور است: 10.2.13-MariaDB-10.2.13+maria~stretch-log mariadb.org توزیع باینری حق چاپ (c) 2000، 2018، Oracle، MariaDB Corporation Ab و دیگران. تایپ کنید "help;" یا "\h" برای کمک. برای پاک کردن عبارت ورودی فعلی، "\c" را تایپ کنید. MariaDB [(هیچکدام)]>

    ما با موفقیت به سرور MariaDB متصل شدیم.

    5. حال اجازه دهید جادوگر تنظیمات امنیتی را راه اندازی کنیم:

    Mysql_secure_installation

    به این سوال:
    رمز عبور فعلی را برای root وارد کنید (برای هیچکدام وارد کنید):
    Enter را فشار دهید، رمز عبور فعلی ریشه خالی است.

    و سوال آخر:
    اکنون جداول امتیاز مجدد بارگیری شود؟
    Y را وارد کنید، بله، می‌خواهیم جدول امتیازات را دوباره بارگیری کنیم تا اعمال شوند.

    پس از این، ما حداقل اقدامات امنیتی را در نمونه MariaDB خود انجام دادیم.

    بیایید اکنون سعی کنیم به پایگاه داده متصل شویم:

    # mysql ERROR 1045 (28000): دسترسی برای کاربر "root"@"localhost" ممنوع شد (با استفاده از رمز عبور: NO)

    همانطور که می بینیم، با یک رمز عبور خالی root دیگر اجازه ورود نداریم.

    بیایید با تعیین گزینه های اضافی و وارد کردن رمز عبور به هم متصل شویم:

    # mysql -u root -p رمز عبور را وارد کنید: به مانیتور MariaDB خوش آمدید. دستورات با ; یا\g. شناسه اتصال MariaDB شما 20 نسخه سرور است: 10.2.13-MariaDB-10.2.13+maria~stretch-log mariadb.org توزیع باینری حق چاپ (c) 2000، 2018، Oracle، MariaDB Corporation Ab و دیگران. تایپ کنید "help;" یا "\h" برای کمک. برای پاک کردن عبارت ورودی فعلی، "\c" را تایپ کنید. MariaDB [(هیچکدام)]>

    عالیه همه چی درست شد

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

    در این مقاله به نحوه نصب و پیکربندی Linux، Apache، MariaDB، PHP در Centos7 / RHEL 7 خواهیم پرداخت. تغییرات زیادی در نسخه جدید Centos7 / RHEL 7 وجود دارد.

    LAMP چیست؟

    لامپ - مجموعه نرم افزاردر یک سیستم عامل متشکل از یک سیستم عامل سیستم های لینوکس، وب سرور آپاچی، سرور پایگاه داده MySQL و زبان برنامه نویسی PHP(یا Perl/Python). LAMP برای اجرای وب سایت های پویا سنگین که کاملاً از نرم افزار منبع باز رایگان تشکیل شده اند استفاده می شود کد منبع. در این مقاله قصد دارم نحوه نصب لینوکس، آپاچی، MySQL/MariaDB (جایگزین MySQL)، PHP (LAMP) بر روی CentOS 7 یا RHEL 7 را توضیح دهم.

    • سرور RHEL 7 یا CentOS 7 را نصب کنید. یک ترمینال را از طریق ssh به سرور باز کنید، باید حقوق superuser root داشته باشید.
    • شما همچنین به دانش دستورات yum نیاز دارید
    • شما به آدرس IP سرور خود نیاز دارید، از دستور زیر برای تعیین آدرس IP برای رابط eth0 استفاده کنید
    ifconfig eth0 یا ip eth0 یا ip addr list eth0 | awk "/inet /(sub(/\/+/,","$2); print $2)" یا ifconfig eth0 | awk "/inet /(print $2)" 10.180.10.10
    • ما از آدرس IP حاصله 10.180.10.10 برای آزمایش نصب استفاده خواهیم کرد

    پس بیایید شروع کنیم

    نصب آپاچی روی سرور CentOS 7 / RHEL 7

    برای نصب وب سرور از دستور استفاده می کنیم

    یام httpd را نصب کنید

    سرویس HTTPd را در راه اندازی فعال کنید

    systemctl فعال کردن httpd.service ln -s "/usr/lib/systemd/system/httpd.service" "/etc/systemd/system/multi-user.target.wants/httpd.service"

    برای غیرفعال کردن دانلودهای خودکار

    Systemctl httpd.service rm "/etc/systemd/system/multi-user.target.wants/httpd.service" را غیرفعال می کند

    سرویس HTTPd را در CentOS 7/RHEL 7 شروع کنید

    systemctl httpd.service را شروع کنید

    در این مرحله، می توانید مرورگر وب خود را به آدرس IP سرور خود، http://10.180.10.10 اشاره کنید. خواهید دید صفحه نخستآپاچی:

    توقف سرویس HTTPd در CentOS 7 / RHEL 7

    systemctl httpd.service را متوقف کنید

    راه اندازی مجدد سرویس HTTPd در CentOS 7 / RHEL 7

    وضعیت سرویس آپاچی را در CentOS 7/RHEL 7 مشاهده کنید

    مطمئن شوید که وب سرور در حال اجرا است

    وضعیت Systemctl httpd.service

    همچنین راه اندازی مجدد وب سرور با دستور زیر قابل انجام است

    Apachectl برازنده

    بررسی apache/httpd برای خطاهای پیکربندی در Centos 7/RHEL 7

    پیکربندی آپاچکتل

    پیکربندی پیش فرض سرور HTTPD:

    1. فایل پیکربندی پیش فرض: /etc/httpd/conf/httpd.conf
    2. فایل های پیکربندی برای ماژول های قابل بارگیری: /etc/httpd/conf.modules.d/ (به عنوان مثال، PHP)
    3. MPM ها را به عنوان ماژول ها و رویدادهای قابل بارگیری انتخاب کنید: /etc/httpd/conf.modules.d/00-mpm.conf
    4. پورت های استاندارد: 80 و 443 (SSL)
    5. فایل های گزارش پیش فرض: /var/log/httpd/(access_log,error_log)

    نصب MariaDB روی سرور CentOS 7/RHEL

    MariaDB یک جایگزین به روز شده برای سرور MySQL است. در RHEL/CentOS 7، سیستم مدیریت پایگاه داده MariaDB به جای MySQL استفاده می شود. دستور yum زیر را برای نصب سرور MariaDB وارد کنید:

    یام mariadb-server mariadb را نصب کنید

    برای راه اندازی MariaDB از دستور زیر استفاده کنید:

    Systemctl mariadb.service را راه اندازی می کند

    برای اطمینان از اینکه سرویس MariaDB به طور خودکار در هنگام بوت شروع می شود، وارد کنید:

    Systemctl mariadb.service را فعال می کند

    خروجی فرمان

    Ln -s "/usr/lib/systemd/system/mariadb.service" "/etc/systemd/system/multi-user.target.wants/mariadb.service"

    برای توقف/راه‌اندازی مجدد و غیرفعال کردن MariaDB از دستورات زیر استفاده کنید:

    Sudo systemctl stop mariadb.service #-- توقف سرور mariadb sudo systemctl راه اندازی مجدد mariadb.service #-- راه اندازی مجدد سرور mariadb sudo systemctl غیرفعال کردن mariadb.service #-- غیرفعال کردن بارگیری خودکار سرور mariadb sudo systemctl فعال است mariadb.service #-- بررسی در حال اجرا آیا سرور وجود دارد؟

    اولین راه اندازی MariaDB

    دستور زیر را وارد کنید:

    /usr/bin/mysql_secure_installation

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

    تأیید نصب MariaDB شما

    دستور زیر را وارد کنید

    Mysql -u root -p

    خروجی نمونه:

    نصب PHP در CentOS 7 / RHEL 7

    برای نصب PHP و ماژول هایی مانند GD/mysql دستور زیر را وارد کنید

    یام php php-mysql php-gd php-pear را نصب کنید

    شما باید سرور HTTPD (Apache) را مجددا راه اندازی کنید، وارد کنید:

    Systemctl httpd.service را مجددا راه اندازی کنید

    برای جستجوی سایر ماژول های PHP:

    جستجوی Yum php-

    برای بدست آوردن بیشتر اطلاعات دقیقدر مورد ماژول:

    اطلاعات Yum php-pgsql

    بررسی PHP روی سرور

    یک فایل به نام /var/www/html/test.php به شکل زیر ایجاد کنید:

    Vi /var/www/html/test.php

    کد زیر را اضافه کنید:

    سرور LAMP نصب شده است، در صورت بروز مشکل در راه اندازی سرور، ما یک بار کار نصب و پیکربندی وب سرور LAMP را انجام می دهیم.

    امروز می‌خواهیم یکی از پرطرفدارترین نقش‌ها را مطرح کنیم سرورهای لینوکس، که نقش اصلی را در این بخش عملکردی دارند. راه اندازی وبسرور CentOS 7 بر اساس ترکیبی از سرور محبوب http آپاچی، مترجم phpو سرورهای پایگاه داده mysql، یا به طور خلاصه - نصب لامپ. این ترکیب امروزه محبوب ترین پیکربندی در میان میزبانی وب است. اگرچه اخیراً همین شرکت بسیار داغ بوده است، اما بر اساس nginx، ممکن است قبلاً پیشرفت کرده باشد، من اطلاعات دقیقی در این مورد ندارم.

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

    وب سرور در CentOS 7

    بنابراین، وب سرور centos ما از سه جزء اصلی تشکیل شده است - سرور http آپاچی، مترجم زبان برنامه نویسی phpو سرورهای پایگاه داده mysql. بیایید با هر یک از آنها کمی آشنا شویم:

    1. آپاچی- سرور http یا به سادگی وب سرور آپاچی. این نرم افزار چند پلتفرمی است که تقریباً از همه محبوب ها پشتیبانی می کند سیستم عاملاز جمله ویندوز. در درجه اول به دلیل قابلیت اطمینان و انعطاف پذیری پیکربندی ارزش دارد که به لطف ماژول های پلاگین که تعداد زیادی از آنها وجود دارد، می توان آن را به طور قابل توجهی گسترش داد. در میان معایب، آنها به نیاز بیشتر به منابع در مقایسه با سایر سرورها اشاره می کنند. آپاچی قادر به پشتیبانی از همان بار مانند nginx با پارامترهای سخت افزاری مشابه نخواهد بود.
    2. PHPیک زبان برنامه نویسی همه منظوره است که بیشتر در توسعه وب استفاده می شود. امروزه این زبان محبوب ترین زبان در این حوزه کاربردی است. تقریباً توسط همه ارائه دهندگان هاست پشتیبانی می شود.
    3. mysql- سامانهی مدیریت پایگاه داده. در بین برنامه های کوچک و متوسط ​​محبوبیت پیدا کرده است که تعداد زیادی از آنها در وب وجود دارد. بنابراین، مانند php، امروزه محبوب ترین پایگاه داده مورد استفاده در وب سایت ها است. توسط اکثر ارائه دهندگان هاست پشتیبانی می شود. در CentOS به جای mysql نصب شده است مریادب- فورک mysql. آنها کاملاً سازگار هستند؛ شما می توانید هر زمان که بخواهید از یک پایگاه داده به پایگاه داده دیگر سوئیچ کرده و برگردید. اخیراً با اطلاعاتی مواجه شده ام که mariadb سریعتر از mysql کار می کند و مردم به آرامی به سمت آن می روند. در عمل، من فرصتی برای مشاهده این موضوع نداشتم، زیرا هرگز با پایگاه داده های بارگذاری شده کار نکرده ام. اما در شرایط عادی تفاوت محسوس نیست.

    سرور آزمایشی خواهد بود، مشخصات به شرح زیر است:

    CPU2 هسته
    حافظه8 گیگ
    دیسکSSD 150 گیگ

    این یک تنظیمات سفارشی است. آنها از نظر قیمت مطلوب نیستند، اما دقیقاً همان چیزی است که من به آن نیاز داشتم.

    من می خواهم فوراً توضیح دهم که در حال تجزیه و تحلیل تنظیمات پیش فرض اولیه هستم. برای بهبود عملکرد، افزایش قابلیت اطمینان و سهولت استفاده، باید چندین ابزار دیگر را نصب کنید که من به طور جداگانه در مورد آنها صحبت خواهم کرد. به طور کلی، آنچه در این مقاله است برای سازماندهی یک وب سرور کافی خواهد بود.

    اگر هنوز سرور ندارید، باید اجرا کنید. و اگر سرور از قبل نصب شده است، آن را فراموش نکنید. توصیه می کنم به تنظیمات توجه کنید ، زیرا اطلاعات مفید زیادی وجود دارد که در این مقاله ارائه نمی دهم - به روز رسانی سیستم ، راه اندازی فایروال ، نصب ویرایشگر و موارد دیگر.

    راه اندازی آپاچی در CentOS 7

    در CentOS سرویس آپاچی فراخوانی می شود httpd. وقتی برای اولین بار با این توزیع آشنا شدم، برای من غیرعادی بود. در Freebsd و Debian که قبلاً با آنها کار کرده بودم، سرویس وب سرور به نام apache بود، البته در جایی متوجه شدم، به نظر می رسد در نرم افزار، فایل تنظیمات httpd.conf نام دارد. تا به امروز نمی دانم چرا هر دوی این نام ها گسترش یافته است. خوشحال می شوم اگر کسی اطلاعاتی در این مورد با من در نظرات به اشتراک بگذارد.

    حالا بیایید شروع کنیم نصب آپاچی. در CentOS 7 این کار بسیار ساده انجام می شود:

    # yum install -y httpd

    آپاچی را به راه اندازی اضافه کنید:

    # systemctl httpd را فعال کنید

    راه اندازی آپاچی در CentOS 7:

    # systemctl httpd را شروع کنید

    بررسی کنید که آیا سرور شروع به کار کرده است:

    # netstat -tulnp | grep httpd tcp6 0 0:::80:::* LISTEN 21586/httpd

    همه چیز خوب است، همانطور که انتظار می رفت روی پورت 80 آویزان شد. حالا می توانید به http://ip-address بروید و تصویر را ببینید:

    حالا بیایید آپاچی را راه اندازی کنیم. من ساختار میزبانی وب زیر را ترجیح می دهم:

    بیایید ساختاری مانند این ایجاد کنیم:

    # mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R apache. /وب

    IncludeOptionalconf.d/*.conf

    در غیر این صورت، آن را لغو نظر کنید و به دایرکتوری /etc/httpd/conf.d بروید. بیایید یک فایل site1.ru.conf در آنجا ایجاد کنیم:

    ServerName site1.ru ServerAlias ​​www.site1.ru DocumentRoot /web/site1.ru/www گزینه ها FollowSymLinks AllowOverride همه نیاز به همه داده شده است ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log مشترک

    راه اندازی مجدد آپاچی در centos

    اکنون آپاچی را مجددا راه اندازی می کنیم:

    # systemctl httpd را راه اندازی مجدد کنید

    اگر خطایی رخ داد، به گزارش آپاچی /var/log/httpd/error_log نگاه کنید. اگر همه چیز مرتب باشد، بررسی می کنیم که آیا میزبان مجازی ما به طور معمول پیکربندی شده است یا خیر. برای انجام این کار، در پوشه ایجاد کنید /web/site1.ru/www file index.htmlمطالب زیر:

    # mcedit /web/site1.ru/www/index.html

    آپاچی تنظیم شد!

    # چاون آپاچی. /web/site1.ru/www/index.html

    192.168.1.25 site1.ru

    که در آن 192.168.1.25 آدرس IP سرور وب ما است.

    اکنون در مرورگر آدرس http://site1.ru را تایپ می کنیم. اگر تصویر را ببینیم:

    یعنی همه چیز به درستی پیکربندی شده است. اگر خطایی وجود دارد، به گزارش ها نگاه کنید. علاوه بر این، در این مورد، نه گزارش کلی httpd، بلکه گزارش خطای یک میزبان مجازی خاص در /web/site1.ru/logs/error.log.

    فوراً توجه شما را به تنظیم چرخش گزارش‌های میزبان مجازی جلب می‌کنم. اغلب اتفاق می افتد که اگر فوراً آن را تنظیم نکنید، فراموش می کنید. اما اگر سایت ترافیک خوبی داشته باشد، لاگ ها به سرعت رشد می کنند و می توانند فضای زیادی را اشغال کنند. بهتر است چرخش لاگ های وب سرور را بلافاصله پس از ایجاد تنظیم کنید. انجام این کار سخت نیست.

    برای پیکربندی چرخش گزارش میزبان مجازی، باید فایل /etc/logrotate.d/httpd را ویرایش کنید. در حین نصب آپاچی ایجاد می شود و شامل تنظیم چرخش مکان پیش فرض گزارش است. و از آنجایی که ما لاگ های هر میزبان مجازی را به یک پوشه جداگانه منتقل کردیم، باید این پوشه ها را به این فایل اضافه کنیم:

    # mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/var/log/httpd/*log ( missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || endscript true )

    در اصل، ساده ترین وب سرور از قبل آماده است و می توان از آن استفاده کرد. اما بعید است که اکنون سایت هایی با محتوای ثابت وجود داشته باشند که فقط پشتیبانی html برای آنها کافی باشد. پس بیایید راه اندازی خود را ادامه دهیم.

    اگر نیاز به سازماندهی عملکرد سایت بر اساس پروتکل دارید https، سپس از دفترچه راهنما برای استفاده کنید.

    نصب php روی CentOS 7

    برای پشتیبانی از محتوای وب سایت پویا، بیایید قدم بعدی را برداریم. نصب کنیم phpدر CentOS 7:

    # yum install -y php

    و سپس چند جزء مفید دیگر. بیایید محبوب نصب کنیم ماژول ها برای php:

    # yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    بیایید آپاچی را دوباره راه اندازی کنیم:

    # systemctl httpd را راه اندازی مجدد کنید

    بیایید یک فایل در دایرکتوری میزبان مجازی ایجاد کنیم و بررسی کنیم کار php:

    # mcedit /web/site1.ru/www/index.php# چاون آپاچی. /web/site1.ru/www/index.php

    به http://site1.ru/index.php بروید

    شما باید خروجی اطلاعات php را ببینید. اگر چیزی اشتباه است، برخی از خطاها رخ داده است، به گزارش خطای میزبان مجازی نگاه کنید، خطاهای php نیز وجود خواهد داشت.

    php.ini کجاست؟

    پس از نصب، اغلب این سوال پیش می آید: کجا ذخیره می شوند؟ تنظیمات php? به طور سنتی، آنها در یک فایل تنظیمات قرار دارند. در CentOS php.ini در /etc است، درست در ریشه. در آنجا می توانید تنظیمات جهانی را برای همه میزبان های مجازی ویرایش کنید. تنظیمات شخصی برای هر سایت را می توان به طور جداگانه در فایل پیکربندی میزبان مجازی که قبلا ساختیم انجام داد. بیایید چند مورد را در آنجا اضافه کنیم تنظیمات مفید:

    # mcedit /etc/httpd/conf.d/site1.ru.conf

    در آخر، قبل از آن اضافه کنید

    Php_admin_value date.timezone "Europe/Moscow" php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M

    برای اعمال تنظیمات باید آپاچی را ریستارت کنید. اکنون می توانید تغییرات تنظیمات را در خروجی phpinfo مشاهده کنید.

    ارتقا به php 5.6 در CentOS 7

    در مثال ما روی CentOS 7 نصب کردیم php 5.4از مخزن استاندارد اگر بیشتر نیاز داشته باشیم چه می شود یک نسخه جدید، مثلا php 5.6? در این صورت باید php را آپدیت کنید.

    # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7*.rpm

    اکنون به روز رسانی php 5.4 به php 5.6:

    # yum --enablerepo=remi,remi-php56 نصب php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    راه اندازی مجدد آپاچی:

    # systemctl httpd را راه اندازی مجدد کنید

    و اجازه دهید به خروجی phpinfo - http://site1.ru/index.php نگاه کنیم

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

    نصب MySQL در CentOS 7

    همانطور که قبلاً نوشتم، فورک mysql اکنون به طور فزاینده ای در حال گسترش است - مریادب. این به طور کامل با mysql سازگار است، بنابراین می توانید با اطمینان از آن استفاده کنید. من ترجیح می دهم از آن استفاده کنم.

    نصب mariadbدر CentOS 7:

    # yum install -y mariadb mariadb-server

    mariadb را به autostart اضافه کنید:

    # systemctl mariadb.service را فعال کنید

    راه اندازی mariadb:

    # systemctl mariadb را شروع کنید

    بررسی می کنیم که آیا شروع شده است یا خیر:

    # netstat -tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 22276/mysqld

    لطفا توجه داشته باشید که حتی در سیستم به عنوان یک سرویس mysqld نمایش داده می شود. اکنون اسکریپت پیکربندی امنیتی استاندارد را اجرا می کنیم:

    # /usr/bin/mysql_secure_installation

    من کل خروجی این اسکریپت را نمی دهم، همه چیز کاملاً ساده و واضح است. ابتدا برای root یک پسورد می گذاریم (رمز عبور فعلی پس از نصب خالی است)، سپس کاربران ناشناس را حذف می کنیم، امکان اتصال روت از راه دور را غیرفعال می کنیم و کاربر آزمایشی و پایگاه داده را حذف می کنیم.

    فایل تنظیمات mysql/mariadb در است /etc/my.cnf. برای کار معمولی، تنظیمات پیش فرض کافی است. اما اگر تصمیم به تغییر آنها دارید، فراموش نکنید که سرویس پایگاه داده را مجددا راه اندازی کنید.

    mariadb را مجددا راه اندازی کنید/mysql در CentOS 7:

    # systemctl mariadb را راه اندازی مجدد کنید

    همین. عملکرد اصلی وب سرور در CentOS 7 پیکربندی شده است.

    من خوشحال خواهم شد که نظرات خود را در مورد موضوع مقاله دریافت کنم. یادآوری می کنم که این مقاله بخشی از یک سری مقالات در مورد سرور است.

    کارگاه لینوکس کالی

    این دوره برای کسانی است که علاقه مند به انجام تست های نفوذ هستند و می خواهند عملا خود را در موقعیت های نزدیک به شرایط واقعی امتحان کنند. این دوره برای کسانی طراحی شده است که هنوز تجربه ای در این زمینه ندارند امنیت اطلاعات. مدت زمان آموزش 3 ماه و 4 ساعت در هفته می باشد. آنچه این دوره به شما می دهد:
    • آسیب‌پذیری‌ها یا نقص‌های پیکربندی را جستجو و از آن‌ها بهره‌برداری کنید شبکه های شرکتی، وب سایت ها، سرورها. تاکید بر pentesting سیستم عامل ویندوز و امنیت بخش شرکتی.
    • ابزارهای یادگیری مانند metasploit، sqlmap، wireshark، burp suite و بسیاری دیگر.
    • تسلط بر ابزارهای لینوکس کالی در عمل - هر متخصص امنیت اطلاعات باید با آن آشنا باشد.
    خود را در آزمون ورودی امتحان کنید و برای جزئیات بیشتر برنامه را ببینید.

    اکنون به شما می گویم که چگونه MariaDB را روی دبیان نصب کنید. من همچنین به شما خواهم گفت که چگونه از آن در موضوع خود "نصب MariaDB در Debian" استفاده کنید؛ همه اینها با جزئیات توضیح داده خواهد شد.

    MariaDB یک جایگزین سبک برای MySQL است. MariaDB مشابه MySQL است و هدف آن این است بهترین انتخاببرای متخصصان پایگاه داده که به دنبال قابل اعتماد و مقیاس پذیر هستند SQL Server. این راهنما به مبتدیان کمک می کند تا MariaDB را در دبیان 7 و 6 نصب و درک کنند. برای دستیابی به این هدف، بنیاد MariaDB با جامعه بزرگی از کاربران و توسعه دهندگان با روح واقعی نرم افزار رایگان و متن باز همکاری نزدیک و مشترک دارد و نرم افزار را در راهی که بسیار قابل اعتماد بود.

    انگیزه ایجاد آن نیاز به اطمینان از وضعیت رایگان DBMS (تحت مجوز GPL)، برخلاف خط مشی مجوز مبهم MySQL توسط Oracle بود. توسعه دهنده اصلی مایکل ویدنیوس، نویسنده نسخه اصلی MySQL و بنیانگذار Monty Program AB است.

    MariaDB زیرسیستم ذخیره سازی InnoDB را رها کرد و XtraDB را جایگزین آن کرد. همچنین زیرسیستم های Aria (en:Aria (موتور ذخیره سازی))، PBXT و FederateX گنجانده شده است.

    ابتدا بیایید سیستم عامل را به روز کنیم (تا همه چیز جدید باشد):

    # آپدیت apt-get # ارتقاء apt-get

    نصب افزونه های پایتون:

    # sudo apt-get install python-software-properties

    نصب MariaDB

    ابتدا باید کلید GPG را وارد کنید تا APT یکپارچگی بسته ها را بررسی کند و همه چیز را دانلود کند:

    # apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

    ما فایل MariaDB sources.list خودمان را ایجاد می کنیم تا مخزن را به آن اضافه کنیم:

    # vim /etc/apt/sources.list

    نصب MariaDB 5.5 برای Debian 7 wheezy

    # فهرست مخزن MariaDB 5.5 - ایجاد شده 15/11/2014 17:08 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/5.5/debian wheezy main

    نصب MariaDB 5.5 برای Debian 6 squeeze

    # فهرست مخزن MariaDB 5.5 - ایجاد شده 2014-11-15 17:14 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian squeeze main deb-src http://mirror.23media.de/mariadb /repo/5.5/debian squeeze main

    نصب MariaDB 10.0 برای Debian 7 wheezy

    # فهرست مخزن MariaDB 10.0 - ایجاد شده در 2014-11-15 17:21 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.0/debian wheezy main

    نصب MariaDB 10.0 برای Debian 6 squeeze

    # فهرست مخزن MariaDB 10.0 - ایجاد شده 2014/11/15 17:22 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian squeeze main deb-src http://mirror.23media.de/mariadb /repo/10.0/debian squeeze main

    نصب MariaDB 10.1 برای Debian 7 wheezy

    # فهرست مخزن MariaDB 10.1 - ایجاد شده در 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.1/debian wheezy main

    نصب MariaDB 10.1 برای Debian 6 squeeze

    # فهرست مخزن MariaDB 10.1 - ایجاد شده در 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian squeeze main deb-src http://mirror.23media.de/mariadb /repo/10.1/debian squeeze main

    پس از آن، سیستم را به روز می کنیم (لیست تمام مخازن) و سرور را با MariaDB نصب می کنیم:

    # sudo apt-get update # sudo apt-get install mariadb-server

    پس از آن نصب سرور MariaDB آغاز خواهد شد. من نسخه 10.0 را انتخاب کردم و به همین دلیل یک مثال نصب می زنم. در حین نصب، از شما خواسته می شود که رمز عبور کاربر MariaDB - root را وارد کنید.

    رمز عبور را وارد کرده و روی OK کلیک کنید. شما همچنین باید بار دوم (تایید) را وارد کنید. مراحل نصب چند دقیقه طول خواهد کشید.

    با استفاده از MariaDB

    در این بخش نحوه اتصال به MariaDB و نحوه استفاده از دستورات اولیه SQL را یاد خواهید گرفت.

    ابزار استاندارد برای تعامل با MariaDB برنامه مشتری MySQL است. برای شروع، دستور زیر را اجرا کنید تا به عنوان root به MariaDB متصل شوید:

    # mysql -u root -p

    رمز عبوری را که در حین نصب وارد کرده اید (ایجاد کرده اید) وارد کنید.

    بیایید سعی کنیم یک پایگاه داده ساده ایجاد کنیم که بعداً آن را با داده ها پر خواهیم کرد. دستورات زیر را برای ایجاد یک پایگاه داده به نام TEST_DB که متعلق به آن است وارد کنید کاربر جدید Test_User، رمز عبور secret_password را نیز با دستور زیر برای کاربر تنظیم می کنیم:

    MariaDB [(هیچ)]> ایجاد پایگاه داده test_db; MariaDB [(هیچ)]> اعطای همه امتیازات به test_db.* به test_user@localhost شناسایی شده توسط "secret_password"؛ MariaDB [(هیچ)]> FLUSH PRIVILEGES; MariaDB [(هیچ)]> ترک

    آخرین خط (فرمان) از کاربر ریشه در MariaDB خارج می شود. و حالا بیایید به عنوان کاربر test_user وارد شویم:

    # mysql -u testuser -p

    بیایید دستور استفاده از پایگاه داده جدید ایجاد شده (test_db) را وارد کنیم:

    MariaDB [(هیچکدام)]> USE test_db;

    یک جدول جدید ایجاد کنید و آن را با مقداری داده پر کنید:

    MariaDB [(هیچ)]> محصولات CREATE TABLE (ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY، نام VARCHAR(255)، قیمت DECIMAL(6،2)); MariaDB [(هیچکدام)]> INSERT INTO محصولات (نام، قیمت) VALUES ("MacBook_Pro"، 3200.0); MariaDB [(هیچ)]> INSERT INTO محصولات (نام، قیمت) VALUES ("Asus"، 340.0); MariaDB [(هیچ)]> INSERT INTO products (نام، قیمت) VALUES ("HP"، 745.0);

    اطمینان حاصل کنید که داده های جدید به درستی درج شده اند:

    MariaDB [(هیچ)]> SELECT * FROM products;

    با اجرای زیر از مشتری MariaDB خارج شوید:

    MariaDB [(هیچ)]> ترک

    برای گرفتن اطلاعات اضافی O دستورات SQLانجام دادن:

    MariaDB [(هیچ)]>\h

    راه اندازی MariaDB

    برای پیکربندی MariaDB باید فایل پیکربندی را ویرایش کنید. این فایل اکثر متغیرهای سیستم سرور را کنترل می کند که معمولاً آنها را به صورت پیش فرض رها می کنید.

    # vim /etc/mysql/my.cnf

    با اجرای دستور زیر سرور را ریستارت کنید:

    # سرویس mysql راه اندازی مجدد

    امنیت MariaDB

    # نصب_ام_ام_ای_اس_ایمن_

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

    اتصالات کاربر از راه دور

    بیایید نگاهی به نحوه اجازه دادن به Test_User ایجاد شده قبلی بیندازیم تا از راه دور به MariaDB متصل شود (به طور پیش فرض، MariaDB فقط اتصالات از لوکال هاست را امکان پذیر می کند).

    قرار دادن سرور MariaDB در معرض اینترنت باعث کاهش امنیت آن می شود. اگر نیاز به اتصال از سرور دیگری دارید، مطمئن شوید که قوانین فایروال را اعمال می‌کنید که فقط از آدرس‌های IP خاصی امکان اتصال را می‌دهد.
    ابتدا، ما باید با ورود به MariaDB به عنوان root، اتصالات سفارشی را به هاست های راه دور برای کاربر Test_user ارائه دهیم:

    # mysql -u root -p

    به کاربر Test_User اجازه دهید از میزبان های راه دور متصل شود:

    MariaDB [(هیچ)]> اعطای همه امتیازات به test_db.* به test_user@"%" شناسایی شده توسط "secret_password"; MariaDB [(هیچ)]> FLUSH PRIVILEGES; MariaDB [(هیچ)]> ترک

    راه اندازی MariaDB برای گوش دادن به همه چیز رابط های شبکه. فایل /etc/mysql/my.cnf را باز کنید:

    # vim /etc/mysql/my.cnf

    […]
    bind-address = 0.0.0.0
    […]

    راه اندازی مجدد سرور:

    # سرویس mysql راه اندازی مجدد

    بررسی ارتباط با کامپیوتر محلیدر سرور MariaDB خود، Test_User را با نام کاربری خود و test_domain.com را با دامنه یا آدرس IP خود جایگزین کنید:

    # mysql -u test_user -h test_domain.com -p

    اگر با موفقیت وارد سیستم شدید، باید پیام تبریک و پوسته MariaDB را ببینید.

    تنظیم MariaDB

    تیونر MySQL است ابزار مفید، که به یک نمونه MariaDB در حال اجرا متصل می شود و توصیه های پیکربندی را بر اساس حجم کاری ارائه می دهد. قبل از اجرای تیونر، باید اجازه دهید نمونه MariaDB حداقل 24 ساعت اجرا شود. هر چه مدت زمان بیشتری اجرا شود، بهترین توصیهتیونر به شما پیشنهاد می دهد.

    با اجرای دستور زیر تیونر MySQL را نصب کنید:

    # apt-get mysqltuner را نصب کنید

    تیونر MySQL را با دستور زیر راه اندازی کنید:

    # mysqltuner

    پس از آن او اطلاعات بسیار مفیدی را در اختیار شما قرار می دهد. لطفا به توصیه های آخر توجه کنید. این به شما می‌گوید که در بخش /etc/mysql/my.cnf فایل شما چه چیزی را باید تغییر دهید (کدام متغیرها باید پیکربندی شوند).

    چگونه رمز عبور ریشه MariaDB را بازنشانی کنیم؟

    اگر رمز عبور superuser (رمز عبور ریشه) خود را فراموش کرده اید، می توانید به راحتی آن را با دنبال کردن دستورالعمل های زیر بازنشانی کنید.

    سرور MariaDB را متوقف کنید:

    # سرویس mysql stop

    سرور را با skip-grant-tables راه اندازی کنید تا بتوانید بدون رمز عبور وارد MariaDB شوید:

    # mysqld_safe -- skip-grant-tables &

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

    # mysql -u root

    در سرویس گیرنده MariaDB، دستورات زیر را برای تنظیم مجدد رمز عبور ریشه وارد کنید و از آن خارج شوید:

    MariaDB [(هیچکدام)]> استفاده از mysql MariaDB [(هیچ)]> به روز رسانی تنظیمات کاربر رمز عبور=PASSWORD("yournewpassword") WHERE user="root"; MariaDB [(هیچ)]> FLUSH PRIVILEGES; MariaDB [(هیچ)]> کناره گیری کرد

    راه اندازی مجدد سرور MariaDB:

    # سرویس mysql راه اندازی مجدد

    با استفاده از رمز عبور جدید به سرور MariaDB متصل شوید:

    # mysql -u root -p

    نصب MariaDB در دبیان کامل شده است. امیدوارم واضح بوده باشه



    
    بالا