Jump to content
Froxlor Forum

kingsley ezenwa

  • Posts

  • Joined

  • Last visited

Posts posted by kingsley ezenwa

  1. 18 minutes ago, d00p said:

    This is for theoretical use of multiple database servers yes. Has never really been tested or used (been there since syscp). You could define another database-server in lib/userdata.inc.php (note the index [0] for the root-access stuff); 

    // another db server
    $sql_root[1]['caption']='DB Server #2';

    Even I never used that - so no idea whether this works as expected :) Feedback would be nice

    without testing this, can say probability of this working is very very High.
    How do I know this; because I developed a custom built Framework which I use both personally and for some clients and this is very very similar to how I did it except that the array index e.g $sql_root[1] can be numeric or alphaNumeric.
    Thanks a lot; now I can go ahead with ma work.

  2. Looking into the database table  `panel_databases` , I can see a column called  `dbserver` with Values all Zero.

    My question is, where is that value set ? 

    and what's it's use ?

    How would it function had it been set to 2 ?

    What happens should we have like 2 or more external databases (non localhost Databases) ; how do we allow customers utilize them.

    Does the value of `dbserver` correspond to something such as DataBase Server0, DataBase Server 1, .... 


    Really need help with answers please.


  3. Allow customers to enable shell access for ftp-users</b><br><strong class="red">Please note: Shell access allows the user to execute various binaries on your system. Use with extrem caution. Please only activate this if you REALLY know what you are doing!!!

    Now am asking, what's the real Dangers in enabling this ?
    Would their commands be limited to their Space (more like CHROOT) or would it affect everyone else (other users) including the Host Machine itself .



    PSS: I asked this in here to avoid opening another unhealthy thread.

  4. 42 minutes ago, d00p said:

    Just Download the tarball provided on the website, it includes all dependencies without the need of composer being installed on the system.

    Just downloaded the tarbal via https://files.froxlor.org/releases/froxlor-latest.tar.gz   and a quick peep into .../froxlor/lib/init.php shows it still needs Composer for autoLoading.

    Am looking at doing away with composer completely hence willing to manually include files if possible.

    This is among other reasons to accomodatee changes I made on my previous Froxlor + I equally don't want composer anywhere close to Me.

    Yea composer might be cool but ...

  5. Hello

    Been quite a while.

    Glad seeing the Good work happening here especially with all the interesting Updates.

    My issue is , I downloaded most recent version of Froxlor and can see a lot's changed including the fact You now need Composer to AutoLoad and install Certain Packages.
    Anyway I was able to Spin up a new VM where I tried installing Froxlor just so the Packages gets downloaded and I can see them now in Vendor folder.

    Anyway I have copied the entire Froxlor directory into my server BUT issue is I still need AutoLoad them BUT I still don't want any Composer so I looked into composer.json and tracked the files till I got to /vendor/composer/autoload_psr4.php    and    /vendor/composer/autoload_static.php   hence I can make out their File Paths.

    I equally know the composer file (/vendor/autoload.php) is being included in the init file located in  /lib/init.php   .

    Now rather than blindly testing, I want to know if there are any negative impacts to individually including each files from /vendor/composer/autoload_psr4.php   using include()  or require() functions .

    return array(
        'RobThree\\Auth\\' => array($vendorDir . '/robthree/twofactorauth/lib'),
        'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
        'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'),
        'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
        'Froxlor\\' => array($baseDir . '/lib/Froxlor'),
        'Algo26\\IdnaConvert\\' => array($vendorDir . '/froxlor/idna-convert-legacy/src'),

    I believe I found a patern on how those files might have been included e.g  'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'),    becomes    require($vendorDir . '/phpmailer/phpmailer/src/PHPMailer.php')


    but then, I might be wrong.  Really would appreciate your kind response and understanding

  6. 1 minute ago, d00p said:

    We do not do that via TCP because we have a socket for every customer/domain which is owned by the corresponding user...

    Is it possible to create TCP Sockets for every Customer ?
    I understand it's done for security reasons BUT just asking if it's possible OR what dangers would occur if a Single TCP Socket connection is used.

  7. 6 hours ago, princeofnaxos said:

    So I installed 0.9.1, but that version does not work in PHP5.6. Could you try and find out which exact version I have to use?

    Currently, I installed 0.9.19, but I don't know where to expect the 'do you want to upgrade from syscp' question.

    Thanks for your effort.

    If the accounts are not so much (Less than 25), why not manually recreate them so as to start on a very clean slate.

    Don't really know BUT you seem to love Older Unsupported Software versions.

    PHP5.6 is almost dropped if not dropped already. Why not move up to PHP 7.0 or if you have very old scripts on your websites, then install both 5.6 and 7.0 OR 7.2 .

    As for SYSCP, never used or saw it, only heard about it. Scripts such at such an Age are meant to be kept ar Museums, not to be used in Today's environment.

  8. Hi

    Am here once again,  Any Idea how to configure FROXLOR to use TCP  Socket to connect PHP-FPM rather than Unix Socket ?

    Once tried using port 9000  BUT that failed to work (I probably wasn't doing something right).


    By default, FROXLOR uses a UNIX Socket which isn't so good if you need to support lot's of concurrent connections .

    Am doing this in a bid to see what causes PHP7.2-FPM consume lot's of resources .


  9. Noticed something Weird.

    For a while now, have been having issues with one of my server so much I had to upgrade to a Server with 8GB of Ram from my previous 4GB ram yet I have to do restarts every 2-days and sometimes every day else it becomes UnResponsive websites begin to display  502 Bad gateway, and sometimes 504 Gateway timeout,.

    Other times, websites becomes so slow I have to restart the Server before everything returns to Normal.

    Before I do Restarts, I always notice Ram Usage is very High (almost 98% and sometimes 100% used). 

    Recently, I realized I don't really have to Restart the Server, clicking on Rebuild config files  (url looks like this    http://example.com/cpanel/admin_settings.php?page=rebuildconfigs&amp;s=q1w2e3r4t5y6uu7i8)   is enough to get the Ram Usage back to normal (about 15%) and all Websites Functioning as Normal.

    In other word, Clicking on  Rebuild config files  has same effect as Restarting the Server.

    So am bringing this Up to know if there's any other thing FROXLOR does other than generating Config Files .

    Issue has been going on for over 3-months now and have forced me into moving from a 4GB ram server to 8GB ram server.

    Have even tried to Over Optimized MYSQL (which was my earlier suspicious) as much as I could yet no result.


  10. Okay

    Never knew I was supposed to contribute back the codes.

    Would lok into that.


    By the way, what editor do you use with GIT that makes you able to display comments about what changes you make.

    All I do is just make modifications and only make comments where need be BUT those would never be display on GIT.

    Was able to make use of GIT few days ago BUT just for Updating as I still make edits outside GIT.

  11. Anyone currently using a Billing or Invoicing on FROXLOR and how do you currently handle billings .

    Want to know if there are current implementations to avoid reinventing a wheel .

    Also Don't think so BUT are there any Billing/Invoicing Modules currently working with FROXLOR ?


  12. Hi

    Any Plan introducing / adding a billing module to FROXLOR ?

    Also a look at the Panel Plans database table shows just how basic it's implemented.

    Seems to me, have been added as an after thought.

    Want to assume most features using the information in this table already existed long before the table was added hence reason why it's implemented in such a way.

    Also a look at customers table panel_customers also shows how contents of panel_plans were added rather than referencing the table row ids.

    Working on adding/extending features whenever i have little time hence want to know if there's a RoadMap of what happens to FROXLOR and if there are plans to do certain things.

    Also the Date of termination:  field added on the  Edit domain Page seems not to either work correctly OR i don't understand it's purpose.

    A look at it tells me the domain should expire according to the date added there BUT what happens is that as soon as a value is entered, it immediately say   (terminated as of 2020-02-14)  so please kindly make me understand this isn't an error or that it is.



  13. Am sorry BUT the English in your Announcement seems Huge for me.

    I just want to confirm / ask one thing -   Has the API FROXLOR version already been merged into the current Master in Github  ?

    I can see 2 Main Branches - Master and 0.9.x . Does the current Master already contain version 0.10.0 which is the API version ?

    What's the difference between  Master and 0.9.x  .  and which should we download if downloading from Github.

    In a simpler way, is version 0.10.0 now the new Master Branch ?

    Hoping to hear from you.


  14. Might not really get what was discussed in here BUT for a while now, I wrote a short script that allows Customers use external Smart-Host (e.g GMAIL, MailChimp, etc) instead of Postfix.

    Did this so as to avoid constant blacklisting of my IPs.

    Would have loved to integrate it directly into FROXLOR rather than make it an entirely different Page BUT am having issues editing FROXLOR's template.


    Don't really know how to edit FROXLOR's template files.

  15. 3 minutes ago, d00p said:

    Says all, has nothing to do with froxlor. Also there were no changes in the certificate creation between 0.9.x and 0.10.0 - also keep in mind that 0.10.0 is not even Beta and should not be used in production



    so what you think might be the issue  ?

    this is a domain that has been running without SSL for long and only decided to add SSL to it today .

  16. Before now, SSL has been working perfectly okay using FROXLOR but since upgrading to FROXLOR v0.10.0  , i noticed that though old domains already with SSL continues working, new domains registered for LetsEncrypt SSL under the new FROXLOR version isn't working with regards to SSL.

    Below is output of    php /var/www/FROXLOR/scripts/froxlor_master_cronjob.php --letsencrypt --debug


    PHP Warning:  Module 'apcu' already loaded in Unknown on line 0
    [information] Updating Let's Encrypt certificates
    [information] Updating example.com
    [information] Adding SAN entry: example.com
    [information] Adding SAN entry: www.example.com
    [information] letsencrypt Using 'https://acme-v01.api.letsencrypt.org' to generate certificate
    [information] letsencrypt Using existing account key
    [information] letsencrypt Starting certificate generation process for domains
    [information] letsencrypt Requesting challenge for example.com
    [information] letsencrypt Sending signed request to /acme/new-authz
    [error] Could not get Let's Encrypt certificate for example.com: No challenges received for example.com. Whole response: {"type":"urn:acme:error:rateLimited","detail":"Error creating new authz :: too many failed authorizations recently: see https:\/\/letsencrypt.org\/docs\/rate-limits\/","status":429} 



    Kindly do point me in the right direction if am making any mistake.

    Have compared the domain setting with those working with ssl and they are all same.


  17. These are few suspects I think might be causing issues as they are totally different from normal vHosts without FROXLOR

    1. fastcgi_pass localhost:9000; while FROXLOR generated vHost uses Sockets i.e fastcgi_pass unix:/var/run/1-user-example.com-php-fpm.socket;

    2.  Normal vHost  .php location block  is   location ~ \.php$ { }  While FROXLOR generated .php block is   location ~ ^(.+?\.php)(/.*)?$ {   }   AND       location @php {  }


  18. Finally, on a Working Server in production with MicroCahe enabled and without any Control Panel like FROXLOR, below is how the PHP Location block looks like


              location ~ \.php$ {
                            #Cache everything by default
                            set $no_cache 0;
                            # If non GET/HEAD, don't cache & mark user as uncacheable for 1 second via cookie
                            if ($request_method !~ ^(GET|HEAD)$) {
                              set $no_cache "1";
                            # Drop no cache cookie if need be
                            # (for some reason, add_header fails if included in prior if-block)
                            if ($no_cache = "1") {
                              #add_header Set-Cookie "_mcnc=1; Max-Age=2; Path=/";
                              #add_header X-Microcachable "0";
                            # Bypass cache if no-cache cookie is set
                            if ($http_cookie ~* "_mcnc") {
                              set $no_cache "1";
                            #Don't cache if the URL contains a query string
                            if ($query_string != ""){
                              set $no_cache 1;
                             # POST requests and urls with a query string should always go to PHP
                            if ($request_method = POST) {
                               set $no_cache 1;
                            # Don't use the cache for logged in users or recent commenters
                            if ($http_cookie ~* "comment_author|wordpress_no_cache|wordpress_logged_in") {
                                set $no_cache 1;
                            #Don't cache the following URLs
                            if ($request_uri ~* "/(wp-login.php|wp-admin|login.php|backend|admin)"){
                              set $no_cache 1;
                            # Don't cache uris containing the following segments
                            if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
                                set $no_cache 1;
                            #Don't cache if there is a cookie called PHPSESSID
                            if ($http_cookie ~* "PHPSESSID"){
                              set $no_cache 1;
                            #Don't cache if there is a cookie called wordpress_logged_in_[hash]
                            if ($http_cookie ~* "wordpress_logged_in_"){
                              set $no_cache 1;

                            # Bypass cache if flag is set
                            fastcgi_no_cache $no_cache;
                            fastcgi_cache_bypass $no_cache;
                            fastcgi_cache microcache;
                            fastcgi_cache_valid 404 30m;
                            fastcgi_cache_valid 200 301 302 304 20m;
                            fastcgi_max_temp_file_size 1500M;
                            fastcgi_cache_use_stale updating error timeout invalid_header http_500;
                            fastcgi_pass_header Set-Cookie;
                            fastcgi_pass_header Cookie;
                            fastcgi_index index.php;
                            fastcgi_pass localhost:9000;
                            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                            fastcgi_split_path_info ^(.+\.php)(/.+)$;
                            fastcgi_param  PATH_INFO          $fastcgi_path_info;
                            fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;               
                            fastcgi_param  PATH_TRANSLATED    $document_root$fastcgi_path_info;
                            #fastcgi_intercept_errors on;
                           include fastcgi_params; 


  • Create New...