diff --git a/README.rst b/README.rst index d505bdd..157c4e7 100644 --- a/README.rst +++ b/README.rst @@ -36,13 +36,10 @@ To install GNU Mailman follow the instructions in the documentation: http://packages.python.org/mailman/ -A description how to run Postorius on Django's dev server, can be found in -the GNU Mailman wiki: -http://wiki.list.org/display/DEV/A+5+minute+guide+to+get+the+Mailman+web+UI+running +A description how to run Postorius on Django's dev server or using +Apache/mod_wsgi, can be found in the package documentation: -You can also find a guide how to run Postorius using the Apache web server -on the Mailman wiki: -http://wiki.list.org/display/DEV/How+to+get+Postorius+running+on+Apache+and+mod_wsgi +src/postorius/doc/setup.rst Acknowledgements diff --git a/src/postorius/doc/_build/doctrees/environment.pickle b/src/postorius/doc/_build/doctrees/environment.pickle index 314683a..419c813 100644 --- a/src/postorius/doc/_build/doctrees/environment.pickle +++ b/src/postorius/doc/_build/doctrees/environment.pickle Binary files differ diff --git a/src/postorius/doc/_build/doctrees/index.doctree b/src/postorius/doc/_build/doctrees/index.doctree index 080f929..1b2a526 100644 --- a/src/postorius/doc/_build/doctrees/index.doctree +++ b/src/postorius/doc/_build/doctrees/index.doctree Binary files differ diff --git a/src/postorius/doc/_build/doctrees/news.doctree b/src/postorius/doc/_build/doctrees/news.doctree index e0f6fda..3e9a45e 100644 --- a/src/postorius/doc/_build/doctrees/news.doctree +++ b/src/postorius/doc/_build/doctrees/news.doctree Binary files differ diff --git a/src/postorius/doc/_build/doctrees/setup.doctree b/src/postorius/doc/_build/doctrees/setup.doctree index 625fc17..6d082be 100644 --- a/src/postorius/doc/_build/doctrees/setup.doctree +++ b/src/postorius/doc/_build/doctrees/setup.doctree Binary files differ diff --git a/src/postorius/doc/_build/doctrees/using.doctree b/src/postorius/doc/_build/doctrees/using.doctree index d720811..e61cc4e 100644 --- a/src/postorius/doc/_build/doctrees/using.doctree +++ b/src/postorius/doc/_build/doctrees/using.doctree Binary files differ diff --git a/src/postorius/doc/_build/html/_sources/setup.txt b/src/postorius/doc/_build/html/_sources/setup.txt index 63257c4..aa9ff9f 100644 --- a/src/postorius/doc/_build/html/_sources/setup.txt +++ b/src/postorius/doc/_build/html/_sources/setup.txt @@ -1,3 +1,4 @@ +============ Installation ============ @@ -6,16 +7,155 @@ GNU Mailman 3. To install GNU Mailman follow the instructions in the documentation: http://packages.python.org/mailman/ - -Installing for Development --------------------------- + +Install Dependencies +==================== + +Django: + +:: + + $ sudo pip install django + +mailman.client: + +:: + + $ bzr branch lp:mailman.client + $ cd mailman.client + $ sudo python setup.py install + + +Install Postorius +================= + + +Latest release +-------------- + +If you just want to install the latest release of Postorius, install it from +PyPi: + +:: + + $ sudo pip install postorius + +or: + +:: + + $ sudo easy_install postorius + + +Latest dev version +------------------ + +If you want to keep up to date with the latest development version, you +should install Postorius using bazaar: + +:: + + $ bzr branch lp:postorius + $ cd postorius + $ sudo python setup.py develop + $ cd .. + +You can always pull in the latest changes from the development branch: + +:: + + $ cd postorius + $ bzr pull + $ cd .. + + +Setup your django project +========================= + +Since you have now installed the necessary packages to run Postorius, it's +time to setup your Django site. + +First, get the project directory from launchpad: + +:: + + $ bzr branch lp:~mailman-coders/postorius/postorius_standalone + +Second, change the database setting in ``postorius_standalone/settings.py`` to +your preferred database. If you're OK with using sqlite, just change the path +in line 48 to the correct location. + +.. note:: + Detailed information on how to use different databse engines can be found + in the `Django documentation`_. + +.. _Django documentation: https://docs.djangoproject.com/en/1.4/ref/settings/#databases + +Third, prepare the database: + +:: + + $ cd postorius_standalone + $ python manage.py syncdb + $ cd .. + +This will create the ``.db file`` (if you ar using SQLite) and will setup all the +necessary db tables. You will also be prompted to create a superuser which +will act as an admin account for Postorius. + + +Running the development server +============================== + +The quickest way to run postorius is to just start the development server: + +:: + + $ cd postorius_standalone + $ python manage.py runserver + .. warning:: You should use the development server only locally. While it's possible to - make the dev server available publicly, you should never do that in a - production environment. + make your site publicly available using the dev server, you should never + do that in a production environment. -Apache and mod_Wsgi -------------------- +Running Postorius on Apache with mod_wsgi +========================================= +.. note:: + This guide assumes that you know how to setup a VirtualHost with Apache. + If you are using SQLite, the ``.db`` file as well as its folder need to be + writable by the web server. + +These settings need to be added to your Apache VirtualHost: + +:: + + Alias /static /path/to/postorius_standalone/static + + Order deny,allow + Allow from all + + + WSGIScriptAlias / /path/to/postorius_standalone/srv/postorius.wsgi + + Order deny,allow + Allow from all + + +The first Alias serves the static files (CSS, JS, Images, etc.). The +WSGIScriptAlias serves the Django application. The paths need to be changed +depending on which location you downloaded ``postorius_standalone`` to. + +We're almost ready. But you need to collect the static files from Postorius +(which resides somewhere on your pythonpath) to be able to serve them from the +site directory. All you have to do is to change into the +``postorius_standalone`` directory and run: + +:: + + $ python manage.py collectstatic + +After reloading the webserver Postorius should be running! diff --git a/src/postorius/doc/_build/html/_static/basic.css b/src/postorius/doc/_build/html/_static/basic.css index f0379f3..43e8baf 100644 --- a/src/postorius/doc/_build/html/_static/basic.css +++ b/src/postorius/doc/_build/html/_static/basic.css @@ -79,11 +79,11 @@ font-size: 1em; } -div.sphinxsidebar input[type="text"] { +div.sphinxsidebar #searchbox input[type="text"] { width: 170px; } -div.sphinxsidebar input[type="submit"] { +div.sphinxsidebar #searchbox input[type="submit"] { width: 30px; } diff --git a/src/postorius/doc/_build/html/genindex.html b/src/postorius/doc/_build/html/genindex.html index 1f85e6d..1b31d0c 100644 --- a/src/postorius/doc/_build/html/genindex.html +++ b/src/postorius/doc/_build/html/genindex.html @@ -106,7 +106,7 @@ \ No newline at end of file diff --git a/src/postorius/doc/_build/html/index.html b/src/postorius/doc/_build/html/index.html index c4302cd..bde235a 100644 --- a/src/postorius/doc/_build/html/index.html +++ b/src/postorius/doc/_build/html/index.html @@ -110,7 +110,7 @@ \ No newline at end of file diff --git a/src/postorius/doc/_build/html/news.html b/src/postorius/doc/_build/html/news.html index f3b1084..e436576 100644 --- a/src/postorius/doc/_build/html/news.html +++ b/src/postorius/doc/_build/html/news.html @@ -164,7 +164,7 @@ \ No newline at end of file diff --git a/src/postorius/doc/_build/html/py-modindex.html b/src/postorius/doc/_build/html/py-modindex.html index 0d82010..263f6f3 100644 --- a/src/postorius/doc/_build/html/py-modindex.html +++ b/src/postorius/doc/_build/html/py-modindex.html @@ -110,7 +110,7 @@ \ No newline at end of file diff --git a/src/postorius/doc/_build/html/search.html b/src/postorius/doc/_build/html/search.html index fd1824c..dfe5cd1 100644 --- a/src/postorius/doc/_build/html/search.html +++ b/src/postorius/doc/_build/html/search.html @@ -99,7 +99,7 @@ \ No newline at end of file diff --git a/src/postorius/doc/_build/html/searchindex.js b/src/postorius/doc/_build/html/searchindex.js index 5199589..0ff452f 100644 --- a/src/postorius/doc/_build/html/searchindex.js +++ b/src/postorius/doc/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{tests:{tests:[2,0,1,""]}},terms:{all:[3,2],code:[3,2],forget:2,prefil:2,four:[],ackownledg:[],runserv:[],dirnam:[],follow:[2,1],content:[0,2],decid:[],depend:3,authoris:[],send:[],shall:2,granci:3,under:3,introduc:[],merchant:3,sourc:[],everi:[],string:2,far:[],none:2,offlin:[],util:2,context_processor:[],mechan:2,exact:2,special:[],contenttyp:[],administr:2,level:[],did:2,button:2,list:[3,2],"try":2,item:2,adjust:[],localhost:2,quick:[],setup:[3,2],dir:[],pleas:2,modelbackend:[],impli:3,httpresponseredirect:2,cfg:[],seper:[],request:2,past:[],second:[],download:[],further:[],click:2,compat:[],index:2,what:[],name_of_permiss:[],appear:[],richard:3,sum:[],abl:2,current:2,delet:2,new_list1:2,postoriu:[0,1,3],franziska:[],"new":[0,2,3],net:[],"public":3,abov:2,gener:3,never:1,remeb:[],here:[],themself:[],ubuntu:[],path:[],along:3,modifi:[3,2],sinc:[],valu:2,search:[],mailinglist:[],vertifi:[],anymor:[],step:[],jame:2,doctest:2,action:2,chang:[],mailman_media:[],contactpag:[],via:[],appli:[],app:[0,2,3],sponser:[],foundat:3,api:[],sponsel:[],instal:[0,1,2],middlewar:[],from:2,describ:2,would:[],commun:[],doubl:2,two:[],perm:[],next:[],websit:[],few:[],call:3,typo:3,recommend:[],type:2,web_host:2,mailman_django:[],abspath:[],relat:2,ital:[],site:2,warn:[2,1],trail:[],berlio:[],stick:[],particular:3,hold:[],unpack:[],easiest:2,account:3,join:[],prepar:[],work:[],uniqu:[],dev:[3,1],itself:[],can:[3,2],purpos:3,defer:3,login_requir:2,tar:[],process:3,sudo:[],accept:3,topic:[],want:2,nearli:[],cours:[],multipl:[],anoth:2,faulti:[],georg:2,write:[],how:[],reject:3,instead:2,config:[],css:[],updat:2,product:1,resourc:[0,2],farm:3,after:2,"long":[],usabl:[],befor:2,wrong:2,mai:[],end:[],data:2,postfix:[],bind:[],bootstrap:[],django:[0,2,3],alias:3,environ:1,adverrtis:2,jain:3,enter:2,fallback:[],automaticli:[],egg:[],order:[],listnam:2,help:[],becaus:2,has_perm:[],style:[],directli:2,fit:3,fix:3,browserid:3,better:[],restart:[],onc:[],mail:[3,2],hidden:[],main:[],might:[],guarente:[],split:[],them:[],"return":[],thei:2,python:[2,1],auth:[],unfortuneatli:[],mention:2,front:2,now:2,term:3,benst:[],somewher:[],name:2,anyth:[],edit:[3,2],simpl:[],authent:[],separ:2,easili:[],senarclen:3,each:2,debug:2,found:2,went:2,mailman_test_bindir:[],domain:[3,2],replac:[],idea:[],procedur:[],realli:2,redistribut:3,meta:2,"static":[],connect:[],our:2,todo:[],dependeci:[],out:3,shown:2,space:3,miss:3,develop:[0,1,2,3],publish:3,api_us:2,profil:3,daniel:3,rest_serv:[],got:[],correct:[],earlier:[],free:[3,2],cooki:[],reason:[],base:[],mailmanweb:[],lists_of_domain:[],put:[],org:[3,1],"40mail":2,launch:[],could:[],latest:[],membership:2,keep:[],filter:[],thing:2,place:[],isn:[],root_urlconf:[],requireti:[],summari:2,first:2,softwar:3,rang:[],render:[],feel:2,media_root:[],natti:[],restrict:2,instruct:[2,1],alreadi:2,done:2,least:2,authentif:2,owner:2,stabl:2,installed_app:[],open:2,gpl:[],differ:[],rrze:[],benedict:3,hardcopi:[],licens:3,system:[],messag:[3,2],licenc:[],fullfil:[],"final":2,store:[],shell:2,option:2,real_nam:2,copi:3,specifi:2,gsoc:[],part:2,pars:2,priveledg:[],serv:[],enjoi:2,provid:[3,2],remov:[3,2],new_domain:[],project:[],were:2,posit:2,minut:[],fqdn_listnam:2,pre:[],ani:3,packag:1,have:[3,2],tabl:[],need:2,element:[],inform:[],florian:[],destroi:[],client:2,note:[2,1],also:[],without:[3,2],take:[],indic:2,singl:2,even:3,sure:2,kati:2,allow:2,httpredirectobject:2,usernam:[],object:2,most:2,plan:[],letter:2,watt:2,alpha:3,"class":[],icon:[],don:2,bzr:[],url:2,doc:[],later:[],cover:1,temporili:2,doe:2,mm_membership:2,usual:[],came:[],show:[3,2],text:2,liza:2,session:2,permiss:2,corner:[],fine:[],find:[],redirect:2,absolut:[],onli:[2,1],eas:[],locat:[],launchpad:[],copyright:3,explain:2,configur:[],apach:1,should:[3,1,2],version:3,suppos:[],templat:3,local:[2,1],hope:3,media_url:[],contribut:3,get:2,"__file__":[],stop:2,obviou:[],csrf:3,subscript:2,requir:2,template_dir:[],whether:2,common:[],restadmin:[],where:[],view:2,wiki:[],set:[3,2],see:[3,2],domain_admin:[],result:[],respons:2,fail:2,wonder:[],awar:2,statu:2,mailman3a7:[],correctli:[],databas:2,someth:2,restbackend:[],behind:[],between:2,"import":2,awai:[],email:2,realnam:[],correclti:[],advertis:2,subfold:[],addit:[],both:[],last:2,plugin:[],admin:[],howev:[],etc:[],instanc:2,context:[],delete_list:2,logout:[],login:[3,2],com:2,load:2,english:2,simpli:2,point:[],instanti:[],overview:2,address:2,header:[],non:[],linux:2,guid:[2,1],backend:[],mailman:[0,1,2,3],coupl:2,"0a7":[],been:2,compon:[],much:[],unsubscrib:[3,2],modif:[],upcom:[],xxx:[],togeth:2,i18n:[],ngeorg:2,those:2,"case":2,creativecommon:[],therefor:[],look:[],gnu:[3,1],plain:[],align:[],lesser:3,"while":1,dashboard:2,publicli:1,mail_host:2,everyon:[],authentication_backend:[],new_list:[],demo:[],metric:3,list_own:2,archiv:2,revis:[],subscrib:[3,2],decor:2,let:2,welcom:[],author:[],receiv:3,media:[],make:[2,1],belong:2,same:2,handl:[],html:[],gui:2,document:1,mod_wsgi:1,finish:2,http:[3,1,2],upon:[],moment:[],http_host:2,initi:3,mani:3,implement:3,expand:[],appropri:[],moder:3,framework:[],api_pass:2,well:2,membership_set:[],exampl:2,command:[],thi:[3,1,2],choos:2,everyth:2,left:[],summer:3,just:[],rest:2,mailman3:2,webui:[],yet:[],languag:2,web:[0,1,3],easi:[],project_path:[],had:[],list_summari:2,mailmanwebgsoc2011:[],add:[3,2],other:2,lawrenc:[],save:[],modul:2,bin:[],applic:[],which:2,stein:3,unter:[],know:[],gsoc_mailman:[],press:2,password:[],tweak:[],authbackend:[],like:[],template_context_processor:[],success:[3,2],restpass:[],server:[3,1],href:[],setup_mm:2,either:2,page:2,www:3,right:[],acknowledg:[],creation:2,some:2,proper:3,home:[],funcit:[],distribut:3,basic:3,buildout:[],djangoproject:[],confirm:2,woun:[],thank:3,select:[],slash:[],necessari:[],testobject:2,anna:3,refer:2,machin:2,core:[],who:[],run:2,bold:[],symlink:[],host:[],repositori:[],post:2,mm_new_domain:[],stage:[],about:[],central:[],usa:2,mass_subscrib:2,rohan:3,acl:[],permission_requir:[],act:[],fals:2,discard:3,processor:[],block:2,own:2,addus:[],status_cod:2,within:2,warranti:3,creativ:[],empti:2,contrib:[],your:[],manag:2,choosen:2,span:2,log:2,wai:2,"40exampl":2,execut:2,print:2,submit:2,custom:[],avail:[2,1],start:2,reli:[],interfac:[3,1],includ:2,suit:2,systers_django:[],"function":2,head:[],form:[3,2],offer:2,descrip:[],link:2,translat:2,teardown_mm:2,branch:[],line:2,"true":2,info:3,succe:2,made:2,render_mailman_them:[],possibl:1,"default":[],access:[3,2],displai:2,below:2,memebership:[],otherwis:[],more:3,extend_ajax:[],proud:[],creat:2,hardcod:[],dure:[3,2],doesn:[],exist:[],file:[],syncdb:[],wackerbarth:3,check:[3,2],inc:3,again:[],successfulli:[],googl:3,titl:[],user:[3,1,2],when:[],detail:3,gettext:2,mizyrycki:3,valid:2,futur:[],rememb:[],test:2,you:[3,1,2],nice:2,why:2,prequir:[],consid:[],stai:[],outdat:2,bullet:[],directori:2,bottom:[],descript:2,mailman_them:[],mass:[3,2],token:3,time:2,escap:2},objtypes:{"0":"py:module"},titles:["Postorius - The New Mailman Web UI","Installation","Using the Django App - Developers Resource","News"],objnames:{"0":["py","module","Python module"]},filenames:["index","setup","using","news"]}) \ No newline at end of file +Search.setIndex({objects:{tests:{tests:[2,0,1,""]}},terms:{all:[3,1,2],code:[3,2],forget:2,prefil:2,four:[],ackownledg:[],runserv:1,dirnam:[],follow:[2,1],content:[0,2],decid:[],depend:[3,1],authoris:[],send:[],shall:2,granci:3,under:3,introduc:[],merchant:3,sourc:[],everi:[],string:2,without:[3,2],far:[],none:2,offlin:[],util:2,context_processor:[],mechan:2,exact:2,mailmanwebgsoc2011:[],contenttyp:[],administr:2,level:[],did:2,button:2,list:[3,2],virtualhost:1,"try":2,item:2,adjust:[],localhost:2,quick:[],setup:[3,1,2],dir:[],pleas:2,modelbackend:[],impli:3,httpresponseredirect:2,cfg:[],seper:[],request:2,past:[],second:1,download:1,further:[],click:2,compat:[],index:2,what:[],name_of_permiss:[],appear:[],richard:3,sum:[],abl:[2,1],current:2,delet:2,new_list1:2,postoriu:[0,1,3],franziska:[],"new":[0,2,3],net:[],"public":3,abov:2,gener:3,never:1,remeb:[],here:[],themself:[],ubuntu:[],path:1,along:3,modifi:[3,2],sinc:1,valu:2,search:[],mailinglist:[],vertifi:[],anymor:[],errorlog:[],step:[],jame:2,doctest:2,action:2,chang:1,mailman_media:[],contactpag:[],via:[],appli:[],app:[0,2,3],sponser:[],foundat:3,releas:1,api:[],sponsel:[],instal:[0,1,2],middlewar:[],from:[2,1],describ:2,would:[],commun:[],doubl:2,two:[],perm:[],next:[],websit:[],few:[],call:3,typo:3,recommend:[],type:2,web_host:2,mailman_django:[],abspath:[],relat:2,ital:[],site:[2,1],warn:[2,1],trail:[],berlio:[],stick:[],particular:3,hold:[],unpack:[],easiest:2,customlog:[],account:[3,1],join:[],alia:1,prepar:1,work:[],uniqu:[],dev:[3,1],itself:[],can:[3,1,2],purpos:3,control:[],defer:3,sqlite:1,prompt:1,login_requir:2,tar:[],process:3,sudo:1,accept:3,topic:[],want:[2,1],nearli:[],alwai:1,cours:[],multipl:[],anoth:2,faulti:[],georg:2,write:[],how:1,reject:3,instead:2,config:[],css:1,updat:2,product:1,resourc:[0,2],farm:3,pypi:1,after:[2,1],"long":[],usabl:[],befor:2,wrong:2,mai:[],end:[],data:2,third:1,postfix:[],bind:[],bootstrap:[],credenti:[],django:[0,1,2,3],alias:3,environ:1,adverrtis:2,jain:3,enter:2,fallback:[],automaticli:[],egg:[],order:1,listnam:2,help:[],becaus:2,has_perm:[],style:[],directli:2,fit:3,fix:3,browserid:3,better:[],restart:[],onc:[],mail:[3,2],hidden:[],main:[],might:[],guarente:[],split:[],them:1,"return":[],thei:2,python:[2,1],databs:1,auth:[],unfortuneatli:[],mention:2,front:2,now:[2,1],term:3,benst:[],somewher:1,name:2,anyth:[],edit:[3,2],simpl:[],postorius_error:[],authent:[],separ:2,easili:[],senarclen:3,each:2,debug:2,found:[2,1],went:2,mailman_test_bindir:[],domain:[3,2],replac:[],idea:[],procedur:[],realli:2,redistribut:3,meta:2,"static":1,connect:[],our:2,todo:[],dependeci:[],out:3,shown:2,space:3,miss:3,develop:[0,1,2,3],publish:3,api_us:2,profil:3,daniel:3,rest_serv:[],got:[],correct:1,earlier:[],insid:[],free:[3,2],standalon:[],reason:[],base:[],mailmanweb:[],lists_of_domain:[],put:[],org:[3,1],"40mail":2,launch:[],could:[],latest:1,membership:2,keep:1,filter:[],thing:2,place:[],isn:[],root_urlconf:[],requireti:[],summari:2,first:[2,1],softwar:3,rang:[],render:[],feel:2,media_root:[],natti:[],restrict:2,date:1,instruct:[2,1],alreadi:2,done:2,least:2,authentif:2,owner:2,stabl:2,installed_app:[],open:2,gpl:[],differ:1,rrze:[],benedict:3,hardcopi:[],licens:3,system:[],messag:[3,2],licenc:[],fullfil:[],"final":2,store:[],shell:2,option:2,real_nam:2,copi:3,specifi:2,gsoc:[],"var":[],part:2,pars:2,priveledg:[],serv:1,enjoi:2,provid:[3,2],remov:[3,2],new_domain:[],project:1,postorius_standalon:1,were:2,posit:2,minut:[],fqdn_listnam:2,pre:[],ani:3,postorius_access:[],packag:1,have:[3,1,2],tabl:1,need:[2,1],element:[],wsgiscriptalia:1,engin:1,inform:1,florian:[],destroi:[],note:[2,1],also:1,exampl:2,take:[],indic:2,combin:[],singl:2,even:3,sure:2,kati:2,allow:[2,1],httpredirectobject:2,usernam:[],object:2,most:2,plan:[],letter:2,watt:2,alpha:3,"class":[],icon:[],collectstat:1,don:2,bzr:1,url:2,doc:[],later:[],cover:1,temporili:2,doe:2,deni:1,mm_membership:2,usual:[],dev_setup:[],wsgi:1,show:[3,2],text:2,liza:2,session:2,permiss:2,corner:[],fine:[],find:[],redirect:2,absolut:[],onli:[2,1],eas:[],locat:1,launchpad:1,copyright:3,explain:2,configur:[],apach:1,should:[3,1,2],version:[3,1],suppos:[],templat:3,folder:1,local:[2,1],hope:3,media_url:[],contribut:3,get:[2,1],"__file__":[],stop:2,obviou:[],csrf:3,subscript:2,requir:2,mail_host:2,template_dir:[],reload:1,common:[],restadmin:[],where:[],view:2,wiki:[],set:[3,1,2],special:[],see:[3,2],domain_admin:[],result:[],respons:2,fail:2,wonder:[],awar:2,statu:2,mailman3a7:[],correctli:[],databas:[2,1],someth:2,restbackend:[],behind:[],quickest:1,between:2,"import":2,awai:[],email:2,realnam:[],correclti:[],advertis:2,subfold:[],thank:3,both:[],last:2,plugin:[],admin:1,howev:[],etc:1,instanc:2,context:[],delete_list:2,logout:[],login:[3,2],com:2,load:2,english:2,simpli:2,point:[],instanti:[],overview:2,address:2,header:[],non:[],linux:2,guid:[2,1],assum:1,backend:[],quit:[],trunk:[],mailman:[0,1,2,3],coupl:2,"0a7":[],been:2,compon:[],much:[],unsubscrib:[3,2],modif:[],addit:[],upcom:[],imag:1,xxx:[],togeth:2,i18n:[],ngeorg:2,those:2,"case":2,creativecommon:[],therefor:[],look:[],gnu:[3,1],plain:[],align:[],lesser:3,"while":1,dashboard:2,publicli:1,error:[],everyon:[],authentication_backend:[],new_list:[],almost:1,demo:[],metric:3,list_own:2,archiv:2,revis:[],subscrib:[3,2],decor:2,let:2,welcom:[],author:[],receiv:3,media:[],make:[2,1],belong:2,same:2,handl:[],html:[],gui:2,document:1,mod_wsgi:1,finish:2,http:[3,1,2],webserv:1,upon:[],moment:[],http_host:2,initi:3,mani:3,implement:3,expand:[],appropri:[],moder:3,framework:[],api_pass:2,well:[2,1],membership_set:[],client:[2,1],command:[],thi:[3,1,2],choos:2,everyth:2,left:[],summer:3,just:1,rest:2,mailman3:2,webui:[],yet:[],languag:2,web:[0,1,3],easi:[],project_path:[],had:[],list_summari:2,apache2:[],add:[3,2],other:2,lawrenc:[],save:[],modul:2,bin:[],applic:1,which:[2,1],stein:3,unter:[],prefer:1,test:2,know:1,gsoc_mailman:[],press:2,cooki:[],password:[],tweak:[],authbackend:[],like:[],resid:1,template_context_processor:[],success:[3,2],restpass:[],server:[3,1],collect:1,href:[],setup_mm:2,either:2,page:2,www:3,right:[],acknowledg:[],creation:2,some:2,back:[],proper:3,home:[],funcit:[],distribut:3,basic:3,buildout:[],djangoproject:[],confirm:2,woun:[],token:3,select:[],slash:[],necessari:1,testobject:2,anna:3,refer:2,machin:2,core:[],who:[],run:[2,1],bold:[],symlink:[],host:[],repositori:[],post:2,bazaar:1,mm_new_domain:[],stage:[],about:[],central:[],usa:2,mass_subscrib:2,rohan:3,acl:[],permission_requir:[],srv:1,act:1,fals:2,discard:3,readi:1,processor:[],block:2,own:2,addus:[],status_cod:2,pythonpath:1,within:2,easy_instal:1,warranti:3,creativ:[],empti:2,contrib:[],your:1,manag:[2,1],choosen:2,span:2,log:2,wai:[2,1],"40exampl":2,execut:2,print:2,submit:2,custom:[],avail:[2,1],start:[2,1],reli:[],interfac:[3,1],includ:2,suit:2,superus:1,systers_django:[],"function":2,head:[],form:[3,2],offer:2,descrip:[],link:2,translat:2,teardown_mm:2,branch:1,line:[2,1],"true":2,info:3,pull:1,succe:2,made:2,render_mailman_them:[],possibl:1,whether:2,access:[3,2],displai:2,below:2,memebership:[],otherwis:[],more:3,extend_ajax:[],proud:[],creat:[2,1],hardcod:[],dure:[3,2],doesn:[],exist:[],file:1,syncdb:1,pip:1,wackerbarth:3,check:[3,2],inc:3,again:[],coder:1,successfulli:[],googl:3,titl:[],user:[3,1,2],when:[],detail:[3,1],gettext:2,"default":[],mizyrycki:3,valid:2,futur:[],rememb:[],writabl:1,you:[3,1,2],servernam:[],nice:2,why:2,prequir:[],consid:[],stai:[],outdat:2,bullet:[],directori:[2,1],bottom:[],descript:2,mailman_them:[],mass:[3,2],came:[],time:[2,1],escap:2},objtypes:{"0":"py:module"},titles:["Postorius - The New Mailman Web UI","Installation","Using the Django App - Developers Resource","News"],objnames:{"0":["py","module","Python module"]},filenames:["index","setup","using","news"]}) \ No newline at end of file diff --git a/src/postorius/doc/_build/html/setup.html b/src/postorius/doc/_build/html/setup.html index 44bcba6..a04063c 100644 --- a/src/postorius/doc/_build/html/setup.html +++ b/src/postorius/doc/_build/html/setup.html @@ -62,17 +62,113 @@ GNU Mailman 3. To install GNU Mailman follow the instructions in the documentation: http://packages.python.org/mailman/

