<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://megapuper.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.195.52.173&amp;*</id>
	<title>megapuper - Вклад участника [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://megapuper.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.195.52.173&amp;*"/>
	<link rel="alternate" type="text/html" href="http://megapuper.ru/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/109.195.52.173"/>
	<updated>2026-05-01T13:37:07Z</updated>
	<subtitle>Вклад участника</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://megapuper.ru/index.php?title=FTP-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Proftpd&amp;diff=1033</id>
		<title>FTP-сервер на базе Proftpd</title>
		<link rel="alternate" type="text/html" href="http://megapuper.ru/index.php?title=FTP-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Proftpd&amp;diff=1033"/>
		<updated>2015-10-09T14:02:47Z</updated>

		<summary type="html">&lt;p&gt;109.195.52.173: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Озадачился я как-то поставить для любимых юзверей в локалке фтп-сервер, пусть думаю обмениваются своим любимым поревом.&amp;lt;br/&amp;gt;&lt;br /&gt;
Чтоб там с пользователями, с записями в базу, с красивой статистикой и т.д. Выбор пал на proftpd. Задумано-сделано. Поехали.&lt;br /&gt;
&lt;br /&gt;
trhrt&lt;br /&gt;
Система FreeBSD 10.2&amp;lt;br/&amp;gt;&lt;br /&gt;
Корневой каталог /ftp&amp;lt;br/&amp;gt;&lt;br /&gt;
Ставить будем из пакетов(версия 1.3.5a):&amp;lt;br/&amp;gt;&lt;br /&gt;
 # pkg install proftpd proftpd-mod_sql_mysql-1.3.5a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Вносим в &amp;lt;code bash&amp;gt;/etc/rc.conf&amp;lt;/code&amp;gt;: &lt;br /&gt;
 proftpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Вариант 1. Простейший&amp;lt;br/&amp;gt;'''&lt;br /&gt;
Рихтуем proftpd.conf под наши нужды:&lt;br /&gt;
 ServerName                      &amp;quot;My FTP server&amp;quot;&lt;br /&gt;
 ServerType                      standalone&lt;br /&gt;
 DefaultServer                   on&lt;br /&gt;
 ScoreboardFile                  /var/run/proftpd/proftpd.scoreboard&lt;br /&gt;
 DefaultAddress                  localhost&lt;br /&gt;
 Port                            21&lt;br /&gt;
 Umask                           022&lt;br /&gt;
 MaxInstances                    30&lt;br /&gt;
 CommandBufferSize               512&lt;br /&gt;
 AllowOverwrite                  on&lt;br /&gt;
 AllowRetrieveRestart            on&lt;br /&gt;
 AllowStoreRestart               on&lt;br /&gt;
 TimeoutNoTransfer               300&lt;br /&gt;
 &lt;br /&gt;
 User                            nobody&lt;br /&gt;
 Group                           nogroup&lt;br /&gt;
 &lt;br /&gt;
 #Загоняем всех подключившихся в папку ftp&lt;br /&gt;
 DefaultRoot  /ftp&lt;br /&gt;
  &lt;br /&gt;
 ### Security&lt;br /&gt;
 AllowForeignAddress             off&lt;br /&gt;
 DenyFilter                      \*.*/&lt;br /&gt;
 MaxClientsPerHost               2 &amp;quot;The %m client are already connected from your host, it is not authorized any more&amp;quot;&lt;br /&gt;
 MaxLoginAttempts                20 &amp;quot;It is too much attempts to enter &amp;quot;&lt;br /&gt;
 PathDenyFilter                  &amp;quot;(^\.ftpaccess$)&amp;quot;&lt;br /&gt;
 RequireValidShell               off&lt;br /&gt;
 &lt;br /&gt;
 ### Логи&lt;br /&gt;
 DebugLevel                      1&lt;br /&gt;
 TransferLog                     /var/log/proftpd/proftpd-transfer.log&lt;br /&gt;
 ExtendedLog                     /var/log/proftpd/proftpd-extended.log&lt;br /&gt;
 SystemLog                       /var/log/proftpd/proftpd-system.log&lt;br /&gt;
 LogFormat                       default &amp;quot;%h %l %u %t \&amp;quot;%r\&amp;quot; %s %b&amp;quot;&lt;br /&gt;
 LogFormat                       auth    &amp;quot;%v [%P] %h %t \&amp;quot;%r\&amp;quot; %s&amp;quot;&lt;br /&gt;
 LogFormat                       write   &amp;quot;%h %l %u %t \&amp;quot;%r\&amp;quot; %s %b&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Anonymous /ftp&amp;gt;&lt;br /&gt;
   User                         ftp&lt;br /&gt;
   Group                        ftp&lt;br /&gt;
 &lt;br /&gt;
 UserAlias                       anonymous ftp&lt;br /&gt;
 MaxClients                      10&lt;br /&gt;
&lt;br /&gt;
Добавляем пользователя '''ftp''' для анонимного входа(без пароля)&lt;br /&gt;
 # pw useradd ftp -s /usr/sbin/nologin&lt;br /&gt;
В принципе всё. Для простейшего случая, с анонимным пользователем этого достаточно. Можно юзать. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь переходим к дальнейшей настройке сервера и остальным рюшечкам. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Вариант 2. Авторизация из файла'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Пользователей можно заводить с помощью утилиты ftpasswd.&lt;br /&gt;
Заводим юзверя или группу таким образом:(почему-то заводится только в папке в которой находимся)&lt;br /&gt;
 # ftpasswd --passwd --name ftp_user --file /usr/local/etc/proftpd/ftpd.passwd --uid 2000 --gid 2001 --home /ftp --shell /bin/false&lt;br /&gt;
 # ftpasswd --group --name ftp_group –-file /usr/local/etc/proftpd/ftpd.group --gid 2001 --member ftp_user&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
в proftpd.conf добавляем: &lt;br /&gt;
 AuthUserFile  /usr/local/etc/proftpd/ftpd.passwd&lt;br /&gt;
 AuthGroupFile  /usr/local/etc/proftpd/ftpd.group&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ну и собственно примерные права для папок(предварительно заведём пользователя boss).&lt;br /&gt;
 &amp;lt;Directory /ftp/download&amp;gt;&lt;br /&gt;
         &amp;lt;Limit WRITE DELE RMD MKD&amp;gt;&lt;br /&gt;
                 DenyAll&lt;br /&gt;
         &amp;lt;/Limit&amp;gt;&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Directory /ftp/upload&amp;gt;&lt;br /&gt;
         &amp;lt;Limit WRITE MKD&amp;gt;&lt;br /&gt;
                AllowAll&lt;br /&gt;
         &amp;lt;/Limit&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;Limit DELE RMD&amp;gt;&lt;br /&gt;
                AllowUser boss&lt;br /&gt;
                DenyAll&lt;br /&gt;
        &amp;lt;/Limit&amp;gt;&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итоговый конфиг&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;spoiler&amp;gt;&lt;br /&gt;
 ServerName                      &amp;quot;Megapuper FTP Server&amp;quot;&lt;br /&gt;
 ServerType                      standalone&lt;br /&gt;
 DefaultServer                   on&lt;br /&gt;
 ScoreboardFile                  /var/run/proftpd/proftpd.scoreboard&lt;br /&gt;
 DefaultAddress                  localhost&lt;br /&gt;
 Port                            21&lt;br /&gt;
 PassivePorts                    60000 65000&lt;br /&gt;
 Umask                           022&lt;br /&gt;
 MaxInstances                    30&lt;br /&gt;
 CommandBufferSize               512&lt;br /&gt;
 AllowOverwrite                  on&lt;br /&gt;
 AllowRetrieveRestart            on&lt;br /&gt;
 AllowStoreRestart               on&lt;br /&gt;
 TimeoutNoTransfer               300&lt;br /&gt;
 User                            nobody&lt;br /&gt;
 Group                           nogroup&lt;br /&gt;
 &lt;br /&gt;
 ### Security&lt;br /&gt;
 AllowForeignAddress             off&lt;br /&gt;
 DenyFilter                      \*.*/&lt;br /&gt;
 MaxClientsPerHost               2 &amp;quot;The %m client are already connected from your host, it is not authorized any more&amp;quot;&lt;br /&gt;
 MaxLoginAttempts                5 &amp;quot;It is too much attempts to enter &amp;quot;&lt;br /&gt;
 PathDenyFilter                  &amp;quot;(^\.ftpaccess$)&amp;quot;&lt;br /&gt;
 RequireValidShell               off&lt;br /&gt;
 &lt;br /&gt;
 ### Logs&lt;br /&gt;
 DebugLevel                      1&lt;br /&gt;
 TransferLog                     /var/log/proftpd/proftpd-transfer.log&lt;br /&gt;
 ExtendedLog                     /var/log/proftpd/proftpd-extended.log&lt;br /&gt;
 SystemLog                       /var/log/proftpd/proftpd-system.log&lt;br /&gt;
 LogFormat                       default &amp;quot;%h %l %u %t \&amp;quot;%r\&amp;quot; %s %b&amp;quot;&lt;br /&gt;
 LogFormat                       auth    &amp;quot;%v [%P] %h %t \&amp;quot;%r\&amp;quot; %s&amp;quot;&lt;br /&gt;
 LogFormat                       write   &amp;quot;%h %l %u %t \&amp;quot;%r\&amp;quot; %s %b&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_lang.c&amp;gt;&lt;br /&gt;
  UseEncoding utf8 cp1251&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 AuthUserFile  /usr/local/etc/ftpd.passwd&lt;br /&gt;
 AuthGroupFile  /usr/local/etc/ftpd.group&lt;br /&gt;
 &lt;br /&gt;
 DefaultRoot     /ftp&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Anonymous /ftp&amp;gt;&lt;br /&gt;
    User                         ftp&lt;br /&gt;
    Group                        ftp&lt;br /&gt;
 &lt;br /&gt;
 UserAlias                       anonymous ftp&lt;br /&gt;
 MaxClients                      10&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Directory /ftp&amp;gt;&lt;br /&gt;
        &amp;lt;Limit DELE RMD MKD&amp;gt;&lt;br /&gt;
                DenyAll&lt;br /&gt;
        &amp;lt;/Limit&amp;gt;&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Directory /ftp/download&amp;gt;&lt;br /&gt;
        &amp;lt;Limit WRITE DELE RMD MKD&amp;gt;&lt;br /&gt;
               DenyAll&lt;br /&gt;
        &amp;lt;/Limit&amp;gt;&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Directory /ftp/upload&amp;gt;&lt;br /&gt;
         &amp;lt;Limit WRITE MKD&amp;gt;&lt;br /&gt;
               AllowAll&lt;br /&gt;
        &amp;lt;/Limit&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
        &amp;lt;Limit DELE RMD&amp;gt;&lt;br /&gt;
               DenyAll&lt;br /&gt;
        &amp;lt;/Limit&amp;gt;&lt;br /&gt;
 &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/Anonymous&amp;gt;&lt;br /&gt;
&amp;lt;/spoiler&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Вариант 2. Авторизация из MySQL и админка'''&amp;lt;br/&amp;gt;&lt;br /&gt;
(Взято и адаптировано отсюда http://www.lissyara.su/articles/freebsd/programms/proftpd+mysql/) &lt;br /&gt;
&lt;br /&gt;
Создаём базу proftpd:&lt;br /&gt;
 mysql&amp;gt; create database proftpd set utf8 collate utf8_general_ci;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Заводим пользователя proftpd&lt;br /&gt;
 mysql&amp;gt; grant all on proftpd.* to proftpd@localhost identified by '&amp;lt;font color=blue&amp;gt;ПАРОЛЬ&amp;lt;/font&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаём таблицы&lt;br /&gt;
 CREATE TABLE IF NOT EXISTS `users` (&lt;br /&gt;
   `userid` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
   `mail` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `uid` int(11) DEFAULT '2000',&lt;br /&gt;
   `gid` int(11) DEFAULT '2001',&lt;br /&gt;
   `passwd` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `shell` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '/bin/nonexistent',&lt;br /&gt;
   `homedir` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '/ftp',&lt;br /&gt;
   `note` text CHARACTER SET utf8 COLLATE utf8_general_ci,&lt;br /&gt;
   `last_login` int(15) NOT NULL,&lt;br /&gt;
   `count` int(11) NOT NULL DEFAULT '0',&lt;br /&gt;
   `last_err_login` int(15) NOT NULL,&lt;br /&gt;
   `err_login_count` int(15) NOT NULL,&lt;br /&gt;
   `admin` int(1) NOT NULL DEFAULT '0',&lt;br /&gt;
   `closed` int(1) NOT NULL DEFAULT '1',&lt;br /&gt;
   `groupname` varchar(24) DEFAULT 'unregistered',&lt;br /&gt;
   PRIMARY KEY (`userid`),&lt;br /&gt;
   KEY `groupname` (`groupname`),&lt;br /&gt;
   KEY `closed` (`closed`),&lt;br /&gt;
   KEY `admin` (`admin`),&lt;br /&gt;
   KEY `count` (`count`),&lt;br /&gt;
   KEY `passwd` (`passwd`),&lt;br /&gt;
   KEY `name` (`name`)&lt;br /&gt;
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;&lt;br /&gt;
  &lt;br /&gt;
 CREATE TABLE IF NOT EXISTS `xfer_errors` (&lt;br /&gt;
   `unic_id` int(32) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
   `timestamp` int(15) NOT NULL,&lt;br /&gt;
   `user_name` varchar(64) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `file_and_path` tinytext COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `client_name` varchar(127) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `client_IP` varchar(15) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `client_command` varchar(5) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   PRIMARY KEY (`unic_id`),&lt;br /&gt;
   KEY `user_name` (`user_name`),&lt;br /&gt;
   KEY `client_name` (`client_name`),&lt;br /&gt;
   KEY `client_IP` (`client_IP`),&lt;br /&gt;
   KEY `client_command` (`client_command`)&lt;br /&gt;
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;&lt;br /&gt;
  &lt;br /&gt;
 CREATE TABLE IF NOT EXISTS `xfer_table` (&lt;br /&gt;
   `unic_id` int(32) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
   `timestamp` int(15) NOT NULL,&lt;br /&gt;
   `user_name` varchar(64) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `file_and_path` tinytext COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `bytes` int(15) NOT NULL DEFAULT '0',&lt;br /&gt;
   `client_name` varchar(127) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `client_IP` varchar(15) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `client_command` varchar(5) COLLATE utf8_general_ci NOT NULL,&lt;br /&gt;
   `send_time` varchar(9) COLLATE utf8_general_ci NOT NULL DEFAULT '0',&lt;br /&gt;
   PRIMARY KEY (`unic_id`),&lt;br /&gt;
   KEY `timestamp` (`timestamp`),&lt;br /&gt;
   KEY `user_name` (`user_name`),&lt;br /&gt;
   KEY `client_name` (`client_name`),&lt;br /&gt;
   KEY `client_IP` (`client_IP`),&lt;br /&gt;
   KEY `client_command` (`client_command`),&lt;br /&gt;
   KEY `send_time` (`send_time`)&lt;br /&gt;
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;&lt;br /&gt;
  &lt;br /&gt;
 CREATE TABLE IF NOT EXISTS `quotalimits` (&lt;br /&gt;
   `userid` varchar(30) NOT NULL,&lt;br /&gt;
   `quota_type` enum('user','group','class','all') NOT NULL,&lt;br /&gt;
   `per_session` enum('false','true') NOT NULL DEFAULT 'false',&lt;br /&gt;
   `limit_type` enum('soft','hard') NOT NULL DEFAULT 'hard',&lt;br /&gt;
   `bytes_in_avail` float NOT NULL DEFAULT '1.57286e+08',&lt;br /&gt;
   `bytes_out_avail` float NOT NULL DEFAULT '0',&lt;br /&gt;
   `bytes_xfer_avail` float NOT NULL DEFAULT '0',&lt;br /&gt;
   `files_in_avail` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
    `files_out_avail` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
   `files_xfer_avail` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
   PRIMARY KEY (`userid`)&lt;br /&gt;
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;&lt;br /&gt;
 &lt;br /&gt;
 CREATE TABLE IF NOT EXISTS `quotatallies` (&lt;br /&gt;
   `userid` varchar(30) NOT NULL,&lt;br /&gt;
   `quota_type` enum('user','group','class','all') NOT NULL,&lt;br /&gt;
   `bytes_in_used` float NOT NULL DEFAULT '0',&lt;br /&gt;
   `bytes_out_used` float NOT NULL DEFAULT '0',&lt;br /&gt;
   `bytes_xfer_used` float NOT NULL DEFAULT '0',&lt;br /&gt;
   `files_in_used` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
   `files_out_used` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
   `files_xfer_used` int(10) unsigned NOT NULL DEFAULT '0',&lt;br /&gt;
   PRIMARY KEY (`userid`)&lt;br /&gt;
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В конфиг добавляем следующее: &lt;br /&gt;
 LoadModule              mod_sql.c&lt;br /&gt;
 LoadModule              mod_sql_mysql.c&lt;br /&gt;
 SQLBackend              mysql&lt;br /&gt;
 #В каком виде хранятся пароли, в данном случае - открытым текстом&lt;br /&gt;
 #SQLAuthTypes            backend&lt;br /&gt;
 SQLAuthTypes            Plaintext&lt;br /&gt;
 SQLAuthenticate         users&lt;br /&gt;
 &lt;br /&gt;
 SQLConnectInfo          &amp;lt;font color=blue&amp;gt;USER&amp;lt;/font&amp;gt;@localhost:3306 &amp;lt;font color=blue&amp;gt;DB&amp;lt;/font&amp;gt; &amp;lt;font color=blue&amp;gt;PASSWORD&amp;lt;/font&amp;gt;&lt;br /&gt;
 SQLLogFile              /var/log/proftpd/proftpd_mysql.log&lt;br /&gt;
 SQLUserInfo             `users` `userid` `passwd` `uid` `gid` `homedir` `shell`&lt;br /&gt;
 &lt;br /&gt;
 SQLLog          PASS            counter_login&lt;br /&gt;
 SQLLog          ERR_PASS        counter_err&lt;br /&gt;
 SQLLog          RETR,STOR       log_story_transfer&lt;br /&gt;
 SQLLOG          ERR_RETR,ERR_STOR,ERR_DELE,ERR_RMD,ERR_RNTO log_err_modify &lt;br /&gt;
 &lt;br /&gt;
 SQLNamedQuery   counter_login           UPDATE &amp;quot;`last_login`=UNIX_TIMESTAMP(),`count`=`count`+1 WHERE `userid`='%u'&amp;quot; `users`&lt;br /&gt;
 SQLNamedQuery   counter_err             UPDATE &amp;quot;`last_err_login`=UNIX_TIMESTAMP(),`err_login_count`=`err_login_count`+1 WHERE `userid`='%U'&amp;quot; `users`&lt;br /&gt;
 SQLNamedQuery   log_story_transfer      INSERT &amp;quot;'',UNIX_TIMESTAMP(),'%u','%f', '%b', '%h','%a', '%m', '%T'&amp;quot;`xfer_table`&lt;br /&gt;
 SQLNamedQuery   log_err_modify          INSERT &amp;quot;'',UNIX_TIMESTAMP(),'%u', '%f', '%h','%a', '%m'&amp;quot; `xfer_errors`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавляем админа: &lt;br /&gt;
 mysql&amp;gt; INSERT INTO `users` (`userid`, `name`, `mail`, `uid`, `gid`, `passwd`, `shell`, `homedir`, `note`, `last_login`, `count`, `last_err_login`, `err_login_count`, `admin`, `closed`, `groupname`) VALUES ('admin', 'admin',&lt;br /&gt;
 'admin@domain', 2000, 2001, 'password', '/bin/nonexistent', '/ftp', 'admin', 0, 0, 0, 0, 1, 0, 'admin');&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Скачиваем архив proma.tar и кидаем его содержимое в нужный каталог веб-сервера. Вносим в &amp;lt;code bash&amp;gt;config.inc.php&amp;lt;/code&amp;gt; параметры подключения к БД. Теперь можно залогиниться в админку. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;P.S.&amp;lt;/font&amp;gt; Чтобы админка пускала админа с открытым паролем, в файлике &amp;lt;code bash&amp;gt;/libs/auth.lib.php&amp;lt;/code&amp;gt; в 31 строке вносим изменения: &lt;br /&gt;
 вместо:&lt;br /&gt;
 $users_passwd = PASSWORD('$passwd')&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 должно быть:&lt;br /&gt;
 $users_passwd = '$passwd'&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;P.S.&amp;lt;/font&amp;gt; Чтобы пароли для пользователей фтп создавались в открытом виде, в файлике &amp;lt;code bash&amp;gt;register.inc.php&amp;lt;/code&amp;gt; в 35 строке вносим изменения: &lt;br /&gt;
 вместо:&lt;br /&gt;
 } else {&lt;br /&gt;
 $query = &amp;quot;SELECT PASSWORD('$passwd1')&amp;quot;;&lt;br /&gt;
 $result = mysql_query($query) or die(&amp;quot;Database query failed.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 должно быть:&lt;br /&gt;
 } else {&lt;br /&gt;
 $query = &amp;quot;SELECT '$passwd1'&amp;quot;;&lt;br /&gt;
 $result = mysql_query($query) or die(&amp;quot;Database query failed.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;P.S.&amp;lt;/font&amp;gt;Чтобы при смене пароля они тоже отображались в базе в открытом виде, в файлике &amp;lt;code bash&amp;gt;/libs/admin.lib.php&amp;lt;/code&amp;gt; делаем следующие изменения в строке 375: &lt;br /&gt;
 вместо&lt;br /&gt;
 $query .= &amp;quot;, $table_users.$users_passwd = PASSWORD('$new_passwd1')&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
 должно быть:&lt;br /&gt;
 $query .= &amp;quot;, $table_users.$users_passwd = '$new_passwd1'&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Полезности: &lt;br /&gt;
* ftpcount - показывает число соединений в настоящий момент (с разбивкой по виртуальным хостам).&lt;br /&gt;
* ftpwho - показывает информацию о каждом текущем соединении (-v показывает также текущую рабочую директорию).&lt;br /&gt;
* ftptop - аналог программы top для процессов ProFTPD. &lt;br /&gt;
* proftpd -V  - показывает как собран пакет&lt;br /&gt;
* proftpd -q -d 10 - посмотреть как запускается &lt;br /&gt;
&lt;br /&gt;
Прикручиваем смотрелку логов.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;spoiler&amp;gt;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 //Чтоб при нажатии на всё, не выдавало ошибку&lt;br /&gt;
 set_time_limit(60 * 5);&lt;br /&gt;
 if (isset($_GET['go']));&lt;br /&gt;
 &lt;br /&gt;
 //Параметры подключения к MySQL&lt;br /&gt;
 $db_host = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
 $db_user = &amp;quot;&amp;quot;;&lt;br /&gt;
 $db_passwd = &amp;quot;&amp;quot;;&lt;br /&gt;
 $db_db = &amp;quot;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 //Считываем текущее время&lt;br /&gt;
 $start_time = microtime();&lt;br /&gt;
 // разделяем секунды и миллисекунды&lt;br /&gt;
 //(становятся значениями начальных ключей массива-списка)&lt;br /&gt;
 $start_array = explode(&amp;quot; &amp;quot;,$start_time);&lt;br /&gt;
 // это и есть стартовое время&lt;br /&gt;
 $start_time = $start_array[1] + $start_array[0];&lt;br /&gt;
 &lt;br /&gt;
 //Пытаемся приконнектится к БД&lt;br /&gt;
 if(!mysql_connect($db_host,$db_user,$db_passwd))&lt;br /&gt;
 {&lt;br /&gt;
 echo &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;BIG&amp;gt;&amp;lt;CENTER&amp;gt;Not connect to MySQL!!!&amp;lt;/CENTER&amp;gt;&amp;lt;/BIG&amp;gt;&amp;quot;;&lt;br /&gt;
 exit;&lt;br /&gt;
 }&lt;br /&gt;
 mysql_set_charset('cp1251');&lt;br /&gt;
 &lt;br /&gt;
 //Выбираем базу данных&lt;br /&gt;
 mysql_select_db($db_db);&lt;br /&gt;
 &lt;br /&gt;
 // Смотрим, всё, или не всё хочет. (дефолт - сегодня.)&lt;br /&gt;
 if(isset($_GET['whats_date']))&lt;br /&gt;
 {&lt;br /&gt;
   $whats_date = $_GET['whats_date'];&lt;br /&gt;
 }else{&lt;br /&gt;
   $whats_date = &amp;quot;today&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $part_sql = &amp;quot;&amp;quot;;&lt;br /&gt;
 $timestamp_begin_day = ((date('H',time()))*3600) + ((date('i',time()))*60) + (date('s',time()));&lt;br /&gt;
 &lt;br /&gt;
 // за сегодня&lt;br /&gt;
 if($whats_date == 'today'){&lt;br /&gt;
 $part_sql = &amp;quot;WHERE `timestamp` &amp;gt; &amp;quot; . (time() - $timestamp_begin_day);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // за вчера&lt;br /&gt;
 if($whats_date == 'yesterday'){&lt;br /&gt;
  $part_sql = &amp;quot;WHERE `timestamp` BETWEEN &amp;quot; . (time() - $timestamp_begin_day - 86400) . &amp;quot; AND &amp;quot; . (time() - $timestamp_begin_day);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // за позавчера&lt;br /&gt;
 if($whats_date == 'd_b_yesterday'){&lt;br /&gt;
 $part_sql = &amp;quot;WHERE `timestamp` BETWEEN &amp;quot; . (time() - $timestamp_begin_day - 172800) . &amp;quot; AND &amp;quot; . (time() - $timestamp_begin_day - 86400);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // за три дня&lt;br /&gt;
 if($whats_date == 'three_days'){&lt;br /&gt;
 $part_sql = &amp;quot;WHERE `timestamp` BETWEEN &amp;quot; . (time() - $timestamp_begin_day - 259200) . &amp;quot; AND &amp;quot; . (time() - $timestamp_begin_day - 172800);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // за неделю&lt;br /&gt;
 if($whats_date == 'week'){&lt;br /&gt;
 $part_sql = &amp;quot;WHERE `timestamp` &amp;gt; &amp;quot; . (time() - $timestamp_begin_day - 604800);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $page_content = &amp;quot;&amp;quot;;&lt;br /&gt;
 $i = 0;&lt;br /&gt;
 // строим кверю на выбор чего тама накачано...&lt;br /&gt;
 $sql = &amp;quot;SELECT FROM_UNIXTIME(`timestamp`,'%d-%m-%Y') AS `ymd`,FROM_UNIXTIME(`timestamp`,'%H:%i') AS `his`,`file_and_path`,`client_name`,`bytes`,((`bytes`/(1024*1024))/`send_time`) AS `speed` FROM \&lt;br /&gt;
 `xfer_table` &amp;quot; . $part_sql . &amp;quot; ORDER BY `unic_id` DESC&amp;quot;;&lt;br /&gt;
 //echo $sql;&lt;br /&gt;
 $sql = mysql_query(&amp;quot;$sql&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 // строим таблицу для вывода&lt;br /&gt;
 while ($row_id = mysql_fetch_assoc($sql)){&lt;br /&gt;
	if ($i%2 == 0){ // число чётное. ничё не делаем&lt;br /&gt;
	$fone_color = &amp;quot;#f1f1f1&amp;quot;;&lt;br /&gt;
	// четное&lt;br /&gt;
	}else{ // чётное - &amp;gt; нечётное&lt;br /&gt;
	$fone_color = &amp;quot;#FFFFFF&amp;quot;;&lt;br /&gt;
	} // закрытие - нечётное число&lt;br /&gt;
	// дёргаем чистое имя файла&lt;br /&gt;
	$file_name = substr($row_id['file_and_path'], strpos($row_id['file_and_path'], '/')+4);&lt;br /&gt;
 $page_content = $page_content . &amp;quot;\n\t\t\t\t&amp;lt;TR bgcolor=\&amp;quot;&amp;quot; . $fone_color . &amp;quot;\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;70\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;&amp;quot; . $row_id['ymd'] . &amp;quot;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;60\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;&amp;quot; . $row_id['his'] . &amp;quot;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;&amp;quot; . iconv(&amp;quot;koi8-r&amp;quot;, &amp;quot;cp1251&amp;quot;, $file_name ) . &amp;quot;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;100\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;&amp;quot; . $row_id['client_name'] . &amp;quot;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;50\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;&amp;quot; . round(($row_id['bytes']/(1024*1024)),2) . &amp;quot;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;50\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;&amp;quot; . round($row_id['speed'],2) . &amp;quot;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 // прибавляем 1 к счётчику&lt;br /&gt;
 $i++;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 $page_top = &amp;quot;&amp;lt;HTML&amp;gt;&lt;br /&gt;
 &amp;lt;HEAD&amp;gt;&lt;br /&gt;
 &amp;lt;TITLE&amp;gt;яРЮРХЯРХЙЮ FTP-ЯЕПБЕПЮ&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
 &amp;lt;META NAME=\&amp;quot;description\&amp;quot; CONTENT=\&amp;quot;яРЮРХЯРХЙЮ FTP-ЯЕПБЕПЮ\&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;META http-equiv=\&amp;quot;Content-Type\&amp;quot; content=\&amp;quot;text/html;charset=cp1251\&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- начало таблиц стилей для страницы --&amp;gt;&lt;br /&gt;
 &amp;lt;STYLE type=\&amp;quot;text/css\&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!-- стиль для линков --&amp;gt;&lt;br /&gt;
 A.text_link {COLOR: blue; TEXT-DECORATION: none}&lt;br /&gt;
 A.text_link:link {COLOR: blue; TEXT-DECORATION: none}&lt;br /&gt;
 A.text_link:visited {COLOR: blue; TEXT-DECORATION: none}&lt;br /&gt;
 A.text_link:hover {COLOR: darkblue; TEXT-DECORATION: underline}&lt;br /&gt;
 A.text_link:active {COLOR: darkblue; TEXT-DECORATION: none}&lt;br /&gt;
 &amp;lt;/STYLE&amp;gt;&lt;br /&gt;
 &amp;lt;/HEAD&amp;gt;&lt;br /&gt;
 &amp;lt;BODY style=\&amp;quot;margin: 0 0 0 0; padding: 0 0 0 0; BACKGROUND-COLOR: #f1f1f1; BORDER-RIGHT: #999999 1px solid; MARGIN: 0px; BORDER-LEFT: #999999 1px solid; \&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;amp;nbsp; &amp;lt;a class=\&amp;quot;text_link\&amp;quot; href=\&amp;quot;&amp;quot; . $_SERVER['SCRIPT_NAME'] . &amp;quot;?whats_date=today\&amp;quot;&amp;gt;ЯЕЦНДМЪ&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;amp;nbsp; &amp;lt;a class=\&amp;quot;text_link\&amp;quot; href=\&amp;quot;&amp;quot; . $_SERVER['SCRIPT_NAME'] . &amp;quot;?whats_date=yesterday\&amp;quot;&amp;gt;БВЕПЮ&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;amp;nbsp; &amp;lt;a class=\&amp;quot;text_link\&amp;quot; href=\&amp;quot;&amp;quot; . $_SERVER['SCRIPT_NAME'] . &amp;quot;?whats_date=d_b_yesterday\&amp;quot;&amp;gt;ОНГЮБВЕПЮ&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;amp;nbsp; &amp;lt;a class=\&amp;quot;text_link\&amp;quot; href=\&amp;quot;&amp;quot; . $_SERVER['SCRIPT_NAME'] . &amp;quot;?whats_date=three_days\&amp;quot;&amp;gt;РПХ ДМЪ&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;amp;nbsp; &amp;lt;a class=\&amp;quot;text_link\&amp;quot; href=\&amp;quot;&amp;quot; . $_SERVER['SCRIPT_NAME'] . &amp;quot;?whats_date=week\&amp;quot;&amp;gt;ОНЯКЕДМЪЪ МЕДЕКЪ&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;amp;nbsp; &amp;lt;a class=\&amp;quot;text_link\&amp;quot; href=\&amp;quot;&amp;quot; . $_SERVER['SCRIPT_NAME'] . &amp;quot;?whats_date=all\&amp;quot;&amp;gt;БЯ╦&amp;lt;/a&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;CENTER&amp;gt;&lt;br /&gt;
 &amp;lt;TABLE width=\&amp;quot;95%\&amp;quot; border=\&amp;quot;0\&amp;quot; cellpadding=\&amp;quot;0\&amp;quot; cellspacing=\&amp;quot;0\&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;TBODY&amp;gt;&lt;br /&gt;
	&amp;lt;TR&amp;gt;&lt;br /&gt;
		&amp;lt;TD width=\&amp;quot;100%\&amp;quot; bgcolor=\&amp;quot;#707680\&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;TABLE border=\&amp;quot;0\&amp;quot; width=\&amp;quot;100%\&amp;quot;  cellspacing=\&amp;quot;1\&amp;quot; cellpadding=\&amp;quot;3\&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;TBODY&amp;gt;&lt;br /&gt;
				&amp;lt;TR bgcolor=\&amp;quot;#B9CCDF\&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;TD align=\&amp;quot;center\&amp;quot; colspan=\&amp;quot;6\&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;CODE&amp;gt;&amp;lt;b&amp;gt;яРЮРХЯРХЙЮ FTP-ЯЕПБЕПЮ&amp;lt;/b&amp;gt;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
					&amp;lt;/TD&amp;gt;&lt;br /&gt;
				&amp;lt;/TR&amp;gt;&lt;br /&gt;
				&amp;lt;TR bgcolor=\&amp;quot;#f1f1f1\&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;TD align=\&amp;quot;center\&amp;quot; colspan=\&amp;quot;6\&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;CODE&amp;gt;&amp;amp;nbsp;&amp;lt;/CODE&amp;gt;&lt;br /&gt;
					&amp;lt;/TD&amp;gt;&lt;br /&gt;
				&amp;lt;/TR&amp;gt;&lt;br /&gt;
 \t\t\t\t&amp;lt;TR bgcolor=\&amp;quot;#DAE0E7\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;70\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;дЮРЮ&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;50\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;бПЕЛЪ&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;тЮИК&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;100\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;IP-ЮДПЕЯ&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;80\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;пЮГЛЕП(лА)&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;TD align=\&amp;quot;center\&amp;quot; width=\&amp;quot;70\&amp;quot;&amp;gt;&lt;br /&gt;
 \t\t\t\t\t\t&amp;lt;CODE style=\&amp;quot;font-size:12px\&amp;quot;&amp;gt;яЙНПНЯРЭ&amp;lt;/CODE&amp;gt;&lt;br /&gt;
 \t\t\t\t\t&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 $page_down = &amp;quot;			&amp;lt;/TBODY&amp;gt;&lt;br /&gt;
			&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
		&amp;lt;/TD&amp;gt;&lt;br /&gt;
	&amp;lt;/TR&amp;gt;&lt;br /&gt;
 &amp;lt;/TBODY&amp;gt;&lt;br /&gt;
 &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
 &amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
 &amp;lt;/BODY&amp;gt;&lt;br /&gt;
 &amp;lt;/HTML&amp;gt;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 // выводим наделанное&lt;br /&gt;
 &lt;br /&gt;
 echo $page_top . $page_content . $page_down;&lt;br /&gt;
 &lt;br /&gt;
 // Выводим время генерации скрипта&lt;br /&gt;
 $end_time = microtime();&lt;br /&gt;
 $end_array = explode(&amp;quot; &amp;quot;,$end_time);&lt;br /&gt;
 $end_time = $end_array[1] + $end_array[0];&lt;br /&gt;
 // вычитаем из конечного времени начальное&lt;br /&gt;
 $time = $end_time - $start_time;&lt;br /&gt;
 // выводим в выходной поток (браузер) время генерации страницы&lt;br /&gt;
 echo &amp;quot;&amp;lt;center&amp;gt;&amp;lt;CODE&amp;gt;бПЕЛЪ ЦЕМЕПЮЖХХ ЯРПЮМХЖШ &amp;quot; . round($time,4) . &amp;quot; ЯЕЙСМД&amp;lt;/CODE&amp;gt;&amp;lt;/center&amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&amp;lt;/spoiler&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.195.52.173</name></author>
		
	</entry>
</feed>