Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > ISPConfig 3 > Installation/Configuration

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #1  
Old 4th June 2009, 11:37
Slowhand Slowhand is offline
Member
 
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
Default Newb: Need to understand the fundamentals...

Hi,

Sorry if this is very basic..

Am I right in thinking that Ispc uses the structure in /var/www as a template and clones it to any other sites it creates?

In other words, if I install phpmyadmin in /var/www/phpmyadmin, then every new site will also have access to phpmyadmin in nameofnewsite/www/phpmyadmin?

Same with webmail etc?

Thanks :-)

Slowhand
Reply With Quote
Sponsored Links
  #2  
Old 4th June 2009, 11:40
Croydon Croydon is offline
ISPConfig Developer
 
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 932
Thanks: 16
Thanked 264 Times in 208 Posts
Default

Quote:
Originally Posted by Slowhand View Post
Hi,

Sorry if this is very basic..

Am I right in thinking that Ispc uses the structure in /var/www as a template and clones it to any other sites it creates?

In other words, if I install phpmyadmin in /var/www/phpmyadmin, then every new site will also have access to phpmyadmin in nameofnewsite/www/phpmyadmin?

Same with webmail etc?

Thanks :-)

Slowhand
No that's not correct. Website document roots are in /var/www/clients/clientx/...
If you need a symlink vor webmail in each website use this plugin:
http://www.howtoforge.com/forums/showthread.php?t=34917

You could easily duplicate that plugin and modify it for phpmyadmin symlink.
Reply With Quote
  #3  
Old 4th June 2009, 12:07
Slowhand Slowhand is offline
Member
 
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by Croydon View Post
No that's not correct. Website document roots are in /var/www/clients/clientx/...
If you need a symlink vor webmail in each website use this plugin:
http://www.howtoforge.com/forums/showthread.php?t=34917

You could easily duplicate that plugin and modify it for phpmyadmin symlink.
Croydon,

That was quick... Thanks for your reply.

Funnily enough I *just* installed the plugin you linked to before writing my original post :-)

I haven't looked at it but I imagine modifying the script will be *way* over my head... :-)

So, in that case, let me rephrase my original question:
If I install phpmyadmin in /var/www/phpmyadmin, then every new site will also have access to phpmyadmin in /var/www/clients/clientx/phpmyadmin?

It sounds as if the answer is no...

