نصب ساده MySQL , Apache و PHP از کد منبع در لینوکس

وب سرور Apache , پایگاه داده MySQL و پردازشگر زبان اسکریپت نویسی PHP یکی از محبوب ترین و کاربردی ترین مجموعه ها برای طراحی و پیاده سازی وب سایت با صفحات دینامیک و پویا هستند .از ویژگی های این سه ابزار می توان به استواری بالا , قابلیت انعطاف زیاد , سطح بالایی از امنیت و قابل اجرا بر روی تعداد زیادی platform اشاره کرد .
در این مقاله سعی شده است که روش ساده نصب Apache , MySQL و PHP شرح داده شود . روشی که در این مقاله توضیح داده خواهد شد روشی عمومی است و در صورتی که شما مایل باشید که از حداکثر توانایی های این سه نرم افزار قدرتمند استفاده کنید بهترین راه استفاده از Documentation بسیار غنی این سه پروژه متن باز می باشد.

دریافت کدهای منبع

اولین کاری که باید انجام داد دریافت کدهای منبع این سه نرم افزار برای کامپایل از پایه است . این سه نرم افزار به فرمت های باینری کامپایل شده و اماده نصب مانند RPM و DEB نیز وجود دارند ولی نصب از روی بسته های باینری توصیه نمی شود . توصیه ما این است که برای عملکرد بهتر حتما این سه نرم افزار را از پایه برای سیستم خود کامپایل کنید. بنابراین مطمئن شوید که حتما کدهای منبع این مجموعه را download می کنید.
برای download کردن کدهای منبع به لینک های زیر رجوع کنید . شماره نسخه ای که مشاهده می کنید نسخه هایی هستند که در هنگام تهیه این مقاله موجود بوده اند .

Apache
current version : 2.2.08
URL :
http://httpd.apache.org/download.cgi

MySQL
current version : 4.1.12
URL :
http://www.mysql.com/downloads/mysql-4.1.html

PHP
current version : 5.0.4
URL :
http://www.php.net/downloads.php

 حتما کدهای منبع این سه نرم افزار را دریافت نمایید.

نصب کردن با کدهای منبع

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

tar -xzvf httpd-2.0.54.tar.gz
tar -xzvf mysql-4.1.12.tar.gz
tar -xzvf php-5.0.4.tar.gz

از این مرحله به بعد بهتر است که با حساب کاربری root کار را ادامه دهید.برای این کار از دستور su استفاده کنید.

کامپایل Apache

با استفاده از دستور زیر وارد دایرکتوری کد منبع Apache شوید که در مرحله قبل با استفاده از دستور tar ایجاد شده بود.

cd httpd-2.0.54

سپس دایرکتوری زیر را با استفاده از دستور زیر ایجاد کنید.

mkdir /usr/local/apache2

این دایرکتوری محل نصب Apache بعد از کامپایل می باشد.می توانید هر مسیر دیگری را نیز برای این منظور داشته باشید . این مسیر را باید در دستور بعدی به اسکریپت configure معرفی کنید. در صورت ایجاد مسیر دیگری نیازی به ایجاد دایرکتوری مذکور در دستور بالا را نخواهید اشت.سپس اسکریپت configure را به صورت زیر اجرا کنید.

configure --prefix=/usr/local/apache2 --enable-mods-shared=most/.

این دستور باعث می شود که Apache پس از کامپایل در مسیر /usr/local/apache2 نصب شود. همچنین ورودی --enable-mods-shared=most اعلام می کند که بیشتر ماژول های قابل load اپاچی نصب خواهند شد.ورودی های بسیار زیادی را می توان به configure داد ولی برای نصب به حالت عمومی همین تعداد کافی می باشد.بعد از اجرای بدون خطای configure دستور زیر را اجرا کنید.

make

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

make install

هم اکنون Apache در مسیر مربوط نصب شده است . برای عملکرد صحیحApache به خصوص با PHP باید تغییراتی در فایل httpd.conf ایجاد کنیم.ابتدافایل زیر را با یک ویرایشگر مانند vim باز کنید.

vim /usr/local/apache2/conf/httpd.conf

به ترتیب قسمت های LoadModule , DirectoryIndex و AddType را پیدا کرده و به صورت زیر ویرایش کنید . در صورت پیدا نکردن اضافه کنید.

LoadModule php5_module modules/libphp5.so

DirectoryIndex index.html index.html.var index.php

AddType application/x-httpd-php .php

کار مربوط به Apache تمام شده است . فایل httpd.conf را ذخیره کرده و ببندید.

کامپایل MySQL

با استفاده از دستور cd وارد دایرکتوری کد منبع MySQL شوید.

cd mysql-4.1.12

سپس مانند مرحله قبل دایرکتوری زیر را ایجاد کنید . مانند مرحله قبل می توانید این دایرکتوری را ایجاد نکنید و MySQL را در مسیر دیگری نصب کنید.

mkdir /usr/local/mysql

سپس اسکریپت configure را به صورت زیر اجرا کنید.

configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --disable-maintainer-mode --with-mysqld-user=mysql --enable-large-files-without-debug

در صورت عدم خطا با استفاده از دستور make عمل کامپایل را اغاز کنید.

make

عمل کامپایل MySQL ممکن است کمی طولانی باشد.بسته به سرعت پردازنده شما بین 15 دقیقه تا یک ساعت می باشد.پس از کامپایل موفق و بدون خطا با استفاده از دستور زیر MySQL را در مسیر مربوطه نصب نمایید.

make install

