آموزش نصب وب سرور Nginx بر روی CentOS

انجین ایکس ( Nginx ) یکی از وب سرور هایی است که به تازگی بسیاری از مدیران سایت های پربازدید را به سوی خود جلب نموده است. انجین ایکس علاوه بر وب سرور، ریورس پراکسی سرور ( reverse proxy server ) و میل پراکسی سرور ( mail proxy server ) نیز می باشد که  بصورت متن باز ( open source ) ارائه شده است و از پروتکل های http , https , SMTP , POP3 و IMAP پشتیبانی می کند. انجین ایکس به گونه ای طراحی شده است که همزمان با پشتیبانی از تعداد کانکشن های بسیار بالا ، عملکرد مناسب و مصرف کم رم را به همراه داشته باشد. این وب سرور محبوب بر روی سیستم عامل های مختلفی از جمله لینوکس ، mac os و سولاریس قابل نصب می باشد. nginx توسط ایگور سیسویو ( igor sysoev ) ساخته شده است، ایگور در سال 1970 در شهر آلماتی قزاقستان به دنیا آمده است و فارغ التحصیل دانشگاه ایالتی مسکو می باشد.

کار ساخت nginx از سال 2002 آغاز گردید و اولین نسخه آن در سال 2004 منتشر گردید. در حال حاضر نزدیک به 12 درصد وب سایت های جهان یعنی چیزی در حدود 22 میلیون وب سایت از nginx به عنوان وب سرور خود استفاده می کنند.

چگونه وب سرور Nginx را بر روی سرور لینوکس خود نصب نمائیم؟

خوشبختانه مدتی است که nginx پکیج باینری آن را از طریق ریپازیتوری nginx ارائه نموده است که این مهم نصب آن را بسیار تسهیل می نماید. در ادامه مراحل نصب آن را مرور می نمائیم:

– مرحل اول: نصب nginx repo

ابتدا دستور زیر را وارد نمائید:

cd /tmp

 

اگر از نسخه centos 6 استفاده می کنید، دستورات زیر را وارد نمائید:

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

 

 – مرحله دوم: نصب وب سرور nginx

پس از نصب ریپو می توانید به کمک دستور زیر nginx را نصب نمائید:

yum install nginx

 

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

Loaded plugins: product-id, rhnplugin, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
nginx                                                    | 1.3 kB     00:00
nginx/primary                                            | 4.8 kB     00:00
nginx                                                                     33/33
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 0:1.2.6-1.el6.ngx will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch            Version                    Repository      Size
================================================================================
Installing:
 nginx          x86_64          1.2.6-1.el6.ngx            nginx          361 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 361 k
Installed size: 835 k
Is this ok [y/N]: y
Downloading Packages:
nginx-1.2.6-1.el6.ngx.x86_64.rpm                         | 361 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : nginx-1.2.6-1.el6.ngx.x86_64                                 1/1
----------------------------------------------------------------------

Thanks for using NGINX!

Check out our community web site:
* http://nginx.org/en/support.html

If you have questions about commercial support for NGINX please visit:
* http://www.nginx.com/support.html

----------------------------------------------------------------------
Installed products updated.
  Verifying  : nginx-1.2.6-1.el6.ngx.x86_64                                 1/1

Installed:
  nginx.x86_64 0:1.2.6-1.el6.ngx

Complete!

– مرحله سوم : راه اندازی وب سرور

در این مرحله می بایست به کمک دستور زیر وب سرور را فعال نمائید:

chkconfig nginx on

 

از دستورات زیر نیز می توانید برای متوقف کردن ، فعال کردن مجدد و یا مشاهده وضعیت آن استفاده فرمائید:

service nginx start
service nginx stop
service nginx restart
service nginx status
service nginx reload

 

– مرحه چهارم : کانفیگ وب سرور

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

Default configuration directory: /etc/nginx/
Default SSL and vhost config directory: /etc/nginx/conf.d/
Default log file directory: /var/log/nginx/
Default document root directory: /usr/share/nginx/html
Default configuration file: /etc/nginx/nginx.conf
Default server access log file: /var/log/nginx/access.log
Default server access log file: /var/log/nginx/error.log

 

دستور زیر را برای ویرایش تنظیمات وب سرور وارد نمائید:

nano /etc/nginx/nginx.conf

 

تعداد پردازشگر را اصلاح نموده و gzip را فعال نمائید:

worker_processes  2;
gzip  on;

 

فایل را بسته و فایل زیر را باز نمائید:

nano /etc/nginx/conf.d/default.conf

 

نام سرور ، ای پی و پورت tcp را تنظیم نمائید:

listen       202.54.1.1.1:80;
server_name  www.host97.net;

 

فایل را بسته و دستور زیر را اجرا نمائید:

service nginx start

 

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

netstat -tulpn | grep :80
ps aux | grep nginx

 

– مرحله پنجم : تنظیمات فایروال

فایل iptables را باز نمائید:

nano /etc/sysconfig/iptables

 

برای بازنمودن پورت 80 خط زیر را قبل از LOG انتهایی و خط DROP مربوط به INPUT chain قرار دهید:

-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT

 

دستور زیر را وارد نمائید:

service iptables restart

 

– نصب وب سرور nginx بر روی دایرکت ادمین ( Directadmin ) :

اگر بر روی سرور خود دایرکت ادمین را نصب نموده اید و می خواهید از وب سرور انجین ایکس استفاده کنید، پس از اتصال به کنسول به مسیر زیر مراجعه نمائید:

cd /usr/local/directadmin/

 

در اینجا می بایست نسخه 2 custombuild دایرکت ادمین را نصب کنید که البته از آنجایی که نسخه پایدار نمی باشد، ممکن است مشکلاتی را نیز به همراه داشته باشد، در صورت تمایل می توانید مراحل زیر را اجرا نمائید:

mv custombuild custombuild-01
wget http://files.directadmin.com/services/custombuild/2.0/custombuild.tar.gz
tar xvzf custombuild.tar.gz
cd custombuild
./build

 

حال با وارد کردن دستور زیر می توانید ویرایش custombuild را ملاحظه نمائید:

nano options.conf

 

نتیجه باید به شرح زیر باشد:

#Custombuild optionscustombuild=2.0

حال مقدار وب سرور را از آپاچه ( Aapche ) به nginx تغییر دهید:

#HTTP server. Possible values: apache, nginxwebserver=apache

همچنین مقدار php1_mode را به php-fpm تغییر دهید:

php1_mode=php-fpm

حال دستور زیر را وارد نمائید:

./build all -y

 

در این مرحله احتمال دارد که نیاز به آپدیت لایسنس دایرکت ادمین وجود داشته باشد که در صورت نیاز می توانید از لینک زیر استفاده کنید:

با وارد کردن دستور زیر مراحل به اتمام خواهد رسید:

./build rewrite_confs

 

توجه :
خطا 502 : اگر خطای “502 Bad Gateway” را دریافت کردید، احتمالا مقدار hostname بدرستی وارد نشده است و می بایست اصلاح گردد.

خطای 503 : اگر با این خطا روبرو شدید، دستور زیر را در سرور وارد نمائید:

chown webapps:nginx /var/www

 

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

همانطور که می دانید وردپرس که محبوب ترین ابزار مدیریت محتوا در جهان است، از دیتابیس Mysql  استفاده می کند. Mysql یک سیستم رایگان مدیریت ارتباطی دیتابیس است که برروی اکثر سرویس های میزبانی وب وجود دارد. همه ی اطلاعاتی که درون وردپرس وارد می نمایید، به غیر از فایل های وبسایت شما در داخل دیتابیس قرار می گیرند. به عبارت دیگره متن پست ها، کامنت ها، دسته بندی ها و همه ی تنظیماتی که در بخش مدیریت وردپرس انجام می دهید در داخل دیتابیس Mysql ذخیره می شوند. بنابراین آشنایی با کاربری دیتابیس می تواند در مدیریت وبسایت به شما کمک شایانی نماید. پیش از این در مقاله ی دیگری نحوه ی ساخت دیتابیس و مدیریت آن بوسیله ی نرم افزار phpMyAdmin در هاست ابری را در مقاله دیگری توضیح داده بودیم و در این مقاله سیزده کوئری بسیار کاربردی را معرفی خواهیم کرد که به کمک آنها می توانید  وبسایت وردپرس خود را بهتر مدیریت نمایید.

برای مثال اگر نیاز به تغییر بعضی از اطلاعات در سایتی که با وردپرس آماده شده است، داشته باشید، اصلاح یک به یک هر رکورد، زمان بسیار زیادی خواهد برد و مستعد خطاهای انسانی می باشد. با اجرای ساده ی یک کوئری SQL بر روی دیتابیس وردپرس شما می توانید تغییرات را با سرعت و دقت انجام دهید.

گرفتن بک آپ از دیتابیس وردپرس

 همیشه سعی نمایید از داده های خود قبل از هر تغییری بک آپ تهیه نمایید. این به شما اطمینان خاطر خواهد داد که اگر اتفاق ناگواری با تغییرات بوجود آید، شما می توانید سایت را به حالت اولیه باز گردانید. شما می توانید از پلاگین های WP-DB-Backup یا WP-DBManager استفاده نمایید که از طریق بخش ادمین وردپرس امکان تهیه بک آپ دیتابیس را فراهم می کنند. همچنین شما می توانید به کمک مراحل زیر، از طریق phpMyAdmin به صورت دستی از دیتابیس بک آپ تهیه نمایید.

  ابتدا وارد phpMyAdmin شوید.

1.    دیتابیس وردپرس را انتخاب کنید.

2.    بر روی Export در قسمت بالای نوار ابزار کلیک نمایید.

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

4.    SQL را برای دریافت فایل با پسوند .sql انتخاب نمایید.

5.    گزینه ی “Save as file” را انتخاب نمایید.

6.   در بخش فشرده سازی gzipped را برای دریافت فایل با حجم کمتر انتخاب نمایید.

7.   درآخر بروی GO کلیک نمایید و یک پنجره ی دانلود ظاهر می شود که از شما خواهد خواست، فایل را ذخیره نمایید.

   توجه: در صورتی که حجم دیتابیس شما بزرگ باشد، استفاده از phpMyAdmin برای تهیه ی نسخه ی پشتیبان توصیه نمی گردد.

13 کوئری SQL برای وردپرس

phpMyAdminیک راه ساده برای اجرای هر کدام از کوئری های زیر استفاده از phpMyAdmin می باشد. این ابزار یکی از معمولی ترین ابزارهای مراجعه و ایجاد تغییرات در دیتابیس می باشد. تقریبا تمام کنترل پنل های موجود این ابزار را دارا می باشند. البته شما می توانید از پلاگین WordPress SQL Executioner نیز برای اجرای کوئری های وردپرس استفاده نمایید. برای وارد کردن کوئری های مورد نظر لطفا با استفاده از phpMyAdmin مراحل زیر را دنبال نمایید.

1.    وارد phpMyAdmin شده و دیتابیس وردپرس را انتخاب نمایید.

2.   بر روی زبانه ی SQL کلیک نمایید که شما را به یک صفحه با کادری برای کوئری SQL میبرد.

توجه : همه ی کوئری ها، کوئری مستقیم SQL هستند و پیشوند استاندارد ‘wp_’ را برای جداول فرض خواهند کرد. اگر از پیشوند متفاوتی استفاده می کنید، کوئری ها را به همان شکل تغییر دهید.

1. تغییر آدرس سایت ( SITEURL و HOMEURL )

وردپرس مسیر نهایی آدرس سایت و خانه را در دیتابیس ذخیره می کند. بنابراین اگر وردپرس را از روی رایانه ی خود ( local host ) به سرور منتقل نموده اید و یا آدرس وبسایت را تغییر داده اید ، سایت شما بارگزاری نخواهد شد. دلیل این امر مسیر نهایی آدرس سایت است که هنوز به localhost یا آدرس قبلی وبسایت اشاره می کند. برای راه اندازی مجدد سایت، شما می بایست آدرس سایت و خانه را اصلاح نمایید.

راه حل:

UPDATE wp_options SET option_value = replace (option_value, ‘http://www.oldsiteurl.com’, ‘http://www.newsiteurl.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

2. تغییر GUID

بعد از انتقال سایت از localhost به سرورتان، یا از یک دامنه به دامنه ی دیگر، شما می بایست آدرس ها را برای GUID field در جدول wp_posts اصلاح نمایید. این موضوع حیاتی است، زیرا GUID برای ترجمه ی پست ها و کد شماره ی صفحه به مسیر نهایی مطلب درست، در صورتی که به اشتباه وارد شده باشند، لازم است.

راه حل:

UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.oldsiteurl.com’, ‘http://www.newsiteurl.com’);

3. تغییر آدرس در محتوا

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

راه حل:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://www.oldsiteurl.com’, ‘http://www.newsiteurl.com’);

4. فقط تغییر آدرس تصاویر

اگر تصمیم دارید که تصاویر را بر روی سرور دیگری ذخیره کنید، تا ترافیک بارگزاری تصاویر از روی سرور شما نباشد، می توانید از کوئری زیر برای تغییر مسیر همه ی تصاویر در وردپرس به بارگزاری از روی سرور دیگری استفاده نمایید. لازم به توضیح است که آدرس “http://yourcdn.newsiteurl.com” برابر با آدرس سرور جدید محل میزبانی تصاویر شما می باشد.

راه حل:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘src=”http://www.oldsiteurl.com”‘, ‘src=”http://yourcdn.newsiteurl.com”‘);

شما همچنین نیاز خواهید داشت که با استفاده از کوئری زیر GUID را برای تصاویر الصاق شده، اصلاح نمایید.

UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.oldsiteurl.com’, ‘http://yourcdn.newsiteurl.com’) WHERE post_type = ‘attachment’;

5. به روز کردن META پست ها

به روز کردن META یک پست تقریبا مشابه آپدیت کردن آدرس در محتوای یک پست است. اگر آدرس های اضافی برای یک پست ذخیره نموده اید، شما می توانید از کوئری زیر برای اصلاح آنها استفاده نمایید.

راه حل:

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, ‘http://www.oldsiteurl.com’,’http://www.newsiteurl.com’);

6. تغییر نام کاربری “admin” پیش فرض

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

راه حل:

UPDATE wp_users SET user_login = ‘Your New Username’ WHERE user_login = ‘Admin’;

7. تغییر رمز عبور

آیا هیچ وقت خواسته اید که رمز عبور خود را داخل وردپرس تغییر دهید، اما به نظر رسیده که ریست پسورد به دلیل نا مشخصی کار نمی کند؟

راه حل:

UPDATE wp_users SET user_pass = MD5( ‘new_password’ ) WHERE user_login = ‘your-username’;

8. اختصاص دادن همه ی مقاله های نویسنده ی B به نویسنده ی A

اگر شما می خواهید که تمام مقالات نویسنده ی B را به نام نویسنده ی A تنظیم نمایید، این امر بسیار زمانبر خواهد بود. به کمک کوئری SQL زیر شما به آسانی می توانید تمام رکوردها را بررسی کرده و تغییرات را ایجاد نمایید.

شما ابتدا نیاز به داشتن شناسه ی نویسنده ها با رفتن به صفحه ی “نویسنده و کاربر” در پنل ادمین وردپرس خواهید داشت. بر روی نام نویسنده کلیک نمایید تا پروفایل آنها را مشاهده نمایید. در نوار آدرس مرورگر، به دنبال “user_id” بگردید. این همان شناسه ی نویسنده است که ما لازم داریم.

راه حل:

UPDATE wp_posts SET post_author = ‘new-author-id’ WHERE post_author = ‘old-author-id’;

9. پاک کردن پشتیبان پست ها ( Revision )

revisions-1رویژن ها نسخه های پشتیبانی هستند که وردپرس به هنگام ویرایش، برای هر پست نگهداری می کند تا امکان بازگشت تغییرات یک پست تا 25 مرحله برای شما فراهم باشد. این امکان بسیار مفیدی است اما موجب می شود که دیتابیس شما کمی سنگین شود. برای حذف رویژن ها می توانید از کوئری زیر استفاده نمایید.

راه حل:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’ ;

توجه: در نظر داشته باشید که همه ی Revision ها شامل هر پست و اطلاعات متا ، آن حذف خواهد شد. به همین دلیل بهتر است قبل از انجام این کار حتما از دیتابیس بک آپ تهیه نمایید.

10. لیست تمام ایمیل های کامنت ها، بدون تکرار

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

راه حل:

SELECT DISTINCT comment_author_email FROM wp_comments;

11. حذف کردن یک pingback

در وردپرس مقالات محبوب معمولا تعداد زیادی پینگ بک دریافت می کنند. این امر  حجم دیتابیس شما را افزایش خواهد داد و ممکن است تمایل به حذف آنها داشته باشید که کوئری زیر به شما در انجام این امر کمک خواهد کرد.

راه حل:

DELETE FROM wp_comments WHERE comment_type = ‘pingback’;

12. پاک کردن همه ی کامنت های اسپم

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

راه حل:

DELETE FROM wp_comments WHERE comment_approved = ‘spam’;

0= کامنتی که در انتظار تایید است

1= کامنت تایید شده

Spam= کامنت هایی که به عنوان اسپم شناخته شده اند.

13. شناسایی Tag های استفاده نشده

اگر در وردپرس، پست های قدیمی را به صورت دستی از Mysql حذف نمایید، تگ های قدیمی همچنان باقی خواهند ماند و در لیست تگ ها قابل مشاهده خواهند بود. کوئری زیر تگ های استفاده نشده را برای شما مشخص خواهد کرد.

راه حل:

SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy=’post_tag’ AND wtt.count=0;

چگونه از ترافیک ناخواسته بر روی وب سایت خود جلوگیری کنیم؟

در صورتی که مدیریت سایت پر بازدیدی را بر عهده دارید، احتمالا قبلا با مصرف ناخواسته و غیر معمول پهنای باند و ترافیک هاست خود روبرو شده اید. معمولا این مورد در مواقعی مشکل ساز خواهد شد که از تصاویر و یا فایل های صوتی و تصویری زیادی در قالب، یا پست ها و محتوای وب سایت خود استفاده کرده باشید، افراد بدون اجازه شما ، مطالب وب سایت شما را در سایت خود کپی می نمایند که متاسفانه در وب سایت های فارسی نیز این امر شایع می باشد و می تواند به اتمام ترافیک هاست شما منتهی شود در حالیکه کاربران به وب سایت شما مراجعه نکرده اند و فایل ها تنها از روی هاست شما بارگزاری می شود.لذا به ازای هر بار بازدید تصاویر شما در سایت های دیگر، از پهنای باند سرویس شما استفاده خواهد شد که این مورد به افزایش هزینه نگاه داری سرویس و تحمیل هزینه های اضافه بر مدیریت سایت خواهد انجامید. در این مقاله با استفاده از امکانات htaccess روشی را برای جلوگیری از نمایش تصاویری که بر روی هاست شما میزبانی شده اند و بدون اجازه شما بر روی وب سایت های دیگر نمایش داده می شوند می پردازیم. تفاوتی نمی کند که از کدام سیستم مدیریت محتوا ( CMS ) استفاده کرده باشید، از وی بولتین ( vbulletin ) ، جوملا ( Joomla ) وردپرس ( WordPress ) و یا حتی فروشگاه پرستا شاپ ( Presta Shop ) ، شما می توانید از این روش برای محدود نمودن از ترافیک مصرفی سایت خود استفاده نمائید.

Image hotlinking چیست؟

اولین چیزی که در این موضوع می بایست بدانید مفهوم کلمه تخصصی هات لینک ( hotlinking ) می باشد. به عبارت ساده هات لینکینگ به عملیات نمایش تصاویری در سایت A گفته میشود که در اصل این تصاویر متعلق به سایت B می باشند. در این مثال به سایت A سایت لیچر یا leeching site اطلاق میشود که باعث افزایش بی مورد پهنای باند مصرفی سایت A می شود.

در دانشنامه ویکی پدیا نیز صفحه جامعی در این مورد وجود دارد: http://en.wikipedia.org/wiki/Hotlinking

حل مشکل هات لینکینگ : استفاده از htaccess

در صورتیکه تمایل به جلوگیری از استفاده بی اجازه از تصاویر و عکس های سایت خود در سایت های دیگر دارید، پیشنهاد تیم فنی پارس پک به شما؛ استفاده از کدهای آماده زیر می باشد. تنها نیاز است تا کدهای زیر را به فایل htaccess سیستم مدیریت محتوا خود اعم از وردپرس، جوملا، وردپرس و … در بالاترین شاخه سرویس ( public_html ) اضافه نمایید.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?your-site.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?your-other-domain.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ http://my-site.com/images/preventhotlink.png [NC,R,L]

 

توجه :

– در خط سوم ،  لطفا آدرس دامنه خود را به جای your-site.com بدون ذکر مجدد www در ابتدای آن وارد نمایید.

– در خط چهارم ،  در صورتی که دامنه دیگری نیز به صورت پارک شده و یا پوینتر بر روی سرویس وجود دارد می توانید جهت اجازه دسترسی، نام آن دامنه را به جای عبارت your-other-domain.com اضافه نمایید.

– با اجرای خط پنجم، تمامی تصاویر کپی شده در سایت های دیگر ، با تصویر مشخص شده در این خط جایگزین خواهند شد. لذا شما می توانید آدرس دقیق تصویر دلخواه خود را در این قسمت قرار دهید.

چگونه امنیت بخش های مدیریتی وردپرس را افزایش دهیم ؟

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

یکی از پایه ای ترین روش ها که در کنترل پنل های مختلف از جمله  سی پنل و دایرکت ادمین پشتیبانی می شود قابلیت Password Protect و یا محافظت از طریق قرار دادن کلمه عبور بر روی پوشه های مدیریتی است. در حالت پیشفرض  فایل های مدیریتی ورد پرس در پوشه wp-admin قرار دارند. لذا پس از ورود به ناحیه کاربری خود به پنل میزبانی دایرکت ادمین و سی پنل بروید. در کنترل پنل دایرکت ادمین به بخش مدیریت فایل ها رفته و در ستون Action روی دکمه Protect کلیک نمایید. در پنجره باز شده در اولین کادر عبارت Member’s Area را وارد نمایید و در کادر های بعدی نام کاربری و کلمه عبور مورد نظر جهت دستیابی به پوشه های محافظت شده را وارد نمایید. در انتها مربع Protection Enabled را تیک زده و تغییرات را ذخیره نمایید. همچنین در سی پنل با کلیک راست روی پوشه مورد نظر می توانید Password Protect را برای دایرکتوری مدیریت انتخاب کنید و از درون صفحه باز شده نام کاربری و عبور برای آن ایجاد نمایید.

روش دیگر برای کاربرانی مناسب است که در سرویس اینترنتی خود از آی پی استاتیک استفاده می نمایند. بدین ترتیب که در فایل .htaccess در پوشه اولیه فضای هاست خود اقدام به وارد کردن سطر های زیر می نمایید:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/wp-admin$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.124$
RewriteRule ^(.*)$ – [R=403,L] </IfModule>

 که در آن عبارت 123\.123\.123\.123 آی پی استاتیک اینترنتی شماست. در پایان تنها کاربری که از این آی پی اقدام به ورود به بخش مدیریتی میکند مجاز به دسترسی خواهد بود.

آموزش ارتقا CentOS به Cloudlinux

اگر قصد نصب سیستم عامل لینوکس کلاود Cloudlinux بر روی سرور خود را دارید و نگران داون شدن سرور در مدت نصب مجدد سیستم عامل بر روی سرور هستید Cloudlinux یک امکان بسیار حرفه ای و عالی را در اختیار شما قرار داده است . شما به ابزاری که Cloudlinux در اختیارتان قرار میدهد قادر خواهید بود تا لینوکس Centos خود را به کرنل Cloudlinux آپگرید و تبدیل کنید . برای انجام این کار کافیست تا اسکریپت تبدیل کننده سنت او اس به کلاود لینوکس را از وب سایت رسمی Cloudlinux دانلود کرده و با لایسنس ترایال یک ماهه ای که از سایت کلاود لینوکس دریافت کرده اید اجرا کنید .

این برنامه در تنها چند دقیقه کلیه RPM های مورد نیاز را تغییر داده و به ورژن Cloudlinux آپگرید میکند . ابتدا به سایت رسمی cloudlinux مراجعه کنید و یک لایسنس تریال برای آی پی سرور  خود تهیه کنید :

http://docs.cloudlinux.com/index.html?getting_trial_license.html

حالا باید اسکریپت cldeploy را از سایت کلاود لینوکس دانلود کرده و با استفاده از لایسنس ترایال cloudlinux اقدام به اجرای آن کنید :

wget http://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy

sh cldeploy -k <activation_key> # if you have activation key

یا

sh cldeploy -i # if you have IP based license

reboot

توجه داشته باشید که بعد از اتمام مراحل نصب ، باید سیستم عامل لینوکس را یک بار ریستارت کنید . بعد از ریستارت شدن لینوکس کرنل به cloudlinux آپگرید میشود و امکان مدیریت و اختصاص منابع سیستم به هر اکانت از طریق برنامه LVE داخل کنترل پنل وب هاستینگ مهیا میگردد . برنامه LVE روی کنترل پنل های وب هاستینگ  cPanel, Plesk, ISPmanager, DirectAdmin, InterWorx قابل اجرا است .

استفاده از سیستم عامل لینوکس cloudlinux در هاست لینوکس اشتراکی باعث کنترل شما روی منابع اختصاص داده شده به هر اکانت میگردد . این موضوع باعث میشود استفاده و مصرف بالای یک اکانت سبب داون شدن کل سرور نگردد و تنها یوزری که بیش از حد مجاز منابع سرور را مصرف میکند کند شده و با پیام Out of memory  یا ارور اینترنال مواجه گردد .

3 روش موثر برای بهینه سازی وردپرس

 

در این پست به شما 3 روش ساده و مفید را برای بهینه سازی وبسایت یا وبلاگ وردپرسی شما آموزش خواهیم داد.تا پایان این پست با ما همراه باشید.

بگذارید ابتدا اینگونه شروع کنیم که سئو بر 2 پایه استوار است:

سئوی داخلی: انجام تنظیمات مربوط به سئوی وبسایت و بهینه سازی کلمات کلیدی

سئوی خارجی: لینک بیلدینگ و فعالیت در شبکه های اجتماعی و …

تصورات زیادی وجود دارد مبنی بر این که ساختار خود وردپرس به شکلی است که برای موتورهای جستجو بهینه شده است.اما این تصور به واقعیت زیاد نزدیک نیست.در زیر 3 راهکار اولیه برای بهینه سازی وبسایت وردپرسی شما را ذکر میکنیم.

    ایجاد و ثبت نقشه سایت

نقشه سایت (Sitemap) فایلی با فرمت XMl میباشد که تصور و ساختار بهتری در مورد وبسایت شما برای موتورهای جستجو ایجاد میکند.به کمک این فایل میتوانید لینک هایی که در اعماق وبسایت وجود دارند را بهتر در اختیار اسپایدرها قرار بدهید.در مورد نقشه سایت به نکات زیر توجه داشته باشید:

مطمئن شوید نقشه سایت در گوگل و بینگ ثبت شده است

لینک نقشه سایت را در فوتر وبسایت برای نتیجه بهتر قرار دهید.

    حل مشکل لینک های شکسته

اگر مساول مربوط به بهینه سازی وبسایت را دنبال کرده باشید حتما با آپدیت های اخیر گوگل به نام های Panda و Penguin آشنا هستید.در این اپدیت ها بسیار بر محتوای باارزش تاکید شده است.یکی از مواردی که اهمیت محتوا را مشخص میکند وضعیت لینک های وبسایت است.در روند ایجاد و مدیریت وبسایت بسیار پیش می آید که بنا به دلایلی لینک هایی به صفحاتی داده میشود و یا لینک هایی ایجاد میشود که به مرور زمان نابود میشوند.در ورپرس افزونه ای وجود دارد به نام Broken Link Checker که میتواند به شما در این امر یاری برساند.

    جلوگیری از ایندکس شدن صفحات آرشیو و تگ

یکی از بدترین و رایج ترین اشتباهاتی که در مدیران وبسایت ها مخصوصا مدیران وبسایت های فارسی زبان انجام میدهند ایندکس کردن تمامی صفحات است.یا صفحاتی مانند معرفی نویسنده را ایندکس میکنند.

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

بهینه سازی وبسایت های وردپرسی کار سختی نیست اما بازگردانی کاری که انجام داده اید زمان خواهد برد و حتی ممکن است تاثیرات منفی داشته باشد.پس در مورد تکنیک هایی که اجرا میکنید مطمئن باشید.

افزونه سئو برای وردپرس All in One SEO Pack

 در این پست قصد آموزش اجمالی افزونه سئو وردپرس All in One SEO Pack توسط هاست 97 را داریم.

پس پرداختن به مفهوم سئو نوبت به معرفی افزونه مرتبط با آن می باشد.

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

قسمت General Settings

این بخش مربوط به تنظیمات عمومی افزونه سئو برای وردپرس می باشد.

1-استاندارد سازی URLها به منظور جلوگیری از تولید مطالب تکراری

2-استفاده از عنوان اصلی مطالب

3-ثبت رویدادهای مهم یا همان log

قسمت  Home page settings

مربوط به تنظیمات صفحه اصلی وب سایت شما می باشد.

1-تعیین عنوان اصلی صفحه اصلی وب سایت

2-افزودن توضیحات برای صفحه اصلی

3-تعیین کلیدواژه برای صفحه اصلی که می توانید کلید واژه ها را با کاما از هم جدا کنید.

بخش Keyword settings

تنظیمات مربوط به بخش کلمات کلیدی

1-تعیین می کنید که آیا تمایل به استفاده از کلمات کلیدی دارید یا خیر.

2-استفاده از کلید واژه های متا برای هر پست

3-استفاده از برچسب ها برای کلیدواژه متا

4-ایجاد کلید واژه برای هر برگه و در صورت عدم فعال سازی این گزینه از کلید واژه های صفحه اصلی استفاده می شود.

قسمت Title settings

تنظیمات مربوط به عنوان نوشته ها

1-تعیین می کنید که آیا قصد استفاده از این امکان را دارید یا خیر

2-بررسی Capitalizeبودن کلمات

3-عنوان هر دسته را با حروف بزرگ ایجاد نمایید.

4-در این بخش می توانید تنظیمات مجزا مربوط به هر بخش از محتویات سایت را انجام دهید، با استفاده از ” ؟ ” می توانید در هر قسمت کدهای مربوطه را مشاهده کنید.

قسمت Custom post type settings و Display settings

تنظیمات پست ها و مربوط به نمایش افزونه سئو برای وردپرس

1-فعال یا غیر فعال کردن پست تایپ سفارشی

2-فعال سازی تنظیمات پیشرفته

3-اعمال سئو برای دسته های موجود.

4-تعیین عنوان مجزا برای هر پست تایپ

5-نمایش گزینه پست تاپ برای دسته های انتخاب شده

6-نمایش افزونه در نوار ابزار

7-نمایش افزونه در بالای بخش پیشخوان وردپرس

قسمت Webmaster  و Google settings و Noindex settings

1-تنظیمات مربوط به سرویس وب مستر موتورهای جستجو، مانند گوگل وب مستر

2-استفاده از پروفایل گوگل پلاس و همیچنین غیر فعال سازی این گزینه

3-استفاده از ابزار گوگل آنالیز و وارد کردن شناسه موجود در گوگل آنالیز برای فعالسازی آن رو سایت خودتان. آموزش کار با گوگل آنالیز

4-تنظمات مربوط به نشانه گذاری و مستثنی کردن بخش های مختلف از یکدیگر

قسمت Advanced settings

تنظیمات پیشرفته مربوط به افزونه سئو برای وردپرس

جدا کردن سربرگ ها از یکدیگر.

قسمت ذخیره تنظیمات

1-ذخیره تنظیمات

2 و 3-ریست تمام تنظیمات و همچنین ریست تنظیمات عمومی.

در بخش درج مطالب، در انتهای صفحه برای شما فیلدهای نظیر شکل زیر قرار داده شده است:

Title :همان عنوان مطلب شما می باشد که در موتور جستجو نمایش داده می شود و حداکثر 60 کاراکتر می باشد.

Description: توضیحات مربوط به پست می باشد، سعی کنید در این بخش از توضیحات کوتاه،مفید و کارآمد استفاده نمایید. حداکثر مجاز 160 کاراکتر می باشد.

Keywords: اگر چه قرار دادن کلمات کلیدی توصیه نمی شود اما می تواند چند کلمه کلیدی بسیاری مهم  برای پست خود قرار دهید و کلمات کلیدی را می توان کاما از یکدیگر جدا کرد.

آموزش ساخت A record,CNAME record,TXT record درهاست لینوکس DirectAdmin

جهت ساخت موارد A Record یا CNAME record یا TXT record و یا NS Record ، در کنترل پنل DirectAdmin مراحل زیر می بایست طی شود:

در صورتی که مایل به ساخت A Record هستید:

1- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname  نام دامنه خود را وارد نمایید).

