Поиск по сайту:

Как установить phpBB на Alma Linux


phpBB — это бесплатное программное обеспечение с открытым исходным кодом и одно из наиболее полных программ для создания бюллетеней на форумах. Он полностью масштабируем и настраиваем и основан на PHP и MySQL. Он предоставляет пользователям пространство для встреч и общения друг с другом. Он предлагает сотни пакетов стилей и изображений, которые позволят вам настроить форум по своему вкусу. Ею ежедневно пользуются миллионы людей, что делает ее наиболее широко используемой в мире системой досок объявлений с открытым исходным кодом. Это отличный инструмент для людей, которые хотят создавать доски обсуждений в стиле форума.

В этом посте мы покажем вам, как установить форум phpBB на Alma Linux 8.

Требования

  • Сервер под управлением Alma Linux 8.
  • Действующее доменное имя, указывающее на IP вашего сервера.
  • На сервере установлен пароль root.

Установите Nginx, MariaDB и PHP.

Сначала установите веб-сервер Nginx, сервер базы данных MariaDB, PHP и другие необходимые расширения PHP, выполнив следующую команду:

dnf install nginx mariadb-server php php-mysqli php-json php-gd php-curl php-mbstring php-fpm unzip -y

После установки всех пакетов отредактируйте файл конфигурации PHP и измените некоторые настройки по умолчанию:

nano /etc/php.ini

Измените следующие строки:

max_execution_time = 180
max_input_time = 90
memory_limit = 256M
upload_max_filesize = 64M

Сохраните и закройте файл, затем отредактируйте файл конфигурации PHP FPM и измените пользователя и группу в Nginx:

nano /etc/php-fpm.d/www.conf

Измените следующие строки:

user = nginx
group = nginx

Сохраните и закройте файл. Затем запустите и активируйте службы Nginx, MariaDB и PHP-FPM с помощью следующей команды:

systemctl start nginx mariadb php-fpm
systemctl enable nginx mariadb php-fpm

Когда вы закончите, вы можете перейти к следующему шагу.

Создать базу данных для phpBB

phpBB использует MariaDB в качестве базы данных. Итак, вам нужно создать базу данных и пользователя для phpBB.

Сначала войдите в MariaDB с помощью следующей команды:

mysql

После входа в систему создайте базу данных и пользователя для phpBB, используя следующую команду:

MariaDB [(none)]> CREATE DATABASE phpbbdb;
MariaDB [(none)]> CREATE USER 'phpbbuser'@'localhost' IDENTIFIED BY 'password';

Затем предоставьте базе данных phpBB все разрешения с помощью следующей команды:

MariaDB [(none)]> GRANT ALL ON phpbbdb.* TO 'phpbbuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Затем удалите разрешения и выйдите из MariaDB с помощью следующей команды:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Когда вы закончите, вы можете перейти к следующему шагу.

Скачать phpBB

Сначала загрузите последнюю версию phpBB с официального сайта, введя следующую команду:

wget https://download.phpbb.com/pub/release/3.3/3.3.7/phpBB-3.3.7.zip

После завершения загрузки разархивируйте загруженный файл с помощью следующей команды:

unzip phpBB-3.3.7.zip

Затем переместите phpBB в корневой каталог веб-сайта Nginx:

mv phpBB3 /var/www/html/phpbb

Затем используйте следующую команду, чтобы установить правильные разрешения и владельцев:

chown -R nginx:nginx /var/www/html/phpbb
chmod -R 755 /var/www/html/phpbb

Как только вы закончите с этим, вы можете перейти к следующему шагу.

Настройте Nginx для phpBB

Далее вам нужно будет создать файл конфигурации виртуального хоста Nginx для phpBB. Вы можете создать его с помощью следующей команды:

nano /etc/nginx/conf.d/phpbb.conf

Вставьте следующие строки:

server {
   listen 80;
   server_name phpbb.exampledomain.com;
   root /var/www/html/phpbb;
   index index.php index.html index.htm;

    access_log /var/log/nginx/phpbb-access.log;
    error_log /var/log/nginx/phpbb-error.log;

location / {
	try_files $uri $uri/ @rewriteapp;

	# Pass the php scripts to FastCGI server specified in upstream declaration.
	location ~ \.php(/|$) {
		include fastcgi.conf;
                fastcgi_pass unix:/run/php-fpm/www.sock;
		fastcgi_split_path_info ^(.+\.php)(/.*)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		fastcgi_param DOCUMENT_ROOT $realpath_root;
		try_files $uri $uri/ /app.php$is_args$args;
		fastcgi_intercept_errors on;	
	}

	# Deny access to internal phpbb files.
	location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!\w+)|store|vendor) {
		deny all;
		# deny was ignored before 0.8.40 for connections over IPv6.
		# Use internal directive to prohibit access on older versions.
		internal;
	}
}

