Для чего нужен свой FTP сервер? На своём FTP сервере можно хранить информацию, к которой можно будет получать доступ из любой точки мира. Или хранить резервные копии своих проектов. Согласитесь, держать свой ресурс на хостинге и надеяться на то, что ничего не случится — довольно глупо. Например, если произойдет взрыв в ЦОДе, вряд ли кто-то сможет восстановить Ваши данные. Как лучше заводить FTP сервер для резервных копий? В первую очередь нужно рассчитать объем Вашего сайта и число копий, которые будут храниться на отдельно FTP сервере. Например Ваш сайт весит 5гб, Вы хотите делать резервные копии каждый день, в месяце 30 дней. Значит [5гб+(запас2гб)]*30=210гб. Значит в месяц Вы будете занимать 210 гб. Запас я взял из расчёта, что наш портал расширяется каждый день. Значит, если нам нужно каждый месяц держать резервные копии и наш сайт весть 5-7гб, то нам нужен сервер 210гб ++. Можно делать копии и реже, раз в неделю, но если Ваш ресурс часто обновляем — это не Вариант. Пример: Вы делаете резервные копии сайта раз в неделю. На Ваш ресурс добавляется ежедневно по 20-60 новостей. Ваш сайт взломали 3 недели назад. Вам нужно откатиться до копии, которая была сделана 4 недели назад. 20Х4/60х4 = 80/240 новостей у Вас пропадет. Критичность для своего проекта оценивайте сами.
База:
Хостинг: Rusonyx, с Root VPS( http://www.rusonyx.ru/hosting/vps/prices/ )
FTP сервер: То же Rusonyx http://www.rusonyx.ru/hosting/vps/ftpbackup/ Но дело не в том, что это просто FTP доступы. Это отдельные сервера хостинга, да, но мне захотелось экстрима и я решил заказать отдельный Linux Server с Centos и настроить vsftpd. Мой выбор пал на [Selectel].
Виртуальный сервер с характеристиками: 512МГц — процессор — более чем, 512ОЗУ — даже много, 51,2Гб диск и всё это за 512 рублей/месяц. Заходим на сервер и первым делом выпиливаем всё, что нам не нужно
`/etc/init.d/httpd stop`
`/etc/init.d/sendmail stop`
`yum remove httpd`
`yum remove xinetd`
`yum remove sendmail`
`yum remove bind`
`rm -rf /etc/httpd/`
`rm -rf /etc/xinetd.d/`
Далее, если у нас пустой сервер, без ПО, обновимся, выполнив команду `yum upgrade`, со всем соглашаемся и идем на минут 15 пить чай.. Если у Вас уже установлено какое-либо ПО upgrade производите на своё усмотрение. После upgrad’a перейдем к установки vsftpd `yum install vsftpd` После установки нам нужно поправить конфиг, на всякий случай делаем его копию
`cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back`
Далее откроем конфиг
vsftpd `vim /etc/vsftpd/vsftpd.conf`
Нужно найти и заменить параметры на
`
anonymous_enable=NO` (по умолчанию yes)
`local_enable=YES`
`write_enable=YES`
`connect_from_port_20=NO` (по умолчанию yes)
Вставить в конец: `chroot_local_user=YES`
– закрываем пользователя в chroot.
Теперь нужно создать пользователя для подключения и задать ему папку
`useradd -d '/home/users/ftpuser' -s /sbin/nologin ftpuser`
/home/ – директория «Хомяк» /user/ – тут лежат папки всех пользователей /ftpuser/ – папка пользователя ftpuser Если мы ещё не создали саму папку, то создадим её:
`mkdir -p /home/users/ftpuser`
Зададим пароль созданному пользователю:
`passwd ftpuser`
Выставим права на папки:
`chown -R ftpuser /home/users/ftpuser`
`chmod 775 /home/users/ftpuser`
Создадим группу пользователей `groupadd ftpusers` И добавим в него своего пользователя:
`usermod -G ftpusers ftpuser`
Добавим правило для открытие 25 порта
`iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT`
При перезапуске сервера, или сервиса iptables правило будет удалено. Исправим это изменив записи в `/etc/sysconfig/iptables-config`
`vim /etc/sysconfig/iptables-config`
Заменим:
`IPTABLES_SAVE_ON_RESTART="no" ` на ` IPTABLES_SAVE_ON_RESTART="yes"`
`IPTABLES_SAVE_ON_STOP="no"` на ` IPTABLES_SAVE_ON_STOP="yes"`
Добавим vsftpd в автозагрузку
`chkconfig --levels 235 vsftpd on`
Перезапустим vsftpd и проверим результат `service vsftpd start`