نحوه نصب phpBB روی اوبونتو #
مقدمه #
phpBB (تابلوی اعلانات PHP) یک برنامه انجمن متنباز، مقیاسپذیر و مسطح است که برای بهبود تعاملات و مشارکت کاربران طراحی شده است. phpBB بستری را برای کاربران فراهم میکند تا در بحثها شرکت کنند، ایدهها را به اشتراک بگذارند و به طور ایمن در یک رابط وب واحد اطلاعات را تبادل کنند. انجمنها با غنیسازی تجربه آنلاین و تسهیل تعاملات معنادار، کاربران را قادر میسازند تا ارتباط برقرار کنند، یاد بگیرند و رشد کنند.
این مقاله نحوه استقرار phpBB روی سرور اوبونتو ۲۲.۰۴ و ایمنسازی برنامه برای میزبانی چندین انجمن را توضیح میدهد.
پیش نیاز ها #
قبل از شروع:
- یک سرور Ubuntu 22.04 را به عنوان سرور اصلی آماده کنید.
- یک پایگاه داده برای MySQL جهت استفاده با phpBB آماده کنید.
- یک رکورد زیر دامنه جدید تنظیم کنید که به آدرس IP سرور شما اشاره کند.
- با استفاده از SSH و به عنوان یک کاربر غیر ریشه با امتیازات sudo به سرور دسترسی پیدا کنید.
- سرور را بهروزرسانی کنید.
- نصب مجموعه آپاچی، مایاسکیوال و پیاچپی (LAMP)
ایجاد پایگاه داده phpBB #
- به پایگاه داده خود برای کلاستر MySQL وارد شوید.
examplehost.negarnovindb.comرا با آدرس اینترنتی میزبان واقعی خود جایگزین کنید.console$ mysql -h examplehost.negarnovindb.com -P ۱۶۷۵۱ -u negarnovinadmin -p
در صورت درخواست، رمز عبور MySQL مربوط به NegarNovin Managed Database خود را وارد کنید.
- یک پایگاه داده جدید برای استفاده با phpBB ایجاد کنید. برای مثال،
phpbbdb.sqlmysql> CREATE DATABASE phpbbdb;
- به پایگاه داده تغییر دهید.sql
mysql> USE phpbbdb;
- یک کاربر جدید MySQL با نام
phpbbuserو یک رمز عبور قوی ایجاد کنید.sqlmysql> CREATE USER 'phpbbuser'@'localhost' IDENTIFIED BY 'securepassword';
- به کاربر دسترسی کامل به پایگاه داده phpBB بدهید.sql
mysql> GRANT ALL ON phpbbdb.* to 'phpbbuser'@'localhost';
- برای اعمال مجوزهای جدید کاربر، مجوزهای MySQL را مجدداً بارگذاری کنید.sql
mysql> FLUSH PRIVILEGES;
- از کنسول MySQL خارج شویدsql
mysql> EXIT;
نصب phpBB #
- تمام ماژولهای PHP مورد نیاز برای استفاده با phpBB را نصب کنید.console
$ sudo apt install php-mysql php-xml php-mbstring -y - آخرین نسخه phpBB را با استفاده از
wgetدانلود کنید و آن را با نامphpbb.zip. ذخیره کنید.console$ wget -O phpbb.zip https://download.phpbb.com/pub/release/3.3/3.3.11/phpBB-3.3.11.zipدستور بالا نسخه phpBB
۳.۳.۱۱, را دانلود میکند، برای تأیید آخرین نسخه برای نصب روی سرور خود، به صفحه انتشارها مراجعه کنید. - با استفاده از Unzip، فایلها را از فایل انتشار استخراج کنید.console
$ unzip phpbb.zip - پوشه استخراج شده را به پوشه ریشه وب خود
/var/www/html. منتقل کنید.console$ sudo mv phpBB3 /var/www/html/phpbb - به کاربر و گروه وب سرور آپاچی، امتیاز مالکیت
www-dataرا برای دایرکتوری اعطا کنید.console$ sudo chown -R www-data:www-data /var/www/html/phpbb - برای اعطای دسترسی کامل خواندن و نوشتن به وب سرور، مجوزهای دایرکتوری phpBB را روی
۷۷۵تنظیم کنید.console$ sudo find /var/www/html/phpbb -type d -exec chmod ۷۵۵ {} \;
- مجوزهای فایل دایرکتوری را روی
۶۴۴تنظیم کنید تا فقط امتیازات خواندن برای سایر کاربران و گروه وب سرور فعال شود.console$ sudo find /var/www/html/phpbb -type f -exec chmod ۶۴۴ {} \;
پیکربندی آپاچی برای ارائه فایلهای برنامه phpBB #
- یک فایل پیکربندی میزبان مجازی آپاچی جدید ایجاد کنید. برای مثال،
phpbb.conf.console$ sudo nano /etc/apache2/sites-available/phpbb.conf - تنظیمات زیر را به فایل اضافه کنید.
phpbb.example.comرا با دامنه واقعی خود جایگزین کنید.apache<VirtualHost *:۸۰> ServerAdmin admin@example.com DocumentRoot /var/www/html/phpbb ServerName phpbb.example.com <Directory /var/www/html/phpbb> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/phpbb_error.log CustomLog ${APACHE_LOG_DIR}/phpbb_access.log combined </VirtualHost>
فایل را ذخیره کنید و ببندید.
پیکربندی فوق یک پروفایل میزبان مجازی phpBB جدید ایجاد میکند که به اتصالات ورودی روی پورت HTTP
۸۰گوش میدهد و فایلهایی را از دایرکتوری/var/www/html/phpbbارائه میدهد. - پیکربندی میزبان مجازی phpBB را فعال کنید.console
$ sudo a2ensite phpbb - ماژول بازنویسی آپاچی را فعال کنید تا قوانین بازنویسی phpBB فعال شود.console
$ sudo a2enmod rewrite - برای اعمال تغییرات پیکربندی، وب سرور آپاچی را مجدداً راهاندازی کنید.console
$ sudo systemctl restart apache2
phpBB امنیت #
وب سرور آپاچی اتصالات ورودی را میپذیرد و phpBB را روی پورت HTTP ۸۰.سرویس میدهد. به طور پیشفرض، فایروال بدون عارضه (UFW) روی سرورهای Negarnovin Ubuntu فعال است، برنامه را طوری پیکربندی کنید که به همه درخواستهای اتصال به پورت HTTP ۸۰ و پورت HTTPS ۴۴۳.اجازه دهد. برای ایجاد قوانین جدید فایروال و تولید گواهیهای SSL معتبر برای استفاده با phpBB، بخشهای زیر را دنبال کنید.
تنظیم قوانین فایروال UFW #
- وضعیت UFW را مشاهده کنید و تأیید کنید که برنامه فعال است.console
$ sudo ufw statusاگر پیام
Status: inactiveدریافت کردید، پورت SSH۲۲را فعال کنید و دستور زیر را برای فعال کردن UFW اجرا کنید.console$ sudo ufw allow ۲۲ && sudo ufw enable
- پورت HTTP
۸۰را از طریق فایروال مجاز کنید.console$ sudo ufw allow ۸۰/tcp
- پورت HTTPS
۴۴۳.را مجاز کنید.console$ sudo ufw allow ۸۰/tcp
- برای اعمال تغییرات فایروال، جدول UFW را مجدداً بارگذاری کنید.console
$ sudo ufw reload - برای تأیید تغییرات فایروال، جدول UFW را مشاهده کنید.console
$ sudo ufw statusخروجی:
Status: active To Action From -- ------ ---- ۲۲/tcp ALLOW Anywhere ۸۰/tcp ALLOW Anywhere ۴۴۳/tcp ALLOW Anywhere ۲۲/tcp (v6) ALLOW Anywhere (v6) ۸۰/tcp (v6) ALLOW Anywhere (v6) ۴۴۳/tcp (v6) ALLOW Anywhere (v6)
ایجاد گواهینامههای SSL معتبر Let’s Encrypt #
- کلاینت Certbot Let’s Encrypt را با استفاده از Snap نصب کنید.console
$ sudo snap install --classic certbotاگر بسته Snapd روی سرور شما موجود نیست، آن را نصب کنید.
console$ sudo apt install snapd -y - یک گواهی SSL جدید برای دامنه phpBB خود ایجاد کنید.
phpbb.example.comوadmin@example.comرا با اطلاعات واقعی خود جایگزین کنید.console$ sudo certbot --apache --redirect -d phpbb.example.com -m username@example.com --agree-tosدر صورت موفقیت، خروجی شما باید مانند تصویر زیر باشد:
Account registered. Requesting a certificate for phpbb.example.com Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/phpbb.example.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/phpbb.example.com/privkey.pem This certificate expires on 2024-07-09. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for phpbb.example.com to /etc/apache2/sites-available/phpbb-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://phpbb.example.com - تأیید کنید که Certbot پس از انقضا، گواهی SSL را بهطور خودکار تمدید میکند.console
$ sudo certbot renew --dry-runخروجی:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Processing /etc/letsencrypt/renewal/phpbb.example.com.conf Account registered. Simulating renewal of an existing certificate for phpbb.example.com Congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/phpbb.example.com/fullchain.pem (success)
دسترسی به phpBB #
- با استفاده از یک مرورگر وب مانند کروم، به برنامه phpBB خود دسترسی پیدا کنید.
https://phpbb.example.comمطمئن شوید که صفحه شروع phpBB در مرورگر شما نمایش داده میشود.

