مقدمه
WordPress یک سیستم مدیریت محتوای منبع باز (CMS) است. WordPress محبوب ترین CMS در جهان است که به شما امکان می دهد تا وبلاگ ها و وب سایت هایی را فراتر از پایگاه داده MySQL تنظیم کنید ، از PHP برای اجرای اسکریپت ها و پردازش محتوای پویا استفاده کنید.
OpenLiteSpeed یک سرور وب منبع باز بهینه شده است که می توانید از آن برای مدیریت و سرویس وب سایت ها استفاده کنید. OpenLiteSpeed دارای برخی ویژگی های مفید است که آن را به گزینه ای مناسب برای بسیاری از نصب ها تبدیل می کند: قوانین بازنویسی سازگار با Apache، یک رابط کاربری مدیریت مبتنی بر وب و پردازش PHP سفارشی برای بهینه سازی سرور.
این راهنما روند نصب و تنظیم یک نمونه وردپرس را در Ubuntu 18.04 با استفاده از وب سرور OpenLiteSpeed طی خواهد کرد. از آنجا که هم WordPress و OpenLiteSpeed می توانند از طریق یک مرورگر وب مدیریت شوند ، این پیکربندی برای کسانی که دسترسی منظم به بخش SSH ندارند یا کسانی که ممکن است احساس راحتی مدیریت یک سرور وب از طریق خط فرمان را نداشته باشند ، ایده آل است.
پیش نیازها
قبل از شروع این راهنما به موارد زیر نیاز خواهید داشت:
یك سرور که Ubuntu 18.04 را اجرا میکند با یك ادمین، یک كاربر غیر روت و فایروال با استفاده از ufw پیكربندی كرده است. برای تنظیم این محیط ، آموزش اولیه سرور ما را برای اوبونتو 18.04 دنبال کنید.
OpenLiteSpeed بر روی سرور شما نصب شده است. برای راهنمایی در مورد نصب و پیکربندی OpenLiteSpeed به راهنمای ما در مورد نحوه نصب OpenLiteSpeed وب سرور در اوبونتو 18.04 مراجعه کنید.
MySQL بر روی سرور شما نصب شده است. برای تنظیم این روش نحوه نصب MySQL را در اوبونتو 18.04 دنبال کنید.
مرحله 1 – ایجاد یک بانک اطلاعاتی و کاربر بانک اطلاعاتی برای وردپرس
WordPress از MySQL برای مدیریت و ذخیره اطلاعات سایت و کاربر استفاده می کند. شما قبلاً MySQL را نصب کرده اید ، اما به عنوان یک مرحله مقدماتی به ایجاد یک بانک اطلاعاتی و یک کاربر برای استفاده از وردپرس نیاز دارید.
برای شروع کار ، با استفاده از SSH به سرور خود وصل شوید:
ssh sammy @ your_server_IP
سپس وارد حساب ریشه MySQL شوید:
sudo mysql
توجه: اگر مرحله 3 را در پیش نیاز آموزش MySQL به پایان رسانده اید و کاربر root MySQL را برای تأیید اعتبار با افزونه mysql_native_password پیکربندی کرده اید ، باید دستور زیر را وارد کنید:
mysql -u root -p
سپس در صورت درخواست رمزعبور کاربر اصلی خود را وارد کنید.
از تبلیغ MySQL ، یک پایگاه داده با دستور زیر ایجاد کنید. در اینجا ، ما این دیتابیس را برای سادگی وردپرس نام می گذاریم ، اما شما می توانید آن را هرچه دوست دارید نامگذاری کنید:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
سپس ، یک کاربر ایجاد کرده و به آن امتیازات بانک اطلاعاتی که اخیراً ایجاد کرده اید بدهید. باز هم ، می توانید هر نامی را به این کاربر بدهید ، اما برای سادگی ما آن را wordpressuser می نامیم. همچنین ، حتماً گذرواژه را به یک رمز عبور قوی با انتخاب خود تغییر دهید:
GRANT ALL PRIVILEGES ON wordpress.* TO ‘wordpressuser’@’localhost’ IDENTIFIED BY ‘password’;
سپس ، PRUSILEGES FLUSH را اجرا کنید که به سرور می گوید جداول اعطای امتیاز را مجدد لود کند و اعمال تغییرات جدید خود را اجرا کنید ،:
FLUSH PRIVILEGES;
پس از آن ، می توانید اعلان MySQL را ببندید:
exit
اکنون نصب MySQL خود برای کار با WordPress را انجام داده اید. در مرحله بعد چند افزونه PHP نصب خواهیم کرد.
مرحله 2 – نصب افزونه های اضافی PHP
در آموزش پیش نیاز OpenLiteSpeed ، بسته lsphp73 را نصب کردید. این مجموعه ای از PHP بهینه شده برای OpenLiteSpeed است که از LiteSpeed SAPI برای ارتباط با برنامه های خارجی استفاده می کند. بسته به نیاز شما ، وردپرس ممکن است نیاز به سایر افزونه های PHP داشته باشد تا بتواند به دلخواه عمل کند.
برای نصب برخی افزونه های PHP که معمولاً با WordPress استفاده می شود ، دستور زیر را اجرا کنید:
sudo apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis
توجه: بسته های این دستور ممکن است تمام موارد استفاده را پوشش ندهد. برای یک لیست کامل از افزونه های PHP 7.3 موجود از مخزن LiteSpeed که در آموزش پیش نیاز به سرور خود اضافه کرده اید ، به Wiki LiteSpeed مراجعه کنید.
پس از این ، می توانید به سمت دانلود و تنظیم وردپرس در سرور خود بروید.
مرحله 3 – دانلود وردپرس
اکنون که نرم افزار سرور شما پیکربندی شده است ، می توانید WordPress را نصب و تنظیم کنید. به ویژه به دلایل امنیتی ، همیشه توصیه می شود که آخرین نسخه وردپرس را مستقیماً از سایت خودشان دریافت کنید.
به یک دیرکتوری قابل نوشتار بروید و سپس نسخه فشرده شده را با تایپ کردن دستور زیر دانلود کنید:
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
برای ایجاد ساختار دایرکتوری وردپرس ، فایل فشرده شده را استخراج کنید:
tar xzvf latest.tar.gz
ما این پرونده ها را لحظه به لحظه به ریشه سند منتقل خواهیم کرد ، اما ابتدا چند فایل و فهرست را ایجاد خواهیم کرد که نصب وردپرس به آنها بستگی دارد.
OpenLiteSpeed از فایل های .htaccess پشتیبانی می کند. این برای اهداف ما مهم است ، از آنجا که وردپرس
از فایلهای .htaccess برای ایجاد و مدیریت پرونده های ثابت استفاده می کند.
یک فایل .htaccess ساختگی اضافه کنید تا بعداً برای استفاده وردپرس در دسترس باشد:
touch /tmp/wordpress/.htaccess
سپس ، فایل پیکربندی نمونه را بر روی نام خانوادگی که وردپرس میخواند، کپی کنید:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
علاوه بر این ، دایرکتوری upgrade را ایجاد کنید تا وردپرس هنگام تلاش برای انجام این کار به تنهایی و به دنبال بروزرسانی در نرم افزار خود ، به مشکلات مربوط به مجوزها برخورد نکند:
mkdir /tmp/wordpress/wp-content/upgrade
سپس کل محتوای فهرست را در روت سند خود کپی کنید.OpenLiteSpeed با یک میزبان مجازی پیش فرض به نام Example در دیرکتوری / usr / local / lsws / قرار دارد. روت سند برای میزبان مجازی Example زیرمجموعه html است:
sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress
توجه کنید که این دستور شامل یک نقطه در انتهای فهرست منبع است تا نشان دهد که همه چیزهای داخل دیرکتوری باید کپی شوند ، از جمله پرونده های مخفی (مانند پرونده .htaccess که ایجاد کردید):
با این کار ، شما وردپرس را با موفقیت روی سرور وب خود نصب کرده اید و برخی از مراحل اولیه تنظیمات را انجام داده اید. در مرحله بعد ، ما تغییرات دیگری را در پیکربندی انجام خواهیم داد که امتیازات وردپرس را برای عملکرد ایمن و دسترسی به بانک اطلاعاتی MySQL و حساب کاربری که قبلاً ایجاد کرده اید به شما می دهد.
مرحله 4 – پیکربندی دایرکتوری وردپرس
قبل از اینکه بتوانیم فرآیند راه اندازی مبتنی بر وب را برای وردپرس طی کنیم ، باید برخی موارد را در دایرکتوری وردپرس خود تنظیم کنیم.
با دادن مالکیت کلیه فایل های موجود در دیرکتوری به کاربر nobody و گروه nogroup ، که وب سرور OpenLiteSpeed بصورت پیش فرض اجرا می کند ، شروع کنید. دستور chown زیر به OpenLiteSpeed امکان خواندن و نوشتن فایل ها در دایرکتوری وردپرس را اعطا می کند ، و این امکان را برای سرویس دهی به وب سایت و انجام به روز رسانی های خودکار فراهم می کند:
sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress
برای تنظیم مجوزهای صحیح در دایرکتوری ها و فایل های وردپرس ، دو دستور find اجرا کنید:
sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} \;
sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} \;
اینها باید مجوزهای معقولی برای شروع باشد ، اگرچه برخی از افزونه ها و رویه ها ممکن است نیاز به ترفندهای اضافی داشته باشند.
پس از این ، شما باید تغییراتی در پرونده اصلی پیکربندی WordPress انجام دهید.
با باز کردن فایل ، اولین هدف شما تنظیم برخی کلیدهای مخفی برای ایجاد امنیت برای نصب شما خواهد بود. WordPress یک مولد مطمئن برای این مقادیر فراهم می کند به طوری که دیگر نیازی به تلاش برای دستیابی به مقادیر خوب از خودتان نیست. اینها فقط به صورت داخلی استفاده می شود ، بنابراین به مقادیر پیچیده و ایمن در اینجا آسیب نمی رساند.
برای گرفتن مقادیر ایمن از مولد کلید مخفی WordPress ، تایپ کنید:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
شما به مقادیر منحصر به فردی بر می گردید که چیزی شبیه به این است:
هشدار! مهم است که هر بار درخواست مقادیر منحصر به فرد کنید. مقادیر نشان داده شده در زیر را کپی نکنید!
خروجی
define(‘AUTH_KEY’, ‘1jl/vqfs define(‘SECURE_AUTH_KEY’, ‘E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3’);
define(‘LOGGED_IN_KEY’, ‘W(50,{W^,OPB%PB define(‘NONCE_KEY’, ‘ll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g’); define(‘AUTH_SALT’, ‘koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-‘); define(‘SECURE_AUTH_SALT’, ‘p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY’); define(‘LOGGED_IN_SALT’, ‘i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|’); define(‘NONCE_SALT’, ‘Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%’); اینها خطوط پیکربندی هستند که شما برای تنظیم کلیدهای ایمن مستقیماً در پرونده پیکربندی خود پیست میکنید. خروجی دریافت شده را در کلیپ بورد خود کپی کنید ، و سپس پرونده پیکربندی WordPress واقع در روت سند خود را باز کنید: sudo nano /usr/local/lsws/Example/html/wordpress/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’, ‘VALUES COPIED FROM THE COMMAND LINE’); define(‘SECURE_AUTH_KEY’, ‘VALUES COPIED FROM THE COMMAND LINE’); define(‘LOGGED_IN_KEY’, ‘VALUES COPIED FROM THE COMMAND LINE’); define(‘NONCE_KEY’, ‘VALUES COPIED FROM THE COMMAND LINE’); define(‘AUTH_SALT’, ‘VALUES COPIED FROM THE COMMAND LINE’); define(‘SECURE_AUTH_SALT’, ‘VALUES COPIED FROM THE COMMAND LINE’); define(‘LOGGED_IN_SALT’, ‘VALUES COPIED FROM THE COMMAND LINE’); define(‘NONCE_SALT’, ‘VALUES COPIED FROM THE COMMAND LINE’); . . . سپس ، تنظیمات اتصال دیتابیس را در بالای فایل اصلاح کنید. شما باید نام بانک اطلاعاتی ، کاربر پایگاه داده و رمز عبور مرتبط با آن را در MySQL تنظیم کنید. تغییر دیگری که شما باید ایجاد کنید این است که روشی را که وردپرس برای نوشتن در سیستم فایل ها باید استفاده کند تنظیم کنید. از آنجایی که به ما اجازه سرور وب داده شده است که در هر جا لازم است بنویسیم، می توانیم به طور صریح روش سیستم فایل را به direct تنظیم کنیم. عدم تنظیم این با تنظیمات فعلی ما منجر به اعلان وردپرس برای اعتبار FTP در هنگام برخی عملکردهای خاص میشود. این تنظیمات می تواند در زیر تنظیمات اتصال دیتابیس یا هر جای دیگر فایل اضافه شود: /var/www/wordpress/wp-config.php . . . define(‘DB_NAME’, ‘wordpress’); /** MySQL database username */ define(‘DB_USER’, ‘wordpressuser’); /** MySQL database password */ define(‘DB_PASSWORD’, ‘password’); . . . define(‘FS_METHOD’, ‘direct’); هنگامی که کارتان تمام شد، فایل را ذخیره کنید و ببندید. در این مرحله ، وردپرس کاملاً در سیستم شما پیکربندی نشده است ، زیرا هنوز لازم است قبل از شروع انتشار مطالب ، چند کار نهایی را اعمال کنید. برای انجام این کار ، ابتدا لازم است چند تغییر تنظیمات در نصب OpenLiteSpeed خود اعمال کنید. مرحله 6 – پیکربندی OpenLiteSpeed در حال حاضر ، شما WordPress را در سرور Ubuntu خود نصب کرده اید ، اما نصب OpenLiteSpeed شما هنوز برای ارائه آن تنظیم نشده است. در این مرحله ، ما به رابط اجرایی OpenLiteSpeed دسترسی خواهیم داشت و چند تغییر در پیکربندی سرور شما ایجاد می کنیم. در مرورگر وب مورد نظر خود، به رابط اداری OpenLiteSpeed بروید. می توانید این را با وارد کردن آدرس IP عمومی سرور خود یا نام دامنه مرتبط با آن ، و به دنبال آن: 7080 در نوار آدرس مرورگر خود بیابید: https: // server_domain_or_IP: 7080 در آنجا به شما یک صفحه ورود به سیستم ارائه می شود. نام کاربری و رمز عبوری را که در آموزش پیش نیاز OpenLiteSpeed تعریف کرده اید وارد کنید: از کنسول OpenLiteSpeed ، در منوی نوار کناری سمت چپ ، بر روی تنظیمات سرور کلیک کنید. سپس به سربرگ External App بروید ، ردیف برنامه LiteSpeed SAPI را پیدا کنید و بر روی دکمه Edit آن کلیک کنید: به یاد بیاورید که در پیش نیاز آموزش OpenLiteSpeed ، بسته lsphp73 را نصب کردید ، تلفیقی از PHP بهینه سازی شده برای کار با OpenLiteSpeed از طریق LiteSpeed SAPI. با این حال ، تنظیمات پیش فرض در صفحه External App به lsphp اشاره دارد نه lsphp73. به همین دلیل ، نصب OpenLiteSpeed شما قادر به اجرای صحیح اسکریپت های PHP نیست. برای تصحیح این امر ، قسمت Name را به lsphp73 تغییر دهید ، قسمت آدرس را به uds: //tmp/lshttpd/lsphp73.sock تغییر دهید و قسمت Command را به SERVER_ROOT / lsphp73 / bin / lsphp: پس از ایجاد آن تغییرات ، روی آیکون save در گوشه سمت راست بالای کادر LiteSpeed SAPI App کلیک کنید. سپس، در منوی سمت چپ روی Virtual Hosts کلیک کنید. در صفحه Virtual Hosts میزبان مجازی مورد نظر خود را پیدا کنید و بر روی نماد View آن کلیک کنید. در اینجا ، ما از هاست مجازی مثال پیش فرض استفاده خواهیم کرد: به سربرگ General هاست مجازی بروید. در آنجا بخش General را پیدا کنید و روی دکمه edit آن کلیک کنید: OpenLiteSpeed برای ارائه خدمات به دنبال محتویات Document Root میگردد. از آنجا که تمام مطالب و فایل های وردپرس شما در دیرکتوری وردپرس که قبلا ایجاد شده ذخیره می شوند، قسمت Document Root را به روز کنید تا به آن دیرکتوری راهنمایی کنید. برای انجام این کار ، تنها کاری که باید انجام دهید اضافه کردن وردپرس / به پایان مقدار پیش فرض است: برای ذخیره این تغییر، روی آیکون save کلیک کنید. در مرحله بعد ، باید پرونده های index.php را فعال کنید تا از آنها برای پردازش درخواست هایی که توسط پرونده های استاتیک مدیریت نمی شوند ، استفاده شود. با این کار منطق اصلی وردپرس به درستی کار می کند. در حالی که هنوز در تب General هستید، برای یافتن بخش Index Files به پایین بروید و بر روی نماد edit آن کلیک کنید: در قسمت Index Files ، index.html را با index.php پیش ببرید. با قرار دادن index.php قبل از index.html ، به فایلهای شاخص PHP اجازه می دهید که اولویت داشته باشند. پس از به روزرسانی این قسمت ، مانند عکس خواهد بود قبل از ادامه ، روی آیکون save کلیک کنید. در مرحله بعد ، به سربرگ Rewrite هاست مجازی بروید. بخش Rewrite Control را پیدا کنید و دکمه ویرایش را فشار دهید: با کلیک بر روی دکمه های شعاعی مربوطه ، هر دو گزینه Enable Rewrite و Auto Load را از گزینه های .htaccess روی Yes بگذارید. پیکربندی دستورالعمل های بازنویسی در این روش به شما امکان می دهد از نصب مجدد لینک ها در نصب وردپرس خود استفاده کنید: بعد از انجام تغییرات ، روی ذخیره کلیک کنید. هاست مجازی پیش فرض که همراه با نصب OpenLiteSpeed است شامل برخی از نواحی محافظت شده با رمز عبور برای نمایش ویژگی های تأیید اعتبار کاربر OpenLiteSpeed. است. WordPress شامل مکانیزم های تأیید اعتبار خاص خود است و ما از هویت مبتنی بر پرونده موجود در OpenLiteSpeed استفاده نخواهیم کرد. برای به حداقل رساندن بخش های پیکربندی انحرافی فعال در نصب وردپرس ما باید از این موارد خلاص شویم. ابتدا بر روی زبانه Security کلیک کرده و سپس بر روی دکمه Delete کنار SampleProtectedArea در جدول Realms List کلیک کنید: از شما خواسته می شود حذف را تأیید کنید. برای ادامه بر روی delete کلیک کنید در مرحله بعد ، روی سربرگ Context کلیک کنید. در Context List ، محتوای /protected/ را که با قلمرو امنیتی که اخیراً حذف کردید مرتبط بود را حذف کنید: مجدداً باید با کلیک کردن روی delete ، حذف را تأیید کنید. شما می توانید با اطمینان با استفاده از همان تکنیک ، همه متن های دیگر را پاک کنید ، زیرا ما به آنها احتیاج نخواهیم داشت. ما به طور خاص محتوای /protected/ متن را حذف کردیم زیرا در غیر این صورت خطایی به دلیل حذف قلمرو امنیت مرتبط با آن ایجاد می شود (که ما فقط در تب Security حذف کرده ایم.) پس از آن ، در گوشه سمت راست بالای کنسول OpenLiteSpeed ، آیکون Graceful Restart را فشار دهید. با این کار سرور OpenLiteSpeed دوباره راه اندازی می شود و باعث می شود تغییراتی که ایجاد کرده اید به مرحله اجرا برسد: با این کار ، سرور OpenLiteSpe شما کاملاً پیکربندی شده است. اکنون آماده تنظیم وردپرس در مرورگر خود هستید. مرحله 7 – تکمیل نصب از طریق واسط وردپرس اکنون که پیکربندی سرور کامل شد ، می توانیم نصب را از طریق رابط وب انجام دهیم. در مرورگر وب خود ، به نام دامنه سرور یا آدرس IP عمومی خود بروید: http: // server_domain_or_IP زبانی را که می خواهید استفاده کنید انتخاب کنید: در مرحله بعد به صفحه اصلی تنظیمات خواهید رسید. یک نام برای سایت وردپرس خود انتخاب کنید و یک نام کاربری را انتخاب کنید (توصیه می شود برای اهداف امنیتی چیزی مانند “ادمین” انتخاب نکنید). رمزعبور قوی به صورت خودکار ایجاد می شود. این رمز عبور را ذخیره کنید یا یک رمزعبور قوی دیگر را انتخاب کنید. آدرس ایمیل خود را وارد کنید و انتخاب کنید آیا می خواهید موتورهای جستجو را از ایندکس کردن سایت خود منع کنید: پس از آماده شدن ، روی دکمه Install WordPress کلیک کنید. شما به صفحه ای منتهی می شوید که وارد سیستم شوید: پس از ورود به سیستم ، شما به داشبورد مدیریت وردپرس منتقل می شوید: از داشبورد ، می توانید تغییراتی در تم سایت خود و انتشار محتوای آن ایجاد کنید. نتیجه با تکمیل این راهنما ، یک نمونه وردپرس را روی سرور اوبونتو 18.04 که OpenLiteSpeed را اجرا می کند ، نصب و پیکربندی کردید. برخی مراحل متداول بعدی باید برای تنظیمات پیوند مجدد پست های شما انتخاب شوند (که می توانید در Settings > Permalinksپیدا کنید) یا انتخاب یک تم جدید (در Appearance > Themes). اگر این اولین باری است که از WordPress استفاده می کنید ، کمی رابط را جستجو کنید تا با CMS جدید خود آشنا شوید.
برای افزایش امنیت سایت جدید وردپرس خود ، توصیه می کنیم آن را پیکربندی کنید تا با SSL کار کند تا بتواند از طریق HTTPS محتوا را ارائه دهد. برای نصب LetsEncrypt و تنظیم این آموزش ، از اسناد OpenLiteSpeed بازدید کنید.
پاسخ ها