Почему стек Microsoft, как говорят, является дорогостоящим? [закрытый]

Обновление: С Gitorious 3.2 (начало 2015) gitorious поддерживает человечность непосредственно. См. https://gitorious.org/gitorious/ce-installer / для инструкций по установке.

Исходные инструкции:

Для установки gitorious последний от мерзавца выполните эти шаги

Первый, отпускает корень при помощи [1 161]

sudo su
[sudo] password for :

пакеты Установки

При установке всех этих пакетов, Вас попросят пароля root MySQL, который необходимо помнить, потому что Вам будет нужен он позже.

  aptitude install \
    build-essential zlib1g-dev tcl-dev libexpat-dev libxslt1-dev \
    libcurl4-openssl-dev postfix apache2 mysql-server mysql-client \
    apg geoip-bin libgeoip1 libgeoip-dev sqlite3 libsqlite3-dev \
    imagemagick libpcre3 libpcre3-dev zlib1g zlib1g-dev libyaml-dev \
    libmysqlclient15-dev apache2-dev libonig-dev ruby-dev rubygems \
    libopenssl-ruby libdbd-mysql-ruby libmysql-ruby \
    libmagick++-dev zip unzip memcached git-core git-svn git-doc \
    git-cvs irb

Установка Драгоценных камней Ruby

Gem.source_index удерживается от использования. Используя систему 1.8.25 избегает source_index ошибки.

REALLY_GEM_UPDATE_SYSTEM=1 gem update --system 1.8.25

Теперь мы можем установить все необходимые драгоценные камни:

  gem install --no-ri --no-rdoc -v 0.8.7 rake && \
    gem install --no-ri --no-rdoc -v 1.1.0 daemons && \
    gem install -b --no-ri --no-rdoc \
        rmagick stompserver passenger bundler

Установка Поискового сервера Сфинкса

wget http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz && \
    tar -xzf sphinx-0.9.9.tar.gz && \
    cd sphinx-0.9.9 && \
    ./configure --prefix=/usr && \
    make all install

Получение Gitorious

  git clone git://gitorious.org/gitorious/mainline.git /var/www/gitorious && \
    cd /var/www/gitorious && \
    git submodule init && \
    git submodule update

, Легкого как круг. Теперь мы просто должны поместить двоичный файл Gitorious на наш путь:

 ln -s /var/www/gitorious/script/gitorious /usr/bin

услуги по Конфигурированию

Gitorious нужен набор фоновых сервисов, таким образом, мы должны скопировать предоставленные сценарии запуска:

cd /var/www/gitorious/doc/templates/ubuntu/ && \
    cp git-daemon git-poller git-ultrasphinx stomp /etc/init.d/ && \
    cd /etc/init.d/ && \
    chmod 755 git-daemon git-poller git-ultrasphinx stomp

и включают им:

 update-rc.d git-daemon defaults && \
    update-rc.d git-poller defaults && \
    update-rc.d git-ultrasphinx defaults && \
    update-rc.d stomp defaults

Мы должны создать дополнительную символьную ссылку, потому что все сценарии запуска имеют набор RUBY_HOME к/opt/ruby-enterprise (альтернативно, мы могли просто исправить файлы, но этот способ, которым это легче и можно обновить сценарии в случае необходимости):

 ln -s /usr/ /opt/ruby-enterprise

ультрасфинкс мерзавца Фиксации

По состоянию на март 2013 сценарий ультрасфинкса мерзавца повреждается и не запустится. Отредактируйте /etc/init.d/git-ultrasphinx и проверьте, что start, stop и restart команды следующим образом (замена ultrasphinx:daemon с [1 137] при необходимости):

 START_CMD="cd $GITORIOUS_HOME && rake ts:start RAILS_ENV=production"
 STOP_CMD="cd $GITORIOUS_HOME && rake ts:stop RAILS_ENV=production"
 RESTART_CMD="cd $GITORIOUS_HOME && rake ts:restart RAILS_ENV=production"

Пассажир Apache

Конфигурирования

, В первую очередь, мы должны скомпилировать пассажирский модуль Apache2:

$ (пассажир содержания драгоценного камня | grep passenger-install-apache2-module)

