Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Jallu59 - 09.04.14 - klo:11.27

Otsikko: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 09.04.14 - klo:11.27
Weppialustojen kanssa olen noviisi, enkä saa tätä itse ratkaistua.
Olen asentanut Pupesoftin ohjeen
http://terokarvinen.com/oldsite/otherauthors/kristian-latva-2013-linux-palvelimena/ (http://terokarvinen.com/oldsite/otherauthors/kristian-latva-2013-linux-palvelimena/)
mukaisesti, korjaten ilmiselvät syntaksivirheet alkuperäisen ohjeen
https://github.com/devlab-oy/pupesoft/wiki/Asennusohje (https://github.com/devlab-oy/pupesoft/wiki/Asennusohje)
mukaan.

Pupesoftin asennus on nyt hakemistossa
/home/devlab/public_html/pupesoft/

Olen antanut seuraavat oikeudenmuutokset ohjeen mukaan(pienin korjauksin alkuperäiseen)
Koodia: [Valitse]
devlab@SCENIC-P:~/public_html$ sudo chown -R devlab:www-data pupesoft/
devlab@SCENIC-P:~/public_html$ sudo chmod -R u=rwx,g=x,o= pupesoft/
devlab@SCENIC-P:~/public_html$ sudo chmod -R u=rwx,g=rx,o= pupesoft/dataout pupesoft/datain

Kuitenkin kun yritän käynnistää pupesoftin osoitteessa
localhost/~devlab/pupesoft
antaa virheilmoituksen
Koodia: [Valitse]
You don't have permission to access /~devlab/pupesoft on this server.itseasiassa saman saan virheilmoituksen osoitteissa
localhost/~devlab/public_html/pupesoft
localhost/~devlab/public_html
localhost/~devlab/
Viime mainittu johtanee oikeille jäljille, mutta osaamisen ei riitä. Hoksaako joku missä vika.

Alustana Xubuntu 12.04 LTS 32-bit

Ystävällisin terveisin

Jallu59
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: nm - 09.04.14 - klo:12.55
Millaiset oikeudet devlabin kotihakemistolla ja public_html-hakemistolla on?

Koodia: [Valitse]
ls -ld /home/devlab
ls -ld /home/devlab/public_html

www-datalla tai kaikilla käyttäjillä pitää olla suoritusoikeus noihin hakemistoihin.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 11.04.14 - klo:08.28
Pääsinpä taas pupe-koneen luo:
Koodia: [Valitse]
devlab@SCENIC-P:~$ ls -ld /home/devlab
drwxr-xr-x 24 devlab devlab 4096 huhti 11 08:21 /home/devlab
devlab@SCENIC-P:~$ ls -ld /home/devlab/public_html
drwxrwx--- 3 devlab devlab 4096 huhti  9 10:08 /home/devlab/public_html
devlab@SCENIC-P:~$

T:Jallu59
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: jekku - 11.04.14 - klo:08.35
Pääsinpä taas pupe-koneen luo:
Koodia: [Valitse]
devlab@SCENIC-P:~$ ls -ld /home/devlab
drwxr-xr-x 24 devlab devlab 4096 huhti 11 08:21 /home/devlab
devlab@SCENIC-P:~$ ls -ld /home/devlab/public_html
drwxrwx--- 3 devlab devlab 4096 huhti  9 10:08 /home/devlab/public_html
devlab@SCENIC-P:~$

T:Jallu59

Jos apachea ajaa joku muu käyttäjä kuin devlab niin tuossahan se vika on.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 27.02.15 - klo:22.22
No niin jatketaan tätä Pupen konffausta, jos sopii. Oikeuksia olen tarjoillut koko pupesoft-hakemistolle ja sen fileille 777. Yritän käyttää devlab-käyttäjänä Pupea.

Apachen aloitussivulla on seuraava teksti:
Lainaus
By default, Ubuntu does not allow access through the web browser to any file apart of those located in /var/www, public_html directories (when enabled) and /usr/share (for web applications). If your site is using a web document root located elsewhere (such as in /srv) you may need to whitelist your document root directory in /etc/apache2/apache2.conf.

The default Ubuntu document root is /var/www/html. You can make your own virtual hosts under /var/www. This is different to previous releases which provides better security out of the box.

Olen editoinut parhaan ymmärrykseni mukaan /etc/apache2/apache2.conf tiedostoa seuraavalla tavalla:
Koodia: [Valitse]
...
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

#<Directory /srv/>
#       Options Indexes FollowSymLinks
#       AllowOverride None
#       Require all granted
#</Directory>

<Directory /home/devlab/public_html/pupesoft/>
       Options Indexes FollowSymLinks
       AllowOverride Options
       Require all granted
</Directory>
...

Olen myös kokeillut pelkällä /home/devlab/public_html/ directory määrityksellä, ilman mainittavaa edistystä.
Välillä tulee 403 Forbidden ja välillä tyhjä sivu.
/var/log/error.log/apache2/error.log rivejä:
Koodia: [Valitse]
[Fri Feb 27 21:49:19.934049 2015] [:error] [pid 4222] [client 127.0.0.1:55532] PHP Fatal error:  Unknown: Failed opening required '/home/devlab/public_html/pupesoft/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: mrl586 - 27.02.15 - klo:22.26
Onko tuossa polun lopussa ylimääräinen t-kirjain?
Koodia: [Valitse]
<Directory /home/devlab/public_html/pupesof/t>
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 27.02.15 - klo:22.27
Onko tuossa polun lopussa ylimääräinen t-kirjain?
Koodia: [Valitse]
<Directory /home/devlab/public_html/pupesof/t>
Typomoka kopioidessa tekstieditoriin ja sitten tänne ;D korjasin tuohon edelliseen viestiitn oikean(tarkistin vielä filusta).
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 01.03.15 - klo:14.50
Lainaus
Hoksaako joku missä vika.

