داشتن بک وب سرور بر روی رزبری می‌تواند منافع زیادی داشته باشد. اکثر برنامه‌ها و کاربردها رابط کاربری وبی (WebUI) دارند که با داشتن وب سرور براحتی می‌شه از اونا استفاده کرد. در پست‌های آتی به کمک این رابط‌ها کارهای باحالی خواهیم کرد. دو تا وب سرور معروف و سبک که بدون دردسر می‌شه تو رزبری نصب کرد Nginx و Lighttpd هست من قبلا Lighttpd نصب می‌کردم ولی الان با سر صدایی که Nginx در عرصه سرورهای برپا کرده و رواج یافته است قصد دارم Nginx نصب کنم.

اِنجین‌اِکس (به انگلیسی: nginx) یک سرور وب با حجم پایین و کارایی بالا است که تحت مجوز بی‌اس‌دی منتشر می‌شود. این سرور وب در یونیکس، گنو/لینوکس، بی‌اس‌دی، مک او اس و ویندوز اجرا می‌شود. بر طبق گفتهٔ نت‌کرافت، در حال حاضر ۱۲٪ از دامنه‌های اینترنت از این سرور استفاده می‌کنند.

این پروژه در سال ۲۰۰۱ بنیان نهاده شد و توسط یک توسعه‌دهنده مستقل به نام ایگور سیسووف (به انگلیسی: Igor Sysoev) به مرحله اجرا درآمد تا در یکی از وب‌سایت‌های پرترافیک به نام رامبرلر به خدمت گرفته شود که این وب‌سایت در تاریخ سپتامبر ۲۰۰۸، روزانه بیش از ۵۰۰ میلیون درخواست HTTP داشته است. در حال حاضر وب‌سایت‌های سرشناسی همچون فیس‌بوک، نت‌فلیکس، وردپرس، سورس‌فورج و … از انجین‌اکس استفاده می‌کنند. در نسخه ۵٫۲ اوپن‌بی‌اس‌ده که در نوامبر ۲۰۱۲ عرضه شد هم نرم‌افزار انجین‌اکس به صورت پیشفرض در سیستم قرار داده شد تا جایگزینی باشد برای آپاچی ۱٫۳. در نهایت در سال ۲۰۱۴ آپاچی از درخت کد منبع اوپن‌بی‌اس‌دی حذف شد.

نصب Nginx:

مخازن را آپدیت و Nginx را با دستور apt-get نصب کنید:

sudo apt-get update
sudo apt-get install nginx

دایرکتوری پیشفرض nginx را از  /usr/share/nginx/www به /var/www تغییر دهید برای این کار ابتدا دایرکتوری جدید را ساخته و فایل کانفیگ nginx را ویرایش کنید.

sudo mkdir /var/www

وبرایش فایل کانفیگ nginx بصورت زیر:

sudo nano /etc/nginx/sites-available/default
server {
        listen 80;
        server_name $domain_name;
        root /var/www;
        index index.html index.htm;
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
}

راه اندازی سرویس:

sudo service nginx restart

برای تست سرور، بک فایل ساده با نام index.html در مسیر var/www قرار دهید و در مرورگرتان به آدرس IP رزیری‌پای بروید.

تنظیم PHP و MySQL:

نصب PHP:

sudo apt-get install php-fpm

فایل کانفیگ را بصورت زیر ویرایش کنید:

sudo nano /etc/nginx/sites-available/default
server {
        listen 80;
        server_name $domain_name;
        root /var/www;
        index index.html index.htm index.php;
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        location ~\.php$ {
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param HTTPS off;
                try_files $uri =404;
                include fastcgi_params;
        }
}

سرور را دوباره‌ راه‌اندازی کنید:

sudo service nginx restart

برای تست یک فایل php در مسیر روت قرار دهید و در مرورگر به آن آدرس بروید:

sudo nano /var/www/test.php
<?php
phpinfo();
?>

نصب دیتابیس MySQL:

sudo apt-get install mysql-server mysql-client php-mysql phpmyadmin

در هنگام نصب MySQL پسورد کاربر روت دیتابیس پرسیده خواهد شد که باید پسوردی را وارد کنید همچنین همین پسورد را در هنگام نصب phpmyadmin نیز باید بدهید. البته پیش از این باید در پاسخ به این سوال که آیا می خواهید تنظیمات phpmyadmin را انجام دهید، yes بزنید. از قسمت انتخاب سرور رد شوید و گزینه‌ای انتخاب نکنید. مسیر phpmyadmin را در دایرکتوری روت سرور لینک کنید:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

حال در مروگر به آدرس زیر بروید، اگر بدون هیچ خطا و مشکلی صفحه باز شود  نصب کلیه مراحل موفقیت‌آمیز بوده است.

http://<raspberrypi-ip-address>/phpmyadmin

اگر از قبل mysql را نصب کرده بودید و در حین کانفیگ phpmyadmin به مشکل برخورید، با زدن دستورات زیر یک یوزر و یک دیتابیس برای phpmyadmin بسازید:

mysql -u root -p
CREATE DATABASE phpmyadmin;

حال یک کاربر تعریف می‌کنیم، من اسم کاربر رو "phpmyadmin" گذاشتم و همه دسترسی‌ها را بهش دادم. در دستور زیر بجای عبارت  ENTERPASSWORD  پسورد دلخواه‌تون رو بنویسد:

GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'ENTERPASSWORD';

exit

حالا دستور زیر را بزنید تا دوباره به تنظیمات phpmyadmin برگردید:

sudo dpkg-reconfigure phpmyadmin  

نوع ارتباط را TCP/IP انتخاب کنید و سولات پرسیده شده پاسخ دهید.

منبع:

https://fa.wikipedia.org/wiki/انجین‌اکس

https://xmodulo.com/lightweight-web-server-raspberry-pi.html