در این مطلب با شما هستیم با آموزش نصب وردپرس در اوبونتو پس تا انتهای این مطلب ما را همراهی کنید
معرفی اولیه :
معرفی
امروزه وردپرس یک فناوری منبع باز بسیار محبوب برای ساخت وب سایت ها و وبلاگ ها در اینترنت است. سایتهای وردپرسی که توسط ۶۳ درصد از تمام وبسایتهایی که از سیستم مدیریت محتوا (CMS) استفاده میکنند، ۳۶ درصد از کل وبسایتهایی را که در حال حاضر آنلاین هستند، تشکیل میدهند.
روش های مختلفی برای دسترسی به وردپرس وجود دارد و برخی از فرآیندهای راه اندازی پیچیده تر از سایرین هستند. این آموزش برای کسانی در نظر گرفته شده است که مایل به نصب و مدیریت یک نمونه وردپرس بر روی یک سرور ابری مدیریت نشده از طریق خط فرمان هستند. اگرچه این رویکرد به مراحل بیشتری نسبت به نصب آماده وردپرس نیاز دارد، اما به مدیران کنترل بیشتری بر محیط وردپرس خود ارائه می دهد.
بسته به نیازها و اهداف خود، ممکن است گزینه های دیگری را پیدا کنید که مناسب تر باشند. به عنوان نرم افزار منبع باز، وردپرس را می توان به صورت رایگان دانلود و نصب کرد، اما برای در دسترس بودن در وب، احتمالاً باید زیرساخت ابری و یک نام دامنه خریداری کنید. اگر علاقه مند به نصب و راه اندازی سایت وردپرسی در سمت سرور هستید، این راهنما را دنبال کنید.
این آموزش از پشته LAMP (Linux، Apache، MySQL و PHP) استفاده می کند، که یکی از گزینه های معماری سرور است که با ارائه سیستم عامل لینوکس، وب سرور آپاچی، پایگاه داده MySQL و زبان برنامه نویسی PHP از وردپرس پشتیبانی می کند. ما وردپرس را از طریق LAMP روی سرور لینوکس اوبونتو ۲۰.۰۴ نصب و راه اندازی می کنیم.
پیش نیازها :
برای تکمیل این آموزش، باید به سرور اوبونتو ۲۰.۰۴ دسترسی داشته باشید و قبل از شروع این راهنما باید این مراحل را کامل کنید:
سرور خود را با پیروی از راهنمای راه اندازی سرور اولیه Ubuntu 20.04 راه اندازی کنید و مطمئن شوید که یک کاربر sudo غیر ریشه دارید.
با دنبال کردن راهنمای LAMP ما برای نصب و پیکربندی این نرم افزار، یک پشته LAMP را نصب کنید.
سایت خود را ایمن کنید: وردپرس ورودی کاربر را دریافت می کند و داده های کاربر را ذخیره می کند، بنابراین داشتن یک لایه امنیتی برای آن مهم است. TLS/SSL فناوری است که به شما امکان می دهد ترافیک سایت خود را رمزگذاری کنید تا ارتباط شما و کاربرانتان ایمن باشد. در اینجا دو گزینه در دسترس شما برای برآورده کردن این نیاز است:
آموزش نصب وردپرس در اوبونتو
اگر نام دامنه دارید… می توانید سایت خود را با Let’s Encrypt که گواهینامه های رایگان و قابل اعتماد ارائه می دهد، ایمن کنید. راهنمای Let’s Encrypt برای Apache را دنبال کنید تا این را تنظیم کنید.
اگر دامنه ندارید … و فقط از این پیکربندی برای آزمایش یا استفاده شخصی استفاده می کنید، می توانید به جای آن از یک گواهی امضا شده خود استفاده کنید. این همان نوع رمزگذاری را فراهم می کند، اما بدون اعتبارسنجی دامنه. برای راهاندازی، راهنمای SSL امضاشده ما را برای آپاچی دنبال کنید.
پس از اتمام مراحل راه اندازی، به عنوان کاربر sudo وارد سرور خود شوید و در زیر ادامه دهید.
مرحله ۱ – ایجاد پایگاه داده و کاربر MySQL برای وردپرس
اولین قدمی که برمیداریم یک مرحله مقدماتی است. وردپرس از MySQL برای مدیریت و ذخیره اطلاعات سایت و کاربر استفاده می کند. ما MySQL را قبلاً نصب کرده ایم، اما باید یک پایگاه داده و یک کاربر برای استفاده وردپرس ایجاد کنیم.
برای شروع، با صدور این دستور وارد حساب کاربری ریشه (اداری) MySQL شوید (توجه داشته باشید که این کاربر اصلی سرور شما نیست):mysql -u root -p
در داخل پایگاه داده، می توانیم یک پایگاه داده انحصاری برای کنترل وردپرس ایجاد کنیم. شما می توانید این را هر چه که می خواهید بنامید، اما ما در این راهنما از نام wordpress استفاده می کنیم. ایجاد پایگاه داده برای وردپرس با تایپ کردن:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
نکته : هر دستور MySQL باید به یک نیمکولون (;) ختم شود. اگر با مشکلی مواجه شدید، مطمئن شوید که این مورد وجود دارد.
در مرحله بعد، ما قصد داریم یک حساب کاربری جداگانه MySQL ایجاد کنیم که به طور انحصاری برای راه اندازی پایگاه داده جدید خود استفاده خواهیم کرد. ایجاد پایگاههای اطلاعاتی و حسابهای کاربری خاص میتواند از دیدگاه مدیریتی و امنیتی از ما حمایت کند. ما در این راهنما از نام wordpressuser استفاده خواهیم کرد، اما با خیال راحت از هر نامی که برای شما مناسب است استفاده کنید.
ما قصد داریم این حساب کاربری را ایجاد کنیم، یک رمز عبور تعیین کنیم و به پایگاه داده ای که ایجاد کرده ایم دسترسی دهیم. با تایپ دستور زیر می توانیم این کار را انجام دهیم. به یاد داشته باشید که در اینجا یک رمز عبور قوی برای کاربر پایگاه داده خود انتخاب کنید که در آن رمز عبور داریم:
CREATE USER ‘wordpressuser’@’%’ IDENTIFIED WITH mysql_native_password BY ‘password’;
در مرحله بعد، به پایگاه داده اطلاع دهید که کاربر وردپرس شما باید به پایگاه داده ای که ما راه اندازی کرده ایم دسترسی کامل داشته باشد:
GRANT ALL ON wordpress.* TO ‘wordpressuser’@’%’;
شما اکنون یک پایگاه داده و حساب کاربری دارید که هر کدام به طور خاص برای وردپرس ساخته شده اند. ما باید امتیازات را پاک کنیم تا نمونه فعلی MySQL از تغییرات اخیر ما مطلع شود:
FLUSH PRIVILEGES;
با تایپ کردن از MySQL خارج شوید:
EXIT;
در مرحله بعدی، با دانلود افزونههای PHP برای سرور خود، پایههایی را برای پلاگینهای وردپرس ایجاد میکنیم.
مرحله ۲ – نصب افزونه های اضافی PHP
هنگام راهاندازی پشته LAMP، ما فقط به یک مجموعه بسیار کم از پسوندها نیاز داشتیم تا بتوانیم PHP با MySQL ارتباط برقرار کند. وردپرس و بسیاری از افزونه های آن از افزونه های اضافی PHP استفاده می کنند.
ما می توانیم برخی از محبوب ترین افزونه های PHP را برای استفاده در وردپرس با تایپ کردن دانلود و نصب کنیم:
sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
این زمینه را برای نصب افزونه های اضافی در سایت وردپرس ما فراهم می کند.
توجه: هر افزونه وردپرس مجموعه ای از الزامات خاص خود را دارد. برخی ممکن است نیاز به بسته های PHP اضافی برای نصب داشته باشند. اسناد افزونه خود را بررسی کنید تا نیازهای PHP آن را کشف کنید. اگر آنها در دسترس باشند، همانطور که در بالا نشان داده شد، می توان آنها را با apt نصب کرد.
برای بارگیری این افزونههای جدید، باید Apache را مجدداً راهاندازی کنیم، در بخش بعدی تنظیمات بیشتری را روی Apache انجام خواهیم داد، بنابراین میتوانید تا آن زمان صبر کنید یا اکنون برای تکمیل فرآیند برنامه افزودنی PHP راهاندازی مجدد کنید.
sudo systemctl restart apache2
مرحله ۳ – تنظیمات Apache را تنظیم کنید تا امکان لغو و بازنویسی htaccess.
در مرحله بعد، ما چند تغییر جزئی در پیکربندی آپاچی خود انجام خواهیم داد. بر اساس آموزش های پیش نیاز، باید یک فایل پیکربندی برای سایت خود در دایرکتوری /etc/apache2/sites-available/ داشته باشید.
در این راهنما، ما از /etc/apache2/sites-available/wordpress.conf به عنوان مثال در اینجا استفاده می کنیم، اما شما باید مسیر فایل پیکربندی خود را در صورت لزوم جایگزین کنید. علاوه بر این، ما از /var/www/wordpress به عنوان دایرکتوری اصلی نصب وردپرس خود استفاده خواهیم کرد. شما باید از ریشه وب مشخص شده در پیکربندی خود استفاده کنید. اگر آموزش LAMP ما را دنبال کردید، ممکن است نام دامنه شما به جای wordpress در هر دوی این موارد باشد.
توجه: ممکن است از پیکربندی پیش فرض ۰۰۰-default.conf استفاده کنید (با /var/www/html به عنوان ریشه وب). اگر میخواهید فقط یک وبسایت را روی این سرور میزبانی کنید، استفاده از آن خوب است. اگر نه، بهتر است پیکربندی لازم را به تکه های منطقی، یک فایل در هر سایت تقسیم کنید.
با شناسایی مسیرهای ما، میتوانیم با htaccess. کار کنیم تا آپاچی بتواند تغییرات پیکربندی را بر اساس هر دایرکتوری مدیریت کند.
فعال کردن htaccess
در حال حاضر، استفاده از فایلهای htaccess غیرفعال است. وردپرس و بسیاری از افزونههای وردپرس از این فایلها بهطور گسترده برای تغییرات درون دایرکتوری رفتار سرور وب استفاده میکنند.
فایل پیکربندی آپاچی را برای وب سایت خود با یک ویرایشگر متن مانند nano باز کنید.
sudo nano /etc/apache2/sites-available/wordpress.conf
برای اجازه دادن به فایلهای .htaccess، باید دستور AllowOverride را در یک بلوک دایرکتوری تنظیم کنیم که به ریشه سند ما اشاره دارد. بلوک متن زیر را در داخل بلوک VirtualHost در فایل پیکربندی خود اضافه کنید، مطمئن شوید که از دایرکتوری ریشه وب درست استفاده می کنید:
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
وقتی کارتان تمام شد، فایل را ذخیره و ببندید. در نانو می توانید این کار را با فشار دادن CTRL و X با هم و سپس Y و سپس ENTER انجام دهید.
فعال کردن ماژول بازنویسی
بعد، می توانیم mod_rewrite را فعال کنیم تا بتوانیم از ویژگی پیوند دائمی وردپرس استفاده کنیم:
sudo a2enmod rewrite
این به شما این امکان را می دهد که پیوندهای دائمی قابل خواندن توسط انسان بیشتری به پست های خود داشته باشید، مانند دو مثال زیر:
http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name
دستور a2enmod اسکریپتی را فراخوانی می کند که ماژول مشخص شده را در پیکربندی آپاچی فعال می کند.
فعال کردن تغییرات
قبل از اینکه تغییراتی را که ایجاد کردهایم پیادهسازی کنیم، با اجرای تست زیر مطمئن شوید که هیچ خطای نحوی مرتکب نشدهایم.
sudo apache2ctl configtest
ممکن است خروجی هایی مانند زیر دریافت کنید:
Output AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message Syntax OK
اگر میخواهید خط بالایی را سرکوب کنید، فقط یک دستورالعمل ServerName را به فایل پیکربندی اصلی (جهانی) آپاچی خود در /etc/apache2/apache2.conf اضافه کنید. ServerName می تواند دامنه یا آدرس IP سرور شما باشد. با این حال، این فقط یک پیام است و بر عملکرد سایت شما تأثیر نمی گذارد. تا زمانی که خروجی حاوی Syntax OK باشد، شما آماده ادامه کار هستید.
برای اجرای تغییرات، آپاچی را مجددا راه اندازی کنید. مطمئن شوید که در حال حاضر راه اندازی مجدد کنید، حتی اگر قبلاً در این آموزش راه اندازی مجدد کرده اید.
sudo systemctl restart apache2
سپس خود وردپرس را دانلود و راه اندازی می کنیم.
مرحله ۴ – دانلود وردپرس
اکنون که نرم افزار سرور ما پیکربندی شده است، می توانیم وردپرس را دانلود و راه اندازی کنیم. به خصوص به دلایل امنیتی، همیشه توصیه می شود که آخرین نسخه وردپرس را از سایت خود دریافت کنید.
به یک دایرکتوری قابل نوشتن تغییر دهید (ما یک پوشه موقت مانند /tmp را توصیه می کنیم) و نسخه فشرده را دانلود کنید.
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
برای ایجاد ساختار دایرکتوری وردپرس، فایل فشرده را استخراج کنید:
tar xzvf latest.tar.gz
ما این فایل ها را به صورت لحظه ای به ریشه سند خود منتقل خواهیم کرد. قبل از این کار، میتوانیم یک فایل ساختگی .htaccess اضافه کنیم تا بعداً برای وردپرس در دسترس باشد.
فایل را با تایپ کردن ایجاد کنید:
touch /tmp/wordpress/.htaccess
ما همچنین فایل پیکربندی نمونه را به نام فایلی که وردپرس می خواند کپی می کنیم: همچنین فایل پیکربندی نمونه را به نام فایلی که وردپرس می خواند کپی می کنیم:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
ما همچنین میتوانیم دایرکتوری ارتقاء را ایجاد کنیم، به طوری که وردپرس هنگام تلاش برای انجام این کار به تنهایی و پس از بهروزرسانی نرمافزار خود، با مشکلات مجوز مواجه نشود:
mkdir /tmp/wordpress/wp-content/upgrade
اکنون، میتوانیم کل محتویات دایرکتوری را در ریشه سند خود کپی کنیم. ما از یک نقطه در انتهای دایرکتوری منبع خود استفاده می کنیم تا نشان دهد همه چیز در فهرست باید کپی شود، از جمله فایل های مخفی (مانند فایل htaccess. که ایجاد کردیم):
sudo cp -a /tmp/wordpress/. /var/www/wordpress
مطمئن شوید که دایرکتوری /var/www/wordpress را با دایرکتوری که روی سرور خود تنظیم کرده اید جایگزین کنید.
مرحله ۵ – پیکربندی دایرکتوری وردپرس
قبل از اینکه راه اندازی وردپرس مبتنی بر وب را انجام دهیم، باید مواردی را در فهرست وردپرس خود تنظیم کنیم.
تنظیم مالکیت و مجوزها
مرحله مهمی که باید انجام دهیم، تنظیم مجوزهای معقول و مالکیت فایل است.
ما با واگذاری مالکیت تمام فایل ها به کاربر و گروه www-data شروع می کنیم. این کاربری است که وب سرور آپاچی به عنوان آن اجرا می شود و آپاچی باید بتواند فایل های وردپرس را بخواند و بنویسد تا بتواند به وب سایت سرویس دهد و به روز رسانی خودکار را انجام دهد.
مالکیت را با دستور chown به روز کنید که به شما امکان می دهد مالکیت فایل را تغییر دهید. حتماً به دایرکتوری مربوطه سرور خود اشاره کنید.
sudo chown -R www-data:www-data /var/www/wordpress
در مرحله بعد، دو دستور find را برای تنظیم مجوزهای صحیح در فهرست ها و فایل های وردپرس اجرا می کنیم:
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
این مجوزها باید به شما کمک کند تا به طور موثر با وردپرس کار کنید، اما توجه داشته باشید که برخی از افزونه ها و رویه ها ممکن است نیاز به ترفندهای اضافی داشته باشند.
راه اندازی فایل پیکربندی وردپرس
اکنون باید تغییراتی در فایل پیکربندی اصلی وردپرس ایجاد کنیم.
هنگامی که فایل را باز می کنیم، اولین وظیفه ما تنظیم برخی از کلیدهای مخفی برای ارائه سطحی از امنیت برای نصب ما خواهد بود. وردپرس یک تولید کننده امن برای این مقادیر فراهم می کند تا مجبور نباشید به تنهایی به ارزش های خوب دست پیدا کنید. اینها فقط به صورت داخلی استفاده می شوند، بنابراین داشتن مقادیر پیچیده و امن در اینجا به قابلیت استفاده آسیبی نمی رساند.
برای گرفتن مقادیر ایمن از مولد کلید مخفی وردپرس، تایپ کنید:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
مقادیر منحصربفردی را که شبیه خروجی بلوک زیر هستند، دریافت خواهید کرد.
هشدار! مهم است که هر بار مقادیر منحصر به فرد را درخواست کنید. مقادیر زیر را کپی نکنید!
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
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<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
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&%');
اینها خطوط پیکربندی هستند که میتوانیم مستقیماً در فایل پیکربندی خود جایگذاری کنیم تا کلیدهای امن را تنظیم کنیم. خروجی دریافتی را اکنون کپی کنید.
سپس فایل پیکربندی وردپرس را باز کنید:
sudo nano /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');
. . .
آن خطوط را حذف کنید و مقادیری را که از خط فرمان کپی کرده اید، قرار دهید:
. . .
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 را درخواست کند.
این تنظیم را می توان در زیر تنظیمات اتصال پایگاه داده یا هر جای دیگری در فایل اضافه کرد:
. . .
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
. . .
define('FS_METHOD', 'direct');
پس از اتمام کار فایل را ذخیره کرده و ببندید.
مرحله ۶ – تکمیل نصب از طریق رابط وب
اکنون که پیکربندی سرور کامل شد، میتوانیم نصب را از طریق رابط وب تکمیل کنیم.
در مرورگر وب خود، به نام دامنه یا آدرس IP عمومی سرور خود بروید:
https://server_domain_or_ip/
و حالا ادرس دامنه یا آی پی خود را در مرورگر وارد کنید و اقدام به نصب وردپرس کنید
تبریک می گوئیم آموزش نصب وردپرس در اوبونتو