نصب MySQL تمام شده است . در ادامه دستورات زیر موجب اجرای صحیح این پایگاه داده خواهد شد.در ابتدا گروهی به نام mysql می سازیم و سپس کاربری با همین نام می سازیم و به ان مربوط می سازیم.

usr/sbin/groupadd mysql/

usr/sbin/useradd -g mysql mysql/

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

scripts/mysql_install_db/.

و با دو دستور زیر مالک و گروه دو دایرکتوری مذکور را تنظیم می کنیم.

chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

اخرین کاری که برای نصب MySQL بایستی انجام دادویرایش فایل ld.so.conf می باشد.برای این کار ابتدا فایل زیر را باز کنید.

vim /etc/ld.so.conf

و خط زیر را در انتهای این فایل اضافه کنید.

usr/local/mysql/lib/mysql/

اکنون تمام مراحل نصب و تنظیم MySQL به پایان رسیده است . شما اکنون می توانید ان را با کاربر mysql که خود ساخته اید به صورت زیر اجرا کنید.

usr/local/mysql/bin/mysqld_safe --user=mysql/

و با دستور زیر می توانید برای کاربر ریشه MySQL کلمه عبور تنظیم کنید که new_password کلمه عبوری است که شما تنظیم خواهید کرد.

usr/local/mysql/bin/mysqladmin -u root password new_password/

کامپایل PHP

ابتدا وارد دایرکتوری کد منبع PHP شوید.

cd php-5.0.4

سپس مانند مراحل قبل دایرکتوری نصب PHP را به صورت زیر ایجاد کنید.

mkdir /usr/local/php

و بعد از ان اسکریپت configure را به صورت زیر اجرا کنید.

configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql

بعد از اجرای بدون خطای configure برای کامپایل php دستور زیر را اجرا کنید.

make

اگر نتیجه دستور make با خطایی همراه نبود دستور زیر را برای نصب PHP در مسیر مربوط اجرا کنید.

make install

پس از اجرای این دستور PHP نصب شده است . مانند مراحل قبل بایستی یک سری تنظیمات انجام داد.ابتدا فایل php.ini را به صورت زیر در مسیر زیر کپی کنید.

cp php.ini-recommended /usr/local/php/lib/php.ini

سپس این فایل را باز کرده و ویرایش نمایید.

doc_root="/usr/local/apache2/htdocs/"

سپس file_uploads را در این فایل پیدا کنید. این گزینه را هم می توانید در حالت o­n و هم در حالت Off قرار دهید. این مورد بستگی به کاربرد شما دارد.ولی بهتر است به دلایل امنیتی ان را در حالت Off قرار دهید.

file_uploads=Off

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

یک تست کوتاه

اکنون MySQL شما در حال اجراست . برای اجرای وب سرور Apache دستور زیر را اجرا کنید.

usr/local/apache2/bin/apachectl start/

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

cd /usr/local/apache2/htdocs

سپس با یک ویرایشگر فایلی به نام test.php در این دایرکتوری ایجاد کنید.

vim test.php

و خطوط زیر را در ان بنویسید . در این کد PHP ما فقط از یک تابع PHP به نام phpinfo استفاده کردیم.

php?>
;()phpinfo
>?

فایل را ذخیره کرده وببندید . در این مرحله مرورگر وب خود را باز کرده و در قسمت نشانی , نشانی زیر را بنویسید .

localhost/test.php

شما بایستی یک سری اطلاعات به صورت یک سری جدول در مورد PHP , APache و MySQL و ... بر روی صفحه نمایش ببینید . در غیر این صورت مشکلی به وجود امده است . برای پیدا کردن مشکل به Log file های MySQL و Apache رجوع کنید .

اجرای Apache و MySQL به طور خودکار

مشکلی که هم اکنون وجود دارد اینست که ما Apache و MySQL را به صورت دستی راه اندازی کردیم . اکنون در این قسمت به این مورد می پردازیم که چگونه می توان کاری کرد که این دو سرویس هنگام بوت سیستم خود به خود شروع به کار کنند. برای این منظور مراحل زیر پیش روی شماست.
ابتدا دوباره وارد دایرکتوری کد منبع MySQL شوید.

cd mysql-4.1.12

و سپس فایل زیر را در مسیر مربوطه به صورت زیر کپی نمایید.

cp support-files/mysql.server /etc/init.d/mysql

دستورات زیر لینک هایی برای شروع خودکار MySQL برای runlevel های 3 و 5 ایجاد می کند.

cd /etc/rc3.d

ln -s ../init.d/mysql S85mysql

ln -s ../init.d/mysql K85mysql

cd /etc/rc5.d

ln -s ../init.d/mysql S85mysql

ln -s ../init.d/mysql K85mysql

cd ../init.d

chmod 755 mysql

حال مراحل مشابهی را برای Apache با دستورات زیر طی می کنیم.

cd /usr/local/apache2/bin

cp apachectl /etc/init.d/httpd

و مانند مرحله قبل لینک هایی برای شروع Apache برای runlevel های 3 و 5 ایجاد می کنیم.

cd /etc/rc3.d

ln -s ../init.d/httpd S85httpd

ln -s ../init.d/httpd K85httpd

cd /etc/rc5.d

ln -s ../init.d/httpd S85httpd

ln -s ../init.d/httpd K85httpd

اکنون همه چیز تنظیم شده است . اگر سیستم خود را reboot نمایید خواهید دید که deamon های mysqld و httpd به صورت خودکار شروع به اجرا می کنند.
در اینجا این مقاله به پایان می رسد. امیدوارم که مورد فایده واقع شود.

آدرس منبع:

http://www.hostlibrary.com/installing_apache_mysql_php_on_linux 
http://www.linuxhelp.net/guides/lamp