جدول محتوایی

معرفی

پشته LAMP گروهی از نرم‌افزارهای منبع باز است که معمولاً با هم نصب می‌شوند تا سرور را قادر به میزبانی وب‌سایت‌ها و برنامه‌های وب پویا کند. این عبارت در واقع مخفف سیستم عامل لینوکس با وب سرور آپاچی است. داده های سایت در پایگاه داده MySQL یا MariaDB ذخیره می شود و محتوای پویا توسط PHP پردازش می شود.

آپدیت منابع

ابتدا، هرگونه ارتقای سیستم را بررسی کنید.

apt update
apt upgrade

آپاچی را نصب کنید

دستور نصب آپاچی به همراه ابزارهای آن را صادر کنید.

apt install -y apache2 apache2-utils

سپس وضعیت آپاچی را بررسی کنید.

systemctl status apache2

خروجی :

root@ubuntu:~# systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enab>
     Active: active (running) since Fri 2023-04-14 15:36:54 UTC; 3min 6s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2067 (apache2)
      Tasks: 55 (limit: 3386)
     Memory: 5.1M
        CPU: 191ms
     CGroup: /system.slice/apache2.service
             ├─2067 /usr/sbin/apache2 -k start
             ├─2068 /usr/sbin/apache2 -k start
             └─2070 /usr/sbin/apache2 -k start

اگر آپاچی فعال نباشد می توانید از دستور زیر استفاده کنید.

systemctl start apache2

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

systemctl enable apache2

می توانید نسخه Apache2 را با دستور زیر چک کنید.

apache2 -v

خروجی :

root@ubuntu:~# apache2 -v
Server version: Apache/2.4.55 (Ubuntu)
Server built:   2023-03-08T16:32:34

خرید سرور مجازی ایران

فایروال را فعال کنید

پورت های HTTP، HTTPS را در فایروال باز می کنیم تا بتوانیم به صفحه ای که توسط وب سرور آپاچی ارائه می شود دسترسی داشته باشیم.

با اجرای دستور زیر به پورت های HTTP، HTTPS اجازه دهید.

ufw allow http

ufw allow https

خروجی :

Rules updated
Rules updated (v6)
Rules updated
Rules updated (v6)

و برای بررسی اینکه آیا کار می کند، آدرس IP سرور را در مرورگر خود باز کنید. شما باید بتوانید صفحه پیش فرض آپاچی را مشاهده کنید.

http://ip-address

نصب LAMP با MariaDB

سرور MariaDB را نصب کنید

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

apt install mariadb-server mariadb-client

پس از اتمام نصب، وضعیت MariaDB را بررسی کنید.

systemctl status mariadb

خروجی :

root@ubuntu:~# systemctl status mariadb

● mariadb.service - MariaDB 10.11.2 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enab>
     Active: active (running) since Fri 2023-04-14 18:11:18 UTC; 22s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 4880 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 17 (limit: 3386)
     Memory: 79.2M
        CPU: 1.439s
     CGroup: /system.slice/mariadb.service
             └─4880 /usr/sbin/mariadbd

اگر MariaDB فعال نیست با استفاده از دستور زیر شروع کنید.

systemctl start mariadb

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

systemctl enable mariadb

بعد، امنیت پایگاه داده MariaDB

mysql_secure_installation

خروجی :

root@ubuntu:~# 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
haven't set the root password yet, you should just press enter here.

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

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

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password:
Re-enter new 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] y
 ... 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] y
 ... 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] y
 - Dropping test database...
 ... Success!
 - 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] y
 ... 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!

با استفاده از دستور زیر وارد MariaDB شوید،

 mariadb -u root -p

برای خروج از MariaDB

exit

نسخه MariaDB را بررسی کنید

mariadb --version

خرید گیم سرور

خروجی :

root@ubuntu:~# mariadb --version
mariadb  Ver 15.1 Distrib 10.11.2-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

PHP را نصب کنید

PHP 8.1 نسخه پیش فرض PHP است که بر روی اوبونتو 22.04 نصب می شود.

PHP و افزونه های مورد نیاز را با استفاده از دستور زیر نصب کنید

apt install php libapache2-mod-php php-mysql php-common php-cli php-common php-json php-opcache php-readline php-mbstring php-gd php-dom php-zip php-curl

ماژول Apache PHP را فعال کرده و وب سرور آپاچی را مجددا راه اندازی کنید.

systemctl restart apache2

برای بررسی نسخه PHP

php --version

خروجی :

root@ubuntu:~# php --version
PHP 8.1.12-1ubuntu4 (cli) (built: Feb 22 2023 19:48:21) (NTS)
کپیright (c) The PHP Group
Zend Engine v4.1.12, کپیright (c) Zend Technologies
    with Zend OPcache v8.1.12-1ubuntu4, کپیright (c), by Zend Technologies

اسکریپت های PHP را آزمایش کنید که باید فایل info.php را در سند اضافه کنیم.

nano /var/www/html/info.php

موارد زیر را به فایل اضافه کنید

<?php phpinfo(); ?>

برای تایید لینک زیر را در یک مرورگر وب وارد کنید.

http://ip-address/info.php

اجرای PHP-FPM با آپاچی [اختیاری]

FPM (FastCGI Process Manager) یک پیاده سازی جایگزین PHP FastCGI با برخی ویژگی های اضافی مفید برای سایت های پر بار است.

بعد PHP-FPM را نصب کنید.

apt install php8.1-fpm

ماژول proxy_fcgi و setenvif را فعال کنید.

a2enmod proxy_fcgi setenvif

خروجی :

root@ubuntu:~# a2enmod proxy_fcgi setenvif
Considering dependency proxy for proxy_fcgi:
Enabling module proxy.
Enabling module proxy_fcgi.
Module setenvif already enabled
To activate the new configuration, you need to run:
  systemctl restart apache2

اکنون فایل php8.1-fpm را فعال کنید.

a2enconf php8.1-fpm

آپاچی را ریستارت کنید.

systemctl restart apache2

php-fpm را فعال کنید.

systemctl enable php8.1-fpm

برای شروع php-fpm دستور زیر را دنبال کنید.

systemctl start php8.1-fpm

برای بررسی وضعیت php-fpm.

systemctl status php8.1-fpm

خروجی :

root@ubuntu:~# systemctl status php8.1-fpm
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; preset: e>
     Active: active (running) since Fri 2023-04-14 18:30:47 UTC; 1min 32s ago
       Docs: man:php-fpm8.1(8)
   Main PID: 17796 (php-fpm8.1)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req>
      Tasks: 3 (limit: 3386)
     Memory: 9.5M
        CPU: 133ms
     CGroup: /system.slice/php8.1-fpm.service
             ├─17796 "php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)"
             ├─17797 "php-fpm: pool www"
             └─17798 "php-fpm: pool www"

اکنون پشته LAMP (Apache، MariaDB و PHP8.1) را با موفقیت در اوبونتو 23.04 نصب کرده اید.

ممنون که مثل همیشه همراه ما بودید با نصب LAMP با MariaDB در اوبونتو موفق و سربلند باشید D:

13رای - امتیاز 4.8 ممنون از امتیازی که دادید..!

دسته بندی شده در: