Can ee create phpBB site as it does with wordpress?


#1

It looks it’s very easy to create a wordpress site by a line of script ee site create example.com --wp.

I was wondering if there will be such an official script:

ee site create example.com --phpBB

phpBB is also a popular php app among quite a few open source discussion board apps.

I raised this question here because I tried to set a phpBB(v3) site by the following script

ee site create example.com --mysql    # create example.com with php & mysql support

However, when clicking the INSTALL btn (after the phpBB v3’s installation scripts have been uploaded and ready to install by visiting its install dir), the installation UI didn’t do anything, which I believe requires some small adjustment on the nginx config file or the php-fpm conf file, or both, as similar problem has been mentioned from phpBB forum for a quite a few times(one of them is https://www.phpbb.com/community/viewtopic.php?f=556&t=2419796). phpBB has offered some advice as well as a half-offical sample template, but it may be worth ee’s input.


#2

Check this page: https://websiteforstudents.com/install-phpbb-on-ubuntu-17-04-17-10-with-nginx-mariadb-and-php-support/

Especially pay attention to this section: Step 6: Configure Nginx


#3

Hi, thank you tyrro for your prompt and valuable reply.

That configuration seems a bit different, but I tried to adjust that to my situation. After quite a few time’s crashes (yes, nginx just cannot load and a few times, 502 bad gateway alert), I realized it was more than I could figure out where the problem lies and the problem is on the main config file.

With ee, the default-ly generated conf is sth like this(suppose my domain name is forum.example.com, and I’ll put the phpbb scripts all under the doc root, that is, /var/www/forum.example.com/htdocs/ dir):

server {

    server_name forum.example.com   www.forum.example.com;

    access_log /var/log/nginx/forum.example.com.access.log rt_cache; 
    error_log /var/log/nginx/forum.example.com.error.log;

    root /var/www/forum.example.com/htdocs;  

    index index.php index.html index.htm;

    include common/php.conf;      
    
    include common/locations.conf;
    include /var/www/forum.example/conf/nginx/*.conf;
}

I then think the step six codes shall be inserted somewhere into the above blocks. I did it and after a few rounds, made the following thing.

server {
    listen 80;
    server_name forum.example.com   www.forum.example.com;
    root /var/www/forum.example.com/htdocs;
    index index.php index.html index.htm;

    access_log /var/log/nginx/forum.example.com.access.log rt_cache; 
    error_log /var/log/nginx/forum.example.com.error.log;  

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

    location /install/ {
    try_files $uri $uri/ @rewrite_installapp;
    }

    location ~ \.php(/|$) {
    fastcgi_split_path_info  ^(.+\.php)(/.+)$;
    fastcgi_index            index.php;
    #fastcgi_pass             127.0.0.1:9000
    fastcgi_pass             unix:/run/php5-fpm.sock;
    include                  fastcgi_params;
    fastcgi_param   PATH_INFO       $fastcgi_path_info;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    try_files $uri $uri/ /install/app.php$is_args$args;
    }

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


    #include common/php.conf;      
    
    include common/locations.conf;

    include /var/www/forum.example.com/conf/nginx/*.conf;
}

Now, it could be found that I made two comment marks. One is that I commented the php.conf include line, because restarting nginx generated error msg pointing out sth wrong with that php.conf while ee’s original php.conf file says sth like do not modify. The other is the fastcgi_pass block. I turned it from TCP to CGI way and made it complied with conf.d/upsteam.conf file.

After restarting and rebooting, the installation dir still gave me a 502 bad gateway msg while visiting other non-php dir/files is ok.

I think one of the hard ways is that there are more than one conf to be taken aware of when they include one another.


#4

Make sure you’re actually using sock and not TCP. Otherwise you will need to change

fastcgi_pass unix:/run/php5-fpm.sock;

to

fastcgi_pass php;


#5

One other thing, to keep this custom rules from removal if you decide to upgrade to php7 for example, I’d move all custom rules code to a separate file, e.g. phpbb.conf and place it in this directory:

/var/www/example.com/conf/nginx

the following directive you have at the bottom:

include /var/www/example.com/conf/nginx/*.conf;

will pick up this code and add to your config file.


#6

Thank you, tyrro!

I’ll take some time and re-play the steps again.

I think phpBB may consider a better installer as even if I tried nginx’s official precanned conf file, the installation still failed when I was last time doing the test installation. The server was ok then but the installation page didn’t display properly so that the btn couldn’t be clicked, sth. like a css error.


#7

two things I just found.

I tried runcloud.io, with its scripts installer function. Runclould has an integrated and automatic phpBB installation service, but when I finished clicking and tried to view the install UI, the same surprising thing happened. I cannot install, either, just like what I have experienced before with nginx. Looks like, although it is not, that css files and js files are all missing.

I also tried Wordpress and MyBB. The interesting thing is both of these two php based app went smoothly without any problem. I don’t know why phpBB’s programmers haven’t noticed this issue. Very disappointed. I thought it was my problem. Now it seems the problem is phpBB’s.

upate@March 23

I tried aaPanel(and its Chinese equivalent BT Panel) with the following installation UI. An obvious bug is that the installation button or link is missing.


#8