نصب phpBB در اوبونتو - برای شروع فرآیند پیکربندی برنامه، روی INSTALL در کنار برگه Overview کلیک کنید.
- الزامات سیستم phpBB را بررسی کنید و برای آزمایش محیط سرور خود، روی Install کلیک کنید.
- نام کاربری، آدرس ایمیل و رمز عبور مدیر phpBB خود را در فیلدهای مربوطه وارد کنید.
- برای اعمال تغییرات جدید کاربر ادمین پلتفرم، روی Submit کلیک کنید.
- نوع پایگاه داده را
MYSQLانتخاب کنید. سپس، نام میزبان، پورت و پایگاه داده، نام کاربری و رمز عبوری که قبلاً ایجاد کردهاید را در Negarnovin Managed Database for MySQL وارد کنید. برای اعمال پیکربندی پایگاه داده، روی Submit کلیک کنید.
- برای فعال کردن گزینه تنظیمات Force server URL و حفظ
httpsبه عنوان پروتکل سرور، روی Yes کلیک کنید. مقدار دامنه phpBB خود را تأیید کنید و برای ذخیره تنظیمات برنامه، روی Submit کلیک کنید.
- برای فعال کردن گزینههای سرور SMTP برای استفاده با phpBB، روی Yes کلیک کنید یا برای استفاده از برنامه بدون تنظیمات ایمیل، گزینه NO را انتخاب کنید. سپس، برای ذخیره تغییرات، روی Submit کلیک کنید.
- زبان انجمن خود را انتخاب کنید، عنوان جدید انجمن و توضیحی برای شناسایی انجمن وارد کنید.
- برای ذخیره تنظیمات جدید انجمن، روی Submit کلیک کنید.

