Kallys/MediaDownloader

can't install with caddy

Closed this issue · 8 comments

`session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/MediaDownloader/sources/lib/composer/bcosca/fatfree-core/base.php:1670)
[/var/www/MediaDownloader/sources/app/lib/session.php:34] Base->clear()
[/var/www/MediaDownloader/sources/app/lib/alerter.php:39] App\Lib\Session->Clear()
[/var/www/MediaDownloader/sources/app/lib/alerter.php:41] Base->mutex()
[/var/www/MediaDownloader/temp/1pv1bcbmkkohu.3pxdgdmcml0k4.php:50] App\Lib\Alerter::GetMessages()
[/var/www/MediaDownloader/temp/1pv1bcbmkkohu.31g6l0jjtckk4.php:1] Preview->render()
[/var/www/MediaDownloader/sources/app/controllers/install.php:22] Preview->render()
[/var/www/MediaDownloader/sources/app/app.php:147] Base->run()
[index.php:7] App\App->Run()

`

Please tell me which caddy version you are using.

Caddy v1.0.3

Ok, I just tried to install the same caddy version and it works without any issue.
Please post here your Caddyfile and tell me when this error occurs.

OS Debian 9 php 7.0

Caddyfile
mydomain:443 {
root /var/www/MediaDownloader/public
tls my_key my_crt
fastcgi / /var/run/php/php7.0-fpm.sock {
ext .php
split .php
index index.php
}
}

'root@localhodt:/var/www/MediaDownloader# composer install
Deprecation warning: Your package name kallys/MediaDownloader is invalid, it should not contain uppercase characters. We suggest using kallys/media-downloader instead. Make sure you fix this as Composer 2.0 will error.
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
root@localhost:/var/www/MediaDownloader# composer update
Deprecation warning: Your package name kallys/MediaDownloader is invalid, it should not contain uppercase characters. We suggest using kallys/media-downloader instead. Make sure you fix this as Composer 2.0 will error.
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
root@localhost:/var/www/MediaDownloader# php index.php

<title>Media Downloader</title>
            <script type="text/javascript" src="http://cac/js/jquery-1.12.0.min.js"></script>
            <script type="text/javascript" src="http://cac/js/bootstrap.min.js"></script>
    </head>
    <body>
            <div class="navbar navbar-default">
                    <div class="navbar-header">
                            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                            </button>
                            <a class="navbar-brand" href="http://cac">Media Downloader</a>
                    </div>


            </div>

            <div class="container">
                                    </div>

Installation

Requirements
Name Value Status
php_version 7.0.33-0+deb9u5
mdc /var/www/MediaDownloader/mdc
logs /var/www/MediaDownloader/resources/logs/
databases /var/www/MediaDownloader/resources/databases/
sessions /var/www/MediaDownloader/resources/sessions/
temp /var/www/MediaDownloader/temp/
                            <fieldset>
                                    <legend>Administrator</legend>
                                    <p class="help-block">Administrator is a super user in charge of setting up this server.</p>
                                    <div class="form-group ">
                                            <label for="admin-name" class="col-sm-2 control-label">Name</label>
                                            <div class="col-sm-10">
                                                    <input type="text" class="form-control" id="admin-name" name="name" value="" placeholder="Administrator">
                                                                              </div>
                                    </div>
                                    <div class="form-group ">
                                            <label for="admin-passwd" class="col-sm-2 control-label">Password</label>
                                            <div class="col-sm-10">
                                                    <input type="password" class="form-control" id="admin-passwd" name="password" value="" placeholder="Password">                                                                                  </div>
                                    </div>
                                    <div class="form-group ">
                                            <label for="admin-passwd-confirm" class="col-sm-2 control-label">Password confirmation</label>
                                            <div class="col-sm-10">
                                                    <input type="password" class="form-control" id="admin-passwd-confirm" name="password_confirm" value="" placeholder="Password confirmation">
                                                                              </div>
                                    </div>
                            </fieldset>

                            <fieldset>
                                    <legend>Server settings</legend>
                                    <div class="form-group ">
                                            <label for="youtubedl_path" class="col-sm-2 control-label">Youtube-dl path</label>
                                            <div class="col-sm-10">
                                                    <input type="text" class="form-control" id="youtubedl_path" name="youtubedl_path" value="/usr/local/bin/youtube-dl">
                                                    <span class="help-block">Path to youtube-dl binary.</span>
                                                                              </div>
                                    </div>
                                    <div class="form-group ">
                                            <label for="download_path" class="col-sm-2 control-label">Download path</label>
                                            <div class="col-sm-10">
                                                    <input type="text" class="form-control" id="download_path" name="download_path" value="/var/www/MediaDownloader/public/downloads/">
                                                    <span class="help-block">Path on this server where media will be downloaded to.</span>
                                                                              </div>
                                    </div>
                            </fieldset>

                            <div class="text-center">
                                    <button type="reset" class="btn btn-default">Reset</button>
                                    <button type="submit" class="btn btn-primary">Install</button>
                            </div>
                    </form>
            </div>
    </div>
</body>
session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/MediaDownloader/sources/lib/composer/bcosca/fatfree-core/base.php:1670) [/var/www/MediaDownloader/sources/app/lib/session.php:34] Base->clear() [/var/www/MediaDownloader/sources/app/lib/alerter.php:39] App\Lib\Session->Clear() [/var/www/MediaDownloader/sources/app/lib/alerter.php:41] Base->mutex() [/var/www/MediaDownloader/temp/1pv1bcbmkkohu.3pxdgdmcml0k4.php:50] App\Lib\Alerter::GetMessages() [/var/www/MediaDownloader/temp/1pv1bcbmkkohu.31g6l0jjtckk4.php:1] Preview->render()[/var/www/MediaDownloader/sources/app/controllers/install.php:22] Preview->render()[/var/www/MediaDownloader/sources/app/app.php:147] Base->run() [index.php:7] App\App->Run() <title>Media Downloader</title>
            <script type="text/javascript" src="http://cac/js/jquery-1.12.0.min.js"></script>
            <script type="text/javascript" src="http://cac/js/bootstrap.min.js"></script>
    </head>
    <body>
            <div class="navbar navbar-default">
                    <div class="navbar-header">
                            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                                    <span class="icon-bar"></span>
                            </button>
                            <a class="navbar-brand" href="http://cac">Media Downloader</a>
                    </div>


            </div>

            <div class="container">'

Ok, thanks.

Few things to progress:

  • First, run composer install in folder containing composer.json (MediaDownloader/ not MediaDownloader/public)
  • Then, you are not supposed to run this app in CLI mode:
    Don't run php index.php but use your web server instead: execute caddy inside MediaDownloader/public folder
  • Finally, you really shouldn't use your root user to perform all those steps (use www-data on debian)

Hi.
Actually I run the composer in the folder of MediaDownloader and running the php is because the page localhost\install not found in the web browser.

Hi, you're right composer should have complained about composer.json file if you weren't in right directory. Moreover, error logs indicate that FatFree is already installed.

Then, the next thing you need to do is to tell caddy that all URL should be rewrote to index.php. Moreover, you can add some logging lines if things don't go as expected:

mydomain:443 {
    root /var/www/MediaDownloader/public
    tls my_key my_crt
    log stdout
    errors stderr
    fastcgi / /var/run/php/php7.0-fpm.sock {
        ext .php
        split .php
        index index.php
    }
    rewrite {
        to {path} /index.php?{path}&{query}
    }
}

Next, if things still does not work, you can paste your caddy logs here (please use the "Insert code" syntax for better readability).

Yes,it work.

Thank you.