
4th June 2009, 10:37
|
|
Member
|
|
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
|
|
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
|

4th June 2009, 10:40
|
|
Senior Member
|
|
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 290
Thanks: 12
Thanked 100 Times in 58 Posts
|
|
Quote:
Originally Posted by Slowhand
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.
|

4th June 2009, 11:07
|
|
Member
|
|
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by Croydon
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
|

4th June 2009, 11:13
|
|
Senior Member
|
|
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 290
Thanks: 12
Thanked 100 Times in 58 Posts
|
|
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
?>
|
|
The Following User Says Thank You to Croydon For This Useful Post:
|
|

4th June 2009, 11:14
|
|
Member
|
|
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by Croydon
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
Replacing it with
Would that work?
Would be a useful technique for all sorts of things ;-)
Let me know
Slowhand
|

4th June 2009, 11:18
|
|
Member
|
|
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by Croydon
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
|

4th June 2009, 11:21
|
|
Senior Member
|
|
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 290
Thanks: 12
Thanked 100 Times in 58 Posts
|
|
Quote:
Originally Posted by Slowhand
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.
|

4th June 2009, 11:24
|
|
Member
|
|
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
|
|
Quote:
Originally Posted by Croydon
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 11:28.
|

4th June 2009, 11:35
|
|
Member
|
|
Join Date: Sep 2007
Posts: 96
Thanks: 6
Thanked 0 Times in 0 Posts
|
|
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
|

4th June 2009, 11:37
|
|
Senior Member
|
|
Join Date: Jul 2007
Location: Koblenz, Germany
Posts: 290
Thanks: 12
Thanked 100 Times in 58 Posts
|
|
Quote:
Originally Posted by Slowhand
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
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT +2. The time now is 18:44.
|
Recent comments
18 hours 51 min ago
18 hours 56 min ago
23 hours 55 min ago
1 day 6 hours ago
1 day 7 hours ago
1 day 8 hours ago
1 day 12 hours ago
1 day 19 hours ago
1 day 23 hours ago
2 days 1 hour ago