Skip to content
Get GNU/Linux! A simple, clear website about GNU/Linux.
PHP HTML CSS JavaScript Makefile Shell Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker Fix the `gulp develop` task Aug 24, 2019
docroot Improve styling for the FAQ Sep 10, 2019
locale Replace obsolete softwareliberty.com URLs Aug 24, 2019
scripts Use a Docker container as the build environment Aug 21, 2019
src Improve styling for the FAQ Sep 10, 2019
.babelrc Use Bower to manage components, and Gulp for automation Jun 27, 2017
.bowerrc Use Bower to manage components, and Gulp for automation Jun 27, 2017
.dockerignore
.editorconfig Use Bower to manage components, and Gulp for automation Jun 27, 2017
.gitignore Use a Docker container as the build environment Aug 21, 2019
COPYING Added README.md and COPYING file Feb 16, 2013
Makefile Automate import of translation files Aug 22, 2019
README.md Use a Docker container as the build environment Aug 21, 2019
bower.json Use Yarn in favor of NPM and Bower Jul 4, 2017
gulpfile.js Fix the `gulp develop` task Aug 24, 2019
package-lock.json Fix the `gulp develop` task Aug 24, 2019
package.json Fix the `gulp develop` task Aug 24, 2019

README.md

Get GNU/Linux!

This is the web application for the www.getgnulinux.org site. Get GNU/Linux! is a simple, clear website about GNU/Linux. What is GNU/Linux? Why not Windows? Tips to make the switch. With this website we hope to reach people who never heard about free software and barely remotely heard the word "Linux".

Build/development environment

You can use Docker to setup a local build/development environment. On a Debian or Debian-based system, you can install Docker with:

apt-get install docker.io docker-compose

Start the development environment with:

docker/dev.sh

Start the web server in a separate terminal:

docker/start.sh

The website should now be accessible at http://localhost:8080/.

Manual build environment

NOTE: There's no need to do this manually. The Docker environment has this automated, see "Build/development environment" section above.

The following tools need to be installed on your build environment:

  • GNU gettext
  • GNU make
  • Nodejs

On a Debian or Debian-based system, you can install the dependencies with:

apt-get install gettext make nodejs

The Nodejs version that comes with Debian is probably too old. If this is the case, follow the instructions on https://nodejs.org/en/download/ to obtain and install the latest stable version.

Create a settings file:

make docroot/settings.php

Open the newly created docroot/settings.php in a text editor and change the settings where needed.

The locale/getgnulinux/ directory contains the translations. These need to be compiled to enable the translations on the website. Compile them with:

make

When a translation file is updated, you'll need to recompile it to see the changes on the website. Just run the make command again.

Install the required Nodejs packages with:

npm install

Activate the GGL development work space:

source scripts/activate

You should now see "(ggl)" at the start of your prompt. This indicates that you are in an active GGL development workspace, allowing you to run bower and gulp commands. You can execute deactivate at any time to deactivate the GGL development workspace.

Install additional required packages with:

bower install

Finally, build the project with:

gulp build

You can also run gulp --tasks to see a list of available gulp tasks.

The "docroot" directory is now prepared for a production environment. You can synchronize the contents of this directory to the document root on your web server to deploy.

Setup the web server

This section explains the basic steps needed to setup the website on your web server.

Requirements for the web server are as follows:

  • Apache HTTP server
  • PHP
  • GNU gettext

After creating a production build as described above, the directory "docroot" is the document root for the website. Make sure Apache is configured to serve from this directory. This directory also contains a hidden file .htaccess which is required for the website to function properly. Either make sure that .htaccess files are processed for this website, or copy the rules from this .htaccess file to the Apache virtual host configuration for this site.

Also make sure that the required Apache modules are enabled:

a2enmod rewrite ssl

Translations will not work until locale data is installed and compiled. On Debian-based systems, precompiled locale data can be installed with:

apt-get install locales-all

Contributing

If you wish to contribute to this website, please fork it on GitHub, push your change to a named branch, then send me a pull request.

You can also help us reach an audience in your language. With Transifex, you can help translate the website into your own language. Please see our translation guidelines for more information.

Also see the Participate page on our blog for more ways you can help.

License

The source code is licensed under the GNU Affero General Public License Version 3, which you can find in the COPYING file.

The content of the website and its graphical assets are, except where otherwise noted, licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.

You can’t perform that action at this time.