-
-

Installing for Development

+
+

Install Dependencies

+

Django:

+
$ sudo pip install django
+
+

mailman.client:

+
$ bzr branch lp:mailman.client
+$ cd mailman.client
+$ sudo python setup.py install
+
+
+
+

Install Postorius

+
+

Latest release

+

If you just want to install the latest release of Postorius, install it from +PyPi:

+
$ sudo pip install postorius
+
+

or:

+
$ sudo easy_install postorius
+
+
+
+

Latest dev version

+

If you want to keep up to date with the latest development version, you +should install Postorius using bazaar:

+
$ bzr branch lp:postorius
+$ cd postorius
+$ sudo python setup.py develop
+$ cd ..
+
+

You can always pull in the latest changes from the development branch:

+
$ cd postorius
+$ bzr pull
+$ cd ..
+
+
+
+
+

Setup your django project

+

Since you have now installed the necessary packages to run Postorius, it’s +time to setup your Django site.

+

First, get the project directory from launchpad:

+
$ bzr branch lp:~mailman-coders/postorius/postorius_standalone
+
+

Second, change the database setting in postorius_standalone/settings.py to +your preferred database. If you’re OK with using sqlite, just change the path +in line 48 to the correct location.

+
+

Note

+

Detailed information on how to use different databse engines can be found +in the Django documentation.