пассажирский сценарий конфигурации скажет Вам точно, что youâ €™ ll должен добавить к Вашей апачской конфигурации. Часть, которую необходимо скопировать, похожа на это:

отредактируйте свой конфигурационный файл Apache и добавьте эти строки:

   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
    PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9
    PassengerRuby /usr/bin/ruby1.8

после перезапуска Apache Вы готовы развернуть любое количество приложений Ruby on Rails на Apache без дальнейшей определенной для Ruby on Rails конфигурации! Эти три строки должны быть вставлены в [1 174]

/etc/apache2/mods-available/passenger.load

Включающие необходимые модули

   a2enmod passenger && \
        a2enmod rewrite && \
        a2enmod ssl

, Создание сайтов Apache2

Вводит:

nano /etc/apache2/sites-available/gitorious

И копия вставляют следующий текст


    ServerName your.server.com
    DocumentRoot /var/www/gitorious/public

Тип в [1 178]

 nano /etc/apache2/sites-available/gitorious-ssl 

И копируют, вставляют следующий текст


    
        DocumentRoot /var/www/gitorious/public
        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
        BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
    

Теперь, мы должны отключить сайт по умолчанию и включить наши недавно созданные сайты Gitorious:

  a2dissite default && \
    a2dissite default-ssl && \
    a2ensite gitorious && \
    a2ensite gitorious-ssl

Создание пользователя MySQL для gitorious

  mysql -u root -p

Вводит пароль, который Вы сделали при установке MySQL после того, как следующая подсказка

Enter password:

Вводит это линию за линией, исключая mysql> и изменение с паролем MySQL, который Вы сделали при установке Gitorious

Конфигурирования MySQL

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'gitorious'@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

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

cd /var/www/gitorious/ && \
    bundle install && \
    bundle pack

Теперь мы можем создать пользователя, при котором Gitorious будет выполнять и обслуживать репозитории Мерзавца:

  adduser --system --home /var/www/gitorious/ --no-create-home --group --shell /bin/bash git && \
    chown -R git:git /var/www/gitorious

Затем мы должны создать некоторый материал, который должен выполнить Gitorious:

  su - git && \
    mkdir .ssh && \
    touch .ssh/authorized_keys && \
    chmod 700 .ssh && \
    chmod 600 .ssh/authorized_keys && \
    mkdir tmp/pids && \
    mkdir repositories && \
    mkdir tarballs

Создание конфигурации Gitorious

Позволяет, копируют демонстрационные конфигурационные файлы в корректный путь:

 cp config/database.sample.yml config/database.yml && \
    cp config/gitorious.sample.yml config/gitorious.yml && \
    cp config/broker.yml.example config/broker.yml

Теперь редактируют config/database.yml и удостоверяются, что Вы устанавливаете корректное имя пользователя и пароль в производственном разделе. После этого мы должны установить несколько вещей в config/gitorious.yml:

Удостоверяются, что Вы настраиваете правильный раздел (не, протестируйте: но производство:)

repository_base_path should be /var/www/gitorious/repositories
cookie_secret needs to be set to a random value >= 30 characters
gitorious_client_port should be 80
gitorious_host needs to be the exact hostname that clients will use (cookies get messed up otherwise)
archive_cache_dir should be /var/www/gitorious/tarballs
archive_work_dir should be something like /tmp/tarballs-work
hide_http_clone_urls should be true (they require extra unknown setup to work)
is_gitorious_dot_org should be false
Creating the Gitorious database

из-за несовместимости RubyGems с направляющими < 2.3.11 необходимо добавить следующую строку наверху config/boot.rb:

require 'thread'

Теперь мы позволяем граблям сделать всю работу для нас:

export RAILS_ENV=production && \
    bundle exec rake db:create && \
    bundle exec rake db:migrate && \
    bundle exec rake rake ts:conf && \
    bundle exec rake rake ts:rebuild

Создают сфинкса Cronjob

crontab -e 10 * * * * /var/www/gitorious/bin/rake ts:rebuild >/dev/null RAILS_ENV=production

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

env RAILS_ENV=production ruby1.8 script/create_admin

