میخوای خیلی کارا کنی؟ یکی دوتا ماژول ماتریس الئیدی و یا یه بسته الئیدی ۴پین آرجیبی یا نهایت چندتا الئیدی معولی + یه سری سیم جامپر نر و ماده… و نهایت یه بردبورد… یه دنیا سرگرمی و خلاقیت برات به همراه میآره!
اینجا سرزمین منه! پس هرجوری دلم بخواد حکومت میکنم.
ماکیاولی
خوب اول باید یک سیستم گنو\لینوکس ترجیجا دبین نصب کنید و اون رو ایمن کنید و روی اون… – یک وب سرور انجیناکس که ترجیحا پروتوکل سرویس امن وب رو هم فعال کرده باشید – یک سکوول سرور ماریا-دیبی – پیاچپی روش نصب کنید
حالا بریم سراغ نصب وردپرس روی لمپ!
مرحله ۱ – ایجاد پایگاه داده و کاربر برای وردپرس
وردپرس برای ذخیره و مدیریت اطلاعات سایت و کاربر به یک پایگاه داده مبتنی بر MySQL نیاز دارد. ما در تنظیمات خود از MariaDB ، یک فورک انجمنی از پروژه اصلی MySQL توسط Oracle، استفاده میکنیم. MariaDB در حال حاضر سرور پایگاه داده پیشفرض سازگار با MySQL است که در مدیریت بسته مبتنی بر دبیان repossudo systemctl status php* | grep fpmitories موجود است.
برای شروع، وارد حساب کاربری root (administrative) در MariaDB شوید. اگر MariaDB طوری پیکربندی شده باشد که auth_socketاز افزونه احراز هویت استفاده کند، که پیشفرض است، میتوانید با استفاده از دستور زیر وارد حساب کاربری admin در MariaDB شوید sudo:
sudo mariadb
اگر روش احراز هویت را به استفاده از رمز عبور برای حساب کاربری root در MariaDB تغییر دادهاید، از فرمت زیر استفاده کنید:
mariadb -u root -p
از شما خواسته میشود رمز عبوری را که برای حساب کاربری روت MariaDB تنظیم کردهاید، وارد کنید.
ابتدا، میتوانیم یک پایگاه داده جداگانه ایجاد کنیم که وردپرس بتواند آن را کنترل کند. میتوانید این را هر نامی که دوست دارید بگذارید، اما ما wordpressدر این راهنما برای ساده نگه داشتن آن از این نام استفاده خواهیم کرد. میتوانید با تایپ کردن دستور زیر، پایگاه داده را برای وردپرس ایجاد کنید:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ر مرحله بعد، ما قصد داریم یک حساب کاربری MariaDB جداگانه ایجاد کنیم که منحصراً برای کار با پایگاه داده جدید خود از آن استفاده خواهیم کرد. ایجاد پایگاههای داده و حسابهای تککاربره از دیدگاه مدیریتی و امنیتی ایده خوبی است. ما wordpress_userدر این راهنما از این نام استفاده خواهیم کرد. در صورت تمایل میتوانید آن را تغییر دهید.
دستور زیر این حساب کاربری را ایجاد میکند، یک رمز عبور تنظیم میکند و به پایگاه دادهای که ایجاد کردهایم دسترسی میدهد. به یاد داشته باشید که یک رمز عبور قوی برای کاربر پایگاه داده خود انتخاب کنید:
GRANT ALL ON wordpress.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'password';
اکنون شما یک پایگاه داده و یک حساب کاربری دارید که هر کدام به طور خاص برای وردپرس ساخته شدهاند. ما باید امتیازات را پاک کنیم تا نمونه فعلی سرور پایگاه داده از تغییرات اخیر ما مطلع شود:
FLUSH PRIVILEGES;
با تایپ کردن دستور زیر از MariaDB خارج شوید:
EXIT;
جلسه MariaDB خاتمه مییابد و شما را به پوسته معمولی لینوکس بازمیگرداند.
مرحله ۲ — نصب افزونههای اضافی PHP
هنگام راهاندازی پشته LEMP، ما فقط به مجموعهای بسیار کم از افزونهها نیاز داشتیم تا PHP بتواند با MariaDB ارتباط برقرار کند. وردپرس و بسیاری از افزونههای آن از افزونههای اضافی PHP استفاده میکنند.
ما میتوانیم برخی از محبوبترین افزونههای PHP را برای استفاده در وردپرس با تایپ کردن دستور زیر دانلود و نصب کنیم:
هر افزونه وردپرس مجموعه الزامات خاص خود را دارد. برخی ممکن است نیاز به نصب بستههای PHP اضافی داشته باشند. برای اطلاع از الزامات PHP افزونه، مستندات آن را بررسی کنید.
پس از اتمام نصب افزونههای جدید، باید فرآیند PHP-FPM را مجدداً راهاندازی کنید تا پردازنده PHP در حال اجرا بتواند از ویژگیهای تازه نصب شده استفاده کند:
sudo systemctl restart php7.3-fpm.service
ممکن است لازم باشد بخش هایلایت شده دستور را با نسخه خاص PHP-FPM خود تنظیم کنید، زیرا این نسخه میتواند متفاوت باشد. برای تأیید نام دقیق سرویسی که باید در systemctlدستورات استفاده کنید، میتوانید از دستور زیر استفاده کنید:
sudo systemctl status php* | grep fpm.service
خروجی مانند این را خواهید دید:
Output
● php7.3-fpm.service - The PHP 7.3 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.3-fpm.service; enabled; vendor preset: enabled)
CGroup: /system.slice/php7.3-fpm.service
systemctlرشتهی هایلایت شده، نامی است که هنگام مدیریت سرویس PHP-FPM با دستورات باید از آن استفاده کنید .
افزونههای PHP ما اکنون نصب شدهاند. در بخش بعدی، Nginx را برای استفاده از PHP-FPM برای مدیریت صفحات PHP پیکربندی خواهیم کرد.
مرحله ۳ – پیکربندی Nginx
اکنون چند تنظیم جزئی در فایلهای بلوک سرور Nginx خود انجام خواهیم داد. بر اساس آموزشهای پیشنیاز، شما باید یک فایل پیکربندی برای سایت خود در /etc/nginx/sites-available/دایرکتوری داشته باشید که برای پاسخگویی به نام دامنه سرور شما پیکربندی شده و توسط یک گواهی TLS/SSL محافظت میشود. ما در اینجا به عنوان مثال استفاده خواهیم کرد، اما شما باید مسیر فایل پیکربندی خود را در صورت لزوم جایگزین کنید./etc/nginx/sites-available/your_domain
علاوه بر این، ما از دایرکتوری ریشه (root directory) برای نصب وردپرس استفاده خواهیم کرد. شما باید از ریشه وب (web root) مشخص شده در پیکربندی خود استفاده کنید./var/www/your_domain
نکته: ممکن است از /etc/nginx/sites-available/defaultپیکربندی پیشفرض (با /var/www/htmlنام ریشه وب) استفاده کنید. اگر قرار است فقط یک وبسایت روی این سرور میزبانی کنید، استفاده از این پیکربندی مناسب است. در غیر این صورت، بهتر است پیکربندی لازم را به بخشهای منطقی تقسیم کنید، یک فایل برای هر سایت.
sudoبرای شروع، فایل پیکربندی Nginx سایت خود را با امتیازات لازم باز کنید :
sudo nano /etc/nginx/sites-available/your_domain
ما باید چند locationدستورالعمل به بلوک اصلی خود اضافه کنیم server. پس از افزودن گواهینامههای SSL، پیکربندی شما ممکن است دو server بلوک داشته باشد. در این صورت، بلوکی را که شامل دستورالعملهای دیگر شما میشود پیدا کنید و تغییرات خود را در آنجا اعمال کنید.root /var/www/your_domainlocation
با ایجاد بلوکهای مکان دقیقاً منطبق برای درخواستهای ارسالی به /favicon.icoو شروع کنید /robots.txt، که نمیخواهیم درخواستهای مربوط به هر دو را ثبت کنیم.
ما از یک مکان با عبارت منظم برای مطابقت با هرگونه درخواست برای فایلهای استاتیک استفاده خواهیم کرد. ما دوباره ثبت وقایع این درخواستها را غیرفعال میکنیم و آنها را به عنوان درخواستهای با قابلیت ذخیرهسازی بالا علامتگذاری میکنیم، زیرا این درخواستها معمولاً منابع گرانقیمتی برای ارائه هستند. میتوانید این لیست فایلهای استاتیک را طوری تنظیم کنید که شامل هر پسوند فایل دیگری که سایت شما ممکن است استفاده کند، باشد:
} درون location /بلوک موجود، باید try_filesلیست را طوری تنظیم کنیم که به جای بازگرداندن خطای ۴۰۴ به عنوان گزینه پیشفرض، کنترل به index.phpفایلی با آرگومانهای درخواست منتقل شود.
اکنون میتوانیم با تایپ دستور زیر، پیکربندی خود را برای خطاهای نحوی بررسی کنیم:
sudo nginx -t
اگر هیچ خطایی گزارش نشد، Nginx را با تایپ دستور زیر مجدداً بارگذاری کنید:
sudo systemctl reload nginx
در مرحله بعد، خود وردپرس را دانلود و راهاندازی خواهیم کرد.
مرحله ۴ – دانلود وردپرس
اکنون که نرمافزار سرور ما پیکربندی شده است، میتوانیم وردپرس را دانلود و راهاندازی کنیم. به دلایل امنیتی، همیشه توصیه میشود آخرین نسخه وردپرس را از سایت خودشان دریافت کنید.
به یک دایرکتوری قابل نوشتن بروید و سپس با تایپ دستور زیر، نسخه فشرده شده را دانلود کنید:
cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
فایل فشرده را برای ایجاد ساختار دایرکتوری وردپرس استخراج کنید:
tar xzvf latest.tar.gz
ما این فایلها را به زودی به ریشه سند خود منتقل خواهیم کرد. قبل از انجام این کار، میتوانیم فایل پیکربندی نمونه را به نام فایلی که وردپرس در واقع میخواند، کپی کنیم:
حالا میتوانیم کل محتویات دایرکتوری را در ریشه سند خود کپی کنیم. ما از این -aپرچم استفاده میکنیم تا مطمئن شویم که مجوزهای ما حفظ میشوند. ما از یک نقطه در انتهای دایرکتوری منبع خود استفاده میکنیم تا نشان دهیم که همه چیز در داخل دایرکتوری باید کپی شود، از جمله هر فایل مخفی:
sudo cp -a /tmp/wordpress/. /var/www/your_domain
حالا که فایلهای ما سر جای خود قرار گرفتند، مالکیت آنها را به کاربر و گروه اختصاص میدهیم www-data. این کاربر و گروهی است که Nginx با آن اجرا میشود و Nginx برای ارائه خدمات به وبسایت و انجام بهروزرسانیهای خودکار، باید بتواند فایلهای وردپرس را بخواند و بنویسد.
فایلهای ما اکنون در ریشه سند سرور ما قرار دارند و مالکیت صحیحی دارند، اما هنوز باید پیکربندیهای بیشتری را انجام دهیم.
مرحله ۵ – تنظیم فایل پیکربندی وردپرس
در مرحله بعد، باید چند تغییر در فایل پیکربندی اصلی وردپرس ایجاد کنیم.
وقتی فایل را باز میکنیم، اولین کاری که باید انجام دهیم تنظیم کلیدهای مخفی برای تأمین امنیت نصب است. وردپرس یک مولد امن برای این مقادیر ارائه میدهد تا مجبور نباشید خودتان سعی کنید مقادیر خوبی پیدا کنید. این مقادیر فقط به صورت داخلی استفاده میشوند، بنابراین داشتن مقادیر پیچیده و امن در اینجا به قابلیت استفاده آسیبی نمیرساند.
برای دریافت مقادیر امن از مولد کلید مخفی وردپرس، تایپ کنید:
هشدار: مهم است که هر بار مقادیر منحصر به فردی را درخواست کنید. مقادیر نشان داده شده در زیر را کپی نکنید !
اینها خطوط پیکربندی هستند که میتوانیم مستقیماً در فایل پیکربندی خود برای تنظیم کلیدهای امن قرار دهیم. خروجیای که اکنون دریافت کردید را کپی کنید.
حالا، فایل پیکربندی وردپرس را باز کنید:
nano /var/www/your_domain/wp-config.php
بخشی را که شامل مقادیر ساختگی برای آن تنظیمات است پیدا کنید. چیزی شبیه به این خواهد بود:
/var/www/wordpress/wp-config.php
. . .
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
. . .
آن خطوط را حذف کنید و مقادیری را که از خط فرمان کپی کردهاید، جایگذاری کنید:
/var/www/wordpress/wp-config.php
. . .
define('AUTH_KEY', 'مقادیر کپی شده از خط فرمان');
define('SECURE_AUTH_KEY', 'مقادیر کپی شده از خط فرمان');
define('LOGGED_IN_KEY', 'مقادیر کپی شده از خط فرمان');
define('NONCE_KEY', 'مقادیر کپی شده از خط فرمان');
define('AUTH_SALT', 'مقادیر کپی شده از خط فرمان');
define('SECURE_AUTH_SALT', 'مقادیر کپی شده از خط فرمان');
define('LOGGED_IN_SALT', 'مقادیر کپی شده از خط فرمان');
define('NONCE_SALT', 'مقادیر کپی شده از خط فرمان');
. . .
در مرحله بعد، باید برخی از تنظیمات اتصال پایگاه داده را در ابتدای فایل تغییر دهیم. شما باید نام پایگاه داده، کاربر پایگاه داده و رمز عبور مرتبط را که در MariaDB پیکربندی کردهایم، تنظیم کنید.
تغییر دیگری که باید ایجاد کنیم، تنظیم روشی است که وردپرس باید برای نوشتن در سیستم فایل استفاده کند. از آنجایی که به وب سرور اجازه دادهایم در جایی که نیاز دارد بنویسد، میتوانیم صریحاً روش سیستم فایل را روی «direct» تنظیم کنیم. عدم تنظیم این مورد با تنظیمات فعلی ما منجر به درخواست اعتبارنامه FTP توسط وردپرس هنگام انجام برخی اقدامات میشود. این تنظیم را میتوان در زیر تنظیمات اتصال پایگاه داده یا هر جای دیگری در فایل اضافه کرد:
اکنون که پیکربندی سرور کامل شده است، میتوانیم نصب را از طریق رابط وب به پایان برسانیم.
در مرورگر وب خود، به نام دامنه یا آدرس IP عمومی سرور خود بروید:
http://server_domain_or_IP
زبانی را که میخواهید استفاده کنید انتخاب کنید:
در مرحله بعد، به صفحه اصلی تنظیمات خواهید رسید.
یک نام برای سایت وردپرس خود انتخاب کنید و یک نام کاربری نیز انتخاب کنید (توصیه میشود برای اهداف امنیتی چیزی مانند «admin» انتخاب نکنید). یک رمز عبور قوی به طور خودکار ایجاد میشود. این رمز عبور را ذخیره کنید یا یک رمز عبور قوی دیگر انتخاب کنید.
آدرس ایمیل خود را وارد کنید و انتخاب کنید که آیا میخواهید موتورهای جستجو را از ایندکس کردن سایت خود منصرف کنید یا خیر:
وقتی روی ادامه کلیک کنید، به صفحهای هدایت میشوید که از شما میخواهد وارد سیستم شوید:
پس از ورود به سیستم، به داشبورد مدیریت وردپرس هدایت خواهید شد:
از داشبورد، میتوانید شروع به ایجاد تغییرات در قالب سایت و انتشار محتوا کنید.
نتیجهگیری
وردپرس باید نصب شده و آماده استفاده باشد! برخی از مراحل بعدی رایج، انتخاب تنظیمات پیوندهای یکتا برای پستهای شما (که میتوانید در آن پیدا کنید Settings > Permalinks) یا انتخاب یک قالب جدید (در آن Appearance > Themes) است. اگر این اولین بار است که از وردپرس استفاده میکنید، کمی رابط کاربری را بررسی کنید تا با CMS جدید خود آشنا شوید، یا راهنمای «اولین گامها با وردپرس» را در مستندات رسمی آنها بررسی کنید.
بالاخره طلسم شکسته شد و من بالاخره سایت ۴سو رو برپا کردم.
این پس رو برای این گذاشتم که هم طلسم تولید نکردن محتوا رو شکسته باشم. و هم به دیگران نشون بدم که از کی شروع کردم به نوشتن. و چجوری شروع به نوشتن کردم.
چیا قراره توی ۴سو منتشر کنم؟ همه چیز! از شیر مرغ گرفته تا جون آدمیزاد. شوخی کردم. موضوعاتی که الآن به ذهنم میرسه ممکن در آینده کمتر یا بیشتر بشن، اما برخی از چیزایی که به ذهنم میرسه اینایی هستند که در زیر براتون مینویسم.