@ -0,0 +1,5 @@ | |||
_site | |||
.sass-cache | |||
.jekyll-cache | |||
.jekyll-metadata | |||
vendor |
@ -0,0 +1,25 @@ | |||
--- | |||
permalink: /404.html | |||
layout: default | |||
--- | |||
<style type="text/css" media="screen"> | |||
.container { | |||
margin: 10px auto; | |||
max-width: 600px; | |||
text-align: center; | |||
} | |||
h1 { | |||
margin: 30px 0; | |||
font-size: 4em; | |||
line-height: 1; | |||
letter-spacing: -1px; | |||
} | |||
</style> | |||
<div class="container"> | |||
<h1>404</h1> | |||
<p><strong>Page not found :(</strong></p> | |||
<p>The requested page could not be found.</p> | |||
</div> |
@ -0,0 +1,30 @@ | |||
source "https://rubygems.org" | |||
# Hello! This is where you manage which Jekyll version is used to run. | |||
# When you want to use a different version, change it below, save the | |||
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: | |||
# | |||
# bundle exec jekyll serve | |||
# | |||
# This will help ensure the proper Jekyll version is running. | |||
# Happy Jekylling! | |||
gem "jekyll", "~> 4.0.1" | |||
# This is the default theme for new Jekyll sites. You may change this to anything you like. | |||
gem "minima", "~> 2.5" | |||
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and | |||
# uncomment the line below. To upgrade, run `bundle update github-pages`. | |||
# gem "github-pages", group: :jekyll_plugins | |||
# If you have any plugins, put them here! | |||
group :jekyll_plugins do | |||
gem "jekyll-feed", "~> 0.12" | |||
end | |||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem | |||
# and associated library. | |||
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do | |||
gem "tzinfo", "~> 1.2" | |||
gem "tzinfo-data" | |||
end | |||
# Performance-booster for watching directories on Windows | |||
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? | |||
gem "just-the-docs" |
@ -0,0 +1,92 @@ | |||
GEM | |||
remote: https://rubygems.org/ | |||
specs: | |||
addressable (2.7.0) | |||
public_suffix (>= 2.0.2, < 5.0) | |||
colorator (1.1.0) | |||
concurrent-ruby (1.1.8) | |||
em-websocket (0.5.2) | |||
eventmachine (>= 0.12.9) | |||
http_parser.rb (~> 0.6.0) | |||
eventmachine (1.2.7) | |||
ffi (1.14.2) | |||
forwardable-extended (2.6.0) | |||
http_parser.rb (0.6.0) | |||
i18n (1.8.9) | |||
concurrent-ruby (~> 1.0) | |||
jekyll (4.0.1) | |||
addressable (~> 2.4) | |||
colorator (~> 1.0) | |||
em-websocket (~> 0.5) | |||
i18n (>= 0.9.5, < 2) | |||
jekyll-sass-converter (~> 2.0) | |||
jekyll-watch (~> 2.0) | |||
kramdown (~> 2.1) | |||
kramdown-parser-gfm (~> 1.0) | |||
liquid (~> 4.0) | |||
mercenary (~> 0.3.3) | |||
pathutil (~> 0.9) | |||
rouge (~> 3.0) | |||
safe_yaml (~> 1.0) | |||
terminal-table (~> 1.8) | |||
jekyll-feed (0.15.1) | |||
jekyll (>= 3.7, < 5.0) | |||
jekyll-sass-converter (2.1.0) | |||
sassc (> 2.0.1, < 3.0) | |||
jekyll-seo-tag (2.7.1) | |||
jekyll (>= 3.8, < 5.0) | |||
jekyll-watch (2.2.1) | |||
listen (~> 3.0) | |||
just-the-docs (0.3.3) | |||
jekyll (>= 3.8.5) | |||
jekyll-seo-tag (~> 2.0) | |||
rake (>= 12.3.1, < 13.1.0) | |||
kramdown (2.3.0) | |||
rexml | |||
kramdown-parser-gfm (1.1.0) | |||
kramdown (~> 2.0) | |||
liquid (4.0.3) | |||
listen (3.4.1) | |||
rb-fsevent (~> 0.10, >= 0.10.3) | |||
rb-inotify (~> 0.9, >= 0.9.10) | |||
mercenary (0.3.6) | |||
minima (2.5.1) | |||
jekyll (>= 3.5, < 5.0) | |||
jekyll-feed (~> 0.9) | |||
jekyll-seo-tag (~> 2.1) | |||
pathutil (0.16.2) | |||
forwardable-extended (~> 2.6) | |||
public_suffix (4.0.6) | |||
rake (13.0.3) | |||
rb-fsevent (0.10.4) | |||
rb-inotify (0.10.1) | |||
ffi (~> 1.0) | |||
rexml (3.2.4) | |||
rouge (3.26.0) | |||
safe_yaml (1.0.5) | |||
sassc (2.4.0) | |||
ffi (~> 1.9) | |||
terminal-table (1.8.0) | |||
unicode-display_width (~> 1.1, >= 1.1.1) | |||
thread_safe (0.3.6) | |||
tzinfo (1.2.9) | |||
thread_safe (~> 0.1) | |||
tzinfo-data (1.2021.1) | |||
tzinfo (>= 1.0.0) | |||
unicode-display_width (1.7.0) | |||
wdm (0.1.1) | |||
PLATFORMS | |||
ruby | |||
DEPENDENCIES | |||
jekyll (~> 4.0.1) | |||
jekyll-feed (~> 0.12) | |||
just-the-docs | |||
minima (~> 2.5) | |||
tzinfo (~> 1.2) | |||
tzinfo-data | |||
wdm (~> 0.1.1) | |||
BUNDLED WITH | |||
2.1.4 |
@ -0,0 +1,58 @@ | |||
# Welcome to Jekyll! | |||
# | |||
# This config file is meant for settings that affect your whole blog, values | |||
# which you are expected to set up once and rarely edit after that. If you find | |||
# yourself editing this file very often, consider using Jekyll's data files | |||
# feature for the data you need to update frequently. | |||
# | |||
# For technical reasons, this file is *NOT* reloaded automatically when you use | |||
# 'bundle exec jekyll serve'. If you change this file, please restart the server process. | |||
# | |||
# If you need help with YAML syntax, here are some quick references for you: | |||
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml | |||
# https://learnxinyminutes.com/docs/yaml/ | |||
# | |||
# Site settings | |||
# These are used to personalize your new site. If you look in the HTML files, | |||
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. | |||
# You can create any custom variable you would like, and they will be accessible | |||
# in the templates via {{ site.myvariable }}. | |||
title: Self Hosted Education | |||
email: abhas@abhas.io | |||
description: >- # this means to ignore newlines until "baseurl:" | |||
Write an awesome description for your new site here. You can edit this | |||
line in _config.yml. It will appear in your document head meta (for | |||
Google search results) and in your feed.xml site description. | |||
baseurl: "" # the subpath of your site, e.g. /blog | |||
url: "https://selfhosted.education" # the base hostname & protocol for your site, e.g. http://example.com | |||
twitter_username: abhasabhinav | |||
github_username: abhas | |||
logo: "/assets/she-logo.png" | |||
search_enabled: false | |||
# Build settings | |||
theme: "just-the-docs" | |||
plugins: | |||
- jekyll-feed | |||
# Exclude from processing. | |||
# The following items will not be processed, by default. | |||
# Any item listed under the `exclude:` key here will be automatically added to | |||
# the internal "default list". | |||
# | |||
# Excluded items can be processed by explicitly listing the directories or | |||
# their entries' file path in the `include:` list. | |||
# | |||
# exclude: | |||
# - .sass-cache/ | |||
# - .jekyll-cache/ | |||
# - gemfiles/ | |||
# - Gemfile | |||
# - Gemfile.lock | |||
# - node_modules/ | |||
# - vendor/bundle/ | |||
# - vendor/cache/ | |||
# - vendor/gems/ | |||
# - vendor/ruby/ |
@ -0,0 +1,206 @@ | |||
--- | |||
layout: table_wrappers | |||
--- | |||
<!DOCTYPE html> | |||
<html lang="{{ site.lang | default: 'en-US' }}"> | |||
{% include head.html %} | |||
<body> | |||
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> | |||
<symbol id="svg-link" viewBox="0 0 24 24"> | |||
<title>Link</title> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> | |||
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> | |||
</svg> | |||
</symbol> | |||
<symbol id="svg-search" viewBox="0 0 24 24"> | |||
<title>Search</title> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"> | |||
<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line> | |||
</svg> | |||
</symbol> | |||
<symbol id="svg-menu" viewBox="0 0 24 24"> | |||
<title>Menu</title> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> | |||
<line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> | |||
</svg> | |||
</symbol> | |||
<symbol id="svg-arrow-right" viewBox="0 0 24 24"> | |||
<title>Expand</title> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> | |||
<polyline points="9 18 15 12 9 6"></polyline> | |||
</svg> | |||
</symbol> | |||
<symbol id="svg-doc" viewBox="0 0 24 24"> | |||
<title>Document</title> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file"> | |||
<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline> | |||
</svg> | |||
</symbol> | |||
</svg> | |||
<div class="side-bar"> | |||
<div class="site-header"> | |||
<a href="{{ '/' | absolute_url }}" class="site-title lh-tight">{% include title.html %}</a> | |||
<a href="#" id="menu-button" class="site-button"> | |||
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-menu"></use></svg> | |||
</a> | |||
</div> | |||
<nav role="navigation" aria-label="Main" id="site-nav" class="site-nav"> | |||
{% if site.just_the_docs.collections %} | |||
{% assign collections_size = site.just_the_docs.collections | size %} | |||
{% for collection_entry in site.just_the_docs.collections %} | |||
{% assign collection_key = collection_entry[0] %} | |||
{% assign collection_value = collection_entry[1] %} | |||
{% assign collection = site[collection_key] %} | |||
{% if collection_value.nav_exclude != true %} | |||
{% if collections_size > 1 %} | |||
<div class="nav-category">{{ collection_value.name }}</div> | |||
{% endif %} | |||
{% include nav.html pages=collection %} | |||
{% endif %} | |||
{% endfor %} | |||
{% else %} | |||
{% include nav.html pages=site.html_pages %} | |||
{% endif %} | |||
</nav> | |||
<footer class="site-footer"> | |||
The "Self Hosted Education" initiative is a public service initiative | |||
to encourage schools, colleges, universities etc. to use Free Software | |||
for all aspects of their computing needs. | |||
</footer> | |||
</div> | |||
<div class="main" id="top"> | |||
<div id="main-header" class="main-header"> | |||
{% if site.search_enabled != false %} | |||
<div class="search"> | |||
<div class="search-input-wrap"> | |||
<input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off"> | |||
<label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label> | |||
</div> | |||
<div id="search-results" class="search-results"></div> | |||
</div> | |||
{% endif %} | |||
{% include header_custom.html %} | |||
{% if site.aux_links %} | |||
<nav aria-label="Auxiliary" class="aux-nav"> | |||
<ul class="aux-nav-list"> | |||
{% for link in site.aux_links %} | |||
<li class="aux-nav-list-item"> | |||
<a href="{{ link.last }}" class="site-button" | |||
{% if site.aux_links_new_tab %} | |||
target="_blank" rel="noopener noreferrer" | |||
{% endif %} | |||
> | |||
{{ link.first }} | |||
</a> | |||
</li> | |||
{% endfor %} | |||
</ul> | |||
</nav> | |||
{% endif %} | |||
</div> | |||
<div id="main-content-wrap" class="main-content-wrap"> | |||
{% unless page.url == "/" %} | |||
{% if page.parent %} | |||
{%- for node in pages_list -%} | |||
{%- if node.parent == nil -%} | |||
{%- if page.parent == node.title or page.grand_parent == node.title -%} | |||
{%- assign first_level_url = node.url | absolute_url -%} | |||
{%- endif -%} | |||
{%- if node.has_children -%} | |||
{%- assign children_list = pages_list | where: "parent", node.title -%} | |||
{%- for child in children_list -%} | |||
{%- if page.url == child.url or page.parent == child.title -%} | |||
{%- assign second_level_url = child.url | absolute_url -%} | |||
{%- endif -%} | |||
{%- endfor -%} | |||
{%- endif -%} | |||
{%- endif -%} | |||
{%- endfor -%} | |||
<nav aria-label="Breadcrumb" class="breadcrumb-nav"> | |||
<ol class="breadcrumb-nav-list"> | |||
{% if page.grand_parent %} | |||
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.grand_parent }}</a></li> | |||
<li class="breadcrumb-nav-list-item"><a href="{{ second_level_url }}">{{ page.parent }}</a></li> | |||
{% else %} | |||
<li class="breadcrumb-nav-list-item"><a href="{{ first_level_url }}">{{ page.parent }}</a></li> | |||
{% endif %} | |||
<li class="breadcrumb-nav-list-item"><span>{{ page.title }}</span></li> | |||
</ol> | |||
</nav> | |||
{% endif %} | |||
{% endunless %} | |||
<div id="main-content" class="main-content" role="main"> | |||
{% if site.heading_anchors != false %} | |||
{% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\"><use xlink:href=\"#svg-link\"></use></svg>" anchorClass="anchor-heading" anchorAttrs="aria-labelledby=\"%html_id%\"" %} | |||
{% else %} | |||
{{ content }} | |||
{% endif %} | |||
{% if page.has_children == true and page.has_toc != false %} | |||
<hr> | |||
<h2 class="text-delta">Table of contents</h2> | |||
<ul> | |||
{%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%} | |||
{% for child in children_list %} | |||
<li> | |||
<a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.summary %} - {{ child.summary }}{% endif %} | |||
</li> | |||
{% endfor %} | |||
</ul> | |||
{% endif %} | |||
{% capture footer_custom %} | |||
{%- include footer_custom.html -%} | |||
{% endcapture %} | |||
{% if footer_custom != "" or site.last_edit_timestamp or site.gh_edit_link %} | |||
<hr> | |||
<footer> | |||
{% if site.back_to_top %} | |||
<p><a href="#top" id="back-to-top">{{ site.back_to_top_text }}</a></p> | |||
{% endif %} | |||
{{ footer_custom }} | |||
{% if site.last_edit_timestamp or site.gh_edit_link %} | |||
<div class="d-flex mt-2"> | |||
{% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %} | |||
<p class="text-small text-grey-dk-000 mb-0 mr-2"> | |||
Page last modified: <span class="d-inline-block">{{ page.last_modified_date | date: site.last_edit_time_format }}</span>. | |||
</p> | |||
{% endif %} | |||
{% if | |||
site.gh_edit_link and | |||
site.gh_edit_link_text and | |||
site.gh_edit_repository and | |||
site.gh_edit_branch and | |||
site.gh_edit_view_mode | |||
%} | |||
<p class="text-small text-grey-dk-000 mb-0"> | |||
<a href="{{ site.gh_edit_repository }}/{{ site.gh_edit_view_mode }}/{{ site.gh_edit_branch }}{% if site.gh_edit_source %}/{{ site.gh_edit_source }}{% endif %}/{{ page.path }}" id="edit-this-page">{{ site.gh_edit_link_text }}</a> | |||
</p> | |||
{% endif %} | |||
</div> | |||
{% endif %} | |||
</footer> | |||
{% endif %} | |||
</div> | |||
</div> | |||
{% if site.search_enabled != false %} | |||
{% if site.search.button %} | |||
<a href="#" id="search-button" class="search-button"> | |||
<svg viewBox="0 0 24 24" class="icon"><use xlink:href="#svg-search"></use></svg> | |||
</a> | |||
{% endif %} | |||
<div class="search-overlay"></div> | |||
{% endif %} | |||
</div> | |||
</body> | |||
</html> |
@ -0,0 +1,29 @@ | |||
--- | |||
layout: post | |||
title: "Welcome to Jekyll!" | |||
date: 2021-02-25 00:19:13 +0530 | |||
categories: jekyll update | |||
--- | |||
You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. | |||
Jekyll requires blog post files to be named according to the following format: | |||
`YEAR-MONTH-DAY-title.MARKUP` | |||
Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works. | |||
Jekyll also offers powerful support for code snippets: | |||
{% highlight ruby %} | |||
def print_hi(name) | |||
puts "Hi, #{name}" | |||
end | |||
print_hi('Tom') | |||
#=> prints 'Hi, Tom' to STDOUT. | |||
{% endhighlight %} | |||
Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. | |||
[jekyll-docs]: https://jekyllrb.com/docs/home | |||
[jekyll-gh]: https://github.com/jekyll/jekyll | |||
[jekyll-talk]: https://talk.jekyllrb.com/ |
@ -0,0 +1,21 @@ | |||
body { | |||
font-family: Iosevka; | |||
font-weight: 400; | |||
font-feature-settings: "kern" 1, "liga" 1; | |||
font-optical-sizing: auto; | |||
color: #010101; | |||
} | |||
.site-footer { | |||
text-align: justify; | |||
color: #4f4f4f; | |||
font-weight: 500; | |||
line-height: 1.2em; | |||
font-size: 120%; | |||
} | |||
h1, h2 { | |||
font-family: Iosevka; | |||
color: #3771C9; | |||
font-weight: 500; | |||
} |
@ -0,0 +1,10 @@ | |||
--- | |||
layout: page | |||
title: About | |||
nav_order: 1 | |||
permalink: /about/ | |||
--- | |||
<img src="/assets/she-logo.png"> | |||
@ -0,0 +1,7 @@ | |||
--- | |||
layout: default | |||
title: Take Action | |||
nav_order: 7 | |||
--- | |||
# Take Action |
@ -0,0 +1,32 @@ | |||
--- | |||
layout: default | |||
title: Benefits for Students | |||
nav_order: 5 | |||
--- | |||
# Benefits for Students | |||
## Hands-on Experience | |||
Students will gain complete hands-on experience on the tools that are regularly | |||
used in industry and the FOSS community. Pro-actively building skills in such | |||
tools will make it possible for them to contribute to FOSS and also pitch for | |||
systems design and administration, research and software development | |||
opportunities professionally. | |||
## Awareness and Skills | |||
Awareness of methods and practices used in industry or FOSS community: It is | |||
not just tools that are essential – awareness and experience with established | |||
and ad-hoc methods and practices will enable students to fit in easily and | |||
quickly into global communities and participate effectively. | |||
## Opportunity to learn and experiment safely | |||
Opportunity to experiment and learn safely without affecting the production | |||
deployment of services in the lab. Students should not just be users and | |||
consumers of technology. By demonstrating the fact that such infrastructure can | |||
be built effectively and affordably by choosing Self Hosting and Free Software, | |||
we can enable them to also attempt to do the same and learn and build so much | |||
more. | |||
@ -0,0 +1,7 @@ | |||
--- | |||
layout: default | |||
title: Credits | |||
nav_order: 6 | |||
--- | |||
# Credits |
@ -0,0 +1 @@ | |||
rsync -apv _site/* root@h0gvpn:/home/websites/selfhosted.education |
@ -0,0 +1,22 @@ | |||
--- | |||
layout: default | |||
title: Services and Solutions | |||
nav_order: 4 | |||
has_children: true | |||
--- | |||
# Essential Services & Solutions | |||
Presented here is an overview of solutions that are essential and | |||
indispensable for any college campus or departmental network. | |||
The goal of this note is to explain what these solutions are, how they | |||
work, why they are useful and how they provide more value to everyone | |||
while enabling us to become more effective in whatever we do. | |||
There are three core ideologies which form the basis for our | |||
discussion here: | |||
* Free / Open Source Software, | |||
* Self-Hosting, and | |||
* Build-it-Yourself |
@ -0,0 +1,9 @@ | |||
--- | |||
layout: default | |||
parent: Services and Solutions | |||
nav_order: 3 | |||
title: Communication Tools | |||
--- | |||
# Email, Communication & Collaboration | |||
@ -0,0 +1,8 @@ | |||
--- | |||
layout: default | |||
parent: Services and Solutions | |||
nav_order: 5 | |||
title: File Sharing + Archival | |||
--- | |||
# File Sharing, Collaboration and Media Archival |
@ -0,0 +1,9 @@ | |||
--- | |||
layout: default | |||
parent: Services and Solutions | |||
nav_order: 1 | |||
title: Identity Management | |||
--- | |||
# Identity Management & Centralised Authentication | |||
@ -0,0 +1,8 @@ | |||
--- | |||
layout: default | |||
parent: Services and Solutions | |||
nav_order: 2 | |||
title: Lab Automation | |||
--- | |||
# Lab Automation & Local Repository Mirrors |
@ -0,0 +1,8 @@ | |||
--- | |||
layout: default | |||
parent: Services and Solutions | |||
nav_order: 4 | |||
title: Request Tracking | |||
--- | |||
# Helpdesks & Request Tracking |
@ -0,0 +1,8 @@ | |||
--- | |||
layout: default | |||
parent: Services and Solutions | |||
nav_order: 6 | |||
title: Source Code | |||
--- | |||
# Source Code management, Versioning, Collaboration, Review, Release, Packaging, Documentation & Deployment. |
@ -0,0 +1,8 @@ | |||
--- | |||
layout: default | |||
parent: Services and Solutions | |||
nav_order: 7 | |||
title: Virtualisation | |||
--- | |||
# Virtualisation, Private Cloud & Infrastructure / Container / Platform as a Service |
@ -0,0 +1,11 @@ | |||
--- | |||
# Feel free to add content and custom Front Matter to this file. | |||
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults | |||
layout: home | |||
--- | |||
<img src="/assets/she-logo.png"> | |||
<h2> Free Software Solutions For Educational Institutions </h2> <h3 style="margin-top: -0.2em"> Technical Details, Common Problems and Benefits </h3> | |||
@ -0,0 +1,22 @@ | |||
--- | |||
layout: default | |||
title: Network Solutions | |||
nav_order: 3 | |||
has_children: true | |||
--- | |||
# Network Solutions | |||
Presented here is an overview of solutions that are essential and | |||
indispensable for any college campus or departmental network. | |||
The goal of this note is to explain what these solutions are, how they | |||
work, why they are useful and how they provide more value to everyone | |||
while enabling us to become more effective in whatever we do. | |||
There are three core ideologies which form the basis for our | |||
discussion here: | |||
* Free / Open Source Software, | |||
* Self-Hosting, and | |||
* Build-it-Yourself |
@ -0,0 +1,9 @@ | |||
--- | |||
layout: default | |||
parent: Network Solutions | |||
nav_order: 4 | |||
title: Access Control | |||
--- | |||
# Network Access Control, Captive Portal, BYOD Management, Centralised Wired and Wireless Management | |||
@ -0,0 +1,82 @@ | |||
--- | |||
layout: default | |||
parent: Network Solutions | |||
nav_order: 1 | |||
title: Firewalls | |||
--- | |||
# Firewalls, Bandwidth Management and Link Aggregation and Failover | |||
<div style="text-align: center; width: 100%;"> | |||
<img src="/assets/firewalls.png"> | |||
</div> | |||
## Overview | |||
A firewall is a hardware + software solution that connects and shares | |||
Internet bandwidth with your local network. It isolates and protects | |||
the local network from the Internet and also allows you to securely | |||
expose specific applications, services and servers on the local | |||
network. | |||
A bandwidth management solution helps you monitor your bandwidth usage | |||
and then allows you to define bandwidth and Internet usage priorities | |||
and policies. | |||
A link aggregation and failover solution lets you connect multiple | |||
Internet links to your firewall so that you can have more bandwidth | |||
available to users on the local network. This also means that you | |||
don’t rely on a single Internet link or ISP for your Internet | |||
connectivity needs. | |||
## Common Problems | |||
* You have a firewall but you need to repeatedly call a service provider or | |||
vendor to manage the rules for you. | |||
* You have a lot of Internet bandwidth but your Internet usage and experience | |||
is slow. | |||
* When large or bulk files are repeatedly downloaded, it causes a slowdown for | |||
other users. | |||
* It is impossible to account for your bandwidth utilisation. | |||
* When your main Internet link goes down, or is slow, it cuts off the entire | |||
network from the Internet | |||
* You are having to depend on third-party ISPs to provide high- speed and | |||
unrestricted access to the Internet | |||
* Even when you have multiple links to the Internet, you might not be able to | |||
use them all at the same time. Or specify policies on who can use which one | |||
at what time. | |||
## Benefits | |||
* No dependency on 3rd party for firewall management. | |||
* No risk of usage data being sent to a firewall vendor's cloud setup for | |||
analysis – thereby, ensuring better privacy for users | |||
* Optimal utilisation of all the available Internet links simultaneously and | |||
automatic failover | |||
* Fair sharing of bandwidth amongst users so that prioritised traffic and users | |||
always get the required bandwidth | |||
* Actionable Internet utilisation reports | |||
* Caching of frequently accessed content from the Internet saves bandwidth and | |||
improves user experience | |||
* Extended caching of bulk content like OS updates, Anti-Virus updates etc | |||
* Granular Web Access controls depending on user, time of day, day of week, | |||
content-type, request-type etc | |||
* Logs can be retained for as long as required for data and trend analysis | |||
* User identity and authentication is mapped from a singular, campus-wide | |||
service that is used for all other applications as well | |||
@ -0,0 +1,64 @@ | |||
--- | |||
layout: default | |||
parent: Network Solutions | |||
nav_order: 2 | |||
title: Security | |||
--- | |||
# Network Security and Intrusion / Malware Detection | |||
## Overview | |||
Keeping the network secure is as important as keeping it fully- | |||
functional. The traditional approach of just using an equipment at the | |||
gateway is not sufficient. The threats can emanate from inside the | |||
networks as much as they come from the Internet. | |||
A functional and up-to-date Intrusion Detection and Prevention System | |||
(IDS/IPS) is an integral part of a secure network in addition to anti- | |||
malware software. An IDS/IPS inspects all the traffic passing through | |||
the network in real-time and matches them with pre-defined signatures | |||
to generate alerts and/or block the malicious activities from outside | |||
or inside the network. | |||
A SIEM (Security Incident and Events Monitoring) system can collect | |||
logs generated from various components like firewalls, servers, | |||
IDS/IPS, network access controllers, DHCP Servers etc to provide a | |||
holistic view of the security situation of the network. | |||
## Common Problems | |||
* There are infected machines in the network which are generating huge amount | |||
of traffic affecting the whole network. These things can happen silently | |||
without any outward symptoms till it begins to affect users in a negative way. | |||
* There are Trojans installed in the machines which spread through the network | |||
or can be part of a bigger attacks and are just waiting for a trigger from | |||
“Command and Control” (CnC) server on the Internet | |||
* You are not even aware that there are a lot of Intrusion or Denial-of-Service | |||
(DoS) attacks are happening on your network which are eating system resources | |||
of your gateway firewall | |||
* Students could be trying to learn about security by attacking the servers | |||
inside the college network (or on the Internet) | |||
* Unauthorised access attempts to the servers or computers inside the network | |||
are not noticed | |||
## Benefits | |||
* Visibility into malicious activity present in the network - originating from | |||
either the Internet or within the local network | |||
* Automatic blocking of the hosts generating such activities from the Internet | |||
* Automatic isolation of the hosts generating malicious traffic from within the | |||
network with the users and administrators get notified of the same | |||
* Various vulnerabilities get highlighted on the SIEM which when fixed on time | |||
save the network from catastrophic downtime | |||
* The possibility of machines inside the network getting involved in large | |||
scale attacks on the Internet gets minimised to a great extent | |||
@ -0,0 +1,9 @@ | |||
--- | |||
layout: default | |||
parent: Network Solutions | |||
nav_order: 3 | |||
title: Wireless | |||
--- | |||
# Campus Wireless Networking and Access Points | |||
@ -0,0 +1,22 @@ | |||
--- | |||
layout: default | |||
title: Overview | |||
nav_order: 2 | |||
has_children: true | |||
--- | |||
# Overview | |||
Presented here is an overview of solutions that are essential and | |||
indispensable for any college campus or departmental network. | |||
The goal of this note is to explain what these solutions are, how they | |||
work, why they are useful and how they provide more value to everyone | |||
while enabling us to become more effective in whatever we do. | |||
There are three core ideologies which form the basis for our | |||
discussion here: | |||
* Free / Open Source Software, | |||
* Self-Hosting, and | |||
* Build-it-Yourself |
@ -0,0 +1,8 @@ | |||
--- | |||
layout: default | |||
parent: Overview | |||
nav_order: 3 | |||
title: Build it yourself | |||
--- | |||
# Build it yourself |
@ -0,0 +1,57 @@ | |||
--- | |||
layout: default | |||
parent: Overview | |||
nav_order: 1 | |||
title: What is Free Software? | |||
--- | |||
# What is Free/Libre/Open Source Software? | |||
Free / Open Source Software is software that provides the following | |||
four freedoms to us: | |||
* Freedom to use the software for any purpose | |||
* Freedom to study the source code of the software and learn from it | |||
* Freedom to modify the software and make changes to it | |||
* Freedom to share the software (in its original and modified form) | |||
These freedoms are essential as they provide us with the essential | |||
framework for learning and sharing knowledge. | |||
The freedom to use software for any purpose ensures that anyone can | |||
use the software for any endeavour (educational, personal, commercial, | |||
non-profit, governmental, defence and more) and in any region. Free | |||
Software does not discriminate. | |||
> <em> For the purpose of this document, we use the terms “Free Software” and “Free | |||
> / Open Source Software” interchangeably to refer to software that provides | |||
> freedom to us. While “Free Software” is the original term that was used to | |||
> describe such a body of software, the term “Open Source” has also gained a | |||
> lot of popularity . We consider “Free Software” to be a more useful term | |||
> since it captures the essence of this philosophy and does not dilute it for | |||
> whatever pragmatic or marketing reasons. </em> | |||
The availability of source code provides us an opportunity to study | |||
and understand how something works. Without this freedom we would | |||
never be able to learn from what others have done or apply that | |||
learning to our own lives. | |||
The freedom to modify the software enables to learn and gain | |||
confidence by doing things. It allows us to extend the software, fix | |||
bugs in it, translate or localise it and adapt it for other purposes. | |||
Finally, the freedom to share a program (in its original or modified | |||
form) allows us to help others while also providing subsequent users | |||
with the same sort of freedom that we enjoy. It ensures that the | |||
software remains free and provides every user, teacher and developer | |||
equitable freedom. | |||
Proprietary software (ie. software that is distributed only as a | |||
binary and where we are restricted from accessing its source code or | |||
modifying it or sharing it freely), on the other hand, does not | |||
provide us with any opportunity to learn or understand how things work | |||
or make changes to them to test and validate our understanding. | |||
@ -0,0 +1,9 @@ | |||
--- | |||
layout: default | |||
parent: Overview | |||
nav_order: 4 | |||
title: Why is this relevant? | |||
--- | |||
# Why is this relevant for us? | |||
@ -0,0 +1,10 @@ | |||
--- | |||
layout: default | |||
parent: Overview | |||
nav_order: 2 | |||
title: Choosing Self Hosting | |||
--- | |||
# Why choose self hosting? | |||
@ -0,0 +1,9 @@ | |||
--- | |||
layout: default | |||
parent: Overview | |||
nav_order: 5 | |||
title: What can we build? | |||
--- | |||
# What can we build? | |||