در این مقاله ما نحوه راه اندازی یک سرور اختصاصی مجازی لینوکسی را جهت میزبانی یک وب سایت آموزش می دهیم. برای راه اندازی یک وب سایت کامل این مقاله مواردی همچون نصب و راه اندازی Apache، PHP، Per/cgi و MySQL را پوشش می دهد. در آخر ما وردپرس را به عنوان یک وب سایت کلاسیک نصب می کنیم. البته شما می توانید هر نوع وب سایتی که مناسب می دانید نصب و راه اندازی نمایید.
ما در این مقاله تمام مواردی که برای راه اندازی یک وب سایت تحت سیستم مدیریت محتوا لازم دارد را آموزش می دهیم و مطالب برای افراد با تمام سطوح مهارت ها مناسب می باشد. بنابراین شما ممکن است برخی از گام های اولیه را بسیار واضح بیابید. فقط به یاد داشته باشید، شما مهارت های خود را یک شبه فرا نگرفتید و همه نیاز دارند تا از یک نقطه ای شروع کنند.
با استفاده از IP و حساب کاربری root که بدست اورده اید اقدام به ورود به Shell سرویس اختصاصی مجازی خود نمایید. بدین منظور از نرم افزار های SSH می توانید استفاده کنید. (نرم افزار رایگان و بدون نیاز به نصب با نام Putty پیشنهاد می شود.)
پکیج های سیستم را بروز رسانی کنید
بعد شما قبل از نصب Apache یا PHP می بایست پکیج های نرم افزاری پایه سیستم عامل را دریافت و نصب نموده و نگارش های قبلی را بروز رسانی کنید. برای اینکار ما از نرم افزاری با عنوان yum استفاده می کنیم.Yum نرم افزار پیش فرض مدیریت پکیج ها برای لینوکس RedHat و CentOS می باشد. روش ذکر شده در ادامه را پیش برده تا پکیج های خود را با استفاده از yum بروز رسانی نمایید.
yum update
هنگامیکه مراحل بروز رسانی به اتمام برسد پیغامی دریافت خواهید کرد که گفته "Complete!"
توجه داشته باشید با توجه به نگارش های مختلف سیستم عامل ممکن است اطلاعاتی که نصب و بروز رسانی می شود با نمونه ذکر شده در بالا تفاوت داشته باشد.
نصب Apache، PHP، Perl و MySQL
Next up you need to install your web server (Apache), code interpreters (PHP & Perl/CGI), and Database Server (MySQL). You can do this all with one command using yum.
در گام بعد شما می بایست اقدام به نصب وب سرور (Apache)، مفسر های کد (PHP & Perl/CGI) و دیتابیس سرور (MySQL) نمایید. شما می توانید همه ی این موارد را به وسیله یک دستور در yum انجام دهید.
yum install httpd php php-mysql perl mysql mysql-server
تنظیم Apache
اگر شما تنها یک وب سایت را می خواهید میزبانی کنید، کافیست فایل های خود را داخل /var/www بگذارید و کار را تمام کنید، اما چرا قدرت سرویس اختصاصی مجازی خود را هدر دهید؟ شما می توانید به سادگی چندین وب سایت را بر روی یک سرور اختصاصی مجازی پشتیبانی کنید. این کار به وسیله استفاده از Apache Virtual Hosts امکان پذیر می باشد.
من می خواهم برای هر وب سایت یک کاربری ایجاد نموده و بعد فایل های وب سایت را در پوشه "public_html" کاربرها در پوشه خانه انها میزبانی کنم. این کار باعث می شود که امکان رهگیری و بررسی های آینده فراهم گردد و امنیت مضاعفی ارائه می دهد. در صورتیکه یکی از وب سایت های شما هک شده و یا امنیت ان به خطر بیافتد، این امر دیگر بر روی دیگر وب سایت ها تاثیر نمی گذارد.
در ابتدا یک کاربری با نام "example" می سازیم، بعد پوشه "public_html" انها را ایجاد کرده و در اخر دسترسی های لازم انها را اعطا می کنیم.
useradd example
passwd example
mkdir /home/example/public_html
chown -R example:example /home/example/
chmod 711 /home/example/
chmod -R 755 /home/example/public_html/
حالا شما می بایست اقدام به ویرایش/etc/httpd/conf/httpd.conf به وسیله vi نمایید. (شما همچنین می توانید از nano برای اینکار استفاده نمایید که ساده تر نیز می باشد.
nano /etc/httpd/conf/httpd.conf
به آخر فایل رفته و دکمه Insert را بر روی کیبورد زده و سپس در انتهای فایل خطهای زیر را اضافه کنید.
هرجاییکه example.com را می بینید با نام دامنه خود تغییر دهید. همچنین مسیر پوشه خانه را نیز با توجه به نام کاربری انتخاب شده سفارش سازی نمایید.
هرجاییکه example.com را می بینید با نام دامنه خود تغییر دهید. همچنین مسیر پوشه خانه را نیز با توجه به نام کاربری انتخاب شده سفارش سازی نمایید.
در صورتیکه می خواهید یک وب سایت جدید را میزبانی کنید کافیست یک Virtual Host جدید اضافه کرده و دامنه جدید را وارد نمایید.
NameVirtualHost *:80
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com$1 [R=301,L]
ServerName example.com
ServerAlias www.exapmle.com
DocumentRoot /home/example/public_html
ErrorLog /var/log/example.com_error_log
CustomLog /var/log/example.com_access_log combined
DirectoryIndex index.html index.htm index.php index.php4 index.php5
SetOutputFilter DEFLATE
Options -Indexes +IncludesNOEXEC +SymLinksifOwnerMatch +ExecCGI
allow from all
AllowOverride All
سپس در اواسط فایل کد زیر را نیز به عبارت 127.0.0.1 تغییر دهید.
ServerName www.example.com:80
در نهایت کد می بایست به شکل زیر باشد:
ServerName 127.0.0.1
فایل را ذخیره نموده و خارج شوید. برای این کار کافیست دکمه Esc را زده و دستور :wq را وارد کنید.
پس از ذخیره فایل می بایست جهت جلوگیری از ایجا اختلال نرم افزار SELinux اقدام به غیرفعال نمودن آن نمایید. بدین منظور فایل /etc/sysconfig/selinux را ویرایش نمایید.
nano /etc/sysconfig/selinux
قسمت " SELINUX=permissive " را به عبارت زیر تغییر دهید:
SELINUX=disabled
سپس اطمینان حاصل کنید که با روشن شدن سیستم سرویس Apache مربوطه Start شود.
/etc/init.d/httpd start
chkconfig httpd on
در صورتیکه مراحل فوق الذکر را به درستی انجام داده باشید Apache بدون پیغام خطایی Start می شود.
در این مرحله می بایست برای بارگذاری وب سایت ها پورت 80 را بر روی سرویس باز نمایید. بدین منظور از دستور های زیر استفاده نمایید.
iptables -I INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
service iptables save
service iptables restart
حال A رکورد URL خود را در DNS بر روی IP آدرس سرویس اختصاص مجازی خود قرار دهید. (می توانید از CloudFlare و سرویس DNS رایگان آنها استفاده کنید)
در حال حاضر صفحه پیش فرض Apache بارگذاری می شود، زیرا شما هنوز فایلی را در public_html وب سایت خود قرار نداده اید. مشکلی نیست، ما در ادامه فایلهایی را در آن قرار خواهیم داد. در حال حاضر می رویم سراغ تنظیم کردن MySQL بر روی سرویس اختصاصی مجازی.
در حال حاضر صفحه پیش فرض Apache بارگذاری می شود، زیرا شما هنوز فایلی را در public_html وب سایت خود قرار نداده اید. مشکلی نیست، ما در ادامه فایلهایی را در آن قرار خواهیم داد. در حال حاضر می رویم سراغ تنظیم کردن MySQL بر روی سرویس اختصاصی مجازی.
تنظیم MySQL
MySQL یک حساب کاربری root دارد که با حساب کاربری root سیستم عامل تفاوت دارد. این حساب کاربری دارای یک رمز عبور مجزا بوده که شما می بایست آنرا تنظیم نمایید.
در ابتدا MySQL را Start کرده و اطمینان حاصل کنید که با روشن شدن سیستم Start شود.
/etc/init.d/mysqld start
chkconfig mysqld on
حالا شما می بایست به MySQL سرور وصل شوید و رمز عبوری برای root تعریف کنید. شما می توانید دستور های زیر را برای انجام این کار استفاده نمایید.
mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('NewPassWord')
-> WHERE User = 'root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
سپس شما می بایست یک کاربری MySQL ایجاد نمایید و دسترسی های لازم به کاربر برای مدیریت دیتابیس خود اعطا نمایید. این کار را می بایست برای هر وب سایتی که نیاز به دیتابیس دارد تکرار کنید. مجددا دقت کنید تا "example" و "NEWPASSWORD" را با توجه به نام کاربری و رمز عبور مورد نظر خود سفارش سازی نمایید. همچنین این رمز عبور را فراموش نکنید. شما به این رمز عبور برای راه اندازی وب سایت نیاز دارید.
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> create database example;
Query OK, 1 row affected (0.00 sec)
mysql> grant usage on *.* to example@localhost identified by 'NEWPASSWORD';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on example.* to example@localhost ;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
دیگر نیاز به اعمال تغییرات دیگری نیست. MySQL شما تنظیم شده است!
راه اندازی وردپرس بر روی سرویس اختصاصی مجازی
حالا که Apache و MySQL را تنظیم نموده اید، شما حاضرید تا وب سایت خود را در پوشه public_html کاربر مورد نظر خود بارگذاری کنید. نحوه نصب برای سیستم های مدیریت محتوا متفاوت می باشد که می توانید در بخش راهنمای مربوطه آنها این روش های را مطالعه نمایید.
در ابتدا اقدام به دانلود فایل نصبی وردپرس نمایید (این فایل به صورت یک فایل zip می باشد و می توانید اخرین نسخه آنرا از این لینک تهیه نمایید).
شما همچنین نیاز به استفاده از یک Client از نوع SFTP را دارید. بنده FileZilla را پیشنهاد می دهم. اما شما می توانید از هر نرم افزاری که راحتتر هستید استفاده کنید.
فایل ها را Unzip نمایید و سپس با استفاده از نرم افزار مورد نظر خود و SFTP به سرور خود وصل شده و فایل ها را در پوشه Public_html آپلود نمایید.
حالا مرورگر خود را باز نموده و به آدرس وب سایت خود بروید. در اینجا مراحل نصب وردپرس آغاز می شود و می توانید با استفاده از اطلاعات دیتابیسی که ایجاد نمودید اقدام به نصب وردپرس نمایید.
حالا مرورگر خود را باز نموده و به آدرس وب سایت خود بروید. در اینجا مراحل نصب وردپرس آغاز می شود و می توانید با استفاده از اطلاعات دیتابیسی که ایجاد نمودید اقدام به نصب وردپرس نمایید.
همین بود، دیگر کار به اتمام رسیده است. حالا می توانید سراغ تنظیم و راه اندازی یک وب سایت دیگر بروید. فقط به خاطر داشته باشید برای هر دامنه می بایست مراحل مربوطه فوق را بر روی سرویس اختصاصی مجازی خود پیاده سازی نمایید.