روش راه اندازی چندین سایت وردپرس روی یک سرور مجازی اوبونتو
روش راه اندازی چندین سایت وردپرس روی یک سرور مجازی اوبونتو
مقدمه
وردپرس یک سیستم مدیریت محتوای (CMS) محبوب است که با یاری آن میتوانید سریع و آسان سایت راه بیاندازید. گاهی نیاز است که چندین سایت غیر مرتبط را روی یک سرور میزبانی کنید.
در این مقاله به این موضوع میپردازیم که چگونه میتوان دو وردپرس جداگانه با نام دامنه متفاوت را روی یک سرور مجازی میزبانی کرد. این موضوع را با راه اندازی سایت چندگانه اشتباه نگیرید.
اینکار را با استفاده از سرور های مجازی انجام خواهیم داد. در این راهنما از یک سرور مجازی اوبونتو 12.04 استفاده شده است ولی توزیع های مختلف همگی به یک روش عمل میکنند.
پیش نیازها
این راهنما چند پیش نیاز دارد که بعضی از آنها را در مقالات قبلی کاملاً توضیح داده بودیم. قبل از ادامه مقاله حتماً کارهای زیر را انجام دهید:
برای میزبانی از سایت ها، یک سرور مجازی جدید بسازید و تنظیمات اساسی سرور را انجام دهید.
با کندوهاست دو نام دامنه بسازید.
یک LAMP stack روی اوبونتو نصب کنید.
در این مرحله باید لمپ روی اوبونتو نصب شده باشد و هر دو دامنه باید به سرورمجازی شما وصل باشند.
با مرورگر وب به هر دو دامنه سر بزنید. هر دو دامنه باید صفحه ایندکس پیش فرض آپاچی را نشان دهند.
اگر دامنه های شما به این صفحه منتهی نمیشوند، یا تنظیمات مرحله قبل اشتباه بوده است یا باید صبر کنید تا تغییرات DNS صورت بگیرد. تا وقتی این مشکل حل نشده، به مراحل بعد نروید.
دانلود وردپرس
هروقت مراحل قبلی را تکمیل کردید، به سرور لاگ این کنید و به home directory تغییر مسیر بدهید چون فایلها را آنجا دانلود خواهیم کرد:
cd wget http://wordpress.org/latest.tar.gz
با فرمان زیر، فایلهای آرشیو را از حالت زیپ شده و فشرده دربیاورید:
tar xzvf latest.tar.gz
ایجاد پایگاه داده سایت و کاربران
قبل از اینکه ادامه دهیم باید در MySQL برای هر سایت، کاربر و پایگاه داده مستقلی بسازیم تا مطمئن شویم داده های سایت جدا و مستقل میماند.
با توجه به هدف این مقاله، از اطلاعات زیر استفاده خواهیم کرد:
Site Name firstsite.com secondsite.com Database Name FirstDatabase SecondDatabase Database User FirstUser SecondUser Database Password FirstPassword SecondPassword
جدول بالا برای این است که در مورد فرمان هایی که استفاده خواهیم کرد ذهنیتی داشته باشید. هر وقت فرمان هایی که در ادامه میاید را تکمیل کردید، اطلاعات تان را جایگزین محتویات جدول بکنید.
با استفاده از اکانت Administrator که هنگام نصب Mysql ساخته اید لاگ این کنید:
mysql -u root -p
روت پسورد Mysql خواسته میشود و سپس به پرامپت MySQL میرسید.
با فرمان های زیر، آن دو پایگاه داده را بسازید:
CREATE DATABASE FirstDatabase; CREATE DATABASE SecondDatabase;
برای هر پایگاه داده یک کاربر ایجاد کنید:
CREATE USER FirstUser@localhost; CREATE USER SecondUser@localhost;
سپس برای هر کاربر پسوردی را مشخص سازید:
SET PASSWORD FOR FirstUser@localhost= PASSWORD("FirstPassword"); SET PASSWORD FOR SecondUser@localhost= PASSWORD("SecondPassword");
با اعطای امتیازات به کاربران جدید کار تمام میشود. اینکار کاربران را با پایگاه داده مربوطه شان مرتبط میسازد و اجازه های مناسب را به آنها اعطا میکند:
GRANT ALL PRIVILEGES ON FirstDatabase.* TO FirstUser@localhost IDENTIFIED BY 'FirstPassword'; GRANT ALL PRIVILEGES ON SecondDatabase.* TO SecondUser@localhost IDENTIFIED BY 'SecondPassword';
برای اعمال شدن تغییرات، اطلاعات امتیازِ MYSQL را رفرش کنید:
FLUSH PRIVILEGES;
از MYSQL خارج شده و به محیط شل برگردید:
exit
پیکربندی دایرکتوری های اصلی سایت
هر دو سایت را در دایرکتوری های جداگانه ای در وب روت سرورمان نصب خواهیم کرد. به دایرکتوری /var/www/ بروید:
cd /var/www
برای هر کدام از سایت ها یک دایرکتوری بسازید. فایل های سایت در اینجا نگهداری خواهد شد:
sudo mkdir FirstSite sudo mkdir SecondSite
قبل از اینکه محتویات وب را به فولدرهایمان منتقل کنیم، پیکربندی نمونه را کپی کنید:
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
در نهایت فایل ها را در دایرکتوری هایی که در وب روت سرور ساخته بودید کپی کنید:
sudo rsync -avP ~/wordpress/ /var/www/FirstSite/ sudo rsync -avP ~/wordpress/ /var/www/SecondSite/
مالکیت دایرکتوری ها را به کاربر وب آپاچی بدهید و سپس یوزرنیم لینوکس خود را به گروه وب اضافه کنید:
sudo chown www-data:www-data * -R sudo usermod -a -G www-data linux_user_name
پیکربندی وردپرس
هر سایت را با اطلاعات مربوطه پیکربندی میکنیم.
پیکربندی سایت اول
دایرکتوری ها را به document root سایت اول تغییر دهید:
cd /var/www/FirstSite
فایل پیکربندی وردپرس را برای ویرایش باز کنید:
sudo nano wp-config.php
قسمتی را پیدا کنید که حاوی فیلدهای زیر است و پایگاه داده (database)، نام کاربری (username) و رمز عبور (password) سایت اول را جایگزین کنید:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'FirstDatabase'); /** MySQL database username */ define('DB_USER', 'FirstUser'); /** MySQL database password */ define('DB_PASSWORD', 'FirstPassword');
سپس save کرده و exit کنید.
پیکربندی سایت دوم
دایرکتوری ها را به document root سایت دوم تغییر دهید:
cd /var/www/SecondSite
فایل پیکربندی وردپرس را برای ویرایش باز کنید:
sudo nano wp-config.php
همان قسمتی را پیدا کنید که برای سایت قبلی ویرایش کردید و اینبار اطلاعات سایت دوم را وارد کنید:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'SecondDatabase'); /** MySQL database username */ define('DB_USER', 'SecondUser'); /** MySQL database password */ define('DB_PASSWORD', 'SecondPassword');
سپس save کرده و exit کنید.
پیکر بندی میزبان مجازی آپاچی
باید آپاچی را طوری پیکربندی کنیم که ترافیک هر دامنه را به دایرکتوری مربوط به آن دامنه هدایت کند. اینکار را با ایجاد فایل های میزبان مجازی جداگانه برای هر دامنه انجام میدهیم.
دایرکتوری را به دایرکتوری سایت های در دسترس آپاچی تغییر دهید:
cd /etc/apache2/sites-available
برای هر سایت، با کپی فایل میزبان مجازی پیش فرض، یک فایل میزبانی مجازی جدید ایجاد کنید:
sudo cp default FirstSite sudo cp default SecondSite
پیکر بندی میزبان مجازی سایت اول
فایل اولی را که برای پیکربندی میزبان مجازی برای سایت اول کپی کرده بودید را باز کنید:
sudo nano FirstSite
اطلاعات داخل فایل را به شرح زیر تغییر دهید. به یاد داشته باشید که قسمت های قرمز رنگ را مطابق اطلاعات سایت اول جایگزین کنید:
<VirtualHost *:80> ServerAdmin your_email_address ServerName firstsite.com ServerAlias www.firstsite.com DocumentRoot /var/www/FirstSite Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all . . . . . .
اگر لازم است که پیوندهای ثابت (permalinks) را فعال کنید، میتوانید “AllowOverride None” را که در “” است را به “AllowOverride All” تغییر دهید. پس از انجام تغییرات، save کرده و فایل را ببندید.
پیکربندی میزبان مجازی سایت دوم
دومین فایل میزبان مجازی را برای ویرایش کردن باز کنید:
sudo nano SecondSite
اطلاعات سایت دوم را وارد کنید:
ServerAdmin your_email_address ServerName secondsite.com ServerAlias www.secondsite.com DocumentRoot /var/www/SecondSite Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all . . . . . .
سیو کرده و فایل را ببندید.
پیکربندی نهایی
چند گام لازم دیگر تا راه اندازی سایت مانده است.
اول اینکه وردپرس برای اینکه به درستی کار کند به نصب یک ماژول PHP اضافی نیاز دارد. با تایپ این نصبش کنید:
sudo apt-get install php5-gd
سپس فایل میزبان مجازی که ساخته بودیم را فعال کنید:
sudo a2ensite FirstSite sudo a2ensite SecondSite
آخرسر آپاچی را ریلود کنید تا تغییراتی که داده ایم را بخواند:
sudo service apache2 reload
دیدن نتایج
برای دیدن سایت های وردپرس جدیدتان، آدرس دامنه را در مرورگرتان تایپ کنید.
اگر همه چیز را به درستی پیکربندی کرده باشید، با صفحه ای همچون صفحه زیر به شما خوشامد گفته خواهد شد:
اکنون میتوانید لاگ این کرده و هر سایت را به صورت مستقل پیکربندی کنید. این سایت ها کاملاً جدا از هم هستند و همچون حالتی که هرکدام بر روی یک سرور مجازی دیگر باشند قابل مدیریت و کنترل هستند.
منبع
ترجمه شده توسط: بابک طهماسبی
پست های توصیه شده
آموزش نصب لاراول در سرور دایرکت ادمین
۶ خرداد, ۱۳۹۹