In which case this post confuses me:
(From http://www.howtoforge.com/forums/showthread.php?t=34047)

Code:
Hi,
i am Oliver, the "programmer" of the phpmyadmin link inside ISPC3.

if you click on such a link, i am looking for the SERVER, the database is running at (for example server #1). Then i am looking in the server-configuration for the "name", this server has (for example s001.muv-server.com). Then i create a link to the phpmyadmin at this server.

means (for this example)

http://s001.muv-server.com/phpmyadmin

this means, you only have to "create" a working phpmyadmin under your server (NOT under EVERY doamain!).

if your server is called s1.myserver.com than you need a pypmyadmin under s1.myserver.com -> thats all.

by the way. If you are using SSL with ISPC3, you must have a ssl certificate for your server too -> httpS://s1.myserver.com

if you have any more question->feel free to ask!

Olli
My brain hurts... too old for this :-)

Slowhand
Reply With Quote
  #4  
Old 4th June 2009, 12:13
Croydon Croydon is offline
ISPConfig Developer
 
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 932
Thanks: 16
Thanked 264 Times in 208 Posts
Default

Sorry, but you're quote has nothing to do with this

I did a second plugin that does the same for phpmyadmin as the other does for webmail.

Code:
/usr/local/ispconfig/server/plugins-available/pma_symlink_plugin.inc.php
and create a symlink in plugins-enabled
Code:
ln -s /usr/local/ispconfig/server/plugins-available/pma_symlink_plugin.inc.php /usr/local/ispconfig/server/plugins-enabled/pma_symlink_plugin.inc.php
Please note: the symlink is automatically removed / not created if suphp is enabled for this website as suphp doesn't allow symlinks outside the docroot.


PHP Code:
<?php

/*
Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh
All rights reserved.
Modification (c) 2009, Marius Cramer, pixcept KG 

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

class pma_symlink_plugin {
    
    var 
$plugin_name 'pma_symlink_plugin';
    var 
$class_name 'pma_symlink_plugin';
    
    var 
$action;
    
    
//* This function is called during ispconfig installation to determine
    //  if a symlink shall be created for this plugin.
    
function onInstall() {
        global 
$conf;
        
        if(
$conf['services']['web'] == true) {
            return 
true;
        } else {
            return 
false;
        }
        
    }
    
        
    
/*
         This function is called when the plugin is loaded
    */
    
    
function onLoad() {
        global 
$app;
        
        
/*
        Register for the events
        */
        
        
$app->plugins->registerEvent('web_domain_insert',$this->plugin_name,'insert');
        
$app->plugins->registerEvent('web_domain_update',$this->plugin_name,'update');
    }
    
    function 
insert($event_name,$data) {
        global 
$app$conf;
        
        
$this->action 'insert';
        
// just run the update function
        
$this->update($event_name,$data);
    }
    
    function 
update($event_name,$data) {
        global 
$app$conf;
        
        if(
$this->action != 'insert'$this->action 'update';
        
        if(
$data["new"]["type"] != "vhost" && $data["new"]["parent_domain_id"] > 0) {
            
            
$old_parent_domain_id intval($data["old"]["parent_domain_id"]);
            
$new_parent_domain_id intval($data["new"]["parent_domain_id"]);
            
            
// If the parent_domain_id has been chenged, we will have to update the old site as well.
            
if($this->action == 'update' && $data["new"]["parent_domain_id"] != $data["old"]["parent_domain_id"]) {
                
$tmp $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$old_parent_domain_id." AND active = 'y'");
                
$data["new"] = $tmp;
                
$data["old"] = $tmp;
                
$this->action 'update';
                
$this->update($event_name,$data);
            }
            
            
// This is not a vhost, so we need to update the parent record instead.
            
$tmp $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$new_parent_domain_id." AND active = 'y'");
            
$data["new"] = $tmp;
            
$data["old"] = $tmp;
            
$this->action 'update';
        }
        
        if(
$data["new"]["document_root"] == '') {
            
$app->log("document_root not set",LOGLEVEL_WARN);
            return 
0;
        }
        
        
$symlink true;
        if(
$data["new"]["php"] == "suphp"$symlink false;
        elseif(
$data["new"]["php"] == "cgi" && $data["new"]["suexec"] == "y"$symlink false;
        elseif(
$data["new"]["php"] == "fast-cgi" && $data["new"]["suexec"] == "y"$symlink false;
        
        
        if(!
is_dir($data["new"]["document_root"]."/web")) exec("mkdir -p ".$data["new"]["document_root"]."/web");
        if(
$symlink == false) {
            if(
is_link($data["new"]["document_root"]."/web/phpmyadmin")) exec("rm -f ".$data["new"]["document_root"]."/web/phpmyadmin");
        } else {
            if(!
is_link($data["new"]["document_root"]."/web/phpmyadmin")) exec("ln -s /var/www/phpmyadmin ".$data["new"]["document_root"]."/web/phpmyadmin");
            else 
exec("ln -sf /var/www/phpmyadmin ".$data["new"]["document_root"]."/web/phpmyadmin");
        }
    }
    

// end class

?>
Reply With Quote
The Following User Says Thank You to Croydon For This Useful Post:
Slowhand (4th June 2009)
  #5  
Old 4th June 2009, 12:14
Slowhand Slowhand is offline
Member
 
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by Croydon View Post
No that's not correct. Website document roots are in /var/www/clients/clientx/...
If you need a symlink vor webmail in each website use this plugin:
http://www.howtoforge.com/forums/showthread.php?t=34917

You could easily duplicate that plugin and modify it for phpmyadmin symlink.
Croydon,

Was just looking at the plugin...

If I called the plugin
Code:
phpmyadmin_symlink_plugin
and did a search & replace for
Code:
webmail_symlink_plugin
and replaced it with
Code:
phpmyadmin_symlink_plugin
and the same with
Code:
/web/webmail
Replacing it with
Code:
/web/phpmyadmin
Would that work?

Would be a useful technique for all sorts of things ;-)

Let me know

Slowhand
Reply With Quote
  #6  
Old 4th June 2009, 12:18
Slowhand Slowhand is offline
Member
 
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by Croydon View Post
Sorry, but you're quote has nothing to do with this
Arghhhh,

Why doesn't it? :-)

Isn't it about giving each site access to phpmyadmin?

Thanks for the new plugin!

Slowhand
Reply With Quote
  #7  
Old 4th June 2009, 12:21
Croydon Croydon is offline
ISPConfig Developer
 
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 932
Thanks: 16
Thanked 264 Times in 208 Posts
Default

Quote:
Originally Posted by Slowhand View Post
Arghhhh,

Why doesn't it? :-)

Isn't it about giving each site access to phpmyadmin?

Thanks for the new plugin!

Slowhand
Yes and no. It redirects the user to the main server url/phpmyadmin not to mydomain.com/phpmyadmin.
Reply With Quote
  #8  
Old 4th June 2009, 12:24
Slowhand Slowhand is offline
Member
 
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by Croydon View Post
Yes and no. It redirects the user to the main server url/phpmyadmin not to mydomain.com/phpmyadmin.
Croydon,

Got it :-)

I can see my technique for adapting your plugin wasn't quite right... ;-)

Edit: Actually... was it right?

Shouldn't be messing with stuff like this...

Thanks again :-)

Slowhand

Last edited by Slowhand; 4th June 2009 at 12:28.
Reply With Quote
  #9  
Old 4th June 2009, 12:35
Slowhand Slowhand is offline
Member
 
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
Default One last thing (yeah right...)

Croydon,

Is it Ok to symlink the installation of phpmyadmin to /var/www?

(Ubuntu installs it in /usr/shared I think)

Will your plugin still work?

Is it a secure thing to do?

Slowhand
Reply With Quote
  #10  
Old 4th June 2009, 12:37
Croydon Croydon is offline
ISPConfig Developer
 
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 932
Thanks: 16
Thanked 264 Times in 208 Posts
 
Default

Quote:
Originally Posted by Slowhand View Post
Croydon,

Is it Ok to symlink the installation of phpmyadmin to /var/www?

(Ubuntu installs it in /usr/shared I think)

Will your plugin still work?

Is it a secure thing to do?

Slowhand
In my opinion: yes
ln -s /usr/share/phpmyadmin /var/www/phpmyadmin works for me.
But be sure users need to log in and are not automatically logged in as root
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Newb: ISPConfig not showing @ :8080 Slowhand Installation/Configuration 11 2nd June 2009 14:52
Newb needs help savagemania Installation/Configuration 1 9th August 2007 10:58
Newb Guide to the World of Servers latcarf Suggest HOWTO 2 6th February 2007 16:12
extreamly newb question.... gatsu Installation/Configuration 20 13th December 2006 11:42
Best distro choise for newb & some advice pls Planet_Jeroen Technical 4 10th March 2006 10:41


All times are GMT +2. The time now is 03:46.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.