- برای تکمیل فرآیند پیکربندی و هدایت به کنترل پنل phpBB، روی «Take me to the ACP» کلیک کنید.

- برای ایجاد یک Forums جدید، به برگه انجمنها در منوی اصلی کنترل پنل phpBB بروید.

نصب phpBB در اوبونتو - رویCreate new forum کلیک کنید.
- نام انجمن، توضیحات، رمز عبور، سبک و قوانین ارسال پست خود را وارد کنید.
- هرگونه گزینه پیشرفتهای را که میخواهید در تنظیمات انجمن تغییر دهید، تأیید کنید.

- برای ایجاد انجمن جدید phpBB، اسکرول کنید و روی Submit کلیک کنید.

- مجوزهای کاربر و گروه را تنظیم کنید و برای ذخیره مجوزهای انجمن، روی Add Permissions کلیک کنید.
- برای تأیید انجمن جدید phpBB، روی Manage forums در منوی ناوبری سمت چپ کلیک کنید.

- برای مشاهده انجمنهای عمومی و آزمایش قابلیتهای برنامه، از دامنه اصلی phpBB خود دیدن کنید.
https://phpbb.example.com
نتیجه گیری #
شما phpBB را روی یک سرور مجازی آماده کردهاید و برنامه را برای استفاده عمومی ایمن کردهاید. میتوانید یک انجمن آنلاین با دسترسی عمومی یا خصوصی به انجمنهای خاص روی سرور ایجاد کنید تا به مخاطبان هدف خود خدمترسانی کنید. برای اطلاعات بیشتر و گزینههای پیکربندی، به مستندات phpBB مراجعه کنید.









