بلاگ/نصب وب‌سرور آپاچی به همراه php و MySQL در CentOS 7
به‌روز شده

نصب وب‌سرور آپاچی به همراه php و MySQL در CentOS 7

این آموزش نحوه نصب وب‌سرور آپاچی را به همراه php و MySQL را در سرور CentOS 7 به شما نشان می‌دهد. قبل از هر چیز توجه داشته باشید که LAMP مخفف ترکیب لینوکس، آپاچی، مای‌اس‌کیواِل و پی‌اچ‌پی است. ۱) نکات ابتدایی در این مطلب آموزشی، از عنوان هاست server1.example.com با آی‌پی معادل 192.168.0.100...

1399/01/035761 بازدید
نصب وب‌سرور آپاچی به همراه php و MySQL در CentOS 7
این آموزش نحوه نصب وب‌سرور آپاچی را به همراه php و MySQL را در سرور CentOS 7 به شما نشان می‌دهد. قبل از هر چیز توجه داشته باشید که LAMP مخفف ترکیب لینوکس، آپاچی، مای‌اس‌کیواِل و پی‌اچ‌پی است.

۱) نکات ابتدایی

در این مطلب آموزشی، از عنوان هاست server1.example.com با آی‌پی معادل 192.168.0.100 استفاده شده است. این تنظیمات ممکن است برای شما متفاوت باشند. بنابراین باید آنها را متناسب با پروژه خود تغییر دهید. در اینجا منبع EPEL را اضافه می‌کنیم تا بتوانیم آخرین نسخه phpMyAdmin را در اختیار داشته باشیم.
php
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*yum -y install epel-release
برای ویرایش فایل‌ها در این shell، ویرایشگر nano نصب خواهیم کرد. اگر کار با vi را ترجیح می‌دهید، از این مرحله عبور کنید.
php
yum -y install nano

۲) نصب MySQL  یا  MariaDB

MariaDB در واقع، نسخه‌ای از MySQL است که توسط مایکل وایدنیس توسعه داده شده است. مایکل وایدنیس همان کسی است که یکی از پایه‌گذران اصلی MySQL بوده است. برای نصب MariaDB از طریق yum، فرمان زیر را اجرا نمایید. yum -y install mariadb-server mariadb در اینجا یک لینک در هنگام شروع به کار سیستم برای MySQL ایجاد می‌کنیم. در نتیجه، MySQL هر زمان که سیستم راه‌اندازی می‌شود، به صورت اتوماتیک اجرا می‌شود.
php
systemctl start mariadb.servicesystemctl enable mariadb.service

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

php
mysql_secure_installation
خروجی
php
[root@server1 ~]# mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDBSERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user.  If you've just installed MariaDB, andyou 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): <--ENTEROK, successfully used password, moving on...Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.Set root password? [Y/n]New password: <--yourmariadbpasswordRe-enter new password: <--yourmariadbpasswordPassword updated successfully!Reloading privilege tables..... Success!By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem.  This is intended only for testing, and to make the installationgo a bit smoother.  You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n] <--ENTER... Success!Normally, root should only be allowed to connect from 'localhost'.  Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] <--ENTER... Success!By default, MariaDB comes with a database named 'test' that anyone canaccess.  This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] <--ENTER- Dropping test database...... Success!- Removing privileges on test database...... Success!Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n] <--ENTER... Success!Cleaning up...All done!  If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB![root@server1 ~]#

۳) نصب وب‌سرور Apache

CentOS 7 با نسخه 2.4 از وب‌سرور آپاچی همراه است. بنابراین، می‌توانیم آن را مستقیماً به عنوان یک بسته در CentOS 7 نصب کنیم.
php
yum -y install httpd
در اینجا یک نما از فرآیند نصب را مشاهده می‌کنید.
نصب وب‌سرور آپاچی در سیستم‌عامل CentOS
نصب وب‌سرور آپاچی در سیستم‌عامل CentOS
  حالا سیستم خود را به‌گونه‌ای تنظیم کنید که آپاچی در زمان راه‌اندازی سیستم، اجرا شود.
php
systemctl start httpd.servicesystemctl enable httpd.service
به منظور دسترسی خارجی به وب‌سرور باید پورت‌های ۸۰ اچ‌تی‌تی‌پی و ۴۴۳ اچ‌تی‌تی‌پی‌اس را در فایروال باز کنیم. firewalld فایروال پیش‌فرض در سیستم‌عامل CentOS است. تنظیمات این فایروال از طریق فرمان firewalld صورت می‌گیرد.
php
firewall-cmd --permanent --zone=public --add-service=httpfirewall-cmd --permanent --zone=public --add-service=httpsfirewall-cmd --reload
حالا مرورگر خود را به سمت آدرس IP سرورتان هدایت کنید. در اینجا آدرس IP برابر http://192.168.0.100 است. در نتیجه، صفحه پیش‌فرض وب‌سرور آپاچی را مشاهده کنید.
صفحه پیش‌فرض نصب وب‌سرور آپاچی در CentOS
صفحه پیش‌فرض نصب وب‌سرور آپاچی در CentOS

۴) نصب php

نسخه‌ای از php که به همراه CentOS عرضه شده، نسبتاً قدیمی است (PHP 5.4). بر این اساس، در اینجا نحوه نصب نسخه‌های جدیدتر php مانند نسخه ۷ را از منبع Remi به شما نشان می‌دهیم. اضافه کردن منبع Remi در CentOS
php
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
ابزارهای yum-utils را نیز نصب می‌کنیم؛ چرا که به ابزار yum-config-manager نیاز داریم.
php
yum -y install yum-utils
و بروزرسانی yum را نیز اجرا می‌کنیم.
php
yum update
حالا زمان ‌آن است که نسخه‌ای که را می‌خواهید از php در سرور استفاده کنید، انتخاب نمایید. اگر هم دوست دارید از php نسخه 5.4 استفاده کنیم، می‌توانید مستقیماً به سراغ بخش بعدی آموزش بروید. برای نصب نسخه 7.0 فرمان‌های بخش ۴.۲  را دنبال کنید و نحوه نصب نسخه‌های 7.1، 7.4 و 7.3 به ترتیب در بخش‌های  ۴.۳، ۴.۴ و ۴.۵  آمده است. یکی از این بخش‌ها را انتخاب کرده و تنها یک نسخه از php را در کنار Apache mod_php استفاده کنید.

۴.۱) نصب PHP 5.4

به منظور نصب PHP 5.4، فرمان زیر را اجرا نمایید.
php
yum -y install php

۴.۲) نصب PHP 7.0

امکان نصب PHP 7.0 و ماژول Apache PHP 7.0 به صورت زیر وجود دارد.
php
yum-config-manager --enable remi-php70yum -y install php php-opcache

۴.۳) نصب PHP 7.1

اگر می‌خواهید از نسخه 7.1 پی‌اچ‌پی استفاده کنید، فرمان زیر را اجرا نمایید.
php
yum-config-manager --enable remi-php71yum -y install php php-opcache

۴.۴) نصب PHP 7.2

در صورتی که می‌خواهید از نسخه PHP 7.2 استفاده کنید:
php
yum-config-manager --enable remi-php72yum -y install php php-opcache

۴.۵) نصب PHP 7.3

اگر می‌خواهید نسخه PHP 7.3 را نصب کنید:
php
yum-config-manager --enable remi-php73yum -y install php php-opcache
در این مثال و در سیستم مجازی، از نسخه PHP 7.3 استفاده خواهیم کرد. برای اینکه تغییرات اِعمال شوند، باید آپاچی را دوباره اندازی کنیم.
php
systemctl restart httpd.service

۵) تست php و دریافت اطلاعات در مورد نسخه نصب‌شده

ریشه داکیومنت برای وب‌سایت پیش‌فرض به صورت /var/www/html خواهد بود. در این دایرکتوری، یک فایل php کوچک با نام info.php ایجاد می‌کنیم و برای تست نصب در مرورگر از آن استفاده می‌کنیم. این فایل اطلاعات مفید زیادی در رابطه با نصب php به ما نشان می‌دهد.
php
nano /var/www/html/info.php
 
