v0.1
(05.04.05 SBM): creación del documento
v0.2 (19.08.05 SBM): actualización y corrección de
errores en los directorios para servidores multi-foro, ejemplo completo
multi-foro
| sb1:~# apt-get -t testing install phpbb2 phpbb2-languages Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: phpbb2 phpbb2-languages 0 packages upgraded, 2 newly installed, 0 to remove and 157 not upgraded. Need to get 3338kB of archives. After unpacking 17.9MB will be used. Get:1 http://ftp.us.debian.org testing/main phpbb2 2.0.13-2 [524kB] Get:2 http://ftp.us.debian.org testing/main phpbb2-languages 2.0.13-2 [2814kB] Fetched 3338kB in 6s (541kB/s) Preconfiguring packages ... Selecting previously deselected package phpbb2. (Reading database ... 28489 files and directories currently installed.) Unpacking phpbb2 (from .../phpbb2_2.0.13-2_all.deb) ... Selecting previously deselected package phpbb2-languages. Unpacking phpbb2-languages (from .../phpbb2-languages_2.0.13-2_all.deb) ... Setting up phpbb2 (2.0.13-2) ... Setting up phpbb2-languages (2.0.13-2) ... |
No instalo phpbb2-conf-mysql porque depende de otros paquetes
testing que no me interesa instalar.
****** Setup database
If you don't want to use phpbb2-conf-mysql, for example if you want to
have
full control yourself or want to use a different database system, you
need to
setup the database yourself.
- login to your databaseserver (running MySQL or PostgreSQL) as the
database
administrator (normally root)
Entro via phpMyAdmin.
- create a database 'phpbb2'
Creo la BBDD 'phpbb2-tws' ya que será para el foro de www.thewebspain.com.
CREATE DATABASE `phpbb2-tws` ;
- create a user 'phpbb2' with random
password, and give it
SELECT/INSERT/UPDATE/DELETE rights for the phpbb database
(rights to
alter the tables is not needed)
GRANT USAGE ON * . * TO 'phpbb2-tws'@'localhost' IDENTIFIED BY '*****' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
GRANT SELECT , INSERT , UPDATE , DELETE ON `phpbb2-tws` . * TO 'phpbb2-tws'@'localhost';
- execute the create table commands
and the starting table content
from
/usr/share/doc/phpbb2/schemas/$dbms_{schema,basic}.sql
Esos dos ficheros son accesibles via web si tenemos el apache configurado para servir el directorio /usr/share/doc.
Estructura: /doc/phpbb2/schemas/mysql_schema.sql
Datos iniciales: /doc/phpbb2/schemas/mysql_basic.sql
- Add the correct server-details and
user-credentials in
/etc/phpbb2/config.php (see
/usr/share/doc/phpbb2/examples/config.php for an
example)
Vamos a realizar una instalación preveyendo futuras nuevas instancias de phpbb2 para otros dominios. Así que creamos el fichero como 'config-tws.php'.
| sb1:/etc/phpbb2# cat config-tws.php <?php // // phpBB 2.x configuration file // /* The Database Management System to use Any of: mysql, mysql4, postgres, mssql, oracle, msaccess, mssql-odbc Note: use mysql4 only to enable transaction support, which you must enable in MySQL first. 'mysql' works fine with MySQL 4.x. */ $dbms = 'mysql'; /* In $dbhost, 'localhost' means local UNIX socket connection rather than TCP/IP to localhost. If you want the latter, write 127.0.0.1 or the equivalent of localhost.localdomain */ $dbhost = 'localhost'; $dbname = 'phpbb2-tws'; $dbuser = 'phpbb2-tws'; $dbpasswd = 'xxxxx'; $table_prefix = 'phpbb_'; define('PHPBB_INSTALLED', true); sb1:/etc/phpbb2# |
Dado que este fichero contiene una clave, debemos revisar sus permisos:
| sb1:/etc/phpbb2# ls -l total 12 -rw-r--r-- 1 root root 1110 Apr 5 14:47 apache.conf -rw-r--r-- 1 root root 658 Apr 5 14:45 config-tws.php drwxr-xr-x 2 root root 4096 Apr 5 12:49 templates sb1:/etc/phpbb2# chgrp www-data config-tws.php sb1:/etc/phpbb2# chmod 640 config-tws.php sb1:/etc/phpbb2# ls -l total 12 -rw-r--r-- 1 root root 1110 Apr 5 14:47 apache.conf -rw-r----- 1 root www-data 658 Apr 5 14:45 config-tws.php drwxr-xr-x 2 root root 4096 Apr 5 12:49 templates sb1:/etc/phpbb2# |
La instalación del paquete crea un fichero de configuración en /etc/phpbb2/apache.conf con un enlace desde /etc/apache/conf.d
Dado que queremos una configuración por dominios, eliminamos
el enlace y pasamos los datos a la configuración del virtualhost:
Añado este código para permisos de los directorios implicados:
| # phpbb2 <Directory "/var/lib/phpbb2/avatars-tws"> Order allow,deny Allow from all </Directory> <DirectoryMatch /usr/share/phpbb2/site/> <IfModule mod_php4.c> php_flag register_globals off </IfModule> Options -Indexes +FollowSymlinks DirectoryIndex index.php index.htm AllowOverride None order allow,deny allow from all </DirectoryMatch> # phpbb2 |
El directorio /var/lib/phpbb2/avatars-tws debe ser creado. Hay que usar uno para cada dominio, es donde se suben las imágenes de cada usuario (avatares) que aparecen al lado de sus posts.
| sb1:/var/lib/phpbb2# ls -l total 4 drwx-wx--- 3 root www-data 4096 Apr 5 12:49 avatars sb1:/var/lib/phpbb2# mkdir avatars-tws sb1:/var/lib/phpbb2# chgrp www-data avatars-tws/ sb1:/var/lib/phpbb2# ls -l total 8 drwx-wx--- 3 root www-data 4096 Apr 5 12:49 avatars drwxr-xr-x 2 root www-data 4096 Apr 5 15:16 avatars-tws sb1:/var/lib/phpbb2# chmod 730 avatars-tws/ sb1:/var/lib/phpbb2# ls -l total 8 drwx-wx--- 3 root www-data 4096 Apr 5 12:49 avatars drwx-wx--- 2 root www-data 4096 Apr 5 15:16 avatars-tws |
También hay que enlazar desde la raiz de la instalación de phpbb2 para que el servidor pueda copiar las imágenes subidas desde la web. Los enlaces deben ser desde /usr/share/phpbb2/site/images hacia los diferentes directorios avatar-*.
Falta la configuración de alias y demás para que funcione, que va dentro del virtualhost correspondiente:
| # phpbb2 php_value auto_prepend_file /etc/phpbb2/config-tws.php Alias /foro /usr/share/phpbb2/site Alias /foro/images/avatars /var/lib/phpbb2/avatars-tws # phpbb2 |
La configuración por defecto del phpbb2 sitúa las
imágenes subidas bajo images/avatars
según la raiz de la instalación. Eso hace que todas las
imágenes vayan al mismo directorio. Según la
configuración que estamos describiendo, queremos separar las
imágenes de cada foro (estamos suponiendo que tenemos más
de uno en el servidor) en un directorio. Cambiaremos esto según
convenga, en este caso a images/avatars-tws.
Al intentar entrar por primera vez me da un error indicando que no
puede conectar a la BBDD. Esto me huele al típico problema con
la libreria de mysql (comentado en otros documentos).
La anterior instalación está preparada para instalar
más de un foro en el mismo servidor. A continuación se
muestra un ejemplo en el que se han añadido dos foros más
en otro dominio.
| sb1:~# ls -l /etc/phpbb2 total 20 -rw-r--r-- 1 root root 1101 Mar 30 03:34 apache.conf -rw-r----- 1 root www-data 671 Aug 18 21:26 config-coches.php -rw-r----- 1 root www-data 658 Apr 5 14:45 config-tws.php -rw-r----- 1 root www-data 664 Aug 18 20:37 config-barcos.php drwxr-xr-x 2 root root 4096 Jul 31 13:10 templates sb1:~# cat /etc/apache/conf.d/tws.conf # # configuracion apache para dominio www.??????.com # # 05.04.05 SBM creacion # [...] # phpbb2 <Directory "/var/lib/phpbb2/avatars-tws"> Order allow,deny Allow from all </Directory> <DirectoryMatch /usr/share/phpbb2/site/> <IfModule mod_php4.c> php_flag register_globals off </IfModule> Options -Indexes +FollowSymlinks DirectoryIndex index.php index.htm AllowOverride None order allow,deny allow from all </DirectoryMatch> # phpbb2 <VirtualHost 12.34.56.78:80> ServerName www.?????.com [...] # phpbb2 php_value auto_prepend_file /etc/phpbb2/config-tws.php Alias /foro /usr/share/phpbb2/site Alias /foro/images/avatars /var/lib/phpbb2/avatars-tws # phpbb2 </VirtualHost> sb1:~# cat /etc/apache/conf.d/sargue.conf # # configuracion apache para dominio www.??????.com # # 05.04.05 SBM creacion # [...] # phpbb2 <Directory "/var/lib/phpbb2/avatars-barcos"> Order allow,deny Allow from all </Directory> <Directory "/var/lib/phpbb2/avatars-coches"> Order allow,deny Allow from all </Directory> <DirectoryMatch /usr/share/phpbb2/site/> <IfModule mod_php4.c> php_flag register_globals off </IfModule> Options -Indexes +FollowSymlinks DirectoryIndex index.php index.htm AllowOverride None order allow,deny allow from all </DirectoryMatch> # phpbb2 <VirtualHost 12.23.34.45:80> [...] # phpbb2 Alias /foro-barcos /usr/share/phpbb2/site Alias /foro-barcos/images/avatars /var/lib/phpbb2/avatars-barcos <Location /foro-barcos> php_value auto_prepend_file /etc/phpbb2/config-barcos.php </Location> Alias /foro-coches /usr/share/phpbb2/site Alias /foro-coches/images/avatars /var/lib/phpbb2/avatars-coches <Location /foro-coches> php_value auto_prepend_file /etc/phpbb2/config-coches.php </Location> # phpbb2 </VirtualHost> sb1:~# ls -l /var/lib/phpbb2/ total 16 drwx-wx--- 3 root www-data 4096 Aug 19 09:11 avatars drwx-wx--- 2 root www-data 4096 Aug 19 09:09 avatars-coches drwx-wx--- 2 root www-data 4096 Aug 19 09:11 avatars-tws drwx-wx--- 2 root www-data 4096 Aug 19 09:09 avatars-barcos sb1:~# ls -l /usr/share/phpbb2/site/images/ total 12 lrwxrwxrwx 1 root root 23 Jul 31 13:10 avatars -> /var/lib/phpbb2/avatars lrwxrwxrwx 1 root root 30 Aug 19 09:04 avatars-coches -> /var/lib/phpbb2/avatars-coches/ lrwxrwxrwx 1 root root 28 Aug 19 09:04 avatars-tws -> /var/lib/phpbb2/avatars-tws/ lrwxrwxrwx 1 root root 29 Aug 19 09:04 avatars-barcos -> /var/lib/phpbb2/avatars-barcos/ -rw-r--r-- 1 root root 169 Nov 21 2001 index.htm drwxr-xr-x 2 root root 4096 Jul 31 13:10 smiles -rw-r--r-- 1 root root 807 Sep 25 2001 spacer.gif |