Перезагрузка

Youâ €™ ре, наконец сделанное. Перезагрузите свою машину Ubuntu, и Ваша установка Gitorious должна быть в порядке.

Проверяющие возможные проблемы

Обзор http://your.server.com/admin/diagnostics для проверки на возможные проблемы.

Источник : http://coding-journal.com/installing-gitorious-on-ubuntu-11-04/

12
задан tshepang 16 May 2014 в 19:39
поделиться

8 ответов

Я не думаю, что они говорят о времени, необходимом для разработки в стеке Microsoft. Речь идет о стоимости:

  • инструментов (Visual Studio, Resharper),
  • операционных систем (Windows Vista, Windows Server); и
  • баз данных (SQL Server 2005/2008).

И да, вы могли бы использовать Mono + Linux, но это неполная реализация (на данный момент) и представляет больший риск, чем решение, сертифицированное Microsoft. К тому же MonoDevelop не так хорош, как Visual Studio. Я думаю, что Mono по-прежнему довольно ограничен в качестве производственного варианта.

У Microsoft есть программа для стартапов (называемая BizSpark), которая может эффективно устранить эти затраты для стартапов (менее 1 миллиона долларов годового дохода iirc), но выйти за рамки этого и получить реально дорого. На основе некоторых из Джеффа s комментарии Я должен задаться вопросом, намеренно ли Stackoverflow остается ниже этого уровня (принимая только определенное количество размещений рекламы), чтобы избежать этого. Примечание: он этого не сказал. Это просто вопрос, который возник у меня.

Но сравните это, скажем, стек разработки PHP или Java:

  • Dev-машина: Windows, Linux (бесплатно), Mac или что-то еще;
  • MySQL (бесплатно) работает на Linux;
  • Apache или nginx (оба бесплатные);
  • и т. Д.

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

Взгляните на Увеличение и уменьшение масштаба: скрытые затраты .

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

16
ответ дан 2 December 2019 в 05:04
поделиться

Все дискуссии о стоимости предполагают, что вы собираетесь покупать собственный сервер (что довольно безумно для 99% мира). Сторонние услуги хостинга, как правило, довольно дешевы, и не имеет значения, используете ли вы Microsoft, Linux или что-то еще. Позвольте службе хостинга разобраться со всем этим дерьмом и используйте стек, который вам проще всего использовать.

4
ответ дан 2 December 2019 в 05:04
поделиться

В случае базовых веб-приложений речь идет только о самой Windows. Linux является бесплатным, поэтому хостинг на базе Linux дешевле, чем хостинг на базе Windows. Однако весь стек Microsoft за пределами первоначальной лицензии Windows полностью бесплатен, если вы придерживаетесь «экспресс-версии» всех частей. SQL Server 2008 Express больше похож на прямое развертывание mySQL, чем SQL Server 2008 Standard Edition.

Загрузить: MS Web Platform (бесплатные инструменты)

Для корпоративных приложений речь идет о корпоративном - инструменты класса. Версия SQL Server 2008 Standard или Enterprise стоит тысячи долларов. Visual Studio 2008 Pro стоит сотни. Однако, если вы сравниваете с Linux, вам это действительно не нужно; любой, кому это нужно, уже работает со стеком Microsoft на тяжелом уровне. Стек Express поможет большинству людей очень далеко.

2
ответ дан 2 December 2019 в 05:04
поделиться

Это полностью зависит от того, какие продукты Microsoft вы лицензируете для своего проекта. Например, один только SQL Server 2008 Enterprise стоит 24 000 долларов. Однако, если вы можете обойтись с добавлением Express, это бесплатно.

http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx

Тогда вам понадобится ОС (опять же несколько вариантов) и инструменты разработки (еще раз больше возможностей по разным ценам).

Резюме: если вы создаете небольшое приложение, оно не очень дорогое. Существуют бесплатные версии большинства частей стека, кроме ОС. А если вы используете хостинговое решение, стоимость ОС даже скрыта. Если вы собираетесь делать все самостоятельно, это может быть очень дорого.

2
ответ дан 2 December 2019 в 05:04
поделиться

