User Tools

Site Tools


wiki:ponyland:websites

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

wiki:ponyland:websites [2019/04/25 15:23]
127.0.0.1 external edit
wiki:ponyland:websites [2020/05/08 15:11] (current)
wessel
Line 1: Line 1:
-====== ​Websites on Ponyland ​======+====== ​Personal Homepages ​======
  
-Ponyland has a dedicated webserver called [[spitfire]]. To have your website or webapplication hosted, please contact [[admin]]. ​For your personal ​page / staff page, see [[personalhomepage]].+For simple static websites, like your personal ​web page, you can put your HTML or PHP-files in: 
 +<code php> 
 +/​www/​personal-websites 
 +</​code>​
  
-We can provide ​domain-name such as:+This is not separate website, like other folders in /www/, but a shortcut to
  
-  * ''​cls.ru.nl/​projects/​<projectname>''​ +<code php
-  * ''<​projectname>​.cls.ru.nl''​ +/​www/​lst/​live/​htdocs/​staff/​$USER 
-  * ''​<projectname>.science.ru.nl''​+</code>
  
-Or full domain-name of your choice (e.g. ''<​projectname>​.net''​). A small yearly fee is charged for full domain-name.+If you don't have folder there, please contact [[admin]].
  
-===== Websites ​on Spitfire =====+Your site will be visible ​on
 +  http://​cls.ru.nl/​~$USER
  
