HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Tips/Tricks/Mods (http://www.howtoforge.com/forums/forumdisplay.php?f=29)
-   -   Net2ftp integration. (http://www.howtoforge.com/forums/showthread.php?t=42573)

vsevolod 11th January 2010 09:47

Net2ftp integration.
 
1 Attachment(s)
Hello!
In attachment you can read instruction how to integrate Net2ftp in ISPConfig3 on Centos 5.4.

trx82 12th January 2010 11:28

Thanks
 
Works with debian lenny too.

At step 26. insert .icons16.icoWebFTP { background-image: url("../../icons/x16/folder_open.png"); }
replace the background-image: with background: to have a proper display of folder icon.

por 27th January 2010 07:46

Heres how to get it to work with Ubuntu 9.10
 
For Ubuntu Karmic Koala 9.10 do the following to add net2ftp/WebFTP:

1. cd /tmp
2. wget http://www.net2ftp.com/download/net2ftp_v0.98.zip
3. unzip net2ftp_v0.98.zip
4. cd net2ftp_v0.98
5. mv files_to_upload /var/www/webftp
6. cd ..
7. /bin/rm -R net2ftp_v0.98
8. cd /etc/apache2/conf.d
9. nano webftp.conf or vi webftp.conf

Add This:
<Directory /var/www/webftp>
Order deny,allow
Allow from all
</Directory>
Alias /net2ftp /var/www/webftp
Alias /webftp /var/www/webftp

11. If using nano save with this (CTRL+O,Press Enter,CTRL+X) is vi use this (Shift+ZZ)
12. /etc/init.d/apache2 restart
13. cd /var/www/ispconfig/sites
14. nano site_webftp.php or vi site_webftp.php

Add This:
<?php
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
$app->auth->check_module_permissions('sites');
if (!isset($_GET['id'])){
die ("No site selected!");
}
$domainId = intval($_GET['id']);
$dbData = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE
domain_id = " . $domainId);
$serverId = intval($dbData['server_id']);
if ($serverId == 0){
die ("No Server found!");
}
$serverData = $app->db->queryOneRecord(
"SELECT server_name FROM server WHERE server_id = " .
$serverId);
header('location:/webftp?servername="'.$serverData['server_name'].'"');
exit;
?>


16. If using nano save with this (CTRL+O,Press Enter,CTRL+X) is vi use this (Shift+ZZ)
17. chown ispconfig:ispconfig site_webftp.php
18. cd /var/www/ispconfig/sites/templates
19. nano web_domain_list.htm or vi web_domain_list.htm
20. /*Go to line 44*/ (if using VI type 44G) | (if using nano just scroll down with arrow, find position typing CTRL+C)
21. Add This:
<a class="icons16 icoWebFTP" href="sites/site_webftp.php?id={tmpl_var name='id'}" target="webftp"><span>{tmpl_var name='admin_txt'}</span></a>

22. If using nano save with this (CTRL+O,Press Enter,CTRL+X) is vi use this (Shift+ZZ)
23. cd /var/www/ispconfig/themes/default/css/screen
24. nano content_ispc.css or vi content_ispc.css
25. /*Go to line 291*/ (if using VI type 291G) | (if using nano just scroll down with arrow, find position typing CTRL+C)
26. Add This:
.icons16.icoWebFTP { background-image: url("../../icons/x16/folder_open.png"); }

27. cd /var/www/webftp
28. nano settings_authorizations.inc.php or vi settings_authorizations.inc.php
29. /*Go to line 35*/ (if using VI type 35G) | (if using nano just scroll down with arrow, find position typing CTRL+C)
30. Find:
$net2ftp_settings["allowed_ftpservers"][1] = "ALL";
Change to this:
//$net2ftp_settings["allowed_ftpservers"][1] = "ALL";//commented out to add webftp/net2ftp

31. Right above the text you commented out add this:
$ftp_server=null;
$ftp_server=trim($_GET['servername'], '"');
if(!strlen($ftp_server)){
$ftp_server=$_COOKIE['ftp_server'];
}
else{
setcookie("ftp_server", $ftp_server);
}
if(strlen($ftp_server)){
$net2ftp_settings["allowed_ftpservers"][1] = $ftp_server;
}
else{
$net2ftp_settings["allowed_ftpservers"][1] = "ALL";
}


Now you can access webftp from domain list you will see a smal Open folder icon.

http://img130.imageshack.us/img130/6561/webftp.jpg

HiresAli 7th February 2010 13:32

I did everything, but i got an error message:


Warning: ftp_connect() [function.ftp-connect]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/webftp/includes/filesystem.inc.php on line 53
An error has occured

Unable to connect to FTP server on port 21.

What did i wrong?

Debian 5
Ispconfig 3.0.1.1

Nicke 9th February 2010 17:03

Quote:

Originally Posted by HiresAli (Post 218744)
I did everything, but i got an error message:


Warning: ftp_connect() [function.ftp-connect]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/webftp/includes/filesystem.inc.php on line 53
An error has occured

Unable to connect to FTP server on port 21.

What did i wrong?

Debian 5
Ispconfig 3.0.1.1

Point 31

Code:

$ftp_server=trim($_GET['servername'], '"');
should be

Code:

$ftp_server=trim($_GET['servername'], '\"');

HiresAli 9th February 2010 20:45

Quote:

Originally Posted by Nicke (Post 218961)
Point 31

Code:

$ftp_server=trim($_GET['servername'], '"');
should be

Code:

$ftp_server=trim($_GET['servername'], '\"');


Very THX!!!!

BorderAmigos 17th February 2010 17:30

This works great. My only issue is that clicking on the symlink for the logs directory crashes net2ftp. Typing it in works though. By reading their forums I see this has been an ongoing issue for years with them. If anyone has this and finds a solution please post it. Thanks.

fducloux 14th March 2010 02:28

hi guys,
i think i screwup something 8-)
when i click on the web2ftp icon i get this

Code:

require_once('../../lib/config.inc.php'); require_once('../../lib/app.inc.php'); $app->auth->check_module_permissions('sites'); if (!isset($_GET['id'])){ die ("No site selected!"); } $domainId = intval($_GET['id']); $dbData = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = " . $domainId); $serverId = intval($dbData['server_id']); if ($serverId == 0){ die ("No Server found!"); } $serverData = $app->db->queryOneRecord( "SELECT server_name FROM server WHERE server_id = " . $serverId); header('location:/webftp?servername="'.$serverData['server_name'].'"'); exit; ?>
any ideas what i'm missing? :(

fducloux 14th March 2010 02:33

err never mind.. i guess it's been a long day :)

i was missing the <?php at the begining!

fducloux 14th March 2010 02:43

1 Attachment(s)
I've automated the whole process and tested it!
i hope anyone finds this useful

note: it backup files prior performing any modification, and then shows a diff on a less, so you'll have to press q. and you'll have to delete the backup files manually.

here's the shell script, you can find it attached and gzipped.

Code:

# cat web2ftp.sh
#!/bin/bash
set -x

# Download, unzip, and more
cd /tmp
wget http://www.net2ftp.com/download/net2ftp_v0.98.zip
unzip net2ftp_v0.98.zip
cd net2ftp_v0.98
mv files_to_upload /var/www/webftp
cd ..
/bin/rm -R net2ftp_v0.98

# add to webftp.conf
echo ............. Creating /etc/apache2/conf.d/webftp.conf
cat <<EOF>/etc/apache2/conf.d/webftp.conf
<Directory /var/www/webftp>
Order deny,allow
Allow from all
</Directory>
Alias /net2ftp /var/www/webftp
Alias /webftp /var/www/webftp
EOF

# Restart apache
echo ............. Restarting apache
/etc/init.d/apache2 restart

echo ............. Creating /var/www/ispconfig/sites/site_webftp.php
cat <<EOF>/var/www/ispconfig/sites/site_webftp.php
<?php
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
\$app->auth->check_module_permissions('sites');
if (!isset(\$_GET['id'])){
die ("No site selected!");
}
\$domainId = intval(\$_GET['id']);
\$dbData = \$app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE
domain_id = " . \$domainId);
\$serverId = intval(\$dbData['server_id']);
if (\$serverId == 0){
die ("No Server found!");
}
\$serverData = \$app->db->queryOneRecord(
"SELECT server_name FROM server WHERE server_id = " .
\$serverId);
header('location:/webftp?servername="'.\$serverData['server_name'].'"');
exit;
?>
EOF

echo ............. Setting permissions for /var/www/ispconfig/sites/site_webftp.php
chown ispconfig:ispconfig /var/www/ispconfig/sites/site_webftp.php

echo ............. Modifing line 44 /var/www/ispconfig/sites/templates/web_domain_list.htm  Backup on /var/www/ispconfig/sites/templates/web_domain_list.htm.bak.$$
cp /var/www/ispconfig/sites/templates/web_domain_list.htm /var/www/ispconfig/sites/templates/web_domain_list.htm.bak.$$
sed -i "44i<a class=\"icons16 icoWebFTP\" href=\"sites/site_webftp.php?id={tmpl_var name=\'id\'}\" target=\"webftp\"><span>{tmpl_var name=\'admin_txt\'}</span></a>" /var/www/ispconfig/sites/templates/web_domain_list.htm
diff /var/www/ispconfig/sites/templates/web_domain_list.htm /var/www/ispconfig/sites/templates/web_domain_list.htm.bak.$$ |less


echo ............. Adding text on line 291 /var/www/ispconfig/themes/default/css/screen/content_ispc.css  Backup on  /var/www/ispconfig/themes/default/css/screen/content_ispc.css.bak.$$
cp /var/www/ispconfig/themes/default/css/screen/content_ispc.css /var/www/ispconfig/themes/default/css/screen/content_ispc.css.bak.$$
sed -i '291i.icons16.icoWebFTP { background-image: url(\"../../icons/x16/folder_open.png\"); }' /var/www/ispconfig/themes/default/css/screen/content_ispc.css
diff /var/www/ispconfig/themes/default/css/screen/content_ispc.css /var/www/ispconfig/themes/default/css/screen/content_ispc.css.bak.$$ |less

echo ............. Commenting line 35 /var/www/webftp/settings_authorizations.inc.php Backup on /var/www/webftp/settings_authorizations.inc.php.bak.$$
cp /var/www/webftp/settings_authorizations.inc.php /var/www/webftp/settings_authorizations.inc.php.bak.$$
sed -i '35s/^/\/\/ /'  /var/www/webftp/settings_authorizations.inc.php
sed -i '35s/$/ \/\/commented out to add webftpi\/net2ftp/'  /var/www/webftp/settings_authorizations.inc.php
diff /var/www/webftp/settings_authorizations.inc.php /var/www/webftp/settings_authorizations.inc.php.bak.$$  |less

echo ............. Adding text on line 34  /var/www/webftp/settings_authorizations.inc.php Backup on /var/www/webftp/settings_authorizations.inc.php.bak2.$$
cp /var/www/webftp/settings_authorizations.inc.php /var/www/webftp/settings_authorizations.inc.php.bak2.$$

sed -i "34i \$ftp_server=null; \n \$ftp_server=trim\(\$_GET[\'servername\'], \'\\\\\"\'\); \n if\(!strlen\(\$ftp_server\)\){ \n \$ftp_server=\$_COOKIE[\'ftp_server\']; \n } \n else{ \n setcookie\(\"ftp_server\", \$ftp_server\); \n } \n if(strlen\(\$ftp_server\)\){ \n \$net2ftp_settings[\"allowed_ftpservers\"][1] = \$ftp_server; \n } \n else{ \n \$net2ftp_settings[\"allowed_ftpservers\"][1] = \"ALL\"; \n } \n
" /var/www/webftp/settings_authorizations.inc.php

diff /var/www/webftp/settings_authorizations.inc.php /var/www/webftp/settings_authorizations.inc.php.bak2.$$  |less



BTW, i'm quite good with shell scripting, and a complete n00b when it comes to PHP or MySQL!
Could any one do the same thing for Z-Push? It would be awesome to have push-imap into ISPConfig!!

http://z-push.sourceforge.net/soswp/


Cheers!


All times are GMT +2. The time now is 13:14.

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