Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: teele - 23.02.21 - klo:13.20

Otsikko: ’[ ratkaistu ] apachen cgi toimintaan
Kirjoitti: teele - 23.02.21 - klo:13.20
Huomasin tässä sattumalta, että php:n vaihtoehtona voisi olla myös cgi joissain tapauksissa, kun halutaan tehdä joitain asioita palvelimella käynnissä olevalla ohjelmalla.

Netistä löytyy kuitenkin niin monenlaisia ohjeita cgi-aloittelijalle jopa Ubuntu 18.04 osalta, että kokeile-ja-korjaa -menetelmä ei näytä oikein lupaavalta. Eli mitä pitäisi tehdä, että ei sotkisi asioita kovin pahasti, jos haluaisi apachen cgi:n käyntiin ja sitten saada seuraavan python-ohjelman vastauksen selainpyyntöönsä

Koodia: [Valitse]
#!/usr/bin/python

print ("Content-type:text/html\r\n\r\n")
print ('<html>')
print ('<head>')
print ('<title>Hello Word - First CGI Program</title>')
print ('</head>')
print ('<body>')
print ('<h2>Hello Word! This is my first CGI program</h2>')
print ('</body>')
print ('</html>')

hakemistossa /etc/apache2/mods-available on  cgi.load -tiedosto, mutta se ei ole näkyvissä /etc/apache2/mods-enabled -hakemistossa.

Joissain ohjeissa neuvotaan vain tekemään pehmolinkki sinne, mussa joissain toisissa taas sanoataan että niin ei pitäisi tehdä vaaan pitäisi käyttää a2enable...  tai a2dis...  komentjoja.

cgi olisi ehkä kätevä tapa, jos haluaisi käyttää jotain muuta kuin php:tä?

 

Otsikko: Vs: apachen cgi toimintaan
Kirjoitti: _Pete_ - 23.02.21 - klo:14.18

cgi olisi ehkä kätevä tapa, jos haluaisi käyttää jotain muuta kuin php:tä?
 

Ehkä olisikin mutta ei siltikään poistaisi ongelmaa joka on se miten saat ohjelman staten pidettyä yllä sivulautausten välissä.
Otsikko: Vs: apachen cgi toimintaan
Kirjoitti: _Pete_ - 23.02.21 - klo:14.30
Tämä ohje toimii omassa ubuntu 20.04:

https://www.server-world.info/en/note?os=Ubuntu_20.04&p=httpd&f=5

Otsikko: Vs: apachen cgi toimintaan
Kirjoitti: teele - 23.02.21 - klo:17.06
 
Suunnilleen näyttäisi toimivan Ubuntu 18:04 :ssäkin

Koodia: [Valitse]
/usr/lib/cgi-bin$ /usr/lib/cgi-bin/index.py

Nyt vain pitää käpistellä cgi toimimaan myös virtuaali-isännöidyn sivun kanssa sen sivun oman tilan hakemistossa tai sen alihakemistossa.

Eri asiakkaiden yhteisesti muokkaamaa tilaa ei tällä keinolla vielä pysty käsittelemään, kuten sanoit. Sen voi ehkä tehdä joko tiedoston kautta tai socketeilla. Mutta tämänkertainen kysymys on ratkennut, kiitos neuvosta  :)

Otsikko: Vs: apachen cgi toimintaan
Kirjoitti: _Pete_ - 23.02.21 - klo:17.19
Eri asiakkaiden yhteisesti muokkaamaa tilaa ei tällä keinolla vielä pysty käsittelemään, kuten sanoit.

Tutki miten käytetään nykyään frontend / backend jaottelua. Tuo on käytössä oleva malli asian hoitamiseen.