администрирование сервера для 1U стоечного сервера, размещенного в интрасети: как развернуть веб-приложение и обновить сервер без подключения к интернету? [закрыто]

Отдел продаж крупной корпорации нанял меня в качестве консультанта по программному обеспечению для создания веб-приложения.

Это веб-приложение генерирует файлы excel на основе их внутренних бизнес-процессов.

Это веб-приложение готово, и я сказал им, что мне нужно развернуть его на сервере.

Их ИТ-отдел находится в другой стране, и мы потратили 6 месяцев на получение разрешения на сервер. После долгой бумажной и бюрократической волокиты мы так и не увидели нигде никаких признаков сервера.

Наш обходной путь заключается в том, что отдел продаж купит сервер 1U по моим рекомендациям. Отдел продаж также получил место в лаборатории на том же этаже, что и их офисы. Руководитель лаборатории позволяет нам разместить внутри сервер в стойке 1U.

Однако у нас есть два вопроса, на которые я не в состоянии ответить. Поэтому я прошу совета у экспертов по администрированию серверов.

1) лаборатория разрешает подключать машины только к своей внутренней сети. Мое веб-приложение, доступ к которому можно получить через веб-браузер, требует url. Я думал получить статический IP-адрес, чтобы отдел продаж мог получить доступ через http://some-static-ip/webapp

Это означает, что нам нужно обратиться за помощью в IT-отдел. После последних 6 месяцев волокиты отдел продаж опасается просить статический внутренний IP-адрес.

Есть ли обходной путь, который мы можем сделать со своей стороны, чтобы не просить помощи у ИТ-отдела?

UPDATE

Я воспользуюсь советом @MichaelHampton и обращусь в ИТ-отдел по поводу статического IP-адреса. Теперь я сосредоточусь на 2-м вопросе.

2) Допустим, нам удалось развернуть мое веб-приложение на этом сервере, который находится в интрасети.

Нам нужно регулярно обновлять веб-приложение и ОС. (Мы, вероятно, будем использовать серверную версию ubuntu 12.04)

На этом сервере не будет подключения к Интернету, так как лаборатория, в которой он будет находиться, подключена только к внутренней сети.

Мой код размещен на github, я уже готов раз в месяц спускаться вниз для обновления кодовой базы веб-приложения с помощью флешки.

Однако я не знаю, что я могу сделать для обновления ОС без доступа в интернет.

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

Например, я покупаю какой-то мобильный широкополосный донгл, который я могу подключить к серверу?

Каждый раз, когда я спускаюсь в лабораторию, мне нужно отключить сервер от внутренней сети, подключить к нему донгл, чтобы у сервера появился доступ в Интернет через донгл. После этого я смогу легко обновить ОС и кодовую базу сервера.

После того, как я закончу, я отсоединю донгл и снова подключу сервер к внутренней сети.

UPDATE

Я хотел бы обратиться с любыми предложениями по второму вопросу в IT-отдел или к руководству выше IT-отдела.

UPDATE1

В итоге мы нашли способ с IT командой разрешить обновление сервера, открыв соединение через прокси.

Спасибо.

2
задан 6 November 2014 в 08:50
1 ответ

В ответ на ваш первый вопрос, как предложил Майкл Хэмптон, вам необходимо получить статический IP-адрес через ИТ-группу. Для удобства вам следует поговорить с ними о создании записи DNS, если это возможно. Запоминающееся имя хоста для сервера или приложения упростит жизнь пользователям приложения.

Отвечая на ваш второй вопрос. Для ОС вы можете использовать apt-offline (документация находится здесь ). Ты победил' Не нужно подключать 3G-ключ к серверу или отключать что-либо, вам просто нужен USB-ключ. Я бы с осторожностью относился к подключению 3G-соединений к системам в лабораторной среде, так как вы можете нарушить меры безопасности, действующие для лабораторной среды.

Первый шаг: вам нужно отправиться на сайт клиента и создать подпись файл, который дает apt-offline основу для работы путем каталогизации установленных версий пакетов на компьютере. Сохраните этот файл подписи на USB-ключ и возьмите его с собой.

Например, чтобы создать файл подписи и сохранить его на USB-ключ, установленный на / media / USB , вы должны запустить apt-offline set /media/USB/updates.sig. Вы можете заменить updates.sig любым именем файла, которое упрощает идентификацию сервера, который представляет файл подписи.

Второй шаг, Получив файл подписи, вы можете запустить apt-offline на компьютере с подключением к Интернету, предоставив ему файл подписи, и он загрузит все необходимые обновления. apt-offline создаст zip-файл, который можно скопировать на свой USB-ключ.

Чтобы загрузить пакеты, необходимые для обновления сервера, на основе файла подписи на USB-ключе, установленном на / media / USB с именем updates.sig, используя пять потоков загрузки (для ускорения работы), в zip-файл на том же USB-носителе с именами updates.zip, вы должны запустить apt-offline get -t 5 --bundle /media/USB/updates.zip /media/USB/updates.sig.

Последний шаг. Затем вы можете взять USB-ключ, содержащий файл updates.zip, до размера клиента, и на сервере ubuntu запустить apt-offline install / media / USB / updates. zip , чтобы установить все обновления с USB-ключа, установленного на / media / USB, из архива updates.zip. После завершения не забудьте снова выполнить первый шаг, чтобы сгенерировать новый файл подписи. Это просто сэкономит вам поездку на сайт клиента для создания нового файла подписи.

Самый простой способ обновить ваше приложение (не зная, есть ли у вас репозиторий git на сервере в лаборатории клиента) - это экспортировать последний код архива из репозитория git, используя архив git . Это обсуждается более подробно здесь .

Например, первым шагом будет архивирование локально извлеченной копии кода в сжатый tar-архив Bzip2, вы должны запустить git мастер архива | bzip2> /media/USB/latest-code.tar.bz2 из каталога репозитория. Это позволит сохранить код в latest-code.tar.bz2 на USB-ключе, установленном на /media/USB.[12163pting. Вторым шагом будет создание резервной копии старого кода на сервере в сети клиента. на случай, если вам нужно отказаться от обновления. Вы можете сделать резервную копию кода, если он хранится в / var / www / application, запустив tar cpjfv /media/USB/code-backup.tar.bz2 / var / www / application . Это создаст сжатый tar-архив Bzip2, сохранит права доступа и сохранит его в файл с именем code-backup.tar.bz2 на USB-ключе, установленном на /media/USB.

. Наконец, вы можете затем извлечь архив, содержащий новый код с USB-ключа с использованием tar jxfv /media/USB/latest-code.tar.bz2. В результате будет извлечено содержимое файла latest-code.tar . bz2 с USB-ключа, установленного на / media / USB , в текущий каталог. Используя пример из предыдущего шага, вы должны сначала использовать cd / var / www / application , чтобы сменить каталог на папку, в которой сначала размещено приложение.

Надеюсь, что это поможет!

8
ответ дан 3 December 2019 в 08:54

Теги

Похожие вопросы