+
+

Third, prepare the database:

+
$ cd postorius_standalone
+$ python manage.py syncdb
+$ cd ..
+
+

This will create the .db file (if you ar using SQLite) and will setup all the +necessary db tables. You will also be prompted to create a superuser which +will act as an admin account for Postorius.

+
+
+

Running the development server

+

The quickest way to run postorius is to just start the development server:

+
$ cd postorius_standalone
+$ python manage.py runserver
+

Warning

You should use the development server only locally. While it’s possible to -make the dev server available publicly, you should never do that in a -production environment.

+make your site publicly available using the dev server, you should never +do that in a production environment.

-
-

Apache and mod_Wsgi

+
+

Running Postorius on Apache with mod_wsgi

+
+

Note

+

This guide assumes that you know how to setup a VirtualHost with Apache. +If you are using SQLite, the .db file as well as its folder need to be +writable by the web server.

+
+

These settings need to be added to your Apache VirtualHost:

+
Alias /static /path/to/postorius_standalone/static
+<Directory "/path/to/postorius_standalone/static">
+    Order deny,allow
+    Allow from all
+</Directory>
+
+WSGIScriptAlias / /path/to/postorius_standalone/srv/postorius.wsgi
+<Directory "/path/to/postorius_standalone/srv">
+    Order deny,allow
+    Allow from all
+</Directory>
+
+