php
<?phpphpinfo();
حالا این فایل با آدرسی مانند http://192.168.0.100/info.php در مرورگر فراخوانی می‌کنیم.  
اطلاعات نسخه php به همراه نصب وب‌سرور آپاچی
اطلاعات نسخه php به همراه نصب وب‌سرور آپاچی
همان‌طور که می‌بینید، PHP 7.3 به‌خوبی در حال اجرا در هندلر Apache 2.0 است. این موضوع در خط Server API نشان داده می‌شود. اگر به طرف پایین صفحه حرکت کنید، ماژول‌هایی را نیز می‌بینید که در حال حاضر برای php فعال هستند. MySQL در اینجا لیست نشده و به این معناست که هنوز در php ما از آن پشتیبانی نمی‌شود.

۶) ایجاد پشتیبانی از MySQL در PHP

برای داشتن قابلیت پشتیبانی از php در MySQL می‌توانیم بسته php-mysqlnd را نصب کنیم. ضمن اینکه نصب برخی دیگر از ماژول‌های php برای استفاده در برنامه‌های دیگر مفید خواهد بود. با کمک فرمان زیر می‌توانید ماژول‌های در دسترس برای PHP5 را پیدا کنید.
php
yum search php
آنهایی را که می‌خواهید، انتخاب کرده و مطابق زیر نصب کنید.
php
yum -y install php-mysqlnd php-pdo
در گام بعدی، برخی‌ ماژول‌ها که برای سیستم‌های CMS مورد نیاز هستند، نصب خواهیم کرد. ماژول‌هایی مانند وردپرس، جوملا و دروپال.
php
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
حالا وب‌سرور آپاچی را دوباره راه‌اندازی می‌کنیم.
php
systemctl restart httpd.service
حالا آدرس http://192.168.0.100/info.php را دوباره در مرورگرتان بارگذاری کنید و به پایین صفحه، بخش ماژول‌ها بروید. اکنون باید ماژول‌های زیادی را در این بخش مشاهده کنید.
فعال‌شدن پشتیبانی MySQL در پی‌اچ‌پی
فعال‌شدن پشتیبانی MySQL در پی‌اچ‌پی
اگر به خروجی PHP info دیگر نیازی ندارید، می‌توانید با درنظر گرفتن ملاحظات امنیتی، آن را پاک کنید.
php
rm /var/www/html/info.php

۷) نصب phpMyAdmin

phpMyAdmin یک رابط کاربری تحت وب است که از طریق آن می‌توانید پایگاه‌های داده MySQL را مدیریت کنید. نصب این ابزار به صورت زیر انجام می‌گیرد.
php
yum -y install phpMyAdmin
حالا باید تنظیمات phpMyAdmin را انجام دهید. ما تنظمیات نصب وب‌سرور آپاچی را به‌گونه‌ای تغییر داده‌ایم که phpMyAdmin تنها از localhost  اجازه ارتباط نداشته باشد. این کار از طریق اضافه کردن خط “Require all granted” صورت گرفته است.
php
nano /etc/httpd/conf.d/phpMyAdmin.conf
ویرایش فایل به صورت زیر:
php
[...]Alias /phpMyAdmin /usr/share/phpMyAdminAlias /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# </RequireAny>Require all granted</IfModule><IfModule !mod_authz_core.c># Apache 2.2Order Deny,AllowDeny from AllAllow from 127.0.0.1Allow from ::1</IfModule></Directory><Directory /usr/share/phpMyAdmin/>Options noneAllowOverride LimitRequire all granted</Directory>[...]
وب‌سرور آپاچی را دوباره راه‌اندازی کنید تا تغییرات اِعمال شوند.
php
systemctl restart  httpd.service
سپس می‌توانید از طریق آدرس http://192.168.0.100/phpmyadmin/ به  phpMyAdmin دسترسی پیدا کنید.
صفحه ورود به phpMyAdmin
صفحه ورود به phpMyAdmin
 
صفحه phpMyAdmin در سیستم CentOS
صفحه phpMyAdmin در سیستم CentOS
۸) لینک‌ها

 Apache: http://httpd.apache.org/

 PHP: http://www.php.net/

MySQL: http://www.mysql.com/

CentOS: http://www.centos.org/

phpMyAdmin: http://www.phpmyadmin.net/