Osui silmään ensimmäinen ongelmasi heti kun satuin vilkaisemaan tätä ketjua.  Apachemaisesti Apache tyypillisesti toimii www-data: na ja lukee tiedostoja "www-data" -ryhmäoikeuksien kautta.  Tuolla ekalla sivulla olet antanut group-oikeudeksi vain "x" joka ei riitä, sen sijaan "rx" olisi toiminut ryhmälle.  No, jyräsit ne 777: ksi myöhemmin jolloin tuo on ohitettu... :)

Toinen idea Apachen kanssa on antaa g+s oikeudet (ryhmä periytyy) sille kansiolle mistä tiedostoja julkaistaan. Idea tuon takana on se että puuhailtiin tiedostojen kanssa millä hyvänsä tunnuksella niin Apache pystyy aina ryhmäoikeutensa kautta avaamaan ja julkaisemaan tiedostot.  Tuo ryhmän periytyminen tarkoittaa sitä että kun kansion alle kopioidaan tiedosto sen tiedoston group jyrätään automaattisesti yli samaksi kuin kansiolla on.  Jos  "jallu" kopioi sinne tiedoston siitä tulee  "jallu:www-data" kun kansion group on "www-data".
 
Sinulla näyttää olevan Apache 2.4-jotain kun se jakelee oletuksena /var/www/html kansion alta.   Jos sinun tarvitsee saada jakoon eri paikasta, vaikkapa  /home/devlab/public_html/pupesoft niin voit tehdä yksinkertaisen linkityksen joka hoitaa tuon.  Nimeä se "html" joksikin ja tee tilalle linkki "html" joka osoittaa minne haluat:

Koodia: [Valitse]
sudo mv /var/www/html  /var/www/html.old
sudo ln -s  /home/devlab/public_html/pupesoft  /var/www/html

Tuolla periaatteella se toimii mistä kansiosta haluatkin.

Virheesi näyttää että se ei pystynyt avaamaan index.php: tä.   Tarkasta linkitys ensin ja sen jälkeen ryhmäoikeus tuonne. --- jaa, käytitkin 777 menetelmää...

Apache 2.4 vaatii erikseen määrittämään "Directory" blokin sisällä jos haluat sallia hakemistolistauksen generoinnin tai .htaccess tiedoston käytön/ sen ominaisuuksia.  Jälkimmäisen puutteista se antoi muistaakseni helposti "500" virhettä. Nämä nyt vain sivujuonteena varoiksi.  En tunne pätkääkään tuota Pupesoftia mutta Apachen juonet ovat tulleet tutuiksi :)
   
Tuli mieleen, pitiköhän tuon index.php: n käyttö sallia erikseen...sehän oletuksena sallii index.html: n,  katsellaan...

Tarvitse ehkä määrityksen  "DirectoryIndex   index.php" ennen kuin onnistuu ?
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 02.03.15 - klo:18.52
Annoin nuo päätekomennot.
Jotain edistystä. Nyt aukeaa tyhjä sivu, mutta välilehden otsikkopalkissa on jo devlabin tyylitelty "d".
Pienestä lienee kiinni.

Apache.confissa on nyt
Koodia: [Valitse]
<Directory /home/devlab/public_html/pupesoft/>
       Options Indexes FollowSymLinks
       AllowOverride Options
       Require all granted
       DirectoryIndex   index.php
</Directory>

T:Jallu59
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 02.03.15 - klo:22.03
Tuon voi toteuttaa monella eri tavalla, vilkaisin hätäisesti paria eri tavoin tehtyä versiota ohjeesta.
Nyt kun käytät linkitystä kohteeseen niin älä lataa "userdir" modulia eli lähtee pois

Koodia: [Valitse]
sudo a2dismod userdir
Onko php-mysql on asennettu:
Koodia: [Valitse]
sudo apt-get install php5-mysql
Oikeudet pitäisi riittää joka paikkaan kun annoit sinne jo chmod -R 777 <kohteesi>. 
Onkohan mysql toimintakuntoinen ja käynnissä ?
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 02.03.15 - klo:23.37
php5-mysql on asennettuna. userdir-moduli poistettu. löytyy prosessi
Koodia: [Valitse]
ps -A mysqld.  Mysql on toimintakykyinen, otti se nuo komennot vastaan referenssitietokantaakin kopioitaessa.

T:Jallu59
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 03.03.15 - klo:00.24
Huomasin, että pupen alihakemistoissa ei oikeudet olleet kaikilla. Sen muutettuani pääsin kirjautumaan adminina. Se taas puolestaan tärähti virheilmoitukseen:
Lainaus
Tietokantayhteydessä virhe!

T:Jallu59
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 06.03.15 - klo:09.04
En osaa arvata mikä siinä puuttuisi/olisi ristissä tietokannan kanssa kun en ole tuota käyttänyt mutta jos et ole kiireinen voisin koeasentaa tuon kun voin rauhoittaa ajan sille tai ehkä joku ehtii ennen minua ?
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 07.03.15 - klo:22.30
Taidamme olla nyt liki samassa vaiheessa, pääsen loginiin  :)   

Se mihin tähän mennessä törmäsin ja osui silmääni oli:

1) Siellä Kristian Latvan ohjeessa on jäänyt puuttumaan salasanat.php-tiedoston sulkevä tägi ?>
2) Hyvä ja tehokas tapa saada php-tiedosto toimimatomaksi on laittaa sinne yksikin väärän mallinen hipsukka.  Niitä tuntui riittävän ja teettivät hakutyötä ennen kuin sain seulottua paikan jossa php-koodin eteneminen loppui . Jos kopioit jostain ohjeesta niin kannattanee korvata käsin joka ikinen hipsukka että ne ovat varmasti oikeita eikä noita vinomallisia.
3) Viimeisen tunnin historian joutuu poistamaan Firefox: sta että pääsee uudestaan loginiin  ja samoin tarjoamaan vielä Ctrl-F5 kun on antanut linkin. 
Firefox tarjoilee muuten epäonnistumista "vanhasta muistista".


Katselen lisää kun ehdin...
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 08.03.15 - klo:15.36
No niin, jälleen Pupen parissa ja loginin jälkeen aukeaa alla näkyvä harmaasävyinen kuva jossa nuo menuvalinnatkin näyttäisivät toimivan.  Ei ole täysin selkeä asia vielä miksi se toimii, vaiheita/yrityksiä/koodin jäljitystä muuttujia printaten/ym. oli siinä määrin.
Koodissa viitataan "pupeicon.gif" tiedostoon joka näytti puuttuvan, mikä lienee tuon merkitys ?
Täytynee nyt kokeilla mistä tämä menee rikki... ?   ::)
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 09.03.15 - klo:11.45
Tässä vaiheessa näyttää siltä että voi olla viisaampi toistaiseksi tehdä asennus CentOs 6.5 versioon.  Vaikka asennus päällisin puolin näyttäisi onnistuvan Ubuntuunkin niin sinne jää toimimattomia tai vajavaisesti toimivia asioita piiloon. Silmääni osui backup-skripti joka näytti viittaavan RedHat/CentOS polkuihin joissakin kohdissa ja ja havaitsin että backupissa käytetty MySQL-komento "SHOW MASTER STATUS" palautti tyhjää koneessani.  Syyksi löytyi että MySQL "bin logs" ei ollut oletuksena päällä eli /etc/mysql/my.cnf tiedostossa oli

Koodia: [Valitse]
#log_bin    =/var/log/mysql-bin.log
Toki nämä ovat korjattavissa jos voit varata aikaa riittävästi tarkastamiseen, skriptien säätämiseen, testaamiseen ja toimintojen varmistamiseen.  En tiedä onko muualla koodissa jotain mitä pitäisi korjailla kun dokumentaatiota ei näyttäisi olevan mistään paitsi kommentit koodissa ja versiohallinnassa eli arvattavaksi jää mitä vastaan tulee Debian/Ubuntu/Mint -tapauksessa.

Hienoa olisi tietysti jos Pupesoftin tekijät itse voisivat säätää ja ohjeistaa Pupesoftin asennuksen Debian-pohjaisiin jakeluihin kuten Ubuntu.

Tässä lyhyesti mitä muistan asennusvaiheistani (Mint 17):

0) Asenna git:
Koodia: [Valitse]
sudo apt-get install git
1) Päätteessä Pupen kloonaus git: stä kotihakemistooni
Koodia: [Valitse]
git clone https://github.com/devlab-oy/pupesoft.gitTuo tekee "pupesoft" hakemiston ja sen alle nipun tiedostoja (suurin osa .php) ja alihakemistoja

2) Apache perusasennus
Koodia: [Valitse]
sudo apt-get install apache2
3)  PHP5 asennus
Koodia: [Valitse]
sudo apt-get install php5 php5-cli php5-mysql
4)  Lisäsin Directory-blokin /etc/apache2/sites-available/000-default.conf tiedostoon juuri ennen sulkevaa </VirtualHost> -tägiä:
Koodia: [Valitse]
<Directory /home/arto/pupesoft>
Options Indexes FollowSymLinks
AllowOverride Options
DirectoryIndex  index.php
</Directory>

5)  Nimesin /var/www/html ja tein tilalle linkin joka osoittaa   html -->  /home/arto/pupesoft
Koodia: [Valitse]
sudo mv /var/www/html  /var/www/html.old
sudo ln -s /home/arto/pupesoft  /var/www/html
6)  Apachen uudelleenkäynnistys
Koodia: [Valitse]
sudo service apache2 restart
7)  Editoin /home/arto/pupesoft/inc/salasanat.php tiedoston tämän näköiseksi:
Koodia: [Valitse]
<?php

date_default_timezone_set
('Europe/Helsinki');

$dbhost 'localhost';
$dbuser 'pupesoft';
$dbpass 'salasana';
$dbkanta 'pupesoft';

$palvelin 'http://localhost';

if (isset(
$_SERVER['SERVER_PORT']) and $_SERVER['SERVER_PORT'] == '443') {
$palvelin 'https://localhost';
}

?>


8 ) MySQL asennus:
Koodia: [Valitse]
sudo apt-get install mysql-server
ja keksin salasanan MySQL-tietokannan "root" -käyttäjälle (joka on eri asia kuin systeemin "root")

9)  Loin tyhjän "pupesoft" tietokannan ja sille samoin "pupesoft" käyttäjän jonka salasana on "salasana":

Koodia: [Valitse]
mysql -u root -p
CREATE DATABASE pupesoft;
GRANT ALL ON pupesoft.* TO 'pupesoft'@'localhost' IDENTIFIED BY 'salasana';
FLUSH PRIVILEGES;
exit;

10)  Tiputin ja asensin kaksi .sql tiedostoa jotka aikaansaavat demotietokannan:
Koodia: [Valitse]
wget -q http://api.devlab.fi/referenssitietokantakuvaus.sql http://api.devlab.fi/referenssidata.sql
Koodia: [Valitse]
mysql -u root -p pupesoft < referenssitietokantakuvaus.sql
mysql -u root -p pupesoft < referenssidata.sql

11)  Sen sijaan että olisin säätänyt oikeudet tarkemmin tein Jallun tempun eli 777 läpi koko Pupen:
Koodia: [Valitse]
sudo chmod -R 777 pupesoft
12)  Webbiselaimessa linkiksi localhost/index.php, aukeaa ellei jotain unohtunut yllä tai tästä koko jutusta.
Pystyy myös kokeilemaan localhost/logout.php  jolloin se nimensä mukaisesti antaa login-näytön...

Edit
Tuo yllä ei ole varsinainen ohje koska en ole varmistanut sen toimivuutta mutta silti siitä voi olla jotain apua jos yrität asentaa Ubuntuun tai vastaavaan. Melkoisen varmasti siinä on vielä useitakin puutteita.

Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 09.03.15 - klo:19.26
Kiitos ohjeista. Minulla on nyt meneillään CentOS7:ään perustuva asennus tuon
https://postiatepalle.wordpress.com/pupesoft/ (https://postiatepalle.wordpress.com/pupesoft/)
ohjeen sovitettuna CentOS7:lle.

Palailen tuohon Xubuntu-asennukseen joka tapauksessa omaan käyttööni, mutta nyt pitäisi saada joku systeemi mahdollisimman pian tuotantokuntoon. Huhtikuun 2. päivä(veroilmoituksen palautus) on ennen kuin huomataankaan ;D

T:Jallu59
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 09.03.15 - klo:22.40
Lainaus
Kiitos ohjeista. Minulla on nyt meneillään CentOS7:ään perustuva asennus tuon
https://postiatepalle.wordpress.com/pupesoft/
ohjeen sovitettuna CentOS7:lle.

Varo siellä asennuksessa noita vinossa jonnekin päin olevia hipsukoita  ‘ , pitää olla pystysuora malli  '
ja toinen mikä siellä näkyy olevan väärin on tuossa mysql -jutussa salasana, siinä pitäisi lukea "--password=" eikä "-password=", jotkut ohjelmat korvaavat automaattisesti tuon tuplatavuviivan yhdellä. 
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 11.03.15 - klo:10.00
Tuo -- juttu ei ollut minulla tiedossa, kiitos siitä. Pilkut olin havainnut jo aiemmin.

CentOS7 asennus jumittaa tietokantayhteyden puuttumiseen. Liekö syynä seiskasta pois jätetyt ohjelmanpätkät vai mariaDB.

Xubuntun kanssa pääsin niin pitkälle, että ohjelma käynnistyy ihan nätisti. Kirjanpidon kohdalla tulee vastaan se, että järjestelmä yrittää avata sivuja pupenext-kansiosta (minkä lataus alkuperäisessä ohjeessa on) Olen ladannut sen paikkaan
/home/devlav/public_html/pupenext/
pupesofthan on
/home/devlav/public_html/pupesoft/

Kestääkö ln komento useamman parametrin, ei minulle auennut dokumentaatiosta ?

Centos-koneeseen menee nyt 6.6. ja katsotaan mitä siitä syntyy ;D
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 11.03.15 - klo:14.04
Lainaus
Kestääkö ln komento useamman parametrin, ei minulle auennut dokumentaatiosta ?

Kestää mutta se näyttää hieman hämärämmältä eli toimii esimerkiksi:

Koodia: [Valitse]
ln -s    /home/jallu/eka /home/jallu/toka /home/jallu/kolmas    /home/jallu
jolloin se toimii niin että tuo viimeinen "/home/jallu" on kansio jonne linkkejä tehdään ja se tekee sinne

eka --> /home/jallu/eka
toka --> /home/jallu/toka
kolmas --> /home/jallu/kolmas

Tutumpi käyttötapa yhdellä linkillä on

Koodia: [Valitse]
ln -s   </jokin/kohde>   </polku/minne/tehdään/linkin_nimi>
Lainaus
Kirjanpidon kohdalla tulee vastaan se, että järjestelmä yrittää avata sivuja pupenext-kansiosta (minkä lataus alkuperäisessä ohjeessa on)

Tipautin tuon "pupenext": in ja hupsista:  Tuohan on "Ruby on Rails" -tavaraa. Tietää hieman (?) lisäpuuhaa eli tuohon pitäisi pystyttää lisäksi kaikki mitä tuo vaatineekin Ubuntussa. 
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 16.03.15 - klo:20.56
Hohhoijaa. Täytynee se sitten Ruby/Rails asentaa. Viimeksi asensin sen Centos 6.6:een ja sen vei ainakin pari tuntia. Centos6.6. herjaa samaa tietokantayhteyden puuttumista kuin Centos 7.0:kin. Mysqld hyrrää kuitenkin. Mielenkiintoista, että Xubuntu 14.04. saa yhteyden samoilla asetuksilla. Siispä jatkan projektia Xubuntu-koneella, ellei Pupesoft-tuki keksi mikä mättää Centos-asennuksissa.

Kiittäen Jallu59
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 26.03.15 - klo:11.56
Rubiini Kiskoilla (RK)...

