Búsqueda de sitios web

Cómo instalar phpBB en Alma Linux


phpBB es gratuito, de código abierto y uno de los programas de boletines de foros más completos. Es totalmente escalable y personalizable y está basado en PHP y MySQL. Proporciona un espacio para que los usuarios se reúnan y se comuniquen entre sí. Ofrece cientos de paquetes de estilos e imágenes que te permiten personalizar tu foro a tu gusto. Millones de personas lo utilizan cada día, lo que lo convierte en el sistema de tablón de anuncios de código abierto más utilizado del mundo. Es una gran herramienta para las personas que desean crear foros de discusión estilo foro.

En esta publicación, le mostraremos cómo instalar el foro phpBB en Alma Linux 8.

Requisitos

  • Un servidor ejecutando Alma Linux 8.
  • Un nombre de dominio válido que apunte a la IP de su servidor.
  • Se configura una contraseña de root en el servidor.

Instalar Nginx, MariaDB y PHP

Primero, instale el servidor web Nginx, el servidor de base de datos MariaDB, PHP y otras extensiones PHP requeridas ejecutando el siguiente comando:

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

Una vez que todos los paquetes estén instalados, edite el archivo de configuración de PHP y cambie algunas configuraciones predeterminadas:

nano /etc/php.ini

Cambie las siguientes líneas:

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

Guarde y cierre el archivo, luego edite el archivo de configuración PHP FPM y cambie el usuario y el grupo en Nginx:

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

Cambie las siguientes líneas:

user = nginx
group = nginx

Guarde y cierre el archivo. Luego inicia y activa el servicio Nginx, MariaDB y PHP-FPM con el siguiente comando:

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

Cuando haya terminado, puede continuar con el siguiente paso.

Crear una base de datos para phpBB

phpBB utiliza MariaDB como backend de su base de datos. Entonces necesitas crear una base de datos y un usuario para phpBB.

Primero, inicia sesión en MariaDB con el siguiente comando:

mysql

Una vez que haya iniciado sesión, cree una base de datos y un usuario para phpBB usando el siguiente comando:

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

A continuación, otorgue todos los permisos a la base de datos phpBB con el siguiente comando:

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

A continuación, elimine los permisos y salga de MariaDB con el siguiente comando:

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

Cuando haya terminado, puede continuar con el siguiente paso.

Descargar phpBB

Primero, descargue la última versión de phpBB del sitio web oficial ingresando el siguiente comando:

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

Una vez que se complete la descarga, descomprima el archivo descargado con el siguiente comando:

unzip phpBB-3.3.7.zip

A continuación, mueva phpBB al directorio raíz web de Nginx:

mv phpBB3 /var/www/html/phpbb

Luego use el siguiente comando para configurar los permisos y propietarios correctos:

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

Una vez que haya terminado con eso, puede pasar al siguiente paso.

Configurar Nginx para phpBB

A continuación, deberá crear un archivo de configuración para el host virtual Nginx para phpBB. Puedes crearlo con el siguiente comando:

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

Pegue las siguientes líneas:

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;
  }
}

Guarde y cierre el archivo y verifique la configuración de Nginx con el siguiente comando:

nginx -t

Debería obtener el siguiente resultado:

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

Finalmente, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

También puedes verificar el estado del servicio Nginx con el siguiente comando:

systemctl status nginx

Obtendrá el siguiente resultado:

? 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.

Cuando haya terminado, puede continuar con el siguiente paso.

Accediendo a la interfaz web phpBB

Ahora abra su navegador web y acceda a la interfaz web de phpBB a través de la URL http://phpbb.example.com. Verá la siguiente página:

Haga clic en la pestaña INSTALAR. Deberías ver la página de instalación:

Haga clic en el botón Instalar. Deberías ver la siguiente página:

Ingrese su nombre de usuario de administrador, contraseña y dirección de correo electrónico y haga clic en el botón Enviar. Deberías ver la siguiente página:

Ingrese el nombre de usuario y la contraseña de su base de datos MySQL y haga clic en el botón Enviar. Deberías ver la siguiente página:

Ingrese los detalles de configuración de su servidor y haga clic en el botón Enviar. Deberías ver la siguiente página:

Ingrese los detalles de configuración de su correo electrónico y haga clic en el botón Enviar. Deberías ver la siguiente página:

Ingrese la información de configuración del tablero y haga clic en el botón Enviar. Una vez que se complete la instalación, se mostrará la siguiente página:

Haga clic en el botón Llévame al ACP. En la siguiente página deberías ver el panel de phpBB:

Conclusión

¡Felicidades! Ha instalado con éxito el foro phpBB en Alma Linux 8. Ahora puede diseñar sus foros y configurar su comunidad. Puede encontrar más información en el sitio web oficial de phpBB. Si tiene alguna pregunta, no dude en ponerse en contacto conmigo.