ÿþhow to install web based ftp - Net2ftp ====================================== Net2ftp is by far the most versatile and feature filled of the three. Along with standard FTP features like chmoding, renaming, deleting, downloading, etc, uploading can be done in three different ways. A standard browser upload, a Flash based upload, or a Java upload. One special thing about the standard upload is that you can upload an archive (zip, tar.gz, etc) and it will extract it on the fly; net2ftp can also zip files and folders already uploaded. The Flash based upload is just a generic upload with a progress bar. The Java upload can upload directories and batch upload files. Another useful feature of net2ftp is the install wizard. The install wizard (when you click on  Install ) uploads a small php file to your server and gives you a link to that file. When you click that link (or go to the file if the link is wrong) it will allow you to install a number of PHP applications (like WordPress, phpBB, etc). The best thing about net2ftp though, is that it can be downloaded and hosted on your site (much like WordPress.) This will let you use a version for just your personal website, brand it for a larger website or intranet, or even host your own online FTP client. //////////////////////// Installation instructions Web server requirements " Web server: any web server which can run PHP. The most popular one is Apache. " PHP: at least version 4.2.3. net2ftp works under Safe Mode. One advanced feature requires PHP 5 (send raw FTP command). " Disk space: 7.5 MB for net2ftp (less if you remove the plugins), and a few MB for the temporary files. Installation procedure 1 - Unzip all the files on your computer, and upload them to your server. 2 - The /temp directory should be chmodded to 777 (you can use net2ftp.com to do this). 3 - Set your settings in the settings.inc.php file; read "Next steps" below for more details. 4 - A database is only required if you want to log the actions of the users. To create the tables, execute the SQL queries below (also in the "create_tables.sql" file). This can be done easily in PhpMyAdmin, the popular front-end to MySQL. DROP TABLE IF EXISTS `net2ftp_logAccess`; DROP TABLE IF EXISTS `net2ftp_log_access`; CREATE TABLE `net2ftp_log_access` (`id` int(10) unsigned NOT NULL auto_increment,`date` date NOT NULL default '0000-00-00',`time` time NOT NULL default '00:00:00',`remote_addr` text NOT NULL,`remote_port` text NOT NULL,`http_user_agent` text NOT NULL,`page` text NOT NULL,`datatransfer` int(10) unsigned default '0',`executiontime` mediumint(8) unsigned default '0',`ftpserver` text NOT NULL,`username` text NOT NULL,`state` text NOT NULL,`state2` text NOT NULL,`screen` text NOT NULL,`directory` text NOT NULL,`entry` text NOT NULL,`http_referer` text NOT NULL,KEY `index1` (`id`)) TYPE=MyISAM; DROP TABLE IF EXISTS `net2ftp_logError`; DROP TABLE IF EXISTS `net2ftp_log_error`; CREATE TABLE `net2ftp_log_error` (`date` date NOT NULL default '0000-00-00',`time` time NOT NULL default '00:00:00',`ftpserver` text NOT NULL,`username` text NOT NULL,`message` text NOT NULL,`backtrace` text NOT NULL,`state` text NOT NULL,`state2` text NOT NULL,`directory` text NOT NULL,`remote_addr` text NOT NULL,`remote_port` text NOT NULL,`http_user_agent` text NOT NULL,KEY `index1` (`date`,`time`,`ftpserver`(100),`username`(50))) TYPE=MyISAM; DROP TABLE IF EXISTS `net2ftp_logConsumptionFtpserver`; DROP TABLE IF EXISTS `net2ftp_log_consumption_ftpserver`; CREATE TABLE `net2ftp_log_consumption_ftpserver`(`date` date NOT NULL default '0000-00-00',`ftpserver` varchar(255) NOT NULL default '0',`datatransfer` int(10) unsigned default '0',`executiontime` mediumint(8) unsigned default '0',PRIMARY KEY (`date`,`ftpserver`)) TYPE=MyISAM; DROP TABLE IF EXISTS `net2ftp_logConsumptionIpaddress`; DROP TABLE IF EXISTS `net2ftp_log_consumption_ipaddress`; CREATE TABLE `net2ftp_log_consumption_ipaddress`(`date` date NOT NULL default '0000-00-00',`ipaddress` varchar(15) NOT NULL default '0',`datatransfer` int(10) unsigned default '0',`executiontime` mediumint(8) unsigned default '0',PRIMARY KEY (`date`,`ipaddress`)) TYPE=MyISAM; DROP TABLE IF EXISTS `net2ftp_users`; CREATE TABLE `net2ftp_users` (`ftpserver` varchar(255) NOT NULL default '0',`username` text NOT NULL,`homedirectory` text NOT NULL,KEY `index1` (`ftpserver`,`username`(50))) TYPE=MyISAM; Next steps " Important settings in settings.inc.php: æ%Enter an Admin panel password. If no password is entered, the Admin panel is not accessible. æ%Turn logging on or off (requires a MySQL database). æ%Choose if you want to set a daily consumption limit to restrict each user's daily data transfer volume and script execution time (requires a MySQL database). By default the data transfer volume is set to 50 MB per day and the script execution time to 1500 seconds per day - but this may be changed. Both figures are logged per IP address, and per FTP server. Once the daily consumption limit is reached, the user will still be able to browse FTP servers, but the transfer of data to/from the server will be blocked. " Set authorizations in settings_authorizations.inc.php: æ%Allow the users to connect to any FTP server, or only to a restricted list of FTP servers æ%Ban certain FTP servers æ%Ban certain IP addresses; users connecting from these addresses will not be able to use the website æ%Allow the users to connect to any FTP server port, or only to one port æ%Set the user home directories in the table net2ftp_users (using phpMyAdmin). This will direct a user to his home directory when he logs in, and also restrict the browsing to this directory. The other actions (rename, copy, ...) are not protected!! If you need tighter security, set the user permissions directly on the FTP server. æ%A list of banned keywords can be entered. Directories and files containing these keywords can't be processed. Files can't be renamed if the new filename contains a banned keyword. This is to avoid net2ftp being used to upload Paypal and Ebay scams. " To allow large file uploads and transfers, you may have to change these settings: æ%in the file php.ini (directory C:\windows or /etc): upload_max_filesize, post_max_size, max_execution_time, memory_limit æ%in the file php.conf (directory /etc/httpd/conf.d): LimitRequestBody " Protect the /temp directory. If you use the Apache web server, the .htaccess file which is provided already does this. " In your php.ini file, register_globals can be set to "off" (this is more secure), but the application will off course also work if it is set to "on". " The files are transmitted using the BINARY mode by default. There is a list of file extensions (txt, php, ...) which are transmitted in ASCII mode. Edit this list if needed, it is located in /includes/filesystem.inc.php. Look for function ftpAsciiBinary.