Taas on päästy eteenpäin mutta ei ihan pienellä vaivalla ja mutkia on riittänyt.  Se kirjanpito-osio heitti webbiselaimeen Apachesta tiedostojen nimet näkyville tulkkaamatta lainkaan koodia eli samalla tyylillä kuin PHP: n kanssa jos PHP ei toimi.  Tuosta hätäisesti päättelin että Ruby on Rails ei toimi Apachessa vaikka olin jo asentanut repoista paketit sitä varten.  Alkoi paljon yrittämisen ja säännöllisen epäonnistumisen jälkeen jo hieman tuntua että "Rubiini Kiskoilla" on ennemminkin "Kivi Kengässäni".   
Lähdin tutkimaan asiaa toisin päin eli opiskelemaan Ruby on Rails johdannon jotta pääsisin siihen vaiheeseen että saisin jonkun yksinkertaisen "Hello World" testin kasalle toiminnan varmistamiseen.   Tämä Rubiini Kiskoilla sisältää myös sen oman webbipalvelimen joka on sopiva ja tarkoitettu vain testaamiseen eikä mihinkään tuotantokäyttöön.  Siitä oli kuitenkin apua kokonaisuuden ymmärtämisessä.  Kun se toimi tuolla oli vain jäljellä miten saada Apache toiminnallisesti samaan malliin.    Nyt toimii myös Apacheni antaen Rubiini Kiskoilla -testisivun.   
Vaiheita Apachen kanssa oli todella monta ja tähän ei olisi päästy ilman jonkinasteista Rubiini Kiskoilla rakenteen ja toiminnan hahmotusta.  Tämä asia ei ole vielä valmis liittyen Pupesoftiin mutta kerron lyhyesti mitä on hyvä tietää ettet juutu samoihin lukuisiin ongelmiin, hämäriin tilanteisiin ja Rubiini Kiskoilla käsitemaailman termein ilmaistuihin ohjeisiin.  Yritän hieman valaista asian logiikkaa miten eri osat liittyvät toisiinsa.

RK vaatii Apacheen lisämodulin joka tulkkaa koodia. Tuo lisämoduli kulkee nimellä "Passenger". Sen lisäksi tarvitaan tilakohtaiset asetukset.  RK voi toimia kolmessa eri tilassa:  Kehitys (devepment), testaus (test) ja tuotanto (production).    Tilan vaihdon pystyy tekemään esimerkiksi Apachen .conf tiedostojen avulla  käyttäen "sudo a2enconf <tila.conf>" jos tekee valmiiksi tuollaiset tiedostot.  RK käyttää tuosta termiä "ympäristö" (environment). Itse RK sisältää omat määritystiedostonsa noille tiloille jotka koskevat vain itse RK: n toimintaa kun jokin ympäristö on valittu mutta niillä ei ole merkitystä itse asennuksen kannalta.  Ohjelmoija voi niihin määrittää tilannekohtaisia asetuksia (kehitys, testi, tuotanto).
RK: n sisältämä webbipalvelin toimi oletuksena kehitystilassa mutta Apachen moduli toimii taasen oletuksena tuotantotilassa ellei asiaa ole määritetty.   
Testatessa tulee tietää missä tilassa RK -ohjelma voi toimia.  Kun tein oman testiohjelman niin se toimi vain kehitystilassa ja jos sitä yrittää ajaa tuotantotilassa se menee virheeseen (ilman ilsätoimenpiteitä) sillä ohjelmassa ei ole alkuaan asetuksia valmiina tuotantoajoa varten.  Ohjelmoijan (eikä asentajan/ylläpidon) tehtävä toki on määrittää nuo tuonne RK ohjelmaan.

Apachessa on yksi tärkeä asetus josta löysin maininnan pitkähkön dokumentin liitteestä 11 (Appendix 11) muistaakseni.  RK: n toiminta on jossain vaiheessa muuttunut niin että se ei seuraa linkkejä kuten se teki aiemmin.  Hyvin monet (kuten itsekin olen tehnyt) eivät muuta Apachen dokumenttijuurta minnekään vaan korvaavat sijainnin linkillä oikeaan paikkaan   eli esimerkiksi  /var/www/html --> /home/apps/rails/sovellus.  Tuo ei kuitenkaan toimi ilman että asetetaan "PassengerResolveSymlinksInDocumentRoot  on" Apachen asetuksissa ellei sitten muuteta itse DocumentRoot asetusta (jolloin linkitystä ei käytetä).  Liitteessä oli myös asia jota en ole selvittänyt: Dokumenttijuuren pitäisi osoittaa public-kansioon eikä sovellusjuureen joka äkkiä ajatellen tuntuu merkilliseltä.
 
Eri tiloja varten RK: ssa on salakoodit.  Havaitsin että salakoodit kehitys- ja testitiloja varten olivat näkyvillä "secrets.yml" tiedostossa mutta tuotantotilan salakoodi haetaan ympäristömuuttujasta "SECRET_KEY_BASE" joka siis pitää asettaa Apachen ympäristöasetuksen kautta.
Näitä salakoodeja voi itse generoida menemällä sovelluksen juureen (kuva tuolla alhaalla) ja ajamalla päätteessä

Koodia: [Valitse]
rake secret 

Diagnostiikkavälineistä huomasin hyödylliseksi

Koodia: [Valitse]
sudo passenger-config  --detect-apache2
sekä
Koodia: [Valitse]
sudo passenger-memory-stats
Elleivät nämä toimi ja näytä järkeviä asioita niin asennus on puutteellinen.

Se RK webbipalvelin toimii niin että mennään ensin sovelluksen juureen ja käynnistetään

Koodia: [Valitse]
rails  s
jolloin sovellus löytyy portista 3000 eli  "localhost:3000".  Sille voi antaa eri portin "-p <uusi_numero>" lisukkeella.

