Проектирование и создание FTP-сервера на базе ОС Linux
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
2.04 desktop и server. Распространяются они бесплатно. Весь процесс реализации сервера будет производиться на виртуальной машине VMware Workstation использоваться будет бесплатная пробная версия. Сервер будет без GUI и все действия будут производится через консоль. Все основные настройки через файлы конфигурирования.- основанная на ядре Linux операционная система, которая идеально подходит для использования на персональных компьютерах, ноутбуках и серверах. Она содержит все необходимые программы: программу просмотра Интернет, офисный пакет для работы с текстами, электронными таблицами и презентациями, программы для общения в Интернет и т.д.
Виртуальная машина - это программа, которую запускают из операционной системы. Программа эмулирует физический компьютер, поэтому у виртуальной машины есть:
BIOS
жесткий диск (отведенное место на вашем жестком диске)
CD-ROM (ваш CD-ROM или подключенный ISO-образ)
сетевые адаптеры для соединения с вашей реальной машиной, сетевыми ресурсами или другими виртуальными машинам и т.д.
Рисунок 5. Виртуальная машина VMware Workstation
1.7 Описание процесса реализации
Что будет реализовано:
. Доступ по SSH,
. доступ по FTP,
. сетевой доступ в расшаренные папки (SAMBA),
. небольшой хостинг для тестирования своих сайтов,
. торренто-качалка на основе Transmisson,
6. система бекапов.Сервер будет без GUI и все действия будут производится через консоль или веб-интерфейс. Все основные настройки через конфиг-файлы и иногда для наглядности через веб-интерфейс. Сервер будет реализован на виртуальной машине VMware Workstation.
Рисунок 6. Установка Ubuntu Server
Процесс установки самого сервера: указываем директорию с образом дистрибутива Linux загружаемся с него и следуя подсказкам на экране выполняем установку, в конце установки выбираем установку OpenSSH server.
Рисунок 7. Установка OpenSSH server
Сразу после первой загрузки настраивается сеть. Для этого нужно прописать настройки в файле /etc/network/interfaces. sudo nano /etc/network/interfacesЕсть три сетевых адаптера, настроено два из них, конфиг-файл выглядит так: Замыкание на себя auto lo iface lo inet loopback
Первый адаптер eth0 auto eth0 - значит автозапуск этого адаптера при загрузке auto eth0 dhcp - значит айпи и днс настраиваются динамически iface eth0 inet dhcp
Второй адаптер eth1 не настроен и в этом конфиге не прописан
Третий адаптер eth2 автозапуск при загрузке auto eth2 static - значит айпи статический iface eth2 inet static далее указываем айпи, маску и шлюз. address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1
Сохраняем изменения нажатием клавиш Ctrl+o, Enter и закрываем nano Ctrl+x. И перезапускаем сеть. /etc/init.d/networking restart
Теперь можно отключить монитор, клаву, мышь и управлять по сети. Но для этого нужно настроить доступ по SSH.
Рисунок 8. Настройка сети
Установка и настройка доступа к серверу по SSH.
Сервер установлен, сеть настроена. Теперь настраиваем доступ к серверу по SSH. Во время установки системы была выбрана установка дополнительного ПО OpenSSH server.
Конфиг лежит в файле /etc/ssh/sshd_config sudo nano /etc/ssh/sshd_config
Порт для подключения. Можно изменить на другой свободный Port 22
Чтобы сервер отображал содержимое файла /etc/issue.net в качестве сообщения перед логином (типа приветствия), раскомментируем следующую строку: Banner /etc/issue.net
Настроим доступ для разных пользователей. Для этого изменим следующие строки: UsePAM yes AllowUsers sasha@* user2@192.168.1.10 *@192.168.1.*
В строке AllowUsers прописываем пользователей через пробел в виде юзер@хост, т. е. указываем какой пользователь откуда может подключаться. Можно использовать знак * и ? для подстановки. В данном примере пользователю sasha разрешен доступ отовсюду (и с локалки, и извне), для user2 разрешен доступ только с адреса 192.168.1.10, т. е. только с локалки, а для всех остальных (включая первых двух юзеров) доступ разрешен только с локалки.
Запретим доступ для определенных пользователей директивой DenyUsers. Хосты, можно не указывать. Запретим доступ для user4: DenyUsers user4
Таким же образом можно настроить доступ для групп в директивах AllowGroups, DenyUsers, для групп хост нельзя указывать.
Далее перезапускаем сеть. sudo /etc/init.d/ssh restart
Пробуем подключиться набрав ip сервера: ssh 192.168.1.100 или сразу ip сервера и пользователя: ssh user1@192.168.1.100
Для ускорения подключения в файлах /etc/pam.d/login и /etc/pam.d/sshd закомментируем строки session optional pam_motd.so
и удаляем landscape-клиент: sudo apt-get remove landscape-client landscape-common
Установка и настройка торрент-клиента Transmission-daemon
Установливаем и настроиваем торрентокачалку пока настраиваем все остальные сервисы. В качестве торрент-клиента была выбрана Transmission-daemon с веб-интерфейсом. В отличие от некоторых других клиентов, Transmission не требует наличия веб-сервера для работы веб-интерфейса. Веб-сервер тоже будет, да и функционал Transmission не очень широкий, но все же он подходит, необходимый функционал обеспечивает.
Установливаем sudo apt-get install transmission-daemon
Запускаем transmission-daemon
Конфиг Transmission-daemon-а можно найти в нескольких местах: ~/config/transmission-daemon/settings.json,
/var/lib/transmission-daemon/info/settings.json,
/etc/transmission-daemon/settings.json.
Но только последний является настоящим конфигом. Первый - это конфиг для версии с GUI, второй - ссылка на третий файл. Его и нужно править, но сначала останавливаем демон: sudo /etc/init.d/transmission-daemon stop sudo nano /etc/transmission-daemon/settings.json
Конфигурация: download-dir: папка для загрузки торрентов, например, /home/user/torrents/ watch-dir: папка, откуда будут забираться .torrent-файлы для автоматической загрузки, например, /home/user/torrents/files/ watch-dir-enabled: разрешить автозагрузку .torrent-файлов, true или f