-^ Website ^ Path ''/​www/''​ ^ DNS ^ CMS ^ Admin ^ +To testplace an index.html file in above mentioned folderand open your website:
-| [[http://​basilex.science.ru.nl|basilex.science.ru.nl]] | ''​basilex/​live/​htdocs''​ | C&CZ | -- | proyconmhulsbosch | +
-| [[http://​biglisten.cls.ru.nl|biglisten.cls.ru.nl]] | ''​biglistennl/​live/​htdocs''​ | UCI | WordPress | gbouwmanscharenborg | +
-| [[http://​cls.ru.nl|cls.ru.nl/​~<​user>​]] | ''​lst/​live/​htdocs/​staff/<​user>''​ | UCI | HTML/PHP | [[admin]], [[personalhomepage|you]] | +
-| [[http://​www.fowlt.net|fowlt.net]] | ''​fowlt/​live/​htdocs''​ | antalb | -- | wstoop, proycon, antalb | +
-| [[http://​flat.science.ru.nl|flat.science.ru.nl]] | ''​flat/​live/​htdocs''​ | C&CZ | -- | proycon | +
-| [[http://​www.gebareninzicht.nl|gebareninzicht.nl]] | ''​gebareninzicht/​live/​htdocs''​ | ocrasborn | Drupal | ocrasborn | +
-| [[http://​lands.let.ru.nl|lands.let.ru.nl]] | ''​lands/​live/​htdocs''​ | UCI | -- | esanders | +
-| [[http://​www.gobl-project.eu|gobl-project.eu]] | ''​gobl/​live/​htdocs''​ | C&CZ | WordPress | hstrik | +
-| [[http://​www.oersetter.nl|oersetter.nl]] | ''​oersetter/​live/​htdocs''​ | antalb | -- | proycon | +
-| [[http://​ponyland.science.ru.nl|ponyland.science.ru.nl]] | ''​ponyland/​live/​htdocs''​ | C&CZ | DokuWiki | [[admin]] | +
-| [[http://​sighum.science.ru.nl|sighum.science.ru.nl]] | ''​sighum/​live/​htdocs''​ | C&CZ | DokuWiki | kzervanou ​ | +
-| [[http://​sighum.science.ru.nl/​latech2013|sighum -- latech2013]] | ''​sighum/​live/​htdocs/​latech2013''​ | C&CZ | HTML | kzervanou | +
-| [[http://​www.valkuil.net|valkuil.net]] | ''​valkuil/​live/''​ | antalb | -- | proycon, antalb | +
-===== Webservices on Applejack =====+
  
-Furthermore,​ a variety of [[http://webservices-lst.science.ru.nl|RESTful webservices]] are hosted on [[applejack]]. The webservices can also be accessed by end-users, offering an in-browser ​ interface.+<code bash> 
 +cd /www/personal-websites/​$USER 
 +echo "Hello World" > index.html 
 +</​code>​
  
-For these webservices a (joint) account is necessary and can be requested [[http://​webservices-lst.science.ru.nl/​register/​|here]],​ this account is independent of the account you use to access ponyland or other RU services.+====== Web applications ======
  
-^ Webservice ^ Description ^ Software ^ RESTful Specification ^ Admin ^ +For more complex dynamic web applicationsyou can build something with Pythonusing the DjangoFlask or Cherrypy packagesAll of these web applications run on Applejack, and are stored in ''​/var/www/'';​ you can request one via the [[admin]]. The address of this web application will be somethingofyourchoice.cls.ru.nl ​or somethingofyourchoice.rich.ru.nl . The web server architecture is as follows (replace ''​x''​ with something of your choice):
-| [[http://​webservices-lst.science.ru.nl/​colibricore/​|Colibri Core]] | Colibri Corepattern modelling | CLAM | [[http://​webservices-lst.science.ru.nl/​colibricore/​info/​|Specs]] |  proycon | +
-| [[http://​webservices-lst.science.ru.nl/​fowlt/​|Fowlt]] | FowltEnglish spelling corrector | CLAM | [[http://​webservices-lst.science.ru.nl/​fowlt/​info/​|Specs]] |  proyconwstoop | +
-| [[http://​webservices-lst.science.ru.nl/​frog/​|Frog]] | Frog is a suite containing a tokeniser, PoS-tagger, lemmatiser, morphological analyser, named entity recognition and dependency parser for Dutch | CLAM | [[http://​webservices-lst.science.ru.nl/​frog/​info/​|Specs]] |  proycon | +
-| [[http://​webservices-lst.science.ru.nl/​oersetter/​|Oersetter]] | Oersetter, Dutch<​->​Frisian Machine Translation | CLAM | [[http://​webservices-lst.science.ru.nl/​oersetter/​info/​|Specs]] |  proycon | +
-| [[http://​webservices-lst.science.ru.nl/​timbl/​|TiMBL]] | Memory-based Classifier | CLAM | [[http://​webservices- +
-lst.science.ru.nl/​timbl/​info/​|Specs]] |  proycon | +
-| [[http://​webservices-lst.science.ru.nl/​foliastats/​|FoLiA-Stats]] | Quick computation ​of n-gram frequency lists on FoLiA XML input, and more | CLAM | [[http://webservices- +
-lst.science.ru.nl/tel/​info/​|Specs]] |  proycon | +
-[[http://​webservices-lst.science.ru.nl/​tscan/​|T-scan]] | T-scan is a Dutch text analytics tool for readability prediction | CLAM | [[http://​webservices-lst.science.ru.nl/​tscan/​info/​|Specs]] |  proycon | +
-| [[http://​webservices-lst.science.ru.nl/​ucto/​|Ucto]] | Tokeniser | CLAM | [[http://​webservices-lst.science.ru.nl/​ucto/​info/​|Specs]] |  proycon | +
-| [[http://​webservices-lst.science.ru.nl/​valkuil/​|Valkuil]] | Valkuil, Dutch spelling corrector | CLAM | [[http://​webservices-lst.science.ru.nl/​valkuil/​info/​|Specs]] |  proycon, antalb |+
  
-===== Webdemos on Applejack =====+=== Step 1: minimal viable ​===
  
-^ Webdemo ^ Description ^ Software ^ Admin ^ +  - Code is stored ''/​var/​www/​x/​live/​repo''​ , preferably with a ''​git clone''​. 
-| [[http://soothsayer.cls.ru.nl|Soothsayer]] | Personalized word prediction | [[http://www.github.com/Woseseltops/soothsayer|Soothsayer]]|wstoop|+  - Dependencies are stored in a virtualenv, in ''​/var/www/​x/​env''​ . 
 +  - You run a process yourself on a port of your choice. To make sure the process does not die when you log out, try GNU screen . 
 +  - You notify the [[admin]] of the port, and he will make sure incoming requests for x.cls.ru.nl ​or x.rich.ru.nl will be forwarded to your server process. 
 + 
 +Be aware of the fact that the web server user (named ''​wapx''​) will not be allowed to write where you code lives... you will need to store things like uploaded files and databases in ''/​var/​www/​x/​live/​writable''​ . 
 + 
 +=== Step 2stable with UWSGI === 
 + 
 +The software running your web application right now is probably not designed to be a stable web server. The next step is to have this run by software called ''​uwsgi''​ instead. To achieve this, create a uwsgi config file called ''​x.ini'',​ where you tell it where everything lives: 
 + 
 + 
 +<​code>​ 
 +socket = 127.0.0.1:​1234 
 +chmod-socket = 775 
 +chdir = /var/www/​x/​live/​repo 
 +master = true 
 +binary-path = /​usr/​bin/​uwsgi 
 +virtualenv = /​var/​www/​x/​live/​env 
 +module = x.wsgi:​application 
 +uid = wapx 
 +gid = wapx 
 +processes = 1 
 +threads = 1 
 +plugins = python3,​logfile 
 +logger = file:/​var/​www/​x/​live/​writable/​logs/​x.uwsgi.log 
 +wsgi-file = /var/www/​x/​live/​repo/​x/​wsgi.py 
 +env = DJANGO_SETTINGS_MODULE=x.settings.base 
 +</​code>​ 
 + 
 + 
 +You can then run the web application with ''​uwsgi x.ini''​. Notify the [[admin]] when you transition to this step, because it requires a small change in the configuration of the web application. 
 + 
 +Note: as you can see in the config file, logs are written tot the writable folder, so make sure you have a ''​logs''​ folder there. 
 + 
 +=== Step 3: reliable with UWSGI Emperor === 
 + 
 +You will notice that it is quite annoying that for every crash of your application,​ or reboot of Applejack, you have to manually log in and restart the process. This can be automated with software called ''​Emperor''​. This is a main process that calls the processes it manages '​vassals',​ and makes sure they are always running. You can restart a vassal by doing ''​touch x.ini''​ .  
 + 
 +Running a process via Emperor requires you to have all permissions set up perfectly, as it's no longer your user that is running the uwsgi process, so it might take some <​del>​frustration</​del>​ time to get it right.
wiki/ponyland/websites.txt · Last modified: 2020/05/08 15:11 by wessel