جدول محتوایی
معرفی
پشته 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
سرور 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: