Какие задачи выполнять чтобы набить руку в администрировании веб?
Моя трудовая деятельность связана с администрированием локальных офисных сете. Недавно сходил на собеседование по администрированию веб проектов. И хотя я читал документацию и даже сопровождал пару vds, по собственным ощущениям интервью я провалил.
В итоге тестовое задание у меня заняло вместо планируемых 2х целых 10 часов чистого времени
.
Просьба накидать каких-нибудь заданий по настройке веб серверов из своего недавнего опыта.
В комментариях приведу пример того самого тестового задания.
Требуется провести более тонкую настройку отдельных сервисов. Результат данной работы должен выглядеть как diff-файл между стандартными настройками сервисов и доработанными в ходе тестового задания. Желательно приложить каталог с конфигурацией изменяемого сервиса.
Задание по настройке Nginx:
Настроить сжатие типов данных: text, javascript, css, json, xml
Разрешить максимальную загрузку данных через Nginx в соответствии с настройками PHP
Запретить вывод версии Nginx(при web-запросах к сайтам сервера)
Задание по настройке Apache:
Запретить(глобально) возможность обращения пользователей к директориям вида .svn и .git .
Настроить работу Apache по 81 порту на локальном ip-адресе.
Уменьшить максимальное количество клиентов веб-сервера до 25.
Задание по настройке PHP:
Настроить параметры хранения сессий PHP таким образом, чтобы сессии сайтов жили минимум 1 сутки. После этого, с вероятностью 10%, сессии должны очищаться.
Разрешить загрузку файлов, через PHP, с максимальным объемом - 64 Мб.
Задание по настройке MySQL:
Выделить для кэша запросов 32 Мб ОЗУ.
Размер временных таблиц установить в 50 Мб.
Количество кэшированных потоков(нитей) должно быть не ниже 20.
Все InnoDB-таблицы должны храниться в отдельных файлах
Настройка площадок на сервере
По результатам работы должно получиться 2 площадки под сайты, которые будут обслуживать сайты (site.ru и site-2.ru). Так же должен работать PMA как алиас к обоим площадкам.
Задание по настройке площадки для работы сайта site.ru:
Необходимо настроить связку Nginx+Apache2+PHP+MySQL для работы сайта(site.ru).
На сервере подготовить площадку под сайт и развернуть в рамках неё CMS WordPress
Настроить web-сервер таким образом, чтобы все запросы к статическим данным, начинающиеся с: site.ru/wp-includes/, обрабатывались Nginx, а все остальные - передавались на обработку Apache2.
При этом, все подобные запросы, которые Nginx должен был, но по каким-то причинам не смог обработать самостоятельно - должны передаваться на Apache2 (т.е., если файла site.ru/wp-includes/js/test-nixys.js нет и Nginx, разумеется, не может отдать такой файл, то такие запросы должны быть переданы на обработку Apache2).
Настроить минимально необходимые для работы Nginx и Apache права на площадку для сайта.
Задание по настройке площадки для работы сайта site-2.ru:
Необходимо настроить связку Nginx+Apache2+PHP для работы сайта(site-2.ru).
Сайт должен работать от пользователя site-2.ru
Установить на площадке любой файл менеджер на PHP. Загрузить/удалить с его помощью несколько файлов внутрь сайта(статических(картинки) и динамических файлов(например phpinfo)).
Проверить корректность доступа к загруженным файлам.
Задание по настройке phpMyAdmin как алиас:
phpMyAdmin должен работать для любого сайта сервера - простым добавлением /phpmyadmin к URL сайта(PMA как алиас).
phpMyAdmin должен быть последней версии, скачанный с официального сайта.
Обеспечить работу phpMyAdmin(без ошибок и предупреждений) и возможность управления базами данных MySQL на данном сервере.
Обеспечить возможность работы "дополнительных возможностей" PMA
Статические данные PMA должны отдаваться веб-сервером Nginx.
Ответ необходимо прислать в виде .tar.gz файла, содержащего директории и файлы с настройками(основные директории сервисов, которые подверглись модификации), а так же структуру каталогов и файлов(в /var/www/) для проверки созданных связок.
Если с Вашей стороны возникнут какие-либо комментарии к заданию - Вы можете описать их в письме, или вложить файл read.me .
Ремарка
Площадка под сайт представляет директорию в /var/www/, в которой содержатся:
Отдельная директория для кода сайта(DOC_ROOT)
Отдельная структура директорий для хранения логов сайта
Отдельная директория для хранения сессий сайта
Отдельная директория для хранения временных файлов сайта
PS Тестовое задание желательно выполнять на ОС(в порядке уменьшения желательности): Debian 7 - 8, Ubuntu 12.04 - 14.10, CentOS 7.
PPS Использование FreeBSD, Gentoo, для целей тестового задания, нецелесообразно.
Gasoid: эм... Почему этот ансибл везде суют? Нет, я сам его использую при масштабировании настроек на несколько десятков или сотен точек. Но при всего одном сервере и сайте?...
Тем более я привел ТЗ с собеседование в чистом виде, там про автоматизацию ни слова.
смотри все правильно, но в следующий раз 2 часа тратить времени зачем? если можно автоматизировать, да потратишь еще несколько часов времени на автоматизацию, за то ускорит настройку в следующий раз
Я ведь и прошу прямым текстом - любые задачи. Настроить, сконфигурировать, установить...
А не так - по хостам nginx надолго хватит.
Я много раз настраивал виртуалхосты в nginx, но обычно простое проксирование на апач. Вот и хочу попрактиковаться. Напишите пару заданий, а?
Николай Савельев: Настроите веб-сервер
Nginx+PHP-FPM (5.7+7.0)
Apache2-mpm-itk+Nginx+PHP
Apache2+Nginx+PHP+FPM (5.7+7.0)
Вот вам пример с исходниками https://web-cp.ru/
Не поверите, но я читал! Немет и Лимончелли - вообще настольные книги, нет-нет да и заглядываю туда. Но там слишком мало тонкостей, так сказать, процесса. Вот и хотелось попробовать несколько задач выполнить. Так уж у меня память устроена - пока похожее действие раз 5 не повторю, ничего не запомню.
Мне вот из примера понравилась задачка - 2 сайта от разных пользователей с разным функционалом и правами. Мне еще не доводилось такого делать. Либо от одного пользователя несколько сайтов на одном VDS запускал, либо и вовсе весь сервер под 1 сайт затачивался.