Зручний файлообмінник з нуля

Увага! Наступні дії повинні виконуватися від імені root. Просто введіть su (або sudo su) і потім пароль root (або поточного користувача, у випадку з sudo). Також, після будь-яких змін файлів конфігурації, сервера потрібно перезапускати щоб зміни набули ефект. Робиться це за допомогою команд

invoke-rc.d apache2 restart

invoke-rc.d proftpd restart

Отже, все по порядку:
Спочатку ми встановимо необхідний софт. Відкриваємо термінал, вводимо:

apt-get install apache2 php5 proftpd

Встановлюємо це все, потім вводимо:

Тут ми додамо директиву відключає індекс каталогів і встановимо стандартну кодування.
На початку файлу буде опис директорій з вмістом. Шукаємо потрібні рядки:

Нам потрібно відключити індекси і задати кодування за замовчуванням. Має вийти наступне:

З налаштуванням apache ми покінчили. Зберігаємо конфіг. У nano це робиться комбінацією Ctrl + O після чого слід натиснути Enter.

Наступним кроком буде створення користувача для логіна на ftp і визначення його в одну групу з Апачем. Наприклад, sosnickiy.
Увага! Ці ім'я і пароль потрібно буде вводити при вході на ваш ftp.
Пишемо в консоль:

adduser sosnickiy --ingroup www-data --shell / bin / false

Вводимо пароль, інше можна не заповнювати, просто натискаємо на Enter. Скрипт створить користувача, визначить його в групу і скопіює стандартні файли. Створюємо каталог ftp в його домашньому каталозі:

mkdir -m 775 / home / sosnickiy / ftp

На цьому, мабуть, з користувачем розібралися.

Наступним кроком буде настройка ftp-сервера. Отже, вводимо:

На цьому настройка ftp сервера закінчена. Зберігаємо, перезапускаємо його і вже можемо ним користуватися. Однак, не варто поспішати заливати туди файли. Це ще не все.
Тепер створимо каталог ftp в каталозі http сервера і зробимо його одним цілим з каталогом ftp в домашній папці користувача sosnickiy. Саме туди будуть завантажуватися файли через ftp-сервер.
Створюємо каталог:

mkdir -m 775 / var / www / ftp

mount --bind / home / sosnickiy / ftp / var / www / ftp

Тепер каталоги є одним цілим.
Увіковічуємо зміни:

echo "/ home / sosnickiy / ftp / var / www / ftp none bind 0 0" >> / etc / fstab

Тепер каталоги будуть одним цілим навіть після перезавантаження системи.

На цьому моменті я хотів би зупинитися і зробити одне важливе зауваження: через http для лістингу файлів, закачування їх на сервер, управління каталогами, файлами і користувачами буде використовуватися скрипт AutoIndex 2.2.4 (офіційний сайт). Але стандартна його комплектація не дозволяє відразу запустити і працювати так як присутній баг з російським мовним файлом, баг з файлом-сховищем користувачів / паролів і є деякі нюанси з правами створювані скриптом файли і каталоги. Мною було внесено незначні зміни, я опишу їх нижче. Якщо Ви не хочете морочитися з його доточкой вручну - я пропоную завантажити вже повністю готовий до роботи скрипт: (натисніть сюди). Якщо ж Ви не вірите мені, вважаєте що я в змові зі світовим урядом або просто погана людина і додав в код троян / бекдор / інші погані зміни - робіть вручну самі. По крайней мере, раджу взяти хоча б файл ru.txt з мого архіву. Зауважу, що в разі скачування вже готового скрипта Вам потрібно буде тільки залити на сервер, розпакувати його в / var / www і показати друзям робочий файлообмінник (хе-хе, іронія). Описувати налаштування скрипта я не буду так як там все вкрай очевидно.
Отже, якщо Ви недовірливий людина, доведеться зробити наступне:
Качаємо архів з офіційного сайту, розпаковуємо на робочому комп'ютері, в каталозі classes знаходимо файл Admin.php. відкриваємо, шукаємо рядок 68:

Змінюємо число 755 на 775.
У цьому ж каталозі відкриваємо файл Upload.php. шукаємо рядок 73:

Змінюємо число 644 на 664.
У файлі Tar.php в рядку 78:

Замість 755 ставимо 775.
Цим виправляться конфлікт доступу до даних.
Далі, необхідно відкрити файл ru.txt в каталозі languages, видалити його вміст і вставити в нього виправлені дані:

Формат: значення [табуляція] переклад на потрібну мову [переклад рядка]
В оригінальному файлі формат кілька порушений. Тому файлообмінник працювати не буде.
Потім, створюємо в кореневому каталозі (поруч з файлом index.php) файл .htpasswd.autoindex. Обов'язково з точкою на початку. Відкриваємо, вставляємо в нього наступне:

В даному випадку пароль адміністратора: 123456
Пароль користувача: user

і тиснемо Enter. Також, можна зберегти пароль і додати в «Вибране». Зручно.

Отже, скрипт запакований в архів і лежить в папці ftp. Розгортаємо консоль, пишемо (краще скопіювати і вставити):

cd / home / sosnickiy / ftp / unzip AutoIndex-2.2.4.zip cp ./AutoIndex-2.2.4/* / var / www rm -rf AutoIndex-2.2.4.zip AutoIndex-2.2.4

Тепер виконуємо нескладну команду:

chown -R www-data: www-data / var / www chmod -R 775 / var / www