Joudun palaamaan itse Apachen Passenger-moduliasennukseen myöhemmin, vaiheet olivat yksinkertaisesti liian sekavat suoraan dokumentoitavaksi tähän mutta noilla yllä olevilla perustiedoilla/havainnoilla pääset varmaan alkuun tai eteenpäin.  Pääsin kuitenkin pääsosin "sudo gem <sitä_ja_tätä>" keinolla lopulta toimivaan tilanteeseen "Hello_world" koesovellukseni kanssa.

Alla myös kuva mikä autta tunnistamaan paikan jota kutsutaan sovelluksen juureksi, noista kansioista ja tiedostoista tunnistaa sen.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 04.04.15 - klo:20.36
Välitin Pupesoftin kehittäjälle toiveen saada asennusohje Ubuntulle.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ilpokuikka - 28.04.15 - klo:09.49
Terve, hyppään mukaan tähän "iloiseen" pupe-ketjuun.

Asensin juuri Centos 6.6 vanhaan palvelinrautaan ja pyörii iloisesti. Ajattelinkin nyt kysyä ENNEN kuin aloitan Pupen asennuksen, oletteko huomanneet tässä ketjussa jo mainittujen kummallisuuksien mukaan mitään selkeitä virheitä tai korjattavaa Devlabin ohjeisiin (https://github.com/devlab-oy/pupesoft/wiki/Asennusohje)?

Viime vuonna  (http://forum.ubuntu-fi.org/index.php?topic=47788.msg367086#msg367086)tuli jo hieman testattua virtuaalikoneella ja jotenkin sen sain silloin pyörimään, vaikka tuskaista oli.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: Jallu59 - 28.04.15 - klo:22.22
Terve, hyppään mukaan tähän "iloiseen" pupe-ketjuun.

Asensin juuri Centos 6.6 vanhaan palvelinrautaan ja pyörii iloisesti. Ajattelinkin nyt kysyä ENNEN kuin aloitan Pupen asennuksen, oletteko huomanneet tässä ketjussa jo mainittujen kummallisuuksien mukaan mitään selkeitä virheitä tai korjattavaa Devlabin ohjeisiin (https://github.com/devlab-oy/pupesoft/wiki/Asennusohje)?


Ainakin siinä salasanat.php-tiedostossa puuttuu lopusta php-tiedoston sulkeva:
Koodia: [Valitse]
?>
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ilpokuikka - 12.05.15 - klo:17.07
Edit: äääh, tossahan "ajaaskel" samasta ongelmasta jo aiemmin kirjoittikin, luetaanpa se ensin, tilulii...  :o

Laitetaan tännekin väliaikatietona, että asennus onnistui lopulta suhteellisen kivuttomasti, siis tähän asti.

HTTPS ei vielä käytössä, certien kanssa vähän haasteita kun en ummarra miten homma toimisi dyndns kautta ulkoapäin (tai ylipäätään miten nämä self-signed certit tulisi oikeaoppisesti luoda...).

Valikot toimivat muutoin kaikki, paitsi seuraavat:
Pupessa: Kirjanpito - Ylläpito- Tilikartta (/pupesoft/pupenext/accounts?indexvas=1)
"The requested URL /pupesoft/pupenext/accounts was not found on this server."

Pupessa: Kirjanpito - Ylläpito- Tilikartan rakenne (/pupesoft/pupenext/sum_levels?indexvas=1)
"The requested URL /pupesoft/pupenext/sum_levels was not found on this server."

Mainitu kansiot löysin seuraavasta hakemistosta:
Koodia: [Valitse]
./home/devlab/pupenext/app/views/administration/
Kaikki muut valikot näyttäisi olevan .php paitsi edellä mainitut.

Kansioista löytyy .ao. tiedostot, jotain ruby on rails kamaa vissiin. Onkoos mun ruby asennus jotenkin solmussa vai mistä tätä lähtee selvittämään...?

Koodia: [Valitse]
edit.html.erb
_form.html.erb
index.html.erb
new.html.erb

Tein piruuttaan ohjaukset noihin kansioihin, mutta lopputuloksena Pupe avaa vain ko. kansion tiedostolistauksen :)
Koodia: [Valitse]
ln -s /home/devlab/pupenext/app/views/administration/accounts /home/devlab/pupesoft/pupenext/accounts
Ilman tilikarttojen muokkausmahdollisuutta menee homma vähän vaikeaksi, oletuksena Pupesta löytyi kyllä joku kivikautinen tilikartta kun kokeilee vaikka tositteen syöttöä.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: mrl586 - 12.05.15 - klo:19.56
Onko php-tulkki asennettuna?
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 13.05.15 - klo:09.46
Lainaus
Onkoos mun ruby asennus jotenkin solmussa...

Nuo jotka ei toimi on juuri niitä "Rubiini Kiskoilla" -osia tuossa kokonaisuudessa.  Useimmat pääsevät tähän asti kohtalaisen helposti eli ensimmäinen osa joka toimii php: llä on aika tuttua mutta kun pitäisi saada tuo Ruby on Rails -tulkki toimimaan alkaa taistelu oudolla maalla.  Tuo ilmiö minkä näet on että RK-tulkki ei aktivoidu. Tuo RK-tulkki on samankaltainen asia kuin php-tulkki eli Apache joko näyttää tiedoston sellaisenaan tai tekee virheen ellei tulkki toimi (tai jokin estää sitä toimimasta).
Asia lienee kiinni siitä että Apache-asetukset pitäisi säätää niin että se ajaa RK-tulkilla nuo osat (olettaen että RK on olemassa siellä ja toimii jo jotenkin). Pupesoftin oma asennusohje antaa ymmärtää että nämä RK-osat pitäisi ehkä käsitellä tietyllä tunnuksella mutta en ole selvittänyt tuota tarkemmin eli millainen sidonnaisuus tuossa mahdollisesti on ja mihin kaikkeen se vaikuttaa,  hämärä kohta yhdessä RK-vaatimusten kanssa.
En pysty neuvomaan tarkemmin kun jäi kokeilut viimeksi itselläkin "vaiheeseen".  Hienoa jos ehditte ajan kanssa kokeilla asiaa eteenpäin, tuosta ohjelmistosta olisi iloa ja hyötyä monelle.   Ei ole nimittäin kuulunut vastausta tiedusteluuni tuon RK-koodin kirjoittajilta.
Olen satavarma että tuo asia ratkeaa kun tuo vielä hämärä alue käydään ajan ja ajatuksen kanssa  läpi loppuun asti eli tuo on tyypiltään RK+Apache-asetukset toimivaan järjestykseen niillä reunaehdoilla mitä tuo RK-osa olettaa ---  mitä ne sitten onkin.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ilpokuikka - 15.05.15 - klo:15.51
Tuo ilmiö minkä näet on että RK-tulkki ei aktivoidu.
Jep, vielä kun keksisi miksi...

Taidan seuraavaksi kokeilla puhdasta LAMP + Passenger + RK asennusta Centos 6.6:lla ja katsoa saisiko sillä nuo rubiinit pyörimään.

Kun nuo saa ensin testatusti toimimaan yhteen niin voisi kuvitella että Pupe lopulta sujahtaisi siihen melkoisen kivuttomasti.

Nuo Devlabin ohjeet ovat näin maallikolle niin ylimalkaiset ja ytimekkäät, että niistä ei paljon apuja ole.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: villej - 05.12.15 - klo:10.48
Muutama kommentti tähän jotka saattavat helpottaa Pupesoftin asennuksen kanssa ja yksi päänvaiva. Ympäristö Centos 6.7

Tiedosto-oikeiudet:
777 oikeuksia ei pidä koskaan käyttää missään. Ymmärtääkseni mahdollistaa esimerkiksi oman pätkän lisäämisen serverille jolla helposti pystyy kysymään esimerkiksi salasanat.php kaikki tiedot.

-jos asennat puhdasta. Varmista että julkisen juurikansion oikeudet ovat riittävät.
-omistajuudet ovat oikein. Joissain mussa sovelluksissa omistajuudet menevät täysin eri päin kuin ohjeissa on mainittu... jos ei toimi testaa.

Salasanat.php kannattaa tehdä Nanolla. Jos teet esim notepadillä ja siirrät serverille ei tiedostossa saa olla rivinvaihtoja. Kaikki pitää olla pötkössä. Jos on rivinvaihtoja tietokantayhteys ei toimi.

update.pupesoft.sh tarkista että polku vastaa pupenext polkua. Jos ei vastaa korjaa.

bash /home/devlab/pupesoft/update-pupesoft.sh bundle komentoa ennen kannattaa rebootata. Jos tulee redis virheitä roottina: service redis start

Rails tuottaa todella harmaita hiuksia. Eli linkit jotka käyttävät Rubyä ei toimi. Onko kenelläkään ideaa?
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: villej - 19.03.16 - klo:12.24
Pupesoftin asentaminen todellakin Rubyn vuoksi voi olla kohtuullisen hankala toimenpide. Huomasin että asennusohjeen noudattaminen ei tuonut oikeaa lopputulosta. Syynä on ennemminkin lähtökohta, eli miten serveriä käytetään. Pienetkin muutokset johtavat muutoksiin asetuksissa. Kuitenkin perusajatus Passengerin ja Apachen käytössä on että niitä ei voi ajaa päällekäin. Eli httpd.conf tiedoston kanssa saa muutaman tempun tehdä että osuu kohilleen ja valitettavasti muutaman kokeilunkin.  Document root ei voi olla sama rubyssä ja php.ssa. Eli dokument root osoittaa aina Ruby julkiseen kansioon, eli Pupesoft kansioon, jossa on linkki Pupenextissä olevaan Ruby julkiseen kansioon.
Vinkkinä Pupenext-kansio kannattaa jättää juuri kansioon eikä sijoittaa julkiseen kansioon.
Jos tarvitsee apua kannattaa laittaa viestiä sähköpostiin.

Pupesoft on loistava ERP. Asentaminen on kieltämättä tuskaa. Mutta oppimisen, kokeilujen ja erehdyksien kautta toimii erinomaisesti.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: nm - 19.03.16 - klo:12.43
Softasta kannattaisi tehdä Docker-image, jos vaatii paljon säätöjä eri komponentteihin.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ilpokuikka - 20.03.16 - klo:08.02
Pupesoftin asentaminen todellakin Rubyn vuoksi voi olla kohtuullisen hankala toimenpide. Huomasin että asennusohjeen noudattaminen ei tuonut oikeaa lopputulosta. Syynä on ennemminkin lähtökohta, eli miten serveriä käytetään. Pienetkin muutokset johtavat muutoksiin asetuksissa. Kuitenkin perusajatus Passengerin ja Apachen käytössä on että niitä ei voi ajaa päällekäin. Eli httpd.conf tiedoston kanssa saa muutaman tempun tehdä että osuu kohilleen ja valitettavasti muutaman kokeilunkin.  Document root ei voi olla sama rubyssä ja php.ssa. Eli dokument root osoittaa aina Ruby julkiseen kansioon, eli Pupesoft kansioon, jossa on linkki Pupenextissä olevaan Ruby julkiseen kansioon.
Vinkkinä Pupenext-kansio kannattaa jättää juuri kansioon eikä sijoittaa julkiseen kansioon.
Jos tarvitsee apua kannattaa laittaa viestiä sähköpostiin.

Pupesoft on loistava ERP. Asentaminen on kieltämättä tuskaa. Mutta oppimisen, kokeilujen ja erehdyksien kautta toimii erinomaisesti.

Itse en tuota Pupea saanut ikinä toimimaan, eli nimenomaan ruby ei lähtenyt pelittämään. Päädyin lopulta maksamaan asennuksen loppuunsaattamisesta ja nyt Pupe pyörinyt moitteettomasti 2015 elokuusta lähtien. Tarvittava rauta löytyi jo valmiina joten muita kuluja ei tähän proggikseen mennyt. Omaa aikaa toki julmetusti, mutta menee harrastuksen piikkiin.

Teen oman firman sekä muutaman muunkin kirjanpitoa nyt Pupessa, eikä ongelmia ole ollut. Asennuksen kokonaiskustannus tuli edullisemmaksi kuin mitä Windows kirjanpitosoftat moniyritystuella ja kunnollisilla reskontrilla maksavat.

Pupe pyörii nyt tietoturvasyistä vain kotiverkossa mutta toimii kyllä etänäkin tarvittaessa.

Oman liiketoiminnan kannalta ollaan kuitenkin pian tienhaarassa - omat taidot eivät riitä ylläpitoon jonka takia Pupe -palvelin onkin eristetty ulkomaailmasta eikä päivityksiä ajeta. Tehokkaampi hyödyntäminen vaatisi kuitenkin tuon 24/7 netin sekä päivitysten säännöllisen ajamisen ym. ym.

Pitäisi vain löytää kustannustehokas ratkaisu ylläpitoon. Varsinaista käyttäjätukea en kaipaa vaan ainoastaan palvelimen ja Pupen ylläpidon sekä sovitun vasteajan "kakkaa tuulettimessa" tilanteisiin eli periaatteessa tuntilaskutuksenakin homma voisi toimia.
Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: ajaaskel - 21.03.16 - klo:14.54
"villej",
jaksaisitko kirjoittaa jonkun lyhyen rautalankamallin erityisesti liittyen asennuksen loppuvaiheisiin ja jos arvaat mistä kenkä yleensä puristaa niin hieman valottaa sitä ?
Luultavasti kaikki saavat tuon alkuosan toimimaan mutta Ruby-osa on hämärämpi.  Teit ilmeisesti CentOS: n kanssa tuon asennuksesi, kiinnostaisi lopuksi virittää se myös Ubuntuun ja taustojen ymmärtäminen tarkemmin olisi hyödyllistä.

Otsikko: Vs: Pupesoftin asennus ja oikeudet
Kirjoitti: villej - 22.03.16 - klo:22.02
Lyhyttä rautalankamallia on mahdotonta tässä tapauksessa kirjoittaa.
Puhtaalta pöydältä vaikka tiedän mitä pitää tehdä Pupesoftin asentaminen toimivaksi +4 tuntia. Siinä tulee muutama kohta jossa pitää soveltaa ja tuntuu että niitä tulee vastaan jatkuvasti lisää. Osa ratkeaa siinä asennellessa, mutta on tärkeää että seuraa asennuksen tuottamia rivejä, etenkin niitä virheilmoituksia. Joidenkin pakettien versiota voi joutua muuttamaan.

Ehkä tärkein yksittäinen rivi minun tapauksessa on httpd.conf tiedossa on rivi jolla määritellään mitä Ruby versiota käytetään. Passengerille kerrotaan mikä Ruby on käytössä. Teoriassa voidaan määritellä httpd.conf tiedostossa default Rubykin. Ehkä juuri tämän vuoksi Devlab asennusohje voi olla vajaavainen. Serverin perusasetuksia on määritelty ennalta serverin muita toimintoja huomioiden. Ainakin ohjeen perusteella asennus on tehty samalle palvelimelle millä pyörii devlab.fi kotisivutkin, ehkä muutakin?



PassengerRuby /home/käyttäjäsi/.rbenv/versions/2.2.3/bin/ruby
##PassengerAppRoot /home/käyttäjäsi/pupenext   //// joissakin ohjeissa tämän rivin pitäisi toimia. Tosin minun tapauksessa sai kaiken jumiin.

RailsBaseURI /pupenext
    <Directory /home/käyttäjäsi/pupenext/public>
      AllowOverride all
      Options -MultiViews
    </Directory>

    <Location /pupenext/assets/>
      Header unset ETag
      FileETag None
      ExpiresActive On
      ExpiresDefault "access plus 1 year"
    </Location>

Sitten vielä ainakin minulla taisi olla linkki pupesoft kansioon että php toimii oikein.
Update fileä pitää joissain tapauksissa korjailla pupenext osoitteen osalta että päivitys toimii laisinkaan. 
Valitettavasti nyt muisti ei riitä enempään ja aika on todella tiukalla töiden takia.

Asennus on tehty Centos 7 serverille. Ubuntun kanssa vanhassa elämässä olen Pupea pyörittänyt menestyksekkäästi, mutta Rubyn osalta en osaa luvata että toimii. Kannattaa vain miettiä miten serveri ja missä järjestyksessä lukee rivejä. Miten konfliktit välttää. Phusion Passengerin sivuilla on asennusohjeita Ubuntulle, vaikka mikään ohje ei suoraan ole toiminut ainakaan minulle ::)

Ilpokuikalle tiedoksi. En tiedä voiko mainostaa täällä, mutta tarjoamme taloushallinnon palveluiden ohella Pupesoft ylläpitoa kuukausihinnalla omalta serveriltämme.