Да, вы правы, django.contrib.auth.views.logout принимает необязательный параметр next_page, но не забывайте, что тег url соответствует шаблонам urlconf, не представления, поэтому он не знает, что является параметром представления, а что нет. Это говорит о том, что вам нужно сделать "next_page" именованной группой в регулярном выражении для вышеуказанного шаблона, что вы могли бы сделать, но есть более простой способ обрабатывать перенаправления ...

Глядя на django.contrib. auth.views.logout , вы можете видеть, что в отсутствие параметра "next_page" представление перенаправляется на любой URL-адрес, указанный в request.GET или request.POST с ключом "redirect_field_name", параметром, который по умолчанию - "REDIRECT_FIELD_NAME", который, в свою очередь, по умолчанию - строка " NET вам понадобится

  • IIS
  • Сервер с Windows (для IIS)
  • Visual Studio
  • Рабочая станция с Windows для Visual Studio

Если вы хотите использовать PHP, Perl, Mono, Ruby. .. вам нужен

  • Веб-сервер, поддерживающий требуемую технологию. Может быть Apache, IIS ...
  • ОС, поддерживающая ваш weberver
  • Рабочая станция с любым Linux, Windows или Mac

Поэтому, если вы решили использовать открытую технологию, у вас есть выбор, с чем вы хотите.

Если вы хотите использовать .NET, вы должны работать с Windows.

NET вам потребуется

  • IIS
  • Сервер с Windows (для IIS)
  • Visual Studio
  • Рабочая станция с Windows для Visual Studio

Если вы хотите использовать PHP, Perl, Mono, Ruby. .. вам нужен

  • Веб-сервер, поддерживающий требуемую технологию. Может быть Apache, IIS ...
  • ОС, поддерживающая ваш weberver
  • Рабочая станция с любым Linux, Windows или Mac

Так что, если вы решили использовать открытую технологию, у вас есть выбор, с чем вы хотите.

Если вы хотите использовать .NET, вы должны работать с Windows.

0
ответ дан 2 December 2019 в 05:04
поделиться

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

Часто, когда вы начинаете покупать лицензии разработчиков, скажем, для команд из 20-50 человек, вы начинаете говорить о миллионах долларов авансовых затрат. 100 000 долларов на разработчика не были бы чем-то неслыханным (не считая часто обязательных ежегодных сборов за поддержку, которые могут легко удвоить это число).

Я бы не подумал, что это произойдет с Microsoft, потому что у разработчиков Microsoft такой широкий рынок, но я не удивлюсь, если специальные лицензии разработчика MS для всех ваших разнообразных инструментов - базы данных, подписки MSDN,

1
ответ дан 2 December 2019 в 05:04
поделиться

На совершенно другой стороне спектра, проверьте цены на GoDaddy.com за общий хостинг (и, вероятно, есть и другие хосты). При тарифном плане 7 долларов в месяц вы получаете ASP.NET v1.0 / 2.0 / 3.0 / 3.5 и две базы данных MS SQL. Серьезные разработчики скажут: «Кто будет использовать виртуальный хостинг?» но если серьезно, поставьте там хостинг и сильно ударите. Вы увидите, что время отклика хорошее, приложение легко развертывается (но вы не получаете полного контроля, поэтому вам нужно использовать безопасность со средним уровнем доверия и другие вещи), и вы получаете 1500 ГБ ежемесячной передачи и 150 ГБ дискового пространства. space.

Итак, это полный стек MS за 7 долларов в месяц. Конечно, все используется совместно (даже экземпляры MSSql), но для МНОГИХ приложений это идеальное решение. Виртуальный хостинг - это в некоторых случаях шутка, но размещенные в одном месте серверы и все такое - шутка для многих стартапов, у которых нет особо интересных технологических потребностей.

2
ответ дан 2 December 2019 в 05:04
поделиться

Если вы не соответствуете требованиям BizSpark или, возможно, программе Empower, вам нужно будет купить лицензии для Windows Server, SQL Server, Visual Studio, Windows 7 (или Vista, XP ). Для стартапа это может быть непомерно дорого.

3
ответ дан 2 December 2019 в 05:04
поделиться
Другие вопросы по тегам:

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