در این مقاله ما نحوه راه اندازی یک سرور اختصاصی مجازی لینوکسی را جهت میزبانی یک وب سایت آموزش می دهیم. برای راه اندازی یک وب سایت کامل این مقاله مواردی همچون نصب و راه اندازی Apache، PHP، Per/cgi و MySQL را پوشش می دهد. در آخر ما وردپرس را به عنوان یک وب سایت کلاسیک نصب می کنیم. البته شما می توانید هر نوع وب سایتی که مناسب می دانید نصب و راه اندازی نمایید. ما در این مقاله تمام مواردی که برای راه اندازی یک وب سایت تحت سیستم مدیریت محتوا لازم دارد را آموزش می دهیم و مطالب برای افراد با تمام سطوح مهارت ها مناسب می باشد. بنابراین شما ممکن است برخی از گام های اولیه را بسیار واضح بیابید. فقط به یاد داشته باشید، شما مهارت های خود را یک شبه فرا نگرفتید و همه نیاز دارند تا از یک نقطه ای شروع کنند. در اولین گام شما نیاز به خریداری سرویس اختصاصی مجازی دارید. برای یک سرور مناسب شما نیاز به یک میزبان مناسب به همراه پشتیبانی قابل اعتماد دارید. برای راه اندازی مواردی که در ادامه ذکر می شوند حداقل سرویس های اختصاصی مجازی VDS-2 ایران هاست پیشنهاد می شود - سرویس های اختصاصی مجازی کانادا و ایران هنگامیکه سرویس را خریداری می کنید و با استفاده از راهنمایی های اعلام شده سرویس اختصاصی مجازی خود را می سازید (برای انجام موارد این مقاله از سیستم عامل لینوکس CentOS 6.3 Enterprise استفاده شده است)، اطلاعات حساب کاربری root سرویس اختصاصی مجازی شما در آخرین مرحله اعلام می شود. به سرویس اختصاصی مجازی SSH بزنید. حالا که سرویس اختصاصی مجازی خود را ساخته اید، می بایست با استفاده از IP و حساب کاربری root که بدست اورده اید اقدام به ورود به Shell سرویس اختصاصی مجازی خود نمایید. بدین منظور از نرم افزار های SSH می توانید استفاده کنید. (نرم افزار رایگان و بدون نیاز به نصب با نام Putty پیشنهاد می شود.) تغییر رمز عبور root هنگامیکه لاگین نمودین، پیشنهاد می شود هرچه سریعتر اقدام به تغییر رمز عبور حساب کاربری root خود نمایید! از آنجاییکه رمز عبوری پیش فرض شرایط پیچیدگی رمز عبور مناسب را ندارد، ایمن نخواهید تا مگر اینکه رمز عبور را تغییر دهید. روش زیر را برای تغییر رمز عبور استفاده کنید. اگر همه چیز طبق روال پیش رود شما یک پیغام دریافت می کنید با عنوان “passwd: all authentication tokens updated successfully” که معنای آن می باشد که رمز عبور با موفقیت تغییر یافته است. [root@iranhost ~]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@iranhost ~]# پکیج های سیستم را بروز رسانی کنید بعد شما قبل از نصب Apache یا PHP می بایست پکیج های نرم افزاری پایه سیستم عامل را دریافت و نصب نموده و نگارش های قبلی را بروز رسانی کنید. برای اینکار ما از نرم افزاری با عنوان yum استفاده می کنیم. Yum نرم افزار پیش فرض مدیریت پکیج ها برای لینوکس RedHat و CentOS می باشد. روش ذکر شده در ادامه را پیش برده تا پکیج های خود را با استفاده از yum بروز رسانی نمایید. [root@iranhost ~]# yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.greenmountainaccess.net
* extras: mirrors.lga7.us.voxel.net
* updates: mirror.thelinuxfix.com
base | 3.7 kB 00:00
base/primary_db | 4.6 MB 00:00
extras | 3.4 kB 00:00
extras/primary_db | 30 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 1.5 MB 00:00
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package audit.x86_64 0:2.2-2.el6 will be updated
---> Package audit.x86_64 0:2.3.7-5.el6 will be an update
---> Package audit-libs.x86_64 0:2.2-2.el6 will be updated
...
...
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 108 Package(s)
Total download size: 112 M
Is this ok [y/N]: Y هنگامیکه مراحل بروز رسانی به اتمام برسد پیغامی دریافت خواهید کرد که گفته "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" انها را ایجاد کرده و در اخر دسترسی های لازم انها را اعطا می کنیم. [root@iranhost]# useradd example
[root@iranhost]# passwd example
Changing password for user example.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@iranhost]#
[root@iranhost]# mkdir /home/example/public_html
[root@iranhost]# chown -R example:example /home/example/
[root@iranhost]# chmod 711 /home/example/
[root@iranhost]# chmod -R 755 /home/example/public_html/
[root@iranhost]# حالا شما می بایست اقدام به ویرایش /etc/httpd/conf/httpd.conf به وسیله vi نمایید. (شما همچنین می توانید از nano برای اینکار استفاده نمایید که ساده تر نیز می باشد. [root@iranhost]# vi /etc/httpd/conf/httpd.conf به آخر فایل رفته و دکمه Insert را بر روی کیبورد زده و سپس در انتهای فایل خطهای زیر را اضافه کنید. هرجاییکه example.com را می بینید با نام دامنه خود تغییر دهید. همچنین مسیر پوشه خانه را نیز با توجه به نام کاربری انتخاب شده سفارش سازی نمایید. در صورتیکه می خواهید یک وب سایت جدید را میزبانی کنید کافیست یک Virtual Host جدید اضافه کرده و دامنه جدید را وارد نمایید. NameVirtualHost *:80
<VirtualHost *: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
<Directory /home/example/public_html>
Options -Indexes +IncludesNOEXEC +SymLinksifOwnerMatch +ExecCGI
allow from all
AllowOverride All
</Directory>
</VirtualHost> سپس در اواسط فایل کد زیر را نیز به عبارت 127.0.0.1 تغییر دهید. ServerName www.example.com:80 در نهایت کد می بایست به شکل زیر باشد: ServerName 127.0.0.1 فایل را ذخیره نموده و خارج شوید. برای این کار کافیست دکمه Esc را زده و دستور :wq را وارد کنید. پس از ذخیره فایل می بایست جهت جلوگیری از ایجا اختلال نرم افزار SELinux اقدام به غیرفعال نمودن آن نمایید. بدین منظور فایل /etc/sysconfig/selinux را ویرایش نمایید. [root@iranhost ~]# vi /etc/sysconfig/selinux قسمت " SELINUX=permissive " را به عبارت زیر تغییر دهید: SELINUX=disabled سپس اطمینان حاصل کنید که با روشن شدن سیستم سرویس Apache مربوطه Start شود. [root@iranhost]# /etc/init.d/httpd start
[root@iranhost]# chkconfig httpd on در صورتیکه مراحل فوق الذکر را به درستی انجام داده باشید Apache بدون پیغام خطایی Start می شود. در این مرحله می بایست برای بارگذاری وب سایت ها پورت 80 را بر روی سرویس باز نمایید. بدین منظور از دستور های زیر استفاده نمایید. [root@iranhost ~]# iptables -I INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
[root@iranhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@iranhost ~]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ] حال A رکورد URL خود را در DNS بر روی IP آدرس سرویس اختصاص مجازی خود قرار دهید. (می توانید از CloudFlare و سرویس DNS رایگان آنها استفاده کنید) در حال حاضر صفحه پیش فرض Apache بارگذاری می شود، زیرا شما هنوز فایلی را در public_html وب سایت خود قرار نداده اید. مشکلی نیست، ما در ادامه فایلهایی را در آن قرار خواهیم داد. در حال حاضر می رویم سراغ تنظیم کردن MySQL بر روی سرویس اختصاصی مجازی. تنظیم MySQL MySQL یک حساب کاربری root دارد که با حساب کاربری root سیستم عامل تفاوت دارد. این حساب کاربری دارای یک رمز عبور مجزا بوده که شما می بایست آنرا تنظیم نمایید. در ابتدا MySQL را Start کرده و اطمینان حاصل کنید که با روشن شدن سیستم Start شود. [root@iranhost]# /etc/init.d/mysqld start
[root@iranhost]# chkconfig mysqld on حالا شما می بایست به MySQL سرور وصل شوید و رمز عبوری برای root تعریف کنید. شما می توانید دستور های زیر را برای انجام این کار استفاده نمایید. [root@iranhost]# 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" را با توجه به نام کاربری و رمز عبور مورد نظر خود سفارش سازی نمایید. همچنین این رمز عبور را فراموش نکنید. شما به این رمز عبور برای راه اندازی وب سایت نیاز دارید. [root@iranhost]# 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 آپلود نمایید. حالا مرورگر خود را باز نموده و به آدرس وب سایت خود بروید. در اینجا مراحل نصب وردپرس آغاز می شود و می توانید با استفاده از اطلاعات دیتابیسی که ایجاد نمودید اقدام به نصب وردپرس نمایید. همین بود، دیگر کار به اتمام رسیده است. حالا می توانید سراغ تنظیم و راه اندازی یک وب سایت دیگر بروید. فقط به خاطر داشته باشید برای هر دامنه می بایست مراحل مربوطه فوق را بر روی سرویس اختصاصی مجازی خود پیاده سازی نمایید. |