location @rewriteapp {
	rewrite ^(.*)$ /app.php/$1 last;
}

Correctly pass scripts for installer
location /install/ {
	try_files $uri $uri/ @rewrite_installapp =404;

	# Pass the php scripts to fastcgi server specified in upstream declaration.
	location ~ \.php(/|$) {
		include fastcgi.conf;
                fastcgi_pass unix:/run/php-fpm/www.sock;
		fastcgi_split_path_info ^(.+\.php)(/.*)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		fastcgi_param DOCUMENT_ROOT $realpath_root;
		try_files $uri $uri/ /install/app.php$is_args$args =404;
		fastcgi_intercept_errors on;	
	}
}

location @rewrite_installapp {
	rewrite ^(.*)$ /install/app.php/$1 last;
}

Deny access to version control system directories.
location ~ /\.svn|/\.git {
	deny all;
	internal;
}

 gzip on; 
 gzip_comp_level 6;
 gzip_min_length 1000;
 gzip_proxied any;
 gzip_disable "msie6";
 gzip_types
     application/atom+xml
     application/geo+json
     application/javascript
     application/x-javascript
     application/json
     application/ld+json
     application/manifest+json
     application/rdf+xml
     application/rss+xml
     application/xhtml+xml
     application/xml
     font/eot
     font/otf
     font/ttf
     image/svg+xml
     text/css
     text/javascript
     text/plain
     text/xml;

  # assets, media
  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
      expires    90d;
      access_log off;
  }
  
  # svg, fonts
  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
      add_header Access-Control-Allow-Origin "*";
      expires    90d;
      access_log off;
  }
}

Сохраните и закройте файл и проверьте конфигурацию Nginx с помощью следующей команды:

nginx -t

Вы должны получить следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Наконец, перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

Вы также можете проверить состояние службы Nginx с помощью следующей команды:

systemctl status nginx

Вы получите следующий результат:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Sat 2022-04-02 11:50:20 UTC; 4s ago
  Process: 4558 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 4556 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 4554 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 4560 (nginx)
    Tasks: 2 (limit: 11412)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??4560 nginx: master process /usr/sbin/nginx
           ??4561 nginx: worker process

Apr 02 11:50:20 linux systemd[1]: nginx.service: Succeeded.
Apr 02 11:50:20 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Apr 02 11:50:20 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Apr 02 11:50:20 linux nginx[4556]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Apr 02 11:50:20 linux nginx[4556]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Apr 02 11:50:20 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Apr 02 11:50:20 linux systemd[1]: Started The nginx HTTP and reverse proxy server.

Когда вы закончите, вы можете перейти к следующему шагу.

Доступ к веб-интерфейсу phpBB

Теперь откройте веб-браузер и войдите в веб-интерфейс phpBB по URL-адресу http://phpbb.example.com. Вы увидите следующую страницу:

Нажмите на вкладку УСТАНОВИТЬ. Вы должны увидеть страницу установки:

Нажмите кнопку Установить. Вы должны увидеть следующую страницу:

Введите имя пользователя, пароль и адрес электронной почты администратора и нажмите кнопку Отправить. Вы должны увидеть следующую страницу:

Введите имя пользователя и пароль базы данных MySQL и нажмите кнопку Отправить. Вы должны увидеть следующую страницу:

Введите данные конфигурации вашего сервера и нажмите кнопку Отправить. Вы должны увидеть следующую страницу:

Введите данные конфигурации электронной почты и нажмите кнопку Отправить. Вы должны увидеть следующую страницу:

Введите информацию о конфигурации платы и нажмите кнопку Отправить. После завершения установки откроется следующая страница:

Нажмите кнопку Отправить меня в ACP. На следующей странице вы должны увидеть панель управления phpBB:

Заключение

Поздравляем! Вы успешно установили форум phpBB на Alma Linux 8. Теперь вы можете создавать свои форумы и настраивать свое сообщество. Более подробную информацию вы можете найти на официальном сайте phpBB. Если у вас есть какие-либо вопросы, пожалуйста, свяжитесь со мной.