Организация Wikimedia опубликовала файлы конфигурации серверов Wikipedia

Фонд Wikimedia, курирующий работу свободной энциклопедии Wikipedia, открыл доступ к Git-репозиторию в котором представлены файлы конфигурации всех компонентов, используемых в инфраструктуре проекта. Кроме отдельных файлов конфигурации, в репозитории можно найти компоненты, шаблоны и метаданные для организации централизованного управления конфигурацией серверов с использованием инструментария Puppet.

Открытие файлов конфигурации представляет не только практический интерес, связанный с возможностью использования готовых примеров, но и даёт возможность непосредственно принять участие любому желающему в оптимизации серверной инфраструктуры Wikimedia. Например, скоро станет возможным предложить администраторам Wikipedia патч с улучшением тех или иных настроек, которые будут приняты, и после рецензирования и апробирования в специальном тестовом окружении, применены на практике.

Открытие файлов конфигурации является первым этапом развития новой инициативы - Wikimedia Test/Dev Labs, в рамках которой планируется обеспечить возможность привлечения сторонних энтузиастов к поддержанию функционирования Wikipedia и других сайтов фонда Wikimedia. Более того, планируется подготовить и открыть все средства, которые могли бы позволить любому желающему создать у себя клон кластера Wikimedia. Конечная идея проекта - сделать возможность внесения изменений в серверную архитектуру проекта не намного сложнее правки статьи в Wikipedia.

Кроме того, опубликованные файлы конфигурации дают возможность более плотно познакомиться с архитектурой серверной части Wikipedia:

  • Для обеспечения работы web-серверов используется Nginx и Apache.
  • На почтовом сервере задействованы Exim, Dovecot, Mailman и SpamAssassin;
  • Для мониторинга используются Ganglia и Nagios;
  • Для кэширование используются memcached, Varnish и Squid;
  • Для рецензирования кода движка Wikipedia используется Gerrit, а для обработки сообщений об ошибках RT;
  • Для обеспечения работы версии Wikipedia для мобильных устройств задействован passenger-enterprise-server, написанный на языке Ruby;
  • Данные хранятся в СУБД MySQL;
  • DNS-сервер работает под управлением PowerDNS;
  • Для резервного копирования используются rsync и Amanda;
  • На серверах используется Ubuntu Server и система инициализации upstart;
  • Судя по файлам конфигурации, в Wikimedia проводятся эксперименты с использованием облачной платформы OpenStack;
  • Интересно, что среди опубликованных файлов также можно встретить директорию с SSL-сертификатами.

©  OpenNet