Назад | Перейти на главную страницу

решение для офлайн-сервера

Я пытаюсь настроить сервер разработки на работе, который в идеале сможет протестировать пару проектов на PHP, Rails или Django (не всегда работающие одновременно). Я разрабатываю приложения локально на Mac, а затем помещаю проекты на этот сервер для тестирования с моими реальными пользователями (не техническими специалистами) перед развертыванием на производственном сервере.

Моя проблема в том, что у нас очень плохое интернет-соединение (почти незначительное) на работе, и мы выполняем обычные apt-get/yum/ports (make, clean, install) процессы настройки серверов всегда получают свои пакеты из онлайн-репозиториев. Я знаю, что, вероятно, смогу загрузить исходный код, а затем скомпилировать его сам, но для меня это будет слишком хлопотно.

Я думаю о двух решениях:

План А:

Запустите виртуальную машину сервера на моем Mac, а затем используйте эту виртуальную машину в качестве исходного репозитория для автономного сервера. Я читал об apt-proxy Ubuntu, и он кажется достаточно хорошим, хотя я еще не пробовал его.

Я не уверен, возможно ли это, но могу ли я просто сделать apt-get install nginx --downloadonly чтобы пакет и его зависимости были загружены в мою виртуальную машину, и мой сервер мог использовать виртуальную машину в качестве исходного репозитория для apt-get?

План B:

Запустите виртуальную машину сервера на моем Mac (которую я могу легко настроить / обновить, когда я дома), а затем клонируйте виртуальную машину на автономный сервер разработки. Возможно, мне просто нужно сделать сервер хостом виртуальной машины, чтобы я мог просто скопировать виртуальную машину.

Я думаю, что это нормально для первоначальной настройки, но последующие обновления займут слишком много времени (клонирование образа виртуальной машины).

Если бы я работал в Windows, думаю, это было бы проще, потому что у большинства служб есть установочный файл, который я могу загрузить и затем запустить на сервере.

Если бы вы могли предложить другой способ, я был бы очень признателен.

Обновить:

Из ответа Майкла Хэмптона я нашел возможное решение, которое apt-cacher.

Я тоже нашел это страница на сайте Ubuntu.

Интересно, есть ли лучший инструмент, чем этот.

Рассмотрите возможность использования apt-зеркало создать локальное зеркало.

Я запускаю небольшую виртуальную разработку Ubuntu на VMware Fusion. Для разработки достаточно 4 ГБ диска и 512 МБ ОЗУ. Сеть виртуальной машины находится в режиме NAT, поэтому я могу получить к ней доступ, даже если не в Интернете. Я также настроил AFPd, чтобы я мог редактировать файлы, напрямую монтируя общий ресурс. Поскольку я делаю Django только таким образом, настройка выглядит следующим образом ... Приложение Django работает под какой-то учетной записью пользователя, которую я создал, этот пользователь homedir также является virtualenv root (загружается при входе в систему), я использую этого пользователя для входа в AFP. В новом проекте я просто клонирую машину-шаблон и создаю новую учетную запись пользователя + virtualenv. При установке в VMware Ubuntu выбирает ядро, которое поддерживает основные возможности виртуализации ... например, XEN, KVM, VMware. Затем Deploymnet должно быть DevOps путь ... просто скопируйте файлы виртуальной машины в облако и запустите его онлайн (возможно, преобразование файла на диске или его увеличение до рабочего размера).

Вы можете заглянуть в apt-offline(см. debian-administration.org) ...

Я использую apt-cacher для частного облака, просто использую значения по умолчанию, и он просто работает. Я большой поклонник. Вам нужно будет обновить свой sources.list, если они не установлены с использованием местоположения вашего apt-cacher.