Прежде чем мы начнем:
Наличие качественных людей сэкономит вам деньги. Точно так же, как
наличие хорошего юриста (возможно, NSFW для присяги) или бухгалтера, наличие качественного SysAd, вероятно, сэкономит вам деньги, часто просто помогая вам избежать дорогостоящих ошибок. Возможно, у вас сейчас нет денег, чтобы оплатить экспертизу, но как только вы сможете, вы должны сделать эти инвестиции.
Нет простого, единственного ответа на этот вопрос. Если вы один, чтобы задать этот вопрос, вы должны понимать, что этот вопрос является ядром области, в которую профессионалы вкладывают годы обучения и практики. Аналогичным вопросом для разработчика будет «как мне написать веб-приложение?»; Конечно, мы могли бы указать вам, как установить Ruby-on-Rails и RoR "Hello World". Хотя это «ответит на вопрос», на самом деле это вам не поможет. Этот Q / A является попыткой реально помочь вам.
Ты должен знать:
Администрирование веб-сервера - это большая тема, которая тесно связана с различными дисциплинами. Чтобы сделать это хорошо, вам понадобится фундаментальное понимание TCP / IP, вашей хост-ОС, вашего WebServer-приложения и некоторое понимание работы стека приложений.
Будьте готовы к чтению. Много .
Определите ваши потребности:
Требования
- Вы работаете на простом, статичном веб-сайте (возможно, с некоторыми эффектами Javascript), или
- (более вероятно) вы используете приложение, которое имеет веб-интерфейс?
- У вас есть постоянные данные? (Вам нужна база данных?)
- Там участвуют учетные данные пользователя? Есть ли еще одна причина, по которой вам необходимо обеспечить связь между пользователем и веб-сайтом? (SSL)
- Вы обрабатываете платежи любого рода? Помимо наличия требований SSL, вам необходимо изучить дополнительные факторы (в зависимости от региона). Они также будут различаться в зависимости от используемого вами обработчика платежей.
Определите свой стек:
Как вы собираетесь написать и запустить это?
- Платформа (Windows, Linux, другие Unix и т. Д.)
- Требования к приложениям (Ruby / Rails, Python, Perl, PHP, .NET и т. Д. И т. Д.)
- База данных (...)
- Кэширование? (Честно говоря, не беспокойтесь об этом сейчас; имейте в виду, что это решает некоторые проблемы и может создавать другие. Это проблема производительности, и сейчас вы просто пытаетесь начать.)
Некоторые из этих вариантов сообщат другим. Например, если вы используете приложение .NET, вы, вероятно, хотите использовать MSSQL и IIS; Если вы используете Ruby on Rails, вам, вероятно, нужен сервер Linux; так далее...
Познакомьтесь с вашим продуктом:
Теперь, когда вы определились с тем, как будет выглядеть ваш стек, вам нужно узнать его. Это где вы должны проводить большую часть своего времени. Поиск «Configure [product]» или «[product] Admin Guide» даст вам много ресурсов.
Например, если вы используете Apache в Ubuntu, вы должны прочитать:
Ищите похожие документы, статьи, сообщения в блоге для своего стека.
Установите минимум:
Существует множество модулей для Apache, но если вы не собираетесь использовать PHP (например), не устанавливайте mod-php.
Здесь также следует указать, что вам следует избегать установки графического интерфейса, если это сервер Linux; Графический интерфейс потребляет значительное количество системных ресурсов.
Защита сайта:
- Обеспечить минимальные разрешения на работу. Это относится не только к файловой системе, но также к сервисам и процессам.
- Держите порты сервера отключенными для ненужных сервисов. (Опять же, установите только минимум.)
- Ограничьте интерфейсы приложений внутренней средой (если, например, веб-приложение запущено на том же сервере (например, Rails), ограничьте его прослушиванием только localhost)
В заключение:
Это только начало того, что вы должны сделать, чтобы сайт заработал и работал. Это даже не начинает касаться проблем обслуживания серверов или того, как решать проблемы масштабирования (если ваш проект станет успешным), или каких-либо других бесчисленных проблем, которые опытный SysAd решит для вас.