راهنمای نصب سرور LAMP

ترجمه: امید عالمی

این راهنما برای کسانی است که می خواهند یک سرور ( LAMP (Linux-Apache-MySQL-PHP شامل آپاچی ۲ ، PHP4 یا PHP5 و MySQL4.1 یا MySQL5 را در اوبونتو راه اندازی کنند.

بررسی نیازمندی ها

بعضی از برنامه نیاز به PHP4 دارند در حالی که برخی دیگر با PHP5 کار می کنند. از نصب نسخه درست PHP به همراه ماژول مربوط آپاچی ۲ آن اطمینان حاصل کنید.شما نمی توانید به طور همزمان هر دو نسخه PHP را داشته باشید نصب یکی باعث حذف دیگری می شود.

اگر شما هر دو نسخه PHP را نصب دارید دقت کنید که کدام نسخه از ماژول PHP آپاچی ۲ را نصب دارید . اگر libapache2-mod-php5 نصب شده باشد بسته PHP4 به جای libapache2-mod-php4 ماژول libapache-mod-php4 را نصب خواهد کرد.

بیشتر نرم افزارهای وب از آپاچی ۲ PHP 5 و MySQL 5 استفاده می کنند.

نصب LAMP در 8.10 Ubuntu

اگر در هنگام نصب اوبونتو از روی سی دی سرور بسته LAMP را نصب نکرده اید دستور زیر را در خط فرمان اجرا کنید:

sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server

تمام بسته های بالا در مخازن اصلی Ubuntu 8.10 هستند. بعد از نصب ، شما نیاز دارید تا کلمه عبور root را برای MySQL تنظیم کنید و بسته به نرم افزار مورد نظر خود بانک اطلاعاتیمورد نظر را ایجاد کنید.

نصب LAMP در 8.10 Ubuntu

در بز بی باک ، اوبونتو شامل ابزار Taskel است. برای نصب LAMP هم می توانید از Taskel استفاده کنید و هم به صورتی که در بالا توضیح داده شد بسته ها را نصب کنید.

sudo  tasksel install lamp-server

حذف LAMP

برای حذف LAMP این دستور را وارد کنید:

sudo apt-get remove apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0 mysql-common mysql-server mysql-server-5.0 php5-common php5-mysql

برای حذف کامل تنظیمات ، از گزینه purge به جای remove استفاده کنید. همچنین برای حذف تنظیمات آپاچی پوشه etc/apache2/ را بعد از حذف بسته ها به طور دستی پاک کنید.

نصب آپاچی ۲

برای نصب آپاچی ۲ به طور مجزا دستور زیر را در خط فرمان اجرا کنید:

sudo apt-get install apache2 

عیب یابی

اگر با این خطا مواجه شدید:

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

آنگاه فایل etc/apache2/httpd.conf/ را با استفاده از یک ویرایشگر متنی مانند sudo gedit ویرایش کرده و خط زیر را در انتهای آن اضافه کنید:

ServerName localhost

Virtual Hosts

/!\ توجه: به جای عبارت user در آدرس‌هایی که در زیر داده شده است باید Username خودتان را قرار دهید!

آپاچی ۲ دید چند سایتی دارد که هر کدام از آن ها در یک فایل پیکربندی قرار داردند که آپاچی آن را می خواند. این فایل ها در etc/apache2/sites-available/ قرار داند. به طور پیش فرض ، یک سایت به نام default در دسترس است که توسط http://127.0.0.1 یا http://localhost به آن دسترسی دارید. شما می توانید برای سایت خود پیکربندی های متفاوتی داشته باشید و تنها آن هایی را که نیاز دارید فعال کنید.

به عنوان مثال ما می خواهیم که home/user/public_html/ سایت پیش فرض باشد . برای این کار ، باید یک سایت جدید ایجاد کرده و آن را در آپاچی ۲ فعال کنیم.

برای ایجاد یک سایت جدید:

حالا باید سایت قبلی را غیر فعال کرده و سایت جدید خود را فعال کنیم. اوبونتو دو ابزار کوچک را برای این کار فراهم کرده است : (a2ensite apache2enable site) و ( a2dissite (apache2disable site.

sudo a2dissite default && sudo a2ensite mysite

در نهایت ، آپاچی ۲ را مجددا راه اندازی می کنیم:

sudo /etc/init.d/apache2 restart

اگر پوشه /home/user/public_html/ را ایجاد نکرده باشید یک پیغام اخطار دریافت می کنید.

برای آزمایش سایت جدید یک فایل در /home/user/public_html/ ایجاد کنید:

echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html

/!\ توجه: پس از اعمال تغییرات فایل etc/apache2/httpd.conf/ را توسط یک ویرایشگر متنی باز کنید و عبارت ServerName sitename را در انتهای آن قرار دهید (بجای sitename نام سایتی که ساختید را قرار دهید). اگر از پیش عبارت ServerName localhost در آن فایل قرار داشت بجای آن ServerName sitename را قرار دهید.

در پایان به سایت http://localhost بروید.

نصب PHP 5

برای نصب PHP5 به تنهایی دستور زیر را اجرا کنید:

sudo apt-get install php5

همچنین اگر PHP4 بر روی سیستم شما نصب است بسته زیر را هم نصب کنید:

sudo apt-get install libapache2-mod-php5

عیب یابی

آیا مرورگر شما بجای نمایش محتویات فایل PHP از شما می خواهد تا آن را بر روی سیستم خود ذخیره کنید؟ در این صورت آپاچی فایل های php شما را پردازش نمی کند و باید libapache2-mod-php5 را نصب کنید. این بسته هنگام نصب php5 نصب میشود اما ممکن است هنگام نصب نسخه دیگری از PHP آن را حذف کرده باشید. شما همچنین نیاز دارید تا آن را بعد از راه اندازی آپاچی با sudo /etc/init.d/apache2 restart از طریق sudo a2enmod php5 فعال کنید.قبل از آزمایش دوباره کش مرورگر خود را پاک کنید.

نصب PHP 4

برای نصب PHP4 به تنهایی دستور زیر را اجرا کنید:

sudo apt-get install php4

اگر PHP5 بر روی سیستم شما نصب باشد نصب php4 باعث نصب ماژول های آپاچی ۱.۳ می شود نه آپاچی ۲ . برای استفاده از php4 همراه آپاچی ۲ بسته زیر را نصب کنید:

sudo apt-get install libapache2-mod-php4

عیب یابی

آیا مرورگر شما بجای نمایش محتویات فایل PHP از شما می خواهد تا آن را بر روی سیستم خود ذخیره کنید؟ در این صورت آپاچی فایل های php شما را پردازش نمی کند و باید libapache2-mod-php4 را نصب کنید. این بسته هنگام نصب php4 نصب میشود اما ممکن است هنگام نصب نسخه دیگری از PHP آن را حذف کرده باشید. شما همچنین نیاز دارید تا آن را بعد از راه اندازی آپاچی با sudo /etc/init.d/apache2 restart از طریق sudo a2enmod php4 فعال کنید.قبل از آزمایش دوباره کش مرورگر خود را پاک کنید.

نصب MySQL به همراه PHP 5

برای نصب دستور زیر را اجرا کنید:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

نصب MySQL به همراه PHP 4

ابتدا مخازن universe را فعال کنید.

برای نصب دستور زیر را اجرا کنید:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php4-mysql  

بعد از نصب PHP

ممکن است نیاز به افزایش میزان حافظه ای باشید که PHP به هر اسکریپت اختصاص می دهد. برای این کار فایل etc/php5/apache2/php.ini/ را ویرایش کنید و مقدار memory_limit را افزایش دهید.

بعد از نصب MySQL

تنظیم آدرس bind

قبل از اینکه بتوانید از دیگر کامپیوترها در شبکه به بانک اطلاعاتی خود دسترسی پیدا کنید ، باید آدرس bind آن را تنظیم کنید. توجه کنید که این کار ممکن است باعث بوجود آمدن مشکلات امنیتی شود،چرا که بانک اطلاعاتی شما از طریق دیگر کامپیوترها قابل دسرسی است. اگر نرم افزارهای شمافقط تیاز به دسترسی به بانک اطلاعاتی کامپیوتر خودتان را دارند از انجام این کار خود داری کنید

دستور زیر را اجرا کنید:

sudo nano /etc/mysql/my.cnf

و خط :

bind-address           = localhost

را به ip داخلی کامپیوتر خود تغییر دهید:

bind-address           = 192.168.1.20

اگر بدون تغییر bind-address سعی در اتصال به بانک اطلاعاتی خود داشته باشید با خطای "Can not connect to mysql error 10061" مواجه خواهید شد.

تنظیم کلمه عبور کاربر root برای MySQL

قبل از دسترسی با بانک اطلاعاتی ، در خط فرمان دستور زیر را اجرا کنید:

mysql -u root

و در خط فرمان دستور زیر را وارد کنید:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

اجرای درست دستور فوق خروجی زیر را به همراه دارد:

Query OK, 0 rows affected (0.00 sec)

دستورات MySQL می توانند تا چند خط ادامه پیدا کنند. فراموش نکنید دستور را با یک فقطه ویرگول خاتمه دهید.

توجه: اگر قبلا برای کاربر ریشه کلمه عبوری انتخاب کرده باشید باید دستور زیر را اجرا کنید:

mysql -u root -p

( اگر رمز عبور خود را فراموش کرده اید ای صفحه را ببینید: https://help.ubuntu.com/community/MysqlPasswordReset )

ایجاد یک بانک اطلاعاتی

mysql> CREATE DATABASE database1;

ایجاد یک کاربر

برای ایجاد یک کاربر جدید با تمام دسترسی ها ( برای عیب یابی) ، عبارت زیر را در خط فرمان mysql وارد کنید:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; 

برای ایجاد یک کاربر جدید با دسترسی های کمتر ( قابل استفاده برای بیشتر برنامه ها) ، که فقط اجازه استفاده از بانک اطلاعاتی "database1" را دارد، عبارت زیر را در خط فرمان mysql وارد کنید:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON database1.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';

yourusername و yourpassword به انتخاب شما می توانند هر چیزی باشند. database1 نام بانک اطلاعاتی است که کاربر ساخته شده به آن دسترسی دارد و localhost جایی است که بانک اطلاعاتی شما مورد دسترسی قرار می گیرد. شما می توانید آن را به '%' ( یا نام کامپیوتر یا آدرس ip ) تغییر دهید تا به تمام اتصالات از هر جایی ( ویا برخی مکان ها) اجازه اتصال بدهید.

توجه کنید که این کار یک خطر امنیتی است و باید فقط برای آزمایش استفاده شود

برای خروج از خط فرمان mysql دستور زیر را اجرا کنید

mysql> \q

ubuntu-ir wiki: ApacheMySQLPHP (آخرین بروزآوری 02-11-2008 06:06:18 توسط HasanHabibi)