Comment #⁨1⁩

A little bit too late, but I did.

When you are creating an account in HestiaCP make sure to:

  • Add a custom document root when creating an account where Waterhole will reside.
  • Enable user to use SSH.

After that run as root

v-add-user-composer your-user

Login via ssh as your user and follow Waterhole install instructions except you need to do to first step like this before editing your env file with users.

php ~/.composer/composer create-project waterhole/waterhole path/to/forum

All options seem to work except I didn't tried update. It also has some weird lag which I now notice here as well.

I am guessing the same process applies to cPanel or DirectAdmin.

  1. In reply to H Hellas

    Not too late! Happy to see that someone noticed this thread. I was actually working on this for a whole week and managed to make it work yesterday... took a lot of tries. There is still many things I need to verify such as installing icons, redis and updating Waterhole.

    I want to write the guide after all the testing, but currently I have to sort out permissions.

    php artisan waterhole:install

    After successfully running installation you won't be able to access Waterhole.

    The stream or file "/home/admin/web/temporarydomain.com/public_html/waterhole/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/home/admin/web/temporarydomain.com/public_html/waterhole/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/home/admin/web/temporarydomain.com/public_html/waterhole/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/home/admin/web/temporarydomain.com/public_html/waterhole/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/home/admin/web/temporarydomain.com/public_html/waterhole/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/home/admin/web/temporarydomain.com/public_html/waterhole/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/home/admin/web/temporarydomain.com/public_html/waterhole/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: file_put_contents(/home/admin/web/temporarydomain.com/public_html/waterhole/storage/framework/views/93cbfbb5f501dc6bd9a8c1c2b2b1eec9.php): Failed to open stream: Permission denied Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}} Context: {"exception":{}}
    
    User
    ErrorException
    PHP 8.2.18
    10.48.10
    file_put_contents(/home/user/web/temporarydomain.com/public_html/storage/framework/cache/data/9e/2b/9e2b818fa9ebab8a1cf1e554c078022f690de0d5): Failed to open stream: Permission denied
    
    73 vendor frames
    
    public / index.php : 51
    
    |
    
    | Composer provides a convenient, automatically generated class loader for
    
    | this application. We just need to utilize it! We'll simply require it
    
    | into the script here so we don't need to manually load our classes.
    
    |
    
    */
    
    
    require __DIR__.'/../vendor/autoload.php';
    
    
    /*
    
    |--------------------------------------------------------------------------
    
    | Run The Application
    
    |--------------------------------------------------------------------------
    
    |
    
    | Once we have the application, we can handle the incoming request using
    
    | the application's HTTP kernel. Then, we will send the response back
    
    | to this client's browser, allowing them to enjoy our application.
    
    |
    
    */
    
    
    $app = require_once __DIR__.'/../bootstrap/app.php';
    
    
    $kernel = $app->make(Kernel::class);
    
    
    $response = $kernel->handle(
    
        $request = Request::capture()
    
    )->send();
    
    
    $kernel->terminate($request, $response);

    First I through that the issue was with misconfiguration nginix, but it was simple permission issue.

    To fix it I had to do next:

    chmod -R 777 ./public_html
    chmod -R 775 /home/admin/web/yourdomain.net/public_html/waterhole/storage

    The problem is that I suspect this is not right. I don't know what kind of permissions should each folder be inside the Waterhole from security perspective. I also wonder why the permissions did not get set correctly during installation.

    Anyone mind sharing that permissions should be for each folder? Much appreciated!