The first Alias serves the static files (CSS, JS, Images, etc.). The +WSGIScriptAlias serves the Django application. The paths need to be changed +depending on which location you downloaded postorius_standalone to.

+

We’re almost ready. But you need to collect the static files from Postorius +(which resides somewhere on your pythonpath) to be able to serve them from the +site directory. All you have to do is to change into the +postorius_standalone directory and run:

+
$ python manage.py collectstatic
+
+

After reloading the webserver Postorius should be running!

@@ -85,8 +181,15 @@

Table Of Contents

@@ -139,7 +242,7 @@
\ No newline at end of file diff --git a/src/postorius/doc/_build/html/using.html b/src/postorius/doc/_build/html/using.html index cbf455f..a0f85ed 100644 --- a/src/postorius/doc/_build/html/using.html +++ b/src/postorius/doc/_build/html/using.html @@ -406,7 +406,7 @@ \ No newline at end of file diff --git a/src/postorius/doc/setup.rst b/src/postorius/doc/setup.rst index 63257c4..aa9ff9f 100644 --- a/src/postorius/doc/setup.rst +++ b/src/postorius/doc/setup.rst @@ -1,3 +1,4 @@ +============ Installation ============ @@ -6,16 +7,155 @@ GNU Mailman 3. To install GNU Mailman follow the instructions in the documentation: http://packages.python.org/mailman/ - -Installing for Development --------------------------- + +Install Dependencies +==================== + +Django: + +:: + + $ sudo pip install django + +mailman.client: + +:: + + $ bzr branch lp:mailman.client + $ cd mailman.client + $ sudo python setup.py install + + +Install Postorius +================= + + +Latest release +-------------- + +If you just want to install the latest release of Postorius, install it from +PyPi: + +:: + + $ sudo pip install postorius + +or: + +:: + + $ sudo easy_install postorius + + +Latest dev version +------------------ + +If you want to keep up to date with the latest development version, you +should install Postorius using bazaar: + +:: + + $ bzr branch lp:postorius + $ cd postorius + $ sudo python setup.py develop + $ cd .. + +You can always pull in the latest changes from the development branch: + +:: + + $ cd postorius + $ bzr pull + $ cd .. + + +Setup your django project +========================= + +Since you have now installed the necessary packages to run Postorius, it's +time to setup your Django site. + +First, get the project directory from launchpad: + +:: + + $ bzr branch lp:~mailman-coders/postorius/postorius_standalone + +Second, change the database setting in ``postorius_standalone/settings.py`` to +your preferred database. If you're OK with using sqlite, just change the path +in line 48 to the correct location. + +.. note:: + Detailed information on how to use different databse engines can be found + in the `Django documentation`_. + +.. _Django documentation: https://docs.djangoproject.com/en/1.4/ref/settings/#databases + +Third, prepare the database: + +:: + + $ cd postorius_standalone + $ python manage.py syncdb + $ cd .. + +This will create the ``.db file`` (if you ar using SQLite) and will setup all the +necessary db tables. You will also be prompted to create a superuser which +will act as an admin account for Postorius. + + +Running the development server +============================== + +The quickest way to run postorius is to just start the development server: + +:: + + $ cd postorius_standalone + $ python manage.py runserver + .. warning:: You should use the development server only locally. While it's possible to - make the dev server available publicly, you should never do that in a - production environment. + make your site publicly available using the dev server, you should never + do that in a production environment. -Apache and mod_Wsgi -------------------- +Running Postorius on Apache with mod_wsgi +========================================= +.. note:: + This guide assumes that you know how to setup a VirtualHost with Apache. + If you are using SQLite, the ``.db`` file as well as its folder need to be + writable by the web server. + +These settings need to be added to your Apache VirtualHost: + +:: + + Alias /static /path/to/postorius_standalone/static + + Order deny,allow + Allow from all + + + WSGIScriptAlias / /path/to/postorius_standalone/srv/postorius.wsgi + + Order deny,allow + Allow from all + + +The first Alias serves the static files (CSS, JS, Images, etc.). The +WSGIScriptAlias serves the Django application. The paths need to be changed +depending on which location you downloaded ``postorius_standalone`` to. + +We're almost ready. But you need to collect the static files from Postorius +(which resides somewhere on your pythonpath) to be able to serve them from the +site directory. All you have to do is to change into the +``postorius_standalone`` directory and run: + +:: + + $ python manage.py collectstatic + +After reloading the webserver Postorius should be running!