,

آموزش نصب LAMP بر روی فدورا ۲۴

lamp

LAMP کوتاه شده عبارت Linux, Apache, MySQL و PHP است. این ۴ نرم‌افزار از جمله محبوب‌ترین نرم‌افزارهای دنیای وب هستند و بسیاری از وبسایت‌ها بر پایه این ۴ نرم‌افزار بنا شده‌اند. از لینوکس به عنوان سیستم‌عامل، از آپاچی به عنوان وب‌سرور، از MySQL برای پایگاه‌داده و از PHP به عنوان زبان برنامه‌نویسی استفاده می‌شود. راه‌اندازی ‌LAMP برای یک سرور یا حتی لوکال‌هاست امری ضروری است.در این آموزش راه‌اندازی LAMP بر روی توزیع فدورا رو آموزش می‌دهم تا به راحتی بتونید یک وب‌سرور بدون دردسر در این توزیع راه‌اندازی کنید.

قدم اول: نصب Apache

قبل از هر چیزی باید سیستم عامل خود را آپدیت کنیم.

dnf update

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

برای این کار لازم است دستور‌های زیر را در ترمینال اجرا کنید.

systemctl enable httpd

systemctl start httpd

اگر با خطای زیر رو به رو شدید

Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.

باید تمامی محتوی موجود در /etc/hostname را پاک کرده و و در فایل تنظیمات آپاچی در مسیر /etc/httpd/conf/httpd.conf خط زیر را اضافه کنید.

ServerName localhost

سپس برای اینکه دیگر کاربران با تایپ IP شما بتوانند وب‌سرور شما را ببنید دستورهای زیر را اجرا کنید.

firewall-cmd --permanent --add-service=http

firewall-cmd --permanent --add-service=https

firewall-cmd --reload

قدم دوم نصب MySQL

در فدورا از نسخه ۱۹ به بعد mariadb جایگزین mysql شد اما فرق خاصی بین جفتشون من ندیدم. برای نصب mariadb از دستور زیر استفاده می‌کنیم.

dnf install mariadb mariadb-server -y

با دستور زیر آن را فعال می‌کنیم و اجازه اجرای خودکار هنگام بوت را به آن می‌دهیم.

systemctl enable mariadb

systemctl start mariadb

افزودن رمز برای یوزر root پایگاه‌داده (MySQL)

برای ایجاد رمز عبور برای یوزر root ابتدا دستور زیر را اجرا کرده

mysql_secure_installation

و سپس همانند آموزش زیر عمل کنید.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y     ## Enter 'y' and press enter ##
New password:               ## Enter password ##
Re-enter new password:      ## Re-enter password ##
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n]    ## Press Enter ##
... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] ## Press Enter ##
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] ## Press Enter ##
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed!  Not critical, keep moving...
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] ## Press Enter ##
... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

قدم سوم: نصب PHP

php یکی از مهمترین عناصر LAMP است و برای اجرای وبسایت‌های داینامیک مورد نیاز است. برای نصب php از کد زیر استفاده می‌کنیم.

dnf install php -y

سپس یک بار وب‌سرور خود را ریستارت کنید.

systemctl restart httpd

نصب ماژول‌های PHP

PHP دارای ماژول‌های زیادی است که ممکن است برای راه‌اندازی یک وبسایت با زبان برنامه‌نویسی PHP به آن‌ها احتیاج پیدا کنید. برای دیدن تمام این ماژول‌ها از دستور زیر استفاده کنید.

dnf search php

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

dnf install php-mysql -y

به همین ترتیب ماژول‌های مورد نیاز را نصب می‌کنیم.

سپس یک بار آپاچی را ریستارت می‌کنیم.

systemctl restart httpd

قدم چهارم: نصب phpMyAdmin (اختیاری)

phpMyAdmin یک نرم‌افزار اختیاری برای مدیریت پایگاه‌داده با رابط کاربری است و اگر با دستورات MySQL آشنایی دارید نیازی به نصب این نرم‌افزار نیست. برای نصب کد زیر را اجرا می‌کنیم.

dnf install phpmyadmin -y

بعد از نصب phpMyAdmin برای دسترسی راحت‌تر به phpmyadmin باید در فایل کانفیگ آن تغییراتی ایجاد کنیم. فایل کانفیگ در مسیر /etc/httpd/conf.d/phpMyAdmin.conf قرار دارد. سپس همانند زیر آن را ویرایش کنید.

[...]

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#       Require ip 127.0.0.1
#       Require ip ::1
        Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#       Require ip 127.0.0.1
#       Require ip ::1
        Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
[...]

قدم نهایی: حل مشکلات احتمالی پس از نصب LAMP

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

dnf install php-gettext

همچنین برای اجرای دستورات .htaccess باید دستور زیر را اجرا کنید.

a2enmod rewrite

خب دیگه تموم شد و شما میتونید از وب‌سرور روی لوکال یا سرورتون لذت ببرید 🙂

برای اطلاعات بیشتر صفحه LAMP را  در ویکی‌پدیا بخوانید.

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *