Tahrir is Arabic for Liberation.
The name is total overkill.
(On the side, if you have ideas for new Fedora badges, you can file them on this Pagure project.)
The development team hangs out in
#fedora-apps on freenode. Join and ask
if you have any questions!
Installing... just to try it out
You can always:
$ pip install tahrir
Deploying for reals
Building a configuration file
Get a sample configuration file:
$ wget https://raw.github.com/fedora-infra/tahrir/master/production.ini -O tahrir.ini
Edit it to your liking. In particular you will need to change the
following values under the
And the following values under the
tahrir.admin= "comma-delimited list of admin email addresses"
tahrir.title= "just badgin' around"
Setting up the DB
Run the following command before starting the server:
$ initialize_tahrir_db tahrir.ini
Start the server like so (subsitute
tahrir.ini with the
you want to use:
$ pserve tahrir.ini
You can pass the
--reload flag to this command to automatically restart
the server in the event that the code is altered.
If you find bugs in Tahrir or have ideas for enhancements, please report them at https://github.com/fedora-infra/tahrir/issues.
If you'd like to contribute to Tahrir or just poke at the code, you can use the following instructions to set up a development environment.
Create an account on Fedora Account Systems (FAS) at https://admin.fedoraproject.org/accounts. Make sure you have Python 2.7 or above installed on your system. Then, install the Python version of virtualenvwrapper (in Fedora):
$ sudo dnf -y install python-virtualenvwrapper
In Ubuntu, you can do the same with:
$ sudo apt-get install python-setuptools $ sudo apt-get install python-virtualenv $ sudo easy-install pip $ sudo pip install python-virtualenvwrapper
After installing virtualenvwrapper, you'll need to set it up for the first time:
$ export WORKON_HOME=~/.virtualenvs/ $ mkdir -p $WORKON_HOME $ source /usr/bin/virtualenvwrapper.sh
You'll want to add
source /usr/bin/virtualenvwrapper.sh to
Then, to set up Tahrir, follow these steps:
$ git clone git://github.com/fedora-infra/tahrir.git $ cd tahrir $ mkvirtualenv tahrir (tahrir)$ python setup.py develop (tahrir)$ cp development.ini.example development.ini (tahrir)$ cp secret.ini.example secret.ini (tahrir)$ initialize_tahrir_db development.ini (tahrir)$ pserve --reload development.ini
The pserve command should output "starting HTTP server on
https://localhost:8000". Login to https://localhost:8000 in your web browser
using your FAS account username and password. In order to make
yourself an admin of the local copy of tahrir, edit the
YOUR_FAS_USERNAME@fedoraproject.org to the
When you login, you should now be able to see the admin view of tahrir in your
local copy at http://localhost:8000/admin.
Hacking with Vagrant
Quickly start hacking on tahrir using the vagrant setup that is included in the tahrir repo is super simple.
First, install Ansible, Vagrant, the vagrant-sshfs plugin, and the vagrant-libvirt plugin from the official Fedora repos:
$ sudo dnf install ansible vagrant vagrant-libvirt vagrant-sshfs
Now, from within main directory (the one with the Vagrantfile in it) of your git checkout of tahrir, copy the Vagrantfile.example file to Vagrantfile:
$ cp Vagrantfile.example Vagrantfile
vagrant up command to provision your dev environment:
$ vagrant up
When this command is completed (it may take a while) start tahrir with the following command:
$ vagrant ssh -c"cd /vagrant/; pserve --reload development.ini"
Once that is running, simply go to http://localhost:8000/ in your browser on your host to see your running tahrir test instance.
Windows (32 and 64 bit versions):
For problems like:
c:\env\tahrir>c:\env\Scripts\initialize_tahrir_db development.ini Error: pkg_resources.DistributionNotFound: simplejson
c:\env\tahrir>c:\env\Scripts\easy_install simplejson Error: raise ValueError(str(list(result.keys()))) ValueError: [u'path']
Follow these instructions:
Download and install mingw from http://code.google.com/p/mingw-builds/downloads/detail?name=i686-mingw32-gcc-4.7.0-release-c,c%2b%2b,fortran-sjlj.zip&can=2&q= Extract the contents of this folder to
Download and install setuptools if not already present. This can be done by running ez_setup.py from c:Python2x.
Create a configuration file for distutils i.e. create a file distutils.cfg at the following location:
Add the following line to it:
Now open command prompt and use easy_install to install simplejson:
This will install simplejson in Python2xLibsite-packages. A few other
packages -- namely httplib2 -- may have to be installed the same way before the
initialize_tahrir_db command can be executed.