2- سپس به قسمت DNS Management وارد شوید.

dns_management

3- در قسمت Add Domain Records، ابتدا ساب دامین و آی پی سرور هاست دوم را در کادر مربوطه وارد کنید.  سپس روی Add کلیک کنید، نهایتا بر روی Save  کلیک کنید.

a_record

چناچه مایل به ساخت CNAME Record  هستید

1- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname  نام دامنه خود را وارد نمایید).

2- سپس به قسمت DNS Management وارد شوید.

dns_management

3- در قسمت Add Domain Records :

در قسمت CNAME در جاهای خالی نام دامنه یا زیر دامنه فعلی و آدرس جایی که زیر دامنه باید به آن متصل شود را بنویسید.

پس از آن روی Add کلیک کنید و سپس بر روی Save کلیک کنید.

cname

در صورتی که مایل به ساختTXT Record  هستید

1- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname نام دامنه خود را وارد نمایید).

2- سپس به قسمت DNS Management وارد شوید.

dns_management

3- در قسمت Add Domain Records:

در قسمت TXT در جاهای خالی در این کادر اطلاعات لازم برای سیستم تصدیق ایمیل SPF را بنویسید.

پس از آن روی Add کلیک کنید و در آخر  بر روی Save کلیک کنید.

txt

در صورتی که مایل به ساخت NS Record هستید

1- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname  نام دامنه خود را وارد نمایید).

2- سپس به قسمت DNS Management وارد شوید.

dns_management

در قسمت NS در جاهای خالی نام دامنه زیر دامنه فعلی و آدرسIP  جایی که زیر دامنه باید به آن متصل شود را بنویسید.

پس از آن روی Add کلیک کنید و سپس بر روی Save کلیک کنید.

ns

مشاهده آمار و گزارش دقیق میزان مصرف هاست لینوکس DirectAdmin

جهت مشاهده آمار و گزارش دقیق میزان مصرف هاست  مراحل زیر را طی نمایید:

1- به کنترل پنل Direct Admin خود از طریق http://yourdomainname:2222 وارد شوید. (yourdomainname همان نام دامنه شما می باشدکه می بایست وارد گردد)

2- در صفحه اصلی در قسمت Account Management برو روی گزینه Summary / Statistics کلیک کنید.

summary_statistics

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

summary_graphic

تغییر رمز کنترل پنل هاست دایرکت ادمین

تغییر رمز هاست دایرکت ادمین

1- آدرس کنترل پنل هاست دایرکت ادمین http://www.yourdomainname:2222 بوده و مشخصات آن قبلا به آدرس ایمیل شما ارسال شده است)توجه نمایید yourdomainname نام دامنه ی شما می باشد).

2-پس از ورود به کنترل پنل هاست دایرکت ادمین منوی password را انتخاب نمایید.

change_pass

3-در قسمت Enter old password رمز عبور قبلی خود را وارد نمایید سپس رمز عبور دلخواه را در قسمت Enter new password وارد نمایید و مجددا همان رمز را در قسمت Re-enter Password واردنمایید.

نکته : در صورتی که بر روی دکمه ی Random کلیک نمایید سیستم یک پسورد با امنیت بالا برای شما ایجاد خواهد کرد

نکته : در صورتی که گزینه ی Change the control panel access password را انتخاب نمایید این تغییر بر روی کنترل پنل هاست دایرکت ادمین اعمال خواهد شد

نکته :  در صورتی که گزینه ی Change the main FTP password را انتخاب نمایید این تغییر بر روی اکانت اف تی پی هاست دایرکت ادمین اعمال خواهد شد

نکته : در صورتی که گزینه ی Change the main database username password (marketi8) را انتخاب نمایید این تغییر بر روی بانک اطلاعاتی هاست دایرکت ادمین اعمال خواهد شد

4 – جهت اعمال تغییر بر روی دکمه ی submit کلیک نمایید.

changing_pass