FinWX Foorumi

Yleiset keskustelualueet => Sivuston ja Foorumin tiedotteet => Aiheen aloitti: J.Jäntti - maanantai, 16.07.2018, 02:30

Otsikko: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - maanantai, 16.07.2018, 02:30
Ai että mikä ihmeen WAMP ja LAMP?
FinWX on vuodesta 2006 saakka pyörinyt Windows-käyttöjärjestelmällä, jonka päällä ovar raksuttaneet Apache-webserveri, MySQL-tietokantamoottori ja sivuston dynaamisesta osasta (säätietojen haku ja päivitys, sekä tämä foorumi) on pitänyt huolta osaltaan PHP.  Tästä tulee lyhenne WAMP, joka on lyhenne jonosta Windows-Apache-MySQL-PHP.

Tämä sivusto ja sen palvelut ovat vähitellen syytä siirtää alustalle, joka ei rapistu alta, mikä tälle Windows-alustalle on valitettavasti käymässä. Syynä ovat yksinkertaisesti versiot. Käydäänpä lista läpi että ymmärrätte mikä on lähtökohta:

Missä ollaan nyt?
Uusi serveri, joka vastaanottaa FinWX:n sivuston kloonin on rakennettu käyttöjärjestelmän osalta (uranium.intra-static.finwx.net). CentOS 7 valittiin Linux-käyttöjärjestelmäksi tähän hommaan ja edessä on nyt Apachen, MySQL:n ja PHP:n asennus- ja konfiguraatio. Ideana on saada niin lähelle samanlainen kokonaisuus kuin mitä vanhalla serverillä on, mutta uudemmilla ohjelmistoversioilla. Tätä työtä aletaan tekemään rauhallisesti ja ajatuksella 16.07.2018 alkaen. Aikataulu sivuston heittämiseksi vanhalta serveriltä uudelle on vielä avoinna tässä kohtaa, koska se on jo tässä vaiheessa varmaa, ettei sivuston saaminen toimintaan tule olemaan "plug & play", vaan enemmänkin "plug, error & WTF". mutta pidän luonnollisesti kaikkia teitä informoituna asioiden etenemisestä.

Miksi tilanne on päässyt tällaiseksi?
Sitä olen itsekin ihmetellyt, mutta syyttäisin tässä kohtaa vuonna 2014 päättynyttä, itärajaa lähellä olevan Lappeenrannan synkkiä pystymetsiä päin lässähtänyttä avioliittoani. Kun tein sen ratkaisevan virheen ja maistraatissa möläytin "tahdon", en tarkoittanut että tahtoisin alistua jonkinasteiseen matrimoniaaliseen orjuuteen, jossa omat harrastukset jäisivät perhe-elämän irvikuvan ja omakotitalohankinnan ja sen mukanansa tuomien askareiden ja ylläpidon yli jyräämäksi. Näin kuitenkin vaivihkaa kävi ja vanha, liitoksistaan palasiksi natiseva serveri edustaa nyt sitä aikakapselia, joka on nyt tuohon möläytyksen ajanjaksoon pysähtynyt. Päästyäni nyt vihdoinkin kiinni elämääni takaisin kunnolla henkisesti, tämän aikakapselin sisällön siirto ja tuon serverin alasajo siintää silmissäni.

Mikä liipaisi tekemään asialle jotain?
Parikin seikkaa. Yksi niistä on tämä Foorumi. Se pyörii versiolla 1.1, jonka tuki Simple Machines:lla on joko loppumassa tai on jo niin tehnyt. Yritin päivittää foorumia versioon 2.0 samalla, kun 9.7. suoritin laaja-alaisen huoltotyön, mutta koko foorumi levisi ihan totaalisesti ja jäi näyttämään vain tyhjää sivua. Toinen niistä oli se, että kun https-sivut alkavat olemaan myös sääsivustoilla kasvava trendi, tuli FinWX:n tekniikan vanhuus vastaan. Mikään omista konsteistani saada sivustoa toimimaan ei onnistunut. Sain jopa yhdeltä käyttäjältä (HQJaTu) PHP-skriptin, jolla https:n yli pitäisi saada dataa haettua, mutta testi pysähtyi tyhjään sivuun, mikä kertoo siitä, että koko sivusto rullaa ihan liian vanhan versiokokonaisuuden päällä. Koska teen tätä rakkaudesta harrastukseen, on vaihtoehtoina päivittää ja modernisoida ensin taustalla olevat asiat ja sitten sivusto, tai laittaa lappu luukulle. Jos se yhtään on minusta kiinni, jälkimmäinen tapahtuu vasta sitten, kun pottuvarpaaseeni ripustetaan lappu ja mies kärrätään jääkaappiin. Tämä sivusto on painanut kaasu pohjassa jo 12 vuotta, miksi siis hiljentää vauhtia tai pysähtyä?

Vaikutukset FinWX:n toimintaan?
Ei mitkään tässä kohtaa. Vanha alusta toimii edelleen luotettavasti ja palvelee tasan niin pitkään kunnes sivusto on uudella alustalla saatu toimivaksi ja foorumin tietokanta istutettua uuden alusta asettamiin raameihin. Yliheitto tapahtuu vasta, kun on voitu varmistua siitä että foorumi seuraa perässä eikä käyttäydy epämääräisesti.

Pitäkää kiinni hatuistanne, tästä nimittäin on tulossa valehtelematta iso urakka.
Kommentit ja näkemykset ovat niin ikään tervetulleita, kuten aina. ;D
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - maanantai, 16.07.2018, 09:42
Voin jotenkin samaistua tuohon kirjoitukseen täysin joten täältä vertaistukea ;D
Dedin sivut raksuttaa pääosin PHP 5.6:lla...

Parit vinkit:
- Heitä Mysql roskiin ja laita MariaDB tilalle. PHP:n mysql-palikat toimivat suoraan sen kanssa, kuten myös tietokannat uppoo sinne ihan suoraan mysql > mariadb. Dedillä taitaa raksuttaa veriso 10 tai jotain MariaDB:stä.
- Asenna sekä PHP 5 että PHP 7. Näin voit siirtää esim cronilla ajettavat PHP 7:lle yksitellen sitä mukaan mitä saat ne testattua/fixattua. Mullakin on muuttama croni-skripti joka "jo" raksuttaa 7:lla kun taas loput jurruttaa 5:lla :)
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - torstai, 19.07.2018, 14:00
Lainaus käyttäjältä: weatherc - maanantai, 16.07.2018, 09:42
- Heitä Mysql roskiin ja laita MariaDB tilalle. PHP:n mysql-palikat toimivat suoraan sen kanssa, kuten myös tietokannat uppoo sinne ihan suoraan mysql > mariadb. Dedillä taitaa raksuttaa veriso 10 tai jotain MariaDB:stä.

Tällä hetkellä foorumi on ainoa tietokantaa käyttävä kokonaisuus sivustolla. Tätä on tarkoitus muuttaa sellaiseksi, että sääasemien tiedot tulisivat myös talteen pelkän suoran näyttämisen sijaan. Itse foorumisofta tukee pelkästään MySQL:ää, PostgreSQL:ää ja SQLite:ä. MariaDB on lähtökohdaltaan MySQL 5.5:n forkki ja sen käyttämä komentosyntaksi on sen vuoksi identtinen. MariaDB ilmestyi Oraclen ostettua MySQL:n ja nämä kaksi siitä lähtien ovat kulkeneet rinta rinnan ja MariaDB on toiminut periaatteessa suoraan päälle tiputettavana tietokantamoottorin vaihtona ja homma toimii. Isoin huoli on ollut enemmänkin siinä missä vaiheessa näiden kahden moottorin kehittyessä alkaa tapahtumaan erkaantumista ja MySQL 5.7:n myötä ensimmäiset irtaantumisen merkit näkyvät MariaDB:hen verraten. MariaDB:hen on otettu tiettyjä ominaisuuksia MySQL:stä ja osaa ominaisuuksista joita 5.7 toi mukanaan, ei MariaDB:ssä ole suoraan, vaan niistä on tehty MariaDB:lle oma toimintonsa erikseen joka tarkoittaa syntaksien muuttumista. Vaikka siirtymä MySQL => MariaDB on vielä suoraviivaista, se ei olekaan enää sitä, jos tilanne menee siihen, että tietokantamoottori pitääkin vaihtaa takaisin MySQL:ään. Tämä on tietty kiinni täysin siitä, ovatko ne uudet ominaisuudet otettu käyttöön tietokannassa itsessään, eli onko tietokanta MySQL 5.6:n tasolla vielä. FinWX:n foorumin tietokanta on jumittunut 5.5-tasolle, joten hyppy MariaDB:n kelkkaan on suoraviivaista ja hyvin suurella todennäköisyydellä toimii ns. out of the box. Mitään estettä MariaDB:n käyttöönottoon ei itsessään ole, mutta mietinkin enemmän tulevaisuutta MariaDB:n kanssa pitkällä tähtäimellä, alkaako esim. foorumin kanssa olemaan ongelmia edessä jos siihen implementoidaan sellaisia ominaisuuksia, joita MariaDB tukee, mutta eri syntaksilla ja foorumi puhuu vain MySQL:ää. Tässä siis käytännössä tanssitaan foorumin pillin mukaan.

Lainaus käyttäjältä: weatherc - maanantai, 16.07.2018, 09:42
- Asenna sekä PHP 5 että PHP 7. Näin voit siirtää esim cronilla ajettavat PHP 7:lle yksitellen sitä mukaan mitä saat ne testattua/fixattua. Mullakin on muuttama croni-skripti joka "jo" raksuttaa 7:lla kun taas loput jurruttaa 5:lla :)

Foorumi osaa jutella korkeintaan PHP 7.1:n kanssa. 7.2:sta ei foorumisofta vielä ymmärrä (ilmeisesti siinä olevien skriptausmuutosten vuoksi), joten todennäköisesti 7.1 on se, joka tulee näillä näkymin asennettua. Minulla tulee olemaan hieman oppimiskynnystä ylitettävänä, sillä en ole koskaan ajanut aiemmin kahta eri PHP-versiota rinnakkain ja mitä se skripteiltä vaatii. :)
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - lauantai, 21.07.2018, 01:54
Ensimmäiset tappelut W:n muuttaminen L:ksi alkoi jo siinä kun piti saada jollain tavalla Windowsin Apache 2.2:n conf-filu rakennettua Linuxin Apachen 2.4:n ymmärtämään muotoon. Siihen oli piru vie tehty tonnikaupalla muutoksia ja osa asioista siinä oli vielä muuttanut toimintaansa toisenlaiseksi, puhumattakaan siitä, että osa Windows-puolen asioista piti jättää pois Linux-puolelta, koska osa niistä oli Linuxin Apacheen integroitu suoraan tai jotka voitiin yum:lla asen(nut)taa. Toinen samanlainen suo oli edessä PHP:n kanssa, joskin php.ini-filu ei ollut mitenkään järjettömästi muuttunut. Samat ongelmat olivat kuitenkin edessä, kun osa PHP 5.2:n ominaisuuksista olivat pudotettu kokonaan pois jo 5.4:ssa ja luonnollisesti moduulit, joita PHP käytti, olivat Windows-maailmassa .dll-filuja joista Linux ei tajua mitään.

Kopio FinWX:n sivustosta siirrettiin sitten LAMP-serverille. Error-suon ylityksen jälkeen sain herjat oman sääasemani tiedoista pois ja suureksi yllätyksekseni sain ulos jopa säädataakin, sillä erotuksella tosin, että skandit ja astemerkit ovat tällä hetkellä totaalisen rikki, kun niitä ei ole HTML:llä parsittu oikeaoppisesti näytille (ä = ä jne.). Lisäksi datahaku on seis vielä toistaiseksi tuntemattomasta syystä, mutta se selvinnee kyllä.

PHP 7.1 on tällä hetkellä siis kykeneväinen parsimaan säädataa WUHU:n currdat.lst-filusta ihan sellaisenaan, mutta pitää luonnollisesti katsoa jostain kohtaa errorlokia, mitä PHP:n pitäisi jonnekin kirjoittaa, että mitä suhteellisen hiljaisia raivokohtauksia se sinne on kirjoitellut. Vielä ei todellakaan ole valmista, sillä ei tätä pelkillä php-ja html-filujen pikku puukotuksella vielä toimimaan saada. Esimerkiksi yr.no-ennuste ja auringon suunta- ja korkeustiedot ovat täysin hajonneet ja näyttävät tyhjää ja koska kaikki sivustolla vaikuttaa kaikkeen, menee hetki että löydän kaikki absoluuttiset filujen polut ja saan ne muutettua UNIX-poluiksi. Tiedän että niitä on siellä koodissa siellä täällä.

Kun sivusto on saatu raapaistua jossain kohtaa toimivaksi, edessä on sitten tämä meidän foorumimme...
Tiedän jo nyt, että hommasta tulee kamala säätö ja hirveä kiroilu, sillä foorumin MySQL-tietokanta pitäisi päivittää kaksi kertaa, ensin 5.6- ja sitten 5.7-versioon ja siinä jossain välissä vielä pitäisi päivittää foorumin versio 1.1 => 2.0. Tämä onkin sitten sellainen operaatio, jossa virtuaalikoneen kloonaus- ja palautustoiminto tulee varmana tutuksi kun ensin yritetään katsoa miten MySQL saadaan päivitettyä pariin kertaan siten että olemassa oleva WAMP-konfiguraatio ei kuole pystyyn heti ja että se toimii oikeasti että foorumi voidaan päivittää ja sitten vasta aletaan katsomaan miten ja missä välissä foorumin saa kajautettua sellaisenaan uudelle alustalle. Se on projekti, johon tulee todennäköisesti kulumaan lähes yhtä pitkä, ellei pidempikin, aika, kuin tähän Windows => Linux vaihtoon sivuston toiminnan suhteen.

Rohkaiseva ensikontakti Apache 2.4:n ja PHP 7.1:n kanssa on saatu. Lisää tietoa postataan tänne sitä mukaa kun niitä on tarjolla. Pysykää siis mukana, jos muutoksen yksityiskohdat kiinnostavat. ;D
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - lauantai, 21.07.2018, 10:57
Lainaasillä erotuksella tosin, että skandit ja astemerkit ovat tällä hetkellä totaalisen rikki, kun niitä ei ole HTML:llä parsittu oikeaoppisesti näytille (ä = ä jne.). Lisäksi datahaku on seis vielä toistaiseksi tuntemattomasta syystä, mutta se selvinnee kyllä.

Muuta filut UTF8-muotoiseksi sieltä filun encode-osiota, niin on ainakin täällä homma ratkaistu. Ainakin Notepad2:lla mitä minä käytän se on pelkästään tuon täpän siirtäminen ANSI => UTF8. Tuon kanssa on täälläkin tapeltu vaikka ja kuinka kun ei aina jaksaisi alkaa vääntämään ääkkösiä html-muotoon, ja lopuksi oli ratkaisu noinkin helppo.

LainaaPHP 7.1 on tällä hetkellä siis kykeneväinen parsimaan säädataa WUHU:n currdat.lst-filusta ihan sellaisenaan, mutta pitää luonnollisesti katsoa jostain kohtaa errorlokia, mitä PHP:n pitäisi jonnekin kirjoittaa, että mitä suhteellisen hiljaisia raivokohtauksia se sinne on kirjoitellut.

PHP7 kirjoittaa errorlokia - ja paljon. Eli ei kannata huolestua. Ja säädä sen lokikirjoittaminen minimille. Dedillä tein niin että kerran vuorokaudessa poistetaan kaikki isot error-lokit (jotka itse asiassa täynnä kaiken maailman diippadaapaa-notiisssejä) koska niitä tulee aivan tolkuttomasti.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: khyron - lauantai, 21.07.2018, 16:42
Onko joku erityinen syy että haluat pävittää olemassaolevat kannat? Kun eikös sulla ollu noi virtuaalikoneissa ni uusi tulille ja siihen tarvittava versio jonka jälkeen export ja import datalle. Noin pikasesti ainakin tuntuis vähemmän riskialttiilta, ja olis ensin helppo testata ja scriptata toi ni olis downtime aika minimissä sit kun tekee oikeesti.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - lauantai, 21.07.2018, 17:37
Lainaus käyttäjältä: khyron - lauantai, 21.07.2018, 16:42
Onko joku erityinen syy että haluat pävittää olemassaolevat kannat? Kun eikös sulla ollu noi virtuaalikoneissa ni uusi tulille ja siihen tarvittava versio jonka jälkeen export ja import datalle. Noin pikasesti ainakin tuntuis vähemmän riskialttiilta, ja olis ensin helppo testata ja scriptata toi ni olis downtime aika minimissä sit kun tekee oikeesti.

Yks on ainakin se että PHP:n mysql_* poistuu PHP7:ssa ja 5:kin taitaa nykyään huutaa kun syötävä siitä. Tilalle mysqli_* eli kaikki koodi pitää ennemmin tai myöhemmin muuttaa tuolle mysqlille halusi tai ei. Ja siihenhän - ullatus, ullatus - ei riitä pelkästään sen i:n lisääminen koodiin.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: khyron - lauantai, 21.07.2018, 20:49
Lainaus käyttäjältä: weatherc - lauantai, 21.07.2018, 17:37
Lainaus käyttäjältä: khyron - lauantai, 21.07.2018, 16:42
Onko joku erityinen syy että haluat pävittää olemassaolevat kannat? Kun eikös sulla ollu noi virtuaalikoneissa ni uusi tulille ja siihen tarvittava versio jonka jälkeen export ja import datalle. Noin pikasesti ainakin tuntuis vähemmän riskialttiilta, ja olis ensin helppo testata ja scriptata toi ni olis downtime aika minimissä sit kun tekee oikeesti.

Yks on ainakin se että PHP:n mysql_* poistuu PHP7:ssa ja 5:kin taitaa nykyään huutaa kun syötävä siitä. Tilalle mysqli_* eli kaikki koodi pitää ennemmin tai myöhemmin muuttaa tuolle mysqlille halusi tai ei. Ja siihenhän - ullatus, ullatus - ei riitä pelkästään sen i:n lisääminen koodiin.

Siis uuteen virtuaaliin tietty suoraan se versio mitä tarvitaan.

Edit: Puhuin siis myslistä enkä php:stä.

Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - lauantai, 21.07.2018, 22:54
Lainaus käyttäjältä: khyron - lauantai, 21.07.2018, 20:49
Siis uuteen virtuaaliin tietty suoraan se versio mitä tarvitaan.

Edit: Puhuin siis myslistä enkä php:stä


Noin mäkin sen tekisin. Uuteen virtuaaliin halutut versiot ja sitten katsoo rauhassa miten se vanha data/skriptit toimii siinä uudessa. Niin kauan kun vanha toimii voi rauhassa ihmetellä ja kokeilla/opetella uuden kanssa (lue: aloittaa alusta) ja vasta varsinaisessa siirtymävaiheessa sitten ottaa sen lopullisen tietokanta-siirron vanha>uusi.
Ainakin itsellä oli siirto mysql 5.x>mariadb 10.x hyvinkin simppeli. En nyt muista vaatisko se jotain "konvertointi-komentoa" vai ei mutta joka tapauksessa se oli hyvin helppo. Tämä siis kun vaihto tapahtui samalla purkilla käytännössä livenä. Erillisille purkille veikkaan että on normi export vanhalta/import uudelle ja se on siinä.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - maanantai, 23.07.2018, 21:19
Lainaus käyttäjältä: weatherc - lauantai, 21.07.2018, 22:54
Lainaus käyttäjältä: khyron - lauantai, 21.07.2018, 20:49
Siis uuteen virtuaaliin tietty suoraan se versio mitä tarvitaan.

Edit: Puhuin siis myslistä enkä php:stä


Noin mäkin sen tekisin. Uuteen virtuaaliin halutut versiot ja sitten katsoo rauhassa miten se vanha data/skriptit toimii siinä uudessa. Niin kauan kun vanha toimii voi rauhassa ihmetellä ja kokeilla/opetella uuden kanssa (lue: aloittaa alusta) ja vasta varsinaisessa siirtymävaiheessa sitten ottaa sen lopullisen tietokanta-siirron vanha>uusi.
Ainakin itsellä oli siirto mysql 5.x>mariadb 10.x hyvinkin simppeli. En nyt muista vaatisko se jotain "konvertointi-komentoa" vai ei mutta joka tapauksessa se oli hyvin helppo. Tämä siis kun vaihto tapahtui samalla purkilla käytännössä livenä. Erillisille purkille veikkaan että on normi export vanhalta/import uudelle ja se on siinä.

Valitettavasti se ei ole ihan noin suoraviivaista. Foorumin kanssa on se ongelma, että versio 1.1, joka on siis tämän hetkinen foorumin versio, on niin antiikkinen, että toimii Simple Machinesin mukaan "ongelmallisesti" PHP 5.4:n kanssa ja 5.5:n kanssa ei puolestaan lainkaan. MySQL:stä ei ole tässä siirtymässä niin suuri merkitys, kunhan vain PHP vielä päivityksen jälkeen osaa jutella MySQL:n kanssa. Edessä on siis kahden transitio-pannun rakentaminen ja niiden läpi sitten päivitetään ja kuljetetaan tuo foorumi ja sen tietokanta uudelle alustalle. MySQL:n kanssa odotan vähiten ongelmia koska kuljetaan 5.x:n sisällä, mutta päivitys tulee kuitenkin tehdä askelin 5.5 => 5.6 => 5.7, sillä versio-skippaaminen ei ole tuettu MySQL:ssä.

Jos olisimme tekemisissä muunlaisen, kuin yli vuosikymmenen vanhan WAMP-romun kanssa, tämä siirtymä olisi varmasti huomattavasti helpompi toteuttaa. Vaan kun ei nyt vain ole; Tällaiset kortit on jaettu ja nyt niillä pitäisi jotenkin kikkailla, bluffata ja lopulta vielä voittaakin. Strategiaa joutuu vain hiomaan näin ensialkuun ja katsoa että miten siirto saadaan tehtyä niin suoraviivaisesti, että katkos jää mahdollisimman lyhyeksi. Tässä hommassa ei olla ensimmäistä kertaa: Tätä hommaa tulee tehtyä työkseen, joskin ei ihan näin vanhasta lähtökohdasta kuitenkaan.

Mitäpäs on tapahtunut tässä välissä:
- Datahaku on saatu toimimaan, mutta on muistettava että se on nyt edelleenkin sama antiikkimalli, joka ei https:-sivuista tajua mitään. Tämän antiikkisen toimimaan saaminen tosin on ensimmäinen askel sen puolesta, että cURL saadaan istutettua paikoilleen. Se tosin voi tarkoittaa sitä, että ruuhkaluentatuki pitää paiskata roskiin jos en saa cURLia pelaamaan sen kanssa.
- FTP on saatu ylös ja käyttäjiä ajetaan parhaillaan WAMP:lta manuaalisesti LAMP:n puolelle. Tarkoitus on saada tämä rakennettua niin, että käyttäjät, jotka dataa lähettävät tänne päin, eivät havaitse eroa kun LAMP ottaa ohjat. WAMP:n aikakauden jäämistöihin kuulunut Isoilla Kirjaimilla tehdyt sääasemien nimet tulevat muuttumaan nyt pienikirjaimisiksi (esim. \stations\Helsinki-71\ tulee olemaan vastaisuudessa \stations\helsinki-71\. Ensimmäiset manuaaliset testit ovat olleet onnistuneita.
- Auringon sijainti sääasemalla-osuus on saatu toimimaan puukottamalla PHP-skriptiä muotoon, joka maistuu PHP 7.1:lle paremmin. Skriptiä ajettaessa puski silmille sellaiset määrät "Undefined value X, assuming 'X'"-tyyppisiä herjoja, että pisti tosissaan raapimaan jo päätä että näinköhän tämä saadaan ikinä pelaamaan. Saatiin, kaikeksi onneksi.
- Asemakohtaiset yr.no-ennusteet ovat saamassa lähtöpassit. PHP 7.1 inhoaa sitä PHP-kokonaisuutta yli kaiken mahdollisen ja tein minä sille mitä hyvänsä, keskisormea tulee ja todella huolella. Alkaa näyttämään siltä, että sen rakennelman "parasta ennen"-päiväys on ylittynyt reippaasti, sillä mitä katselin PHP-dokumentaatioita, näyttää siltä, että 5.2:n jälkeen tulleet deprecationit ja poistot ja 7.1:n muutokset käytännössä tarkoittavat sitä, että siinä pitää periaatteessa rakentaa pari funktiota kokonaan alusta ja sitten vielä saada se funktio pelaamaan kaiken muun skriptissä olevan kanssa. Koska en ole kyseistä skriptiä tehnyt, enkä ymmärrä sen toiminnasta edes auttavasti puoltakaan, sille ollaan tarjoamassa niskalaukausta ja tilalle kaavaillaan OpenGrADS:lla tuotettua GFS-ennustegraafia, joka oli jäänyt To-Do-listalle vuodesta 2009 alkaen.

Hommat siis jatkuvat edelleen taustalla ja hitto soikoon sitä työtä on vielä jäljellä mielettömästi. Tässä kohtaa olen jo lähes täysin varma siitä, ettei loppupuolisko kesälomastani tule riittämään siirtymän toteuttamiseen, mutta piru vie aion kyllä yrittää että saan mahdollisimman paljon valmiiksi tätä siirtymäoperaatiota ennen loman päättymistä - toki huomioiden että minulla on muutakin tekemistä, kuin pelkän PHP:n ja HTML:n näprääminen
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - maanantai, 23.07.2018, 23:24
Lainaasellaiset määrät "Undefined value X, assuming 'X'"-tyyppisiä herjoja,

Näitä riittää kyllä nykyisissä PHP-versioissa ihan loputtomiin. Ainakin omissa on suurin osa puuttuvat heittomerkit arrayssä, $array["value"]

LainaaAsemakohtaiset yr.no-ennusteet ovat saamassa lähtöpassit. PHP 7.1 inhoaa sitä PHP-kokonaisuutta yli kaiken mahdollisen ja tein minä sille mitä hyvänsä, keskisormea tulee ja todella huolella.

Olisko häkkyrä alunperin meikäläisen käsialaa?  :)
En kyllä ole vielä yrittänyt syöttää EWN:än ennuste- tahikka pelkkää yr-parseria PHP 7:lle joten en tiiä mitä se siitä tykkää ja mikä siitä failaa, muuta kun että puskee ison kasan noita yllämainittuja undefined value sitä ja tätä....
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - keskiviikko, 25.07.2018, 17:26
Lainaus käyttäjältä: weatherc - maanantai, 23.07.2018, 23:24
Näitä riittää kyllä nykyisissä PHP-versioissa ihan loputtomiin. Ainakin omissa on suurin osa puuttuvat heittomerkit arrayssä, $array["value"]

Voisin piruuttani tuota testata vielä ennen kuin totaalisesti luovutan tuon kanssa. Tuo herja ei ole ainakaan minun ymmärryksen mukaan kovin informatiivinen sen suhteen, onko se nyt array, jolta puuttuu $-merkki edestä, kun sitä referoidaan, vai onko se value, jolta puuttuu heittomerkit. Sain tuon minun auringon sijainthäkkyrän toimimaan laittamalla referoitujen arrayden osoitusten eteen $-merkin. Huomasin nimittäin että siellä oli array määritettynä aiemmin. Tuo ennuste onkin sitten ihan eri seikka, sillä en ole 100% varma mistään sen herjoista koska en tiedä suoraan onko kyseessä vain arrayn nimestä puuttuvat heittomerkit vai sen $-merkin puuttuminen. Trial/Error/Perkele-metodi saattaa toimia tässäkin. :D

Lainaus käyttäjältä: weatherc - maanantai, 23.07.2018, 23:24
Olisko häkkyrä alunperin meikäläisen käsialaa?  :)
En kyllä ole vielä yrittänyt syöttää EWN:än ennuste- tahikka pelkkää yr-parseria PHP 7:lle joten en tiiä mitä se siitä tykkää ja mikä siitä failaa, muuta kun että puskee ison kasan noita yllämainittuja undefined value sitä ja tätä....

Kyllä se taitaa ihan sinun käsialaasi olla, mitä minä nyt sitä olin mutiloinut urakalla saadakseni siitä typistetymmän version:

// Template for showing yr.no's xml-forecast by Henkka, http://www.nordicweather.net
// Forecast cut down in size so only Meteogram shows by J.Jäntti, http://www.finwx.net
//

Ja tuo on vielä minun oikealla sukunimelläni varustettu, joten siihen ei ole kajottu sitten vuoden 2011. Virheelliseen sukunimeen tunnun törmäävän koko ajan tuolla koodissani sitä peratessani. Ei olisi hölmöyksissään pitänyt niitä mennä muuttamaan. Jos on oikein tarkka, saattaa havaita, että nykyversio FinWX:stä on yhtä Jäntti/Laiho-kompleksia, josta ei pirukaan ota tolkkua. ;D

Jotta saat vähän esimerkkiä mitä tapahtuu, ajoinpa tuon yr.no-ennustepalikan sellaisenaan kuin miten se PHP 5.2:ssa toimii ja tätä mieltä PHP 7.1 on siitä:

Notice: Only variables should be passed by reference in /var/www/html/stations/helsinki-38/yrforecast.php on line 149
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 150
Notice: Use of undefined constant location - assumed 'location' in /var/www/html/stations/helsinki-38/yrforecast.php on line 154
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 155
Notice: Use of undefined constant name - assumed 'name' in /var/www/html/stations/helsinki-38/yrforecast.php on line 155
Notice: Use of undefined constant _v - assumed '_v' in /var/www/html/stations/helsinki-38/yrforecast.php on line 155
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 156
Notice: Use of undefined constant country - assumed 'country' in /var/www/html/stations/helsinki-38/yrforecast.php on line 156
Notice: Use of undefined constant _v - assumed '_v' in /var/www/html/stations/helsinki-38/yrforecast.php on line 156
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157
Notice: Use of undefined constant location - assumed 'location' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157
Notice: Use of undefined constant _a - assumed '_a' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157
Notice: Use of undefined constant altitude - assumed 'altitude' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 158
Notice: Use of undefined constant location - assumed 'location' in /var/www/html/stations/helsinki-38/yrforecast.php on line 158
Notice: Use of undefined constant _a - assumed '_a' in /var/www/html/stations/helsinki-38/yrforecast.php on line 158
Notice: Use of undefined constant latitude - assumed 'latitude' in /var/www/html/stations/helsinki-38/yrforecast.php on line 158
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 159
Notice: Use of undefined constant location - assumed 'location' in /var/www/html/stations/helsinki-38/yrforecast.php on line 159
Notice: Use of undefined constant _a - assumed '_a' in /var/www/html/stations/helsinki-38/yrforecast.php on line 159
Notice: Use of undefined constant longitude - assumed 'longitude' in /var/www/html/stations/helsinki-38/yrforecast.php on line 159
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 160
Notice: Use of undefined constant timezone - assumed 'timezone' in /var/www/html/stations/helsinki-38/yrforecast.php on line 160
Notice: Use of undefined constant _a - assumed '_a' in /var/www/html/stations/helsinki-38/yrforecast.php on line 160
Notice: Use of undefined constant utcoffsetMinutes - assumed 'utcoffsetMinutes' in /var/www/html/stations/helsinki-38/yrforecast.php on line 160
Notice: Use of undefined constant meta - assumed 'meta' in /var/www/html/stations/helsinki-38/yrforecast.php on line 176
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 177
Notice: Use of undefined constant lastupdate - assumed 'lastupdate' in /var/www/html/stations/helsinki-38/yrforecast.php on line 177
Notice: Use of undefined constant _v - assumed '_v' in /var/www/html/stations/helsinki-38/yrforecast.php on line 177
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 179
Notice: Use of undefined constant nextupdate - assumed 'nextupdate' in /var/www/html/stations/helsinki-38/yrforecast.php on line 179
Notice: Use of undefined constant _v - assumed '_v' in /var/www/html/stations/helsinki-38/yrforecast.php on line 179
Notice: Use of undefined constant forecast - assumed 'forecast' in /var/www/html/stations/helsinki-38/yrforecast.php on line 182
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 182

Ja tätä jatkuu sitten "muutama" rivi, kauniisti sanottuna.
Kokonaisuutena voi todeta PHP 7.1:n kehottavan minua ottamaan skriptin kauniiseen käteen ja kävelemään järveen betonisaappaat jalassa. ;D

Mitä uutta WAMP => LAMP-muutosrintamalla?
Kun uusi sääasema liittyy mukaan jäseneksi, olen tehnyt käytännössä tuplana hommia. Olen sekä täyttänyt PHP:ta varten oman filun ja vielä käsin puukottanut HTML-filuun samat tiedot. Alkaako jo hahmottumaan miten tavattoman järkijättöisen tarpeetonta, toistuvaa puuhaa olen harrastanut?
Sääaseman pääsivu on ihan tavallinen HTML-sivu IFrameilla ryyditettynä, joka ei - jostain syystä - ollut koskaan dynamiikkaa nähnytkään ja ajattelin sitä testata hieman. Hämmennyin, sillä koko homma meni samantien päin kuusia: Koodin aloitus ja lopetus olivat täsmälleen oikein kirjoitettu ja PHP:n olisi se pitänyt osata parsia mutta näin ei kuitenkaan käynyt. Jostain syystä itse sivunäytössä kohdat jäivät tyhjiksi ja sourcessa ne puolestaan näkyivät tasan miten ne sinne olin kirjoittanut. Kokeilin kaikkea mahdollista mutta tulos oli silti sama. Yritin katsoa PHP:n omasta virhelokista ja Apachen virhelokeista vastauksia, mutta sieltä ei löytynyt yhtään mitään asiaan viittaavaakaan.

Googletus antoi suurimmalta osin PHP 5:n suuntaan ja WAMP-alustaan viittaavia korjausehdotuksia, joiden kosketuspinta PHP 7:n suuntaan ja Linuxiin oli nolla. Lopulta sain haarukoitua sieltä vastausviidakosta pari ehdotusta ja niitä seuraten korjasin PHP:n - ja samalla rikoin sitä enemmän. Perkeleitä alkoi satelemaan ensin pään sisällä ja lopulta ulkopuolelle saakka, kun serveri alkoikin seuraavaksi tarjoamaan kaikkia PHP-filuja ladattavaksi koneelle, sen sijaan että olisi ne parsinut ja sisällön näyttänyt. Jännittävä aspekti oli vain se, että HTML-sivujen dynamiikka alkoi toimimaan, eli PHP toimi muutoin, mutta keksi nyt jostain syystä olla käsittelemättä .php-päätteisiä filuja lainkaan. Ei kun taaksepäin, httpd:lle kyykkyhyppyä ja katsomaan asioita uudelleen. Jostain syystä homma hajosi lisää: Nyt selain halusi ladata .php-filut sellaisenaan, mutta samalla myös dynamiikka katosi HTML-sivuilta. Tarkistin että kaikki oli aiemmassa tasossa ja kyllä oli; Silti sama toistui. Tein korjauksen .conf-filuun takaisin ja samalla toisenkin muutoksen samaan osoitteeseen ja kyykytin httpd:n. HTML-dynamiikka palasi mutta silti .php-filuille tarjottiin samaa käsittelyä. Palautin filun takaisin ja jälleen dynamiikka katosi, muun pysyessä samana. Aloin epäilemään omia kykyjäni ja tirvasin selaimen nurin. Mietin hetken aikaa mitä tehdä samalla kun katsoin lokitietoja jotka eivät kertoneet mitään. Tein muutoksen uudelleen takaisin ja avasin selaimen. Nyt ykskaks .php-filut parsittiinkin ja dynamiikka HTML-sivuilla alkoi toimimaan. Tässä kohtaa aivoni vetivät itsensä umpisolmuun, sillä en täysin sisäistänyt mitä tässä tapahtui. Vasta hetken päästä joku ratas liikahti ja tajusin:

Helvetin selaimen välimuisti. Sehän tyhjentyy kun sen suljen.
Samalla tajusin käytännossä turhaan kyykkyhypyttäneen systeemeitäni lähes loputtomassa silmukassa ja sitten tunsin oloni suorastaan pirun tyhmäksi.

Dynamiikkatesti suoritettiin FinWX Lohja-12A (Karjalohja, Nummijärvi):n sääsivurakenteella ja totesin sen toimivan lähes yli odotusten. Samalla keksin pari muutakin dynamiikan lisäysehdokasta sääaseman pääsivulle. Kirjasin paperille tiedon että dynaamisempi versio sivusta on kyseisessä hakemistossa, sekä lisäominaisuudet kehitystä varten, ettei tule unohdettua niitä.

Sitten päästiin seuraavaan aihealueeseen, joka on valitettavan tuttua FinWX:n nykyversiosta: säädatan haku https-sivujen yli. HQJaTu toimitti minulle aiemmin 10 minuutissa kasaan vääntämänsä, cURL:lla pyörivän PHP-skriptin. Kuinka ollakaan ja kuinka odotettavissa olikaan, se skripti pyörähti ilman mitään virheitä tai tyhjiä ruutuja ja haki https:n yli säädatan lähes juuri kuten pitikin. Muokkasin skriptiä ettei se puskisi HTTP 200-tulosilmoitusta säädatan eteen ja saatu data näytti nyt juuri sellaiselta, että parseriskripti pystyisi sen lukemaan. Testasin vielä toisellakin https-sivulla, mutta eri filulla ja sekin toimi loistavasti. Vielä en ole testannut http:n yli tuota sisältöä hakea, mutta uskaltaisin väittää katsomattakin että se tulee toimimaan. Seuraavana tehtävänä tuleekin olemaan tuon hakijaskriptin integrointi parseriskriptin kaveriksi siten, että cURL:n hakema säädata tallentuu välimuistiin kuten nykyversiokin tekee. Jos tässä ei onnistuta, niin sitten koko välimuistitusjärjestelmä romutetaan. Tähän en tosin usko tässä vaiheessa vielä, sillä välimuistijärjestelmä on datahakuskriptissä erillinen osansa. Tähän todennäköisesti pureudutaan torstain tai perjantain aikana. Lähtien siitä oletuksesta, että tuo saadaan toimimaan, se implementoidaan tuolloin myös FinWX:n nykyversioon samalla kertaa.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - keskiviikko, 25.07.2018, 22:45
Notice: Use of undefined constant _v - assumed '_v' in /var/www/html/stations/helsinki-38/yrforecast.php on line 155
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 156
Notice: Use of undefined constant country - assumed 'country' in /var/www/html/stations/helsinki-38/yrforecast.php on line 156
Notice: Use of undefined constant _v - assumed '_v' in /var/www/html/stations/helsinki-38/yrforecast.php on line 156
Notice: Use of undefined constant _c - assumed '_c' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157
Notice: Use of undefined constant location - assumed 'location' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157
Notice: Use of undefined constant _a - assumed '_a' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157
Notice: Use of undefined constant altitude - assumed 'altitude' in /var/www/html/stations/helsinki-38/yrforecast.php on line 157


Arrayn osia hyvinkin ovat nuo. Tuo YR-häkkyrähän on täynnä noita jättipitkiä arraynimiä tyyliin

$forecasts[$i+1][_c][location][_c][precipitation][_a][minvalue];

Ne pitäisi vissiin muuttaa tyyliin

$forecasts[$i+1]['_c']['location']['_c']['precipitation']['_a']['minvalue'];

Kyllähän tuo cUrl pitäisi mun mielestä ymmärtää https:ää ihan heittämällä. Mulla ei ole mitään erityistä kikkaa siinä käytössä, toi on mitä erwn:än datahaku käyttää:


<?php
  $ch 
curl_init();
  
curl_setopt ($chCURLOPT_URL$url);
  
curl_setopt ($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120424 Firefox/12.0 PaleMoon/12.0');
  
curl_setopt ($chCURLOPT_FOLLOWLOCATION1);
  
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
  
curl_setopt ($chCURLOPT_HEADERtrue);
  
curl_setopt ($chCURLOPT_TIMEOUT,2);
  
curl_setopt ($chCURLOPT_CONNECTTIMEOUT2);
  
$response curl_exec($ch);
  
curl_close($ch);
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: Jarkko - torstai, 26.07.2018, 15:51
Kannattaa nuo ilmoitukset kiltisti korjata. Esimerkiksi tuossa "Notice: Use of undefined constant _v - assumed '_v'" ajaessa tarkistetaan onko "_v":lle määritetty define():llä arvo ja määritettyä arvoa ei löydy niin se käyttää "_v" merkkijonoa. Jos käyttää avaimena suoraan "'_v'" niin tuon määritetyn arvon tarkistamista ei tehdä. Tämä nopeuttaa toimintaa varsinkin while/for/foreach yms. silmukoissa.

Jos PHP:tä on koodannut ns. väärin, niin tälläisiä optimointeja on aika paljon. Esimerkkejä löytyy http://phpbench.com/ (http://phpbench.com/) sivustolta. En tiedä mille PHP-versiolla noita benchmarkkeja on tehty, mutta pienetkin optimoinnit etenkin silmukoiden sisällä olevassa koodissa nopeuttaa suorittamista paljon.

PHP7:aan päivittäminen kannattaa muutenkin. Paljon taulukoiden pyörittämistä sisältävä koodi vie helposti PHP7:lla 70-80% ajasta mitä menisi vitos versioilla.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - perjantai, 27.07.2018, 00:37
Tänään (26.07.2018) tapahtunutta:
Silmissä vilisee PHP-koodia ihan tosissaan. Olen koirien lenkkejä, koirien ruokintaa ja omaa ruokailuani, sekä paria vähäisempää taukoa lukuunottamatta takonut cURL:n varaan tukeutuvaa datahakuskriptiä siten, että se toimisi mahdollisimman suoraan jo olemassa olevien parseriskriptien kanssa yksiin. Työ on ollut yhtä yritys/erehdys/palautus/perkele-rutiinia, johon on tullut mukaan myös ripaus "ai miten niin error, haista..."-todentamisia, kun on debugannut tuota kummajaista. Pariin kertaan olin heittää hetkellisesti hanskat tiskiin, kun skripti ei toiminut kuten oletin sen toimivan, mutten aikonut jumaliste luovuttaa kuitenkaan kun oltiin niin pitkälle jo päästy. Modifioin HQJaTu:n lähettämää skriptiä ja sulautin osan weatherc:n cURL-skriptistä omaani. Lopputulos on erittäin hyvä, ainakin omasta mielestäni, sillä skripti toimii ja siihen on jopa ympätty mukaan virheen käsittelyäkin, jolloin ainakin vielä teoriassa järjestelmä pysäyttää datahaun ja ilmoittaa virheestä, eikä tee kuten vanha skripti, eli vain hakee sisällön riippumatta siitä onko se jotain järkijättöistä sillisalaattia ja yrittää sitä sitten syöttää parserille.

Testit ovat olleet pieni riemun aihe: Datahaku https-sivuilta toimii uudella serverillä ja säädata esittäytyy nyt niilläkin sääasemilla, jotka vielä nykyversiossa ovat tavoittamattomissa. Testipenkissä oli FinWX Helsinki-38. Seuraava juttu onkin sitten tuon datahakuskriptin heittäminen vanhalle alustalle. Sen voisi testata esimerkiksi tulevana viikonloppuna, yön pimeimpinä tunteina, jotta homman voi palauttaa pikimmiten takaisin ennalleen, jos skripti ei toimikaan. En anna sille kovinkaan suuria toimintavarmuuspisteitä vanhassa serverissä, pääosin PHP 5.2:n tähden.

Yksi teemoista myös oli saada välimuistijärjestelmää toimimaan, mutta epäonnistuin siinä. Vaikka mitä kikkoja kokeilin, se ei vain kertakaikkisesti toiminut ja kaikki data haettiin aina netistä, vaikka asetti sääaseman ruuhkahakuajaksi 3600 sekuntia (=1 tunti). Mitään herjoja en saanut PHP:n toimesta. Voi olla että olen nyt sen datahakufunktion jotenkin hakannut kiveen niin että se hakee datan riippumatta siitä onko se tiedosto välimuistin puolesta käyttökelpoinen vai ei. En ole 100% varma siitä miten tuo skripti pitäisi rakentaa, mutta oletan että jos olen tehnyt skriptiin funktion, sitä ei ajella ellei sitä erikseen pyydetä ja että funktioiden edessä on itse ns. "runtime"- tai aktiivinen-osuus, joka sitten ajaa funktion kun se kuuluu ajaa.

Tällä hetkellä datahakujärjestelmä lukee netistä säädatan, kirjoittaa sen serverin levylle kuten vanha välimuistijärjestelmä teki, mutta pitääkseni näppini irti parsereista, kun ne eivät ole rikki, ne käyvät vanhaan tapaan lukemassa datan levyn pinnalta onnellisen tietämättöminä siitä että koko välimuistijärjestelmä loistaa poissaolollaan. Koska datahaku näyttää toimivan varsin kiltisti, olen kahden vaiheilla sen suhteen, iskenkö nyt vain sille välimuistisysteemille DEPRECATED-leiman otsaan ja potkin lopullisesti roskakoriin siinä vaiheessa, kun uusi serveri ottaa ohjat vai vieläkö yritän sitä implementoida mukaan. Tahto kajota edeltäjäänsä selvästi luotettavammin toimivaan datahakuun ei nyt ihan hirveästi nappaa.

Rakentelin myös samalla sääsivun automaatiota pari askelta pidemmälle. Nyt mukana on raakile sääaseman sääkameran/webcam-kuvan osuudesta, jossa PHP täyttää muuttuvia kohtia sääasemasta riippuen. Vielä puuttuu automaatio, joka määrittelee mitä näytellään webcamin IFramessa, jos esim. sääkameraa ei ole. Se olisi tarkoitus saada rakenneltua huomisen (=perjantain) aikana. IFramesta paiskattiin hornantuuttiin sivuston osoite Copyright-klausuulin perästä sillä sama tieto löytyy sääaseman tiedoista joka tapauksessa.

Tällä hetkellä FinWX Helsinki-71:n sääsivut ovat ne jotka ovat nyt uudella serverillä automatisoinnin parantamisen piirissä. Kun sivusto on saatu kasattua niin automaattiseksi kuin mahdollista, siitä tehdään sapluuna, josta loput noin 100 (köhh) muuta asemaa sitten rakennetaan - manuaalisesti tottakai sillä tinkimättömällä(?) ammattitaidolla(??) pitää asiat tehdä, kuten eräs kahvikin. ;D

Entäpä aikataulu? Avoin. En pysty vielä sanomaan mitään selkeää aikataulua.
I-vaihe on siis menossa: Se on saada tämä ruosteisen, liitoksistaan natisevan nykykammotuksen sisältö kasattua sellaiseksi että sen ylläpitäminen tulee olemaan paljon kevyempää. Sivustolta on löytynyt piileviä ylläreitä paljon ja niiden yllätysten saaminen pois on ollut eniten aikaavievää puuhaa. Tähän vaiheeseen kuuluu myös järjestelmätason työt, jotta serveriä pystyy päivittämään muullakin tavalla, kuin hakkaamalla PuTTY:n kautta nanolla html-koodia.
II-vaiheessa sitten lähdetään näpertelemään ruostepommiserverini kloonin päivittämisessä tuoreemmilla PHP- ja MySQL-versioilla ja askelmerkkien tekemisellä sen suhteen miten tämä foorumi saadaan myös uuteen versioonsa.
III-vaihe on implementaatiovaihe, joka on näistä vaiheista lyhytkestoisin ja samalla kertaa myös eniten käyttäjille näkyvä. Ensimmäiseksi kaikki sääasemien tilanteet jäädytetään paikoilleen ja melkein heti perään foorumi. Seuraavan kerran kun ne näette uudelleen, se on uudella serverillä, joka on ottanut ohjat ja foorumin versio on myös vaihtunut.

Tämän jälkeen sitten aletaan katsomaan miten FinWX:n ulkonäköä saa päivitettyä nykyaikaisempaan muotoon ja sivustotekniikkaan. Tällä hetkellä mennään sivuston versiossa 3, jonka julkaisin 01.06.2009, eli vaatimattomat 9 vuotta sitten ja kohta siihen on tehty 1000 erinäistä pienempää päivitystä. Tuo maaginen 1000 päivityksen raja rikkoontuu kun uusi serveri ottaa ohjat, mutta versiopohja pysyy samana vielä hetken aikaa.

Miltä sitten versio 4 tulee näyttämään? En tiedä vielä itsekään, mutta ideoinnin aika tulee olemaan vasta sitten, kun serveri pyörii jollain muulla kuin yli vuosikymmenen vanhalla WAMPilla. Olen onneksi virheistä oppiva olento; olen ottanut opiksi olemaan tunkematta liian montaa rautaa tuleen kerralla. ;D
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - perjantai, 27.07.2018, 09:53
LainaaYksi teemoista myös oli saada välimuistijärjestelmää toimimaan, mutta epäonnistuin siinä. Vaikka mitä kikkoja kokeilin, se ei vain kertakaikkisesti toiminut ja kaikki data haettiin aina netistä, vaikka asetti sääaseman ruuhkahakuajaksi 3600 sekuntia (=1 tunti).

Jos vinkkiä haluat tuohon niin yr:n parseri käyttää juuri tuollaista välimuistia että haetaan tuore filu vain jos vanha on vanhempi kuin x sekuntia.

LainaaTällä hetkellä FinWX Helsinki-71:n sääsivut ovat ne jotka ovat nyt uudella serverillä automatisoinnin parantamisen piirissä. Kun sivusto on saatu kasattua niin automaattiseksi kuin mahdollista, siitä tehdään sapluuna, josta loput noin 100 (köhh) muuta asemaa sitten rakennetaan - manuaalisesti tottakai sillä tinkimättömällä(?) ammattitaidolla(??) pitää asiat tehdä, kuten eräs kahvikin

Oma malli joka käytössä nordicin 4 asemalle on seuraava:
- Asemien datat menee mysliin samalla kaavalla kaikille. Kannan nimi erottaa ne toisistaan (tyyliin pertteli_daily).
- Sääasemasivut ovat pohjimmiltaan suoraan kopiot siitä ensimmäisestä, ja ainut "pakollinen muutos" on käytettävän kannan nimi jonka voi laittaa helposti filun alkuun tyyliin $station="pertteli". Nörtimpi versiohan käyttäisi suoraan samaa skriptiä kaikkiin mutta tein ne kopioina koska helpompi tehdä asemakohtaiset muokkaukset.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - perjantai, 27.07.2018, 12:40
Lainaus käyttäjältä: weatherc - perjantai, 27.07.2018, 09:53
LainaaYksi teemoista myös oli saada välimuistijärjestelmää toimimaan, mutta epäonnistuin siinä. Vaikka mitä kikkoja kokeilin, se ei vain kertakaikkisesti toiminut ja kaikki data haettiin aina netistä, vaikka asetti sääaseman ruuhkahakuajaksi 3600 sekuntia (=1 tunti).

Jos vinkkiä haluat tuohon niin yr:n parseri käyttää juuri tuollaista välimuistia että haetaan tuore filu vain jos vanha on vanhempi kuin x sekuntia.

Se sattuu olemaan yr.no-parserista peräisin tuo välimuistisysteemini, itseasiassa, mutta siitä on niin pitkä aika kun se tuohon implementoitiin, etten parhaalla tahdollakaan nyt muista miten sen tuonne sain. Sitä järjestelmää yritin saada alunperinkin toimimaan, mutta vain niiltä osin, että skripti joko  kutsuu cURLia hakemaan datan netistä tai sitten lukee datan suoraan levyllä olevasta filusta, jos se on filemtime():lla lasketun kaavan mukaan vielä käyttökelpoinen. Testit tyssäsivät koko ajan siihen että se if/else-ehdollistaminen ei toiminut lainkaan (if filu käyttökelpoinen, lue se; else aja funktio, joka hakee datan netistä ja kirjoittaa samalla sen levyn pinnalle. Loppujen lopuksi, (Aamu)yön yli nukuttuani tulin siihen tulokseen, että välimuisti/ruuhkaluentajärjestelmä on tässä vaiheessa Deprecated. Asiaan palataan, jos sen puuttumisesta tulee ongelmia. cURL toimii vauhdikkaasti ja on tähän mennessä pelannut yli odotusteni.

Lainaus käyttäjältä: weatherc - perjantai, 27.07.2018, 09:53
Oma malli joka käytössä nordicin 4 asemalle on seuraava:
- Asemien datat menee mysliin samalla kaavalla kaikille. Kannan nimi erottaa ne toisistaan (tyyliin pertteli_daily).
- Sääasemasivut ovat pohjimmiltaan suoraan kopiot siitä ensimmäisestä, ja ainut "pakollinen muutos" on käytettävän kannan nimi jonka voi laittaa helposti filun alkuun tyyliin $station="pertteli". Nörtimpi versiohan käyttäisi suoraan samaa skriptiä kaikkiin mutta tein ne kopioina koska helpompi tehdä asemakohtaiset muokkaukset.

Jos nyt en täysin väärin ole ymmärtänyt, meidän sivujen toiminnan erottavana tekijänä se, että sinulla vissiinkin käy järjestelmä pollaamassa asemien säätietoja määrävälein ja kirjoittaa ne tietokantaan ja kannasta haetaan viimeisimmät tiedot kun sivuillasi käy, menikö oikein?
Tämän tyyppinen periodinen datahaku FinWX:ltä puuttuu vielä tässä vaiheessa. Tarkoitus on saada tuo toiminto mukaan, mutta se tosin vaatii sitten opiskelua, sillä sen verran karttoittamaton tuo PHP:n ja MySQL:n välinen maailma on vielä minulle.

Tämä helle käy kyllä jaksamisen päälle jonkin verran, mutta aion silti tehdä uudelle serverille muutoksia vaikka vähän kerrallaan. Tämä koodaaminen on tällä hetkellä saman tyyppistä, kuin sarvikuonon liike: Se lähtee hitaasti liikkeelle, mutta kun se on saavuttanut täyden vauhdin, sitten mennään massan mahdollistaman inertian voimin vaikka minkälaisen esteen läpi. Tärkeintä on pitää nyt yllä tätä vauhtia, ettei seuraava potentiaalinen este pysäytä kehitystä uudella serverillä.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - perjantai, 27.07.2018, 18:28
LainaaJos nyt en täysin väärin ole ymmärtänyt, meidän sivujen toiminnan erottavana tekijänä se, että sinulla vissiinkin käy järjestelmä pollaamassa asemien säätietoja määrävälein ja kirjoittaa ne tietokantaan ja kannasta haetaan viimeisimmät tiedot kun sivuillasi käy, menikö oikein?

Juu, niin tekee. Taka-ajatushan siinä on se että tällöin tulee datat haettua tasaisen väliajoin ja hallitusti, mutta toki myös siksi että silloin on esim mahdollista kerätä noita toplista-datoja.

Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - lauantai, 28.07.2018, 00:53
Tänään tapahtunutta (27.07.2018):

cURLin toimivuuden ja sitä kautta myös https-sivujen takana majailevien säädatojen saatavuuden varmistuminen antoi viimeinkin mahdollisuuden tehdä sivustolle muitakin päivityksiä. Katseeni kohdistui sääaseman pääsivuun, jonka automatisointia paransin entisestään, tehden sivusta käytännössä kokonaan dynaamisen. Sääaseman tiedot omaava .php-tiedosto on nyt käytännössä koko yksittäisen sääaseman hermokeskus. Siellä olevat variablet ovat vastuussa käytännössä 90% asioista, jota sivulla tapahtuu mikä vähentää ylläpidollista tuskaa huomattavasti, kun kaikki sääaseman asiat ovat nyt yhden filun alla.

Asiasta innostuneena ajattelin myös tehdä pienen keskittämisoperaation, jossa osa .php-filuista, jotka vastaavat mm. parsitun säädatan näyttämisestä, webcam-kuvan näyttämisestä, sekä muista pikkujutuista jota sivulla esiintyy, olisivat yhdessä paikassa ja että nämä elementit olisivat kaikille samat, mutta se epäonnistui. Siirsin nämä .php-filut hakemistoon jossa muutkin sivuston roippeet, kuten parserit, pyörivät, mutta kun muutoksien jälkeen yritin avata sääsivua, sain huomata että rakentamani hierarkia ei ihan toimikaan niin suoraviivaisesti ja herjoja saatiin ruutu puolilleen.
Homma tyssäsi siihen, että nämä sivuston osia näyttävät .php-filut eivät saaneet avattua sääaseman tietoa sisältävää php-tiedostoa, koskapa eivät tienneet mistä sen avata.

Niille, jotka osaavat minua enemmän, voisivat vinkata/auttaa hieman hölmöä:
Tällä hetkellä homma menee niin, että esim. parsitun datan näytöstä vastaava skripti wxout.php on samassa hakemistossa sääaseman tietoja sisältävän init.php:n kanssa.
include - ja include_once:t menevät tietty tässä tilanteessa läpi koska init.php on samassa hakemistossa.

Mutta siirräpäs wxout.php ulos hakemistosta ja ykskaks yllättäen include/include_once ei löydäkään enää tuota init.php-filua luettavaksi ja tässä on nyt se ongelman ydin:
Minulla on 80 kappaletta sääasemia, jolla kaikilla on tuo init.php-filu. Se isoin kysymys onkin, että millä pirulla saan kerrottua wxout.php:lle että kun tietyn sääaseman (vaikka helsinki-71:n) dataa halutaan hakea, sen pitäisi saada includella avattua sen tietyn sääaseman init.php:n?

Mikä minua tässä hämää erityisen paljon on se, että cURL:a käyttävä wxcache.php osaa jollain ihme kikalla kyllä avata tasan oikeasta paikasta init.php:n ja mikä hämmentävintä, sen include_once on 1:1 täysin sama kuin mikä on wxout.php-filussa. En tältä istumalta keksinyt mitään mikä ihmeen ero noilla kahdella filulla muka on, joten palautin kaikki takaisin tilanteeseen ennen tätä keskittämis-säätöä.

Luulen että olen vain liian väsynyt tästä rupeamasta ja tarkkaavaisuuteni alkaa pettämään. Siinä on riski että väsymyksissäni tulen rikkoneeksi asioita, mikä ei ole ajatuksena varsinkaan kun sivustoon viikon aikana tehdyt muutokset toimivat kaikki odotetusti. Jos vaikka irtautuisi pariksi päiväksi koodaamisen ihmeellisestä maailmasta ja hypähtää takaisin vaikka ensi viikon alkupuolella. Jos vaikka sitä olisi viisaampi ja/tai saanut hyviä vinkkejä tuon kummallisuuden debuggaamiseen.

Askel askeleelta sitä kuitenkin tässä edetään kohti LAMP-konfiguraatiota. Mitään tavatonta kiirettähän tässä ei ole.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - lauantai, 28.07.2018, 10:32
LainaaTällä hetkellä homma menee niin, että esim. parsitun datan näytöstä vastaava skripti wxout.php on samassa hakemistossa sääaseman tietoja sisältävän init.php:n kanssa.
include - ja include_once:t menevät tietty tässä tilanteessa läpi koska init.php on samassa hakemistossa.

Mutta siirräpäs wxout.php ulos hakemistosta ja ykskaks yllättäen include/include_once ei löydäkään enää tuota init.php-filua luettavaksi ja tässä on nyt se ongelman ydin:
Minulla on 80 kappaletta sääasemia, jolla kaikilla on tuo init.php-filu. Se isoin kysymys onkin, että millä pirulla saan kerrottua wxout.php:lle että kun tietyn sääaseman (vaikka helsinki-71:n) dataa halutaan hakea, sen pitäisi saada includella avattua sen tietyn sääaseman init.php:n?

Polku on mahdollisesti väärä.
Itse käytän trial/error-tilanteissa usein echo:a avuksi, eli että se printtaa ulos ongelman eli esim polun jotta näen että mistä se yirttää sitä filua hakea ja sitten katson että onko se edes sinneppäin siitä mitä pitäisi olla. Toki error-logikin kertonee saman asian.
Yksi auttava keino on myös että käyttää aina "koko polkua" tyyliin "/home/web/sivut/" eikä kikkaile "../../"-tyylisillä poluilla.

Kannattaa toki myös muistaa että includessa olevien filujen mahdolliset polut menee sen "ylimmäisen filun mukaan". Eli tässäkin on se fail-safe tyyli tuo "koko polku".

Vähemmän filuja-tyyli olisi yksi init.php jota kaikki asemat käyttäisi ja sille kerrottais $variablella että mikä asema kyseessä. Vaatinee pientä uudelleenkoodaamista jos kaikilla on omat init.php:t mutta palkitsinee loppupeleissä vähemäällä "point to fail" ja siinä ettei ole kun yksi init.php jota tarvii tarvittaessa muokata mikä taas helpottaisi ylläpitoa jatkossa.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - lauantai, 28.07.2018, 15:01
Lainaus käyttäjältä: weatherc - lauantai, 28.07.2018, 10:32
Polku on mahdollisesti väärä.
Itse käytän trial/error-tilanteissa usein echo:a avuksi, eli että se printtaa ulos ongelman eli esim polun jotta näen että mistä se yirttää sitä filua hakea ja sitten katson että onko se edes sinneppäin siitä mitä pitäisi olla. Toki error-logikin kertonee saman asian.
Yksi auttava keino on myös että käyttää aina "koko polkua" tyyliin "/home/web/sivut/" eikä kikkaile "../../"-tyylisillä poluilla.
Kannattaa toki myös muistaa että includessa olevien filujen mahdolliset polut menee sen "ylimmäisen filun mukaan". Eli tässäkin on se fail-safe tyyli tuo "koko polku".

Polku ei minun ymmärrykseni mukaan voi olla väärä. Komento include_once "init.php"; on niin ikään ensimmäinen include-komento kaikissa skripteissä, jotka tarvitsevat sääasemakohtaisia variableja.
/res/-hakemistossa aina majaillut wxcache.php osaa hakea jollain mystisellä kikalla init.php:n oikeasta osoitteesta, vaikka sille ei tarjoa polkua lainkaan, eikä sitä voikaan, koska init.php on sääasemakohtainen.
Homma toimii niin pitkään, kunnes siirrän nuo .php-filut /res/-hakemistoon ja laitan IFramejen osoitukset index.html-filussa osoittamaan sinne (on pakko, tai koko sivu on yhtä HTTP 404-juhlaa). Oli polku ../../ -tyylinen tai absoluuttinen, sillä ei ole vaikutusta ja homma tyssää kasaan warningeja, jossa PHP ei vain löydä init.php-filua luettavaksi. Se jopa hakee sitä sieltä, mistä minä olen php.ini:ssä määritellyt niitä includella hakemaan. include_once-komento löytyy myös index.html:n sisältä, leivottuna <?php ?>-tagien sisälle, jotta se osaa lukea dynamiikkaa varten oikeat variablet init.php:sta ja käyttää niitä sivun näyttämisessä.

Jokin pääni sisällä on aamupäivän tuntien aikana naputellut, että olen saattanut sotkea asioita jotenkin suohon käyttämällä surutta include_once:a kaikkeen, kun käytössä olisi myös ihan pelkkä include. Toinen naputus on ollut sellaista, että minun pitäisi jotenkin includettaa ristiin noita filuja, mutta se vaikuttaa epäloogiselta ajatukselta.

Lainaus käyttäjältä: weatherc - lauantai, 28.07.2018, 10:32
Vähemmän filuja-tyyli olisi yksi init.php jota kaikki asemat käyttäisi ja sille kerrottais $variablella että mikä asema kyseessä. Vaatinee pientä uudelleenkoodaamista jos kaikilla on omat init.php:t mutta palkitsinee loppupeleissä vähemäällä "point to fail" ja siinä ettei ole kun yksi init.php jota tarvii tarvittaessa muokata mikä taas helpottaisi ylläpitoa jatkossa.

Sepä kun ei ihan onnistu. init.php on se pääasiallinen filu, joka sääaseman kaikki ominaisuudet sisältää, kuten esim. datahakuosoite, osallisuus eri sääverkkoihin (AWEKAS, WU, jne.) sun muut oleelliset tiedot. Tällä hetkellä asiat, jotka pitäisi saada siirrettyä "yhden filun politiikan" alle ovat nämä:
- camwindow.php (Sääaseman webcam-kuvan näyttöskripti, tukeutuu init.php:hen)
- sundial.php (Sääaseman auringon nousu- ja laskuajat näyttävä skripti, tukeutuu init.php:hen)
- sunposition.php (Auringon sijainti sääasemalla-skripti joka piirtää gd:llä aurinkokäppyrän ja muodostaa kuvan siitä, tukeutuu init.php:hen, välttämätön sunpositionwindow.html:lle)
- wxout.php (Parsitun säädatan näyttöskripti, tukeutuu init.php:hen ja res/-hakemistossa majailevaan wxcache.php:hen)

Sääasemakohtaisiin filuihin, kuuluisivat silloin enää nämä:
- index.html (Sääaseman pääsivu, osoittaa filuihin camwindow.php, sundial.php, sunpositionwindow.html, wxout.php ja yrforecast.php. Tukeutuu init.php:hen)
- init.php (Sääaseman kaiken tiedon sisältävä filu, johon yllä listatut filut ja index.html tukeutuu. Standalone)
- sunpositionwindow.html (Näyttää auringon sijainnin sääasemalla selityksineen. Tukeutuu sunposition.php:hen kuvan hakemiseksi)

Tuosta listasta vain init.php on ainoa, jonka data muuttuu sääaseman mukana.

Periaatteessa yhden filun poliittiikka init.php:lle olisi mahdollinen, mutta silloin kaikkien sääasemien tiedot pitäisi olla joko saman init.php:n sisällä tai sääasemien tiedot pitäisi olla MySQL-kannassa ja se tarvitsisi silloin jonkinlaisen .php-skriptin hakeakseen sääaseman tiedot sieltä, eli minun järjenjuoksulla se tietäisi kahta init.php-ratkaisua. Tämäntyyppistä datan hakua tietokannasta ei ole suunnitteilla.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - lauantai, 28.07.2018, 15:52
LainaaPeriaatteessa yhden filun poliittiikka init.php:lle olisi mahdollinen, mutta silloin kaikkien sääasemien tiedot pitäisi olla joko saman init.php:n sisällä tai sääasemien tiedot pitäisi olla MySQL-kannassa ja se tarvitsisi silloin jonkinlaisen .php-skriptin hakeakseen sääaseman tiedot sieltä, eli minun järjenjuoksulla se tietäisi kahta init.php-ratkaisua. Tämäntyyppistä datan hakua tietokannasta ei ole suunnitteilla.

Meinasin just ehdottaa että asematiedot mysliin. Ei siihen kahta init.php:tä tarvita. Ensin haet tiedot myslistä ja sitten jatkat normi init:php:n koodilla.


$sqlcon = mysqli_connect("localhost", $user, $pass, $db);

$q = "SELECT * from `$db`.`ewn_stations` WHERE Netatmo_id = '".$id."';";
   if ($res = mysqli_query($sqlcon, $q)) {
     while ($r = mysqli_fetch_array($res)) {$stnr=$r['ID'];$name = $r['name'];$cou = $r['country'];}
   mysqli_free_result($res);
}

mysqli_close($sqlcon);


(mysqli_connect ja mysqli_close tarvitaan vain kerran, skriptin alussa ja lopussa)
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - maanantai, 06.08.2018, 21:46
Eilen (05.08.2018) ja tänään (06.08.2018) tapahtunutta.

Pienen tauon jälkeen työt LAMP-konfiguraation kimpussa jatkuvat jälleen.
Tällä hetkellä suoritetaan kaikkien FinWX-jäsenasemien migraatiota vanhasta init.php:stä uuteen versioon. Versiovaihdos on verkkaista puuhaa, sillä muutos pitää suorittaa manuaalisesti jokaisen aseman kohdalla, mutta muutos etenee kokonaisuudessaan hyvää vauhtia. Läpikäytyinä on nyt FinWX-jäsenasemat A:sta N:ään ja homma jatkuu huomenna taas.

Samalla, kun sääasemia on käyty läpi, on myös havaittu sääasemia, jotka eivät ole lähettäneet dataa vuoteen tai pidemmän aikaa. Osa asemista on kadonnut domain-nimiään myöten tyystin ja yksi domain-nimi suoritti redirect-toiminnon turkinkieliselle pornosivulle, mikä ei ihan ajatuksena ja FinWX:n luotettavuuden nimissä ole ihan toivottu lopputulos. Tällä hetkellä listalta poistuvia sääasemia on mielialaa huonontavat 17 kappaletta ja lisää on todennäköisesti tulossa, kun asemia tullaan käymään läpi. Arvio on, että lopullinen lukema jää 20 ja 30 välimaastoon.

Kun migraatiotyö on saatu päätökseen, julkistetaan lista poistuvista sääasemista tässä viestiketjussa, jotta sääasemaoperaattorit voivat katsoa, onko heidän asemansa listalla ja mikäli on, suorittaa korjaavia toimenpiteitä ettei asema putoa listalta, kun LAMP-konfiguraatio ottaa ohjat.

TIEDOKSI MYÖS:
Vastoin aiempaa ilmoitusta, kaikille FinWX:n jäsenasemille suoritetaan tästä päivämäärästä alkaen ns. "Feature Freeze".
Tämä tarkoittaa sitä, että kaikki korjauspyynnöt suoritetaan vain uuteen ympäristöön. Vanha FinWX jäädytetään sääasemapäivitysten ja -muutosten osalta kokonaan.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - tiistai, 07.08.2018, 22:19
Päivän tapahtumia:

Migraatio saatiin tänään suoritettua sääasemille O:sta S:ään.

Samalla, kun migraatio suoritettiin, havaittiin myös yksi täydellinen kämmennys FinWX Ruovesi-74:n kanssa, jossa ylläpidolla on peiliin katsomisen paikka todenteolla ja samalla myöskin korjattiin kyseinen moka.
Ensinnäkin, FinWX:n sääasemaosoitus on Ruovesi-74, mutta jotenkin, jostain, sääasema onkin nimeltään Ruovesi-76. Lisäksi sivun linkkirakenteesta osa oli täysin hajalla ja webcam-linkki oli levällään. Jonkin on täytynyt häiritä keskittymistäni todenteolla Heinäkuussa 2017.  ::) ???
Yhtä kaikki, se vika on nyt korjattu uuteen sivustoon eikä ole kuin paha muisto vain sen jälkeen, kun uusi serveri astuu ruotuun.

Huomenna jatkamme sääasemilla T:stä eteenpäin.
Kun migraatio on saatu suoritettua loppuun, seuraavaksi nostetaan FTP-tunnukset tietoja FinWX:lle lähettäville asemille ja sivuston julkaisujärjestelmälle ja tarkistetaan niiden toimivuus.

Pientä hidastelua on viikonloppuna odotettavissa, kun FinWX:n tietoliikenneoperaattorin vaihtoa testataan (http://www.finwx.net/forum/index.php/topic,5003.0.html), mutta muutoin asiat uuden serverin toimintakuntoon saattamiseksi etenevät suunnitellusti.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - keskiviikko, 08.08.2018, 20:18
08.08.2018 tapahtumia uudella alustalla:

Viimeinenkin sääasema on saatu siirrettyä uuden init.php:n alle, merkaten migraatiotyön päättyneeksi sääasemien osalta. Siirtovuorossa olivat sääasemat T:stä Y:hyn.
Samalla kertaa lista sääasemista, jotka eivät enää lähetä dataa saatiin valmiiksi ja lukema on sanalla sanoen hirveä: 26 kappaletta.

Se on 32,5% koko FinWX:lle rekisteröityneiden sääasemien määrästä ja vastaa suuruudessaan sitä, kuin suurin osa Etelä-Suomen läänin kaikista sääasemista olisi kadonnut kerrasta. Lukema ei ole mieltä ylentävä, mutta on pakko hyväksyä sellaisenaan tässä vaiheessa, sillä totuus on kuitenkin se, että harrastajapohjalla olevia sääasemia tulee ja menee. Lukeman rajuntuntuisuus johtuu yksinomaan siitä, että sääasemien toimintaa ei aktiivisesti oltu tarkkailtu mahdollisten irtaantumisten/lopettamisten varalta ja tämän migraation yhteydessä nämä poistumiset havaittiin. Listalla poistuneiksi havaitut sääasemat listataan erillisessä ketjussa, josta operaattorit voivat käydä katsomassa onko heidän sääasemansa siellä jostain syystä ja mikäli on, voi ottaa ylläpitoon yhteyttä aseman palauttamiseksi listoille.

Seuraavana tehtävänä on FTP-siirtomekanismin toimintaan saattaminen, jotta muutokset sivustonrakenteeseen saadaan tehtyä julkaisualustalla, sekä itse alustan vaihtotyön ulkopuolelta tietoliikenneoperaattorin vaihtotesti.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - keskiviikko, 08.08.2018, 23:03
LainaaSe on 32,5% koko FinWX:lle rekisteröityneiden sääasemien määrästä ja vastaa suuruudessaan sitä, kuin suurin osa Etelä-Suomen läänin kaikista sääasemista olisi kadonnut kerrasta. Lukema ei ole mieltä ylentävä, mutta on pakko hyväksyä sellaisenaan tässä vaiheessa, sillä totuus on kuitenkin se, että harrastajapohjalla olevia sääasemia tulee ja menee.

Ihan saman suuntaista lukemaa saisin EWN:stäkin jos laskisin. Todennäköisesti jos olisin tehnyt tilastoa muiden kuin Netatmojen + WU:jen osalta niin olisi suunta ainakin jonkin verran laskeva. Itse olen aikoja sitten "lopettanut tuosta murehtimisen". Se on vaan niin että näitä harrastajapohjaisia asemia tulee ja menee ajan mittaan.
Mulla nuo lopettaneet/kadonneet vaan tuuppaa jäämään roikkumaan tietokantaan ja jossain kohdin aina siivoan ulos sellaiset joista ei ole kuulunut pihaustakaan aikoihin (tyyliin yli 6 kuukauteen).
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - torstai, 16.08.2018, 22:41
Aikataulut ja oma työpäivän jälkeinen väsymys antoivat periksi sen verran, että asioita saatiin taas liikuteltua eteenpäin.

Tänään (16.08.2018) tapahtunutta:
Migraatio salamatutkien osalta vanhan init.php:n alta uuteen alkoi ja päättyi, koska yksittäisiä, FinWX:n sivuille päivittyviä live-asemia oli vähän ja muutostyö helppo suorittaa.
Suurin päänsärky muodostui siitä, miten saan vanhan julkaisualustaohjelmiston keskustelemaan henkeviä FTP-serverin kanssa niin, että se kirjoittaisi ensisijaisesti filuja hakemistoon, jossa sivusto palveluineen majailee - siten kuin se teki vanhalla alustalla. Kun se ei meinannut onnistua millään, yritettiin asiaa Samban ja Windows-jaon yli, kuten vanhalla ruostepommiserverillä asiat tänä päivänä ovat, mutta homma hajosi filujen ja hakemistojen oikeuksiin ja jos yritti tehdä erillistä käyttäjää, jolle sivuston rakenteeseen olisi saanut kovemmat natsat, kieltäytyi Windows ottamasta kiinni levyjakoon millään tavalla, pääosin siten että vaikka käyttäjätunnus ja salasana näytti kelpaavan, Windows väitti kivenkovaan että siinä serverissä ollaan jo toisena käyttäjänä kiinni minun työasemalta vaikka näin ei ollut. Tappelin sen kanssa kaksi päivää ja lopulta Samba sambasi huitsin nevadaan serveriltä.

Sain lopulta asiat läpi ajettua FTP:n yli käyttäen symlink-kikkailua, mikä lopulta vaati vielä kikkailua ja kirosanoja vanhalle julkaisualustallekin, se kun yritti vielä symlinkkejäkin kopioida FTP:n yli mikä pysähtyi tietenkin FTP Error 550:aan. Julkaisualusta ei ole "kuin" 15 vuotta vanha mikä voi olla syynä tuohon murheeseen. Se saatiin kuitenkin väännettyä läpi luomalla julkaisualustan puolelle tyhjä, symlinkin niminen filun ja läppäisemällä "äläpäs yritä tehdä tälle tiedostolle mitään"-lippu sen päälle.

Tekniset esteet sivuston sisällön korjaamiselle on nyt näin ollen saatu ylitettyä ja pystyn WYSIWYGäilemään ja ämpylöimään ympäriinsä uuden www-sivuston sisällön saattamiseksi taustalla manuaalisesti tehtyjen muutosten mukaiseen muotoon. Vanha www-sivusto on nyt käytännössä irrotettu julkaisualustasta ja arkistoitu, joten paluuta vanhaan järjestelmään ei teoriassa ole enää, eikä periaatteessa tarvitsekaan, koska sääasemilla on vanhassa järjestelmässä Feature Freeze päällä.

Uuden alustan sivusto korjataan julkaisualustassa vastaamaan manuaalisesti tehtyjä muutoksia tulevan viikonlopun (17.-19.08.2018) aikana, riippuen omista aikatauluistani.
Kun muutokset ovat tehty, vuorossa on vanhan alustan kloonaustoimet ja sitten alkaa se hillittömin ja hulvattomin osuus: askartelu vanhan PHP:n, MySQL:n ja FinWX:n foorumin kimpussa oikeiden tanssikuvioiden löytämiseksi, joita sitten käytetään foorumin tuomiseksi uuteen alustaan ja päivitettäväksi siinä viimeisimpiin versioihinsa.

Tässä kohtaa voidaan heittää jo ensimmäinen varovainen arvio yliheitostakin:
FinWX:n uusi alusta ottaa ohjat Syyskuun aikana.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - tiistai, 21.08.2018, 21:34
Tiistain (21.08.2018) tapahtumia:

Ensimmäiset tanssikuviot on otettu ja ne johtivat oikein kivasti suoraan ojaan ja allikkoon.
Tuotannon serveristä otettu kloonikone sai toimia koealustana. Kaikki meni näennäisesti ihan hyvin: MySQL:n viimeisin 5.5-versio istahti oikein kiltisti ja mitään mukisematta paikoilleen ja foorumi toimi normaalisti. Totesin että sehän meni kivasti ja ei kun versio 5.6 sisään.
No, siitähän tuli sitten tunti turpaan, toinen torvensoittoa ja lopuksi flyygelistä päähän: 5.6:n installeri näytti heti keskisormea, että ei aio liikahtaakaan, koska installeri haluaa .NET Framework 4.5.2:n. Hain sen netistä hieman epäröiden ja ei aikaakaan kun totesin epäilyni aiheelliseksi. Frameworkin installeri näytti myös keskisormea, ettei aio liikahtaakaan koska Windows Server 2003 R2 ei ole tuettu käyttöjärjestelmä. Hei kiitti, en halunnutkaan tehdä tätä helposti.

Eli eipä sitten muuta kuin hakemaan MySQL 5.6:n .zip-paketti. Sen latautuessa alkoi epäilys hiipimään uudelleen niskaan; Mitäpä jos homma onkin niin että MySQL:n binaarit tarvitsevat jonkin uudemman .NET Frameworkin tukea... Se ei pääty hyvin.
Annoin kuitenkin latauksen mennä läpi, purin paketin ja otin kloonista snapshotin. Ei kun ääntä kohti ja päivitystä päälle. Siinä katsellessani, kuinka Microsoft-minuutit kopiointiruudussa kasvoivat noin 5 minuutista jo yli kahteen tuntiin, pyörittelin päässäni päivityskuviota muutoin. Mietin: "Jos tämä stuntti onnistuu, sitten vuorossa on tietokantataulujen päivitys ja sekin voi mennä päin hornankuusia niin ettei foorumi tule toimimaan". Ajatus oli pätevä kaikilta osin sillä tässä klooniserverissä on kaikki vanhaa ja kaikki koostuu niin monesta osasta, että huonolla säkällä tästä tulee dominoefekti. En omannut kovin positiivista asennetta, koska kynnyksiä oli yli hypittävänä enemmän, kuin luulin ja jokainen kynnys tuntui sisältävän jonkinlaisen superyllätyssektorin.

Päivitys meni lopulta läpi, mutta kun käynnistin MySQL Serverin, se pysähtyi virheeseen ja sammutti itsensä. Lokimerkinnöistä selvisi että serveri piti yhtä my.ini asetusta tuntemattomana ja pysähtyi sen vuoksi. Asetuksen kommentoinnin jälkeen MySQL käynnistyi. Yritin seuraavaksi ajaa mysql_upgrade-ohjelmaa kuten ohjeet opastivat mutta tämäpä pysähtyi ohjelman haistatteluun ettei pystynyt lukemaan serveriversiota. Dokumentaatiosta selvisi lopulta että voisin yrittää käyttää --password -valintaa, kun jostain syystä MySQL oli vahvasti sitä mieltä, että root-tunnuksella ei muka pitäisi olla salasanaa, kun tämän päivitysohjelman ajaa. Annoin tuon valinnan mukaan ja järjestelmän kysyttyä salasanaa päivitys alkoi minun suureksi hämmästykseksi. Ohjelma ei kuitenkaan voinut olla narisematta siitä että salasanan antaminen komentoriviltä voi olla vaarallista puuhaa, vaikka ohjelma itse sen sinne upotti. Kaikki meni OK-merkinnöillä Foorumin tietokantaa myöten ja foorumi jopa toimi edelleen kiltisti.

Koska tässä upposi enemmän aikaa, kuin suunniteltiin, homma jätettiin siihen ja sitten vuorossa onkin versio 5.7:n ajaminen sisään - jos se suostuu uppoamaan näin tavattoman vanhaan serveriin. Jos käy hyvin ja se saadaan toimimaan, sitten onkin vuorossa PHP:n päivittäminen 5.2 => 5.4, joka on vanhin PHP:n tukema 5.x-versio ja Simple Machinesin mukaan foorumi saattaa toimia sillä versiolla kompuroiden.

Yhtä kaikki, eteenpäin hypitään askel kerrallaan. Samat askeleet suoritetaan sitten uudelleen, kun Linux-purkki ottaa komennon. Pysykää mukana, tästä tulee varmasti vielä suorastaan pirun hauskaa.  8)
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - keskiviikko, 22.08.2018, 23:09
Päivän tapahtumia (22.08.2018):

Windows-Staging-serveri romahtaa totaalisesti, Linux-puoli kenkkuilee.
MySQL 5.7 päätti ettei sitä kertakaikkisesti kiinnosta toimia Windows Server 2003 R2:ssa. Paketista purku sujui odotetulla tavalla ja asennus suoritettiin kuten 5.6-versiolle, suoraan vanhan version yli. MySQL Service kuitenkin mietti pitkään ja lopulta romahti äärimmäisen kryptisellä virheilmoituksella. Kun edes Google ei tiennyt mikä virhe oli kyseessä, yritin käynnistää tietokantamoottorin käsin, mikä aiheutti serverin levylle älyttömän kuorman hetkeksi aikaa ja lopulta ohjelman kaatumisen ilmoitukseen "mysqld is not a valid Win32 application". Tarkistin etten ollut ottanut vahingossa 64-bittistä versiota ohjelmasta ja totesin että valinta bittileveyden kanssa oli oikea. Ihmettelin asiaa hetken ja yritin jopa asentaa Visual C++:n palikoiden 2017-versiota, joka asentuikin mutta lopputulos oli muuttumaton. Totesin että sitten jäädään 5.6:n alle ja 5.7:n kanssa sitten ihmetellään kun tietokanta siitä kopioidaan Linux-puolelle. Päivitin PHP:n versioon 5.4, joka oli viimeinen versio, joka tiettävästi toimi foorumin 1.1-version kanssa ja ei muuta kuin yrittämään.

Sitä kuvittelisi, että asiat voisivat joskus mennä kuten pitäisi mutta ei. Ei sitten niin millään. Kaiken piti olla valmista konversiohyppyä varten ja kaikki menikin odotetulla tavalla: Päivityssivu ilmestyi ja kaikki oli päällisin puolin kunnossa. Klikkaus hiirestä ja päivitys alkoi. Annettuani foorumin tiedot jatkettiin eteenpäin... ja sitten jumitettiin viisi minuuttia ja lopulta päivityspuoli jysähti todella antoisaan ja auttavaan "Unknown Error" ilmoitukseen, joka sentään osasi kertoa että jokin oli PHP:n mysqli-palikan kanssa päin honkia. Muistin että MySQL:n päivityksen jälkeen libmysql.dll-piti päivittää sekä PHP:n, että Apachen hakemistoihin, jotta se toimisi. Kopiointi sujui ilmeettömästi ja sekä Apache että PHP lähtivät käyntiin. Tällä kertaa sitten päivitysskripti levisi niin, että se ei edes ilmoittanut virheestä. Samassa tilanteessa oltiin vartinkin päästä ja luovutin.

Yritin vielä kokeilla etsiä olisiko .dll-tiedostoista erinäistä versiota saatavilla, mutta kun tie nousi sen kanssa pystyyn, piti vastausta etsiä Googlesta. Simple Machinesin foorumilla ehdotettiin seuraavaa kikkaa:
Ajetaan viimeisin versio foorumisoftasta, tuhotaan sen luoma foorumitietokanta, palautetaan vanhan foorumin tietokanta tilalle, haetaan päivityspaketti ja ajetaan se sisään, jolloin skripti konvertoi koko systeemin. Tein työtä käskettyä, räjäytin FinWX:n foorumin toimimattoman replikan hornantuuttiin ja ajoin viimeisimmän foorumisoftan sisään ja sitten alkoi säätäminen ja häärääminen. Homma tyssäsi jo ensi metreillä siihen että skriptin mukaan joitakin olennaisia filuja ei löydy. Päättelin sen olevan vain pääsyoikeusvika ja kokeilin korjata sitä, siinä kuitenkaan onnistumatta. Lopulta yritin ajaa sitä suoraan komentopuolelta ja sain ilmoitukseksi "Error: Language file out of date". Tarkistin hölmistyneenä että siellähän se nippu filuja majailee ja hain vielä varmuudeksi tuoreimman version siitä. Silti sama laulu. Tämän kanssa tappelin sitten puolitoista tuntia yrittäen mitä mielikuvituksellisempia kikkoja mutta juoksin joka kerta tiiliseinään.

Kellon tullessa 22:00 alkoi tyhmien virheiden tekeminen ja totesin sekä Windows- että Linux-pannut menetetyiksi ja ajoin molempiin palautukset.
Nyt ollaan lähtötilanteessa takaisin. Seuraavaksi mietitään että jos vielä yrittäisi temppua Linux-päässä siten että hakee ensin vanhemman version foorumisoftasta ja sitten päivittää sen viimeisimpään ja jos se ei onnistu niin sitten vielä yrittää Staging-serverin säätämistä niin, että yrittää saada komponentit pyörimään poistamalla ne kokonaan ja ajamalla ne sisään uudemmilla versioilla ja jos sekään ei onnistu, yrittää migraatiota tekemällä Windows Server 2008 R2-Staging serverin.

Se teettää vain triplasti töitä, mutta minä en tämän foorumin kanssa aio luovuttaa missään tapauksessa. Aion saada sen vielä jollain ilveellä toimimaan.

Yhtä kaikki, pieleen meni tämä päivä. Toivottavasti lähipäivinä homma luonnistuu paremmin.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - maanantai, 27.08.2018, 18:37
Sunnuntain (26.08.2018) tapahtumia

Foorumin päivitysyritys päin mäntyjä, staging-serverille täysi palautus lähtökuoppiin
Yritykset saada foorumi päivitettyä versioon 2.0 sekä Windows-, että Linux-alustoilla meni puihin - siis ihan oikein huolellisesti puihin, niin että se kiertyi viisi kertaa puiden ympärille. Siinä, missä Linux-puoli väitti kivenkovaan osan elintärkeistä filuista puuttuvan vaikkei puuttunut ja Windows-puolen näyttäessä 2.0-päivityksessä keskisormea minulle MySQLi.dll-palikan toimimattomuuden jälkeen, totesin tämän taistelun menetetyksi. Tuhosin Windows-puolen serverin ja poistin Linux-puolelta kaikki foorumin osat. Tämän jälkeen kloonasin Windows-puolen serverin Staging-serveriksi ja kävin hakemassa WAMP-palikat takaisin odottamaan, mutta poikkeuksen tein siinä, että tällä kertaa lähdin foorumin 2.0:n minimiversioiden mukaan leikkimään.

Simple Machines ei tee heidän foorumiohjelmistonsa vaatimuslistastaan lainkaan helppoa luettavaa.
Minimiversio, jota suositellaan PHP:n osalta on 5.4.0:sta eteenpäin. SMF 2.0.0 => 2.0.6 käyttää PHP 5.4:sta, eikä toimi 5.5:lla. Jos PHP:n versio on 5.5 tai suurempi, foorumin vähittäisversio on 2.0.7; Selvää tähän saakka, eikö?
Sitten homma meneekin hieman kummalliseksi: Versio 2.0.14:sta eteenpäin foorumi ei toimi, jos PHP-versio on 5.3 tai alempi ja suositellaan päivittämään PHP-versio uudempaan. Eli toimiiko 2.0.0 => 2.0.13 sittenkin PHP 5.3:lla?? Ilmeisesti ei, jos minimi on 5.4.0. ::)

Tämän ristiriitaisuuden jälkeen tulin tulokseen että viimeisin 5.4-versio PHP:sta on se, joka Staging-serverillä otetaan käyttöön. Samalla kertaa aikomuksena on pitää MySQL:n 5.5-versio paikallaan, mutta päivittää se vihoviimeiseen 5.5-versioonsa. Näin ollen mitään ei tarvitse tehdä tietokannalle.
Valmiina on myöskin Apache 2.4:n viimeisin Windows-installaatio, jonka vanhan version vaikka tuhoan ja ajan uudemman "salli joka ikiseen paikkaan pääsy"-oikeuksilla toimintaan. Tarkoitus on kuitenkin saada tuo MySQLi-palikka raksuttamaan, jotta foorumin tietokanta saataisiin päivitettyä viimeisimpään versioonsa (olettaen että SMF 2.0.6-versio käyttää sitä). Tietokannan version saaminen 1.1 => 2.0 on ratkaisevassa asemassa Linux-puolen kanssa. Oletan tietokannan siirron olevan 5.5 => 5.7:n suoraviivainen sillä kannassa ei ollut mitään erikoista mikä saattaisi aiheuttaa ongelmia, kun dumpin ajaa tietokantaan sisään.

Sunnuntaina piti onnistua paljon muutakin mutta toisin kävi: Tämän siirto-operaation taustalla tapahtui myös niin, että kaverini tietokoneen korjaus epäonnistui totaalisesti. Aiemmin todettiin prosessorin kärähtäneen. Korvaavat osat (uusi prosessori, kotelo ja vesijäähdytys) saapuivat 25.8. ja kasasin ne paikoilleen. Kone toimi normaalisti yön yli. Sunnuntaina roudasin koneen kaverilleni ja se toimi normaalisti tunnin ajan. Poistuttuani paikalta, parin tunnin päästä kaverini ilmoitti koneen hyytyneen totaalisesti ja koneen jääneen samaan vikatilaan. On nyt syytä epäillä että emolevy on onnistunut murhaamaan myös tämän uudenkin prosessorin ja koska en käyttänyt valmistajan omaa jäähdytysratkaisua, takuu lensi myös ikkunasta ulos. Se siitä 100€:n investoinnista. Tuleepahan kivat avaimenperät niistä  ::).

Uudet osat (emolevy ja prosessori) ovat tilattu. Niitä odotellessa teen hänelle varakoneen ja se ohittaa tällä hetkellä kaiken muun, mukaanlukien tämän päivitysprosessin. Osat saapuvat 1-2 viikon kuluttua mutta sen aikaa hänellä on ainakin varakone olemassa. Meno jatkuu näin ollen torstain ja sunnuntain välimaastossa.

Toivottavasti tämä foorumin päivitysoperaatio onnistuisi tällä kertaa, jotta tämä merkittävin operaatio saataisiin viimein saateltua maaliin saakka ja siloteltua tie itse koko alustan lopulliselle siirtymälle Windowsista Linuxiin.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - torstai, 30.08.2018, 20:56
Päivän tapahtumia, 30.08.2018:

...not a valid Win32 application.
Tämä ei nyt todellakaan ole tehty helpoksi, ei sitten niin millään. Suoritettuani MySQL:n päivityksen versioon 5.5.61 ja päivitettyäni PHP:n versioon 5.4.45 oli aika jälleen kerran ajaa vanhat libmysql.dll-filut yli 5.5.61-version .dll-filuilla, jotta keskustelu PHP:n ja MySQL:n kanssa sujuisi mutkitta.
Tai no, näin ainakin kuvittelin. Homma levisi käsille jälleen kerran tutuksi tulleella tavalla: Foorumi junnasi paikallaan tekemättä elettäkään sivun näyttämiseksi; Ei virhettä, ei timeouttia, ei mitään. Koska olin tähän jo kertaalleen törmännyt, en tästä ollut juuri millänsä. Ajattelin, että "no okei, se ei ilmeisesti nyt vain juttele sivistyneesti koska taustalla rullaa pölyinen Apache 2.2.

Siispä tuumasta toimeen; Paketti purkuun, servicet seis ja poistoon, uutta versiota päälle ja service asennuks...<"httpd.exe is not a valid Win32 application">. Että mitä? Tarkistin monta kertaa että minulla oli 32-bittinen versio Apachesta (kyllä) ja Visual C++ 11:lla kasaan nakutettu (kyllä). Silti "not a valid Win32 application". Tuijotin ruutua hölmistyneenä, tuntien, kuinka vanne alkoi vähitellen kiertymään ujosti pääni ympärille. Tämän piti olla se tie varmaan voittoon jossa pääsen haluttuun lopputulokseen, eli 2.0-versioon foorumista ja sen tietokannasta, valmiina implementointiin Linux-alustalle. Mutta ei... Ei hitto soikoon. Taas tiiliseinä. Ei muuta kuin takapakki PHP:n päivitystä edeltäneeseen tilanteeseen ja ikkunat kiinni tältä päivältä.

Tämä minun Windows Server 2003 R2-romu on siis jo lähtökohtaisesti niin loputtoman antiikkinen että jossain kohtaa jopa 32-bittinen ohjelmakin lakkaa olemasta sille oikea 32-bittinen ohjelma.
Mitä tämä yrittää kertoa minulle tilanteesta on se, että olen kumma kyllä vähän kusessa tämän systeemin kanssa: WAMP-järjestelmä, jossa Windowsin Apache on 2.4-versiota, mennään sellaisessa ohjelman "bittileveys-arkkitehtuurissa", joka samaan aikaan siis on ja ei ole 32-bittinen ja tämä vanha käyttöjärjestelmä ei sitä ymmärrä lainkaan. 2.2-versiota ei tueta enää, enkä usko että se tuosta paranisi vaikka kelaisin 2.2:n vihoviimeisen mohikaanin jostain netin syövereistä tähän rullaamaan.

Mitäs nyt sitten? Vaihtoehtoja on tässä kohtaa enää viisi.
1) Yritetään suorittaa foorumin päivitys 1.1 => 2.0 viimeisimmällä MySQL 5.5-versiolla ja PHP 5.4:lla, käyttäen libmysql.dll:n viimeisintä toimivaa versiota ja toivoa, että kävisi tajuton munkki ja vanhempi 2.0-versio ei tukeudu libmysqli.dll:ään lainkaan.
2) Windows Server 2008 R2 ylös, 2003 R2:sta suoritetaan WAMP-romujen migraatio siihen ja "toivotaan toivotaan", että vanha versio lähtee ylös tuolla alustalla, sitten päivitellään ohjelmat.
3) Windows Server 2008 R2 ylös ja asennetaan AMP-osasto sinne suoraan versioihin 2.4, 5.5 ja 5.4 ja sitten pusketaan sivusto foorumeineen päivineen sinne ja suoritetaan päivitys 1.1 => 2.0
4) Kloonataan tulevasta Linux-purkista korvaava Staging-serveri ja suoritetaan "downgrade" MySQL:lle ja PHP:lle ja sitten päivitetään foorumi 1.1 => 2.0.
5) Aloitetaan foorumi kokonaan alusta.

Viimeiseen en lähde kuin korkeintaan kirveellä ja aseella uhattuna. Foorumi on ollut niin pitkään olemassa, että sen aloittaminen alusta ei ole käytännössä oikea vaihtoehto. Tälle on pakko löytyä ratkaisu noista neljästä vaihtoehdosta, vaikka se tietäisi uuden alustan käyttöönoton viivästymistä 1.1.2019 asti.

Homma jatkuu siis näillä näkymin vaihtoehto 1:llä huomenna, aikatauluista riippuen. Hermot alkavat olemaan sen verran riekaleina tämän päivän tappelusta, että jos nyt jatkan, teen todennäköisesti vain älyttömiä virheitä.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - perjantai, 31.08.2018, 00:23
Tuli mieleen...Ettet vaan yritä tehdä tuplasti hommia nytten...Ootko kokeillut seuraavaa:
- unohda win-purkki
- asenna linukalle uusimmat myslit ja kumppanukset jota nykyinen foorumi ja sen tietokanta tukee
- dumppaa tietokanta siihen (sehän on ymmärtääkseni vain se tietokanta mitä tarvitaan vanhasta)
- pävitä linukassa haluttuihin versioihin

Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - perjantai, 31.08.2018, 21:11
Päivän tapahtumia, 31.08.2018:

Kas niin, hyvät naiset ja herrat. Oli aika ottaa työpäivän jälkeen härkää sarvista ja täräyttää Staging Serverille eilisen vaihtoehto 1:n mukaiset tilanteet ja päivittää foorumi versiosta 1.1, versioon 2.0.6.
Varmistaakseni, että kaikki menee kuten kuuluukin, ajoin vielä viimeisen Apache 2.2:n version sisään ja katsoin että se toimii kuten kuuluu. Kaikki tarkistukset menivät läpi, joten ei muuta kuin foorumin päivityspaketti päälle ja selaimella kiinni. Kaikki näytti jopa poikkeuksellisesti hyvältä, sillä järjestelmä toivotti minut tervetulleeksi suomeksi, mitä aiemmin ei käynyt. Klikkasin vaihtoehdot, annoin käyttäjätunnuksen ja salasanan ja luvan käynnistää toiminnot - ja siihen se sitten taas tyssäsi: minuutti odotusta ja "Unknown Error". Tunsin taas kuinka pään ympärille alkoi kiertymään vanne jälleen kerran. Sammutin Apachen ja muutin .ini-filussa extensiot mysql.dll:stä mysqli.dll:ksi. Apache päälle ja uusiksi. Sivu alkoi välittömästi aukomaan päätään, että minä olen jo ajamassa päivitysskriptiä ja varmisteli kovasti että haluanko aloittaa alusta. Halusin tietenkin ja lopputulos oli: Tyhjä ruutu. Ei tervetulotoivotusta, ei mitään.

Muistin jonkun ehdottaneen, että myös php.exe:llä voi ajaa skriptejä suoraan, joten heitin cmd:n auki ja iskin sinne käskyn ajaa ja parsia upgrade.php. Löin enteriä ja:
"The procedure entry point ReleaseSRWLockExclusive could not be located in the dynamic link library KERNEL32.dll" ja skripti pysähtyi siihen.

(https://cdn.someecards.com/someecards/usercards/1346750453712_6755651.png)
Okei. Se siitä ja sen kestävyydestä.

Lainaus käyttäjältä: weatherc - perjantai, 31.08.2018, 00:23
Tuli mieleen...Ettet vaan yritä tehdä tuplasti hommia nytten...Ootko kokeillut seuraavaa:
- unohda win-purkki
- asenna linukalle uusimmat myslit ja kumppanukset jota nykyinen foorumi ja sen tietokanta tukee
- dumppaa tietokanta siihen (sehän on ymmärtääkseni vain se tietokanta mitä tarvitaan vanhasta)
- pävitä linukassa haluttuihin versioihin

Linuxissa ei ole ainakaan näitä hiivatin ureanpolttamia .dll-filuja sun muita pilipaliviritelmiä AMP-ympäristössä, joten se voisi toimia. Huom!: voisi.
Tässäkin on oma työnsä: Pystyn varmasti ajamaan foorumia Apache 2.4:lla Linuxissa, mutta sisään pitäisi ajaa PHP 5.4 ja MySQL 5.5.61. Jälkimmäisen saa vielä reposta ajettua sisään mutta PHP 5.4:sta en ole varma. Käytännössä voisin ajaa 5.6:n sisään ja yrittää päivittää 1.1:n tietokannan 2.0:n tasolle korkeintaan foorumin versiolla 2.0.13, sillä 2.0.14:sta ylöspäin se ei enää tue PHP 5.3:sta (varmaan tarkoittavat 5.4:sta) ja sitä vanhempia.

Simple Machinesin foorumilla joku oli viisaasti esittänyt kysymyksen ns. standalone-tasoisesta tietokantakonvertterista 1.1:stä 2.0:aan. Se idea lähinnä naurettiin ulos ja ehdotettiin seuraavaa:
- Tyhjä 2.0-foorumi sisään
- Tyhjän foorumin tietokannan droppi ja 1.1:n tietokanta sisään sen tilalle
- Foorumin upgrade-palaset sisään ja päivitys 2.0 viimeisimpään versioon.

Yritin tuota ylläolevaa aiemmin ja se keskeytyi siihen, että tämä päivitysskripti (2.0.14 ja .15-versioissa ainakin) ei muka löytänyt itselleen elintärkeitä filuja (niitä erittelemättä koska se on koodiin kirjoitetun kommentin mukaan "tyhmää"), joita tarvitsee päivityksen tekemiseen, vaikka ne olivat ainakin minun mielestäni siellä missä pitivätkin. Päätin sen seurauksena kylmästi antaa 7777-oikeudet kaikkialle sinne, mutta sekään ei tuottanut tulosta. Pitänee testata foorumin versio 2.0.7 ensin.

On tosin järkevämpää olla nyt suututtamatta itseään enempää tämän päivän osalta ja ottaa asia käsittelyyn joko huomenna tai sunnuntaina, riippuen aikatauluistani viikonlopun osalta.
Romutan tuon Windows-kloonikoneen kuuseen ja asennan CentOS 7-linux purkin tilalle valmiiksi odottelemaan että populoin AMP-osat siihen. Pakko tämän on jollain tavalla onnistua.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - lauantai, 01.09.2018, 10:44
Jos itse tekisin nyt uuden purkin niin LAMPiin menisi Apache 2.4 (sehän on nykyään oletus), (Nginx), PHP 7.2 (PHP5 katoaa kuitenkin jossain vaiheessa), sekä MariaDB (uusin versio). Ohje esim täältä (https://www.howtoforge.com/tutorial/centos-lamp-server-apache-mysql-php//) , Howtoforgen ohjeita olen itsekkin käyttänyt ja ovat olleet ihan toimivia, ja Googlella löytyy lisää.
Nämä toiminnassa niin kaivaisin Googlella ohjeen miten SMF päivitetään 1 => 2. Nettihän on pullollaan foorumeita joten ohjeitakin siihenkin kyllä löytyy.

Pointtini on se ettei näitten kanssa kannata alkaa hakkaamaan päätä seinään, tulee vielä kuhmuja päähän. :P Kylmästi tuore asennus linukasta + ohjeita kehiin ja kokeilemaan. Ja jollei ensimmäinen ohje toiminut niin seuraava kehiin  ;D
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - lauantai, 01.09.2018, 14:21
Syyskuun ensimmäisen päivän tapahtumia:
Staging Server: Päivitys onnistuu!

weatherc:lle ensimmäiseksi kiitokset siitä että sai minut paiskaamaan Windows-serverin huitsin nevadaan. Se oli kuin olikin ratkaisun avain.

CentOS 7:lle asennettiin Apache 2.4, MySQL 5.5.61 ja PHP 5.4.21, joka vastasi foorumin 1.1-version kanssa pyörivää järjestelmää. MySQL:lle dumpattiin FinWX:n foorumin viimeisin tietokanta ja 1:1-kopio foorumista.
Kopioinnin ja asetusfiluun tehtyjen polkumuutosten jälkeen foorumi vastasi Staging-serveriltä suoraan sellaisena, jona me sen tänään tunnemme. Aloitin päivitysprosessin ja sieltä se ensimmäinen tiiliseinä nousi vastaan. Päivitystyökalu väitti minulle kivenkovaan ettei kykene kirjoittamaan filuille, jotka se nyt jopa listasi. Homma oli äärimmäisen outo, seikka sillä chown:lla tehty omistajamuutos apache => root ei tuottanut tulosta, eikä edes se, vaikka annoin chmod:lla ensin 0775:t ja sitten 0777:t koko foorumihakemistoon ja siitä alaspäin. Filut Settings.php ja Settings_bak.php olivat jostain syystä siitäkin huolimatta edelleen tilanteessa joita päivitystyökalu ei niitä vain kertakaikkisesti kyennyt kirjoittamaan. SMF:n tukifoorumi tarjosi samaa ratkaisua, kun mitä jo kokeilin. Yksi ohjeista käsitteli suunnilleen samaa ongelmaa, kuin mikä minulla oli, eli Windows-puolelta Linuxiin siirtoa, mutta erotuksena se, että se oli omalta serveriltä web-hotelliin. Ongelmat olivat käytännössä identtiset ja loppujen lopuksi ainoa asia, jota tukifoorumista sanottiin oli "vaihda hosting-palvelua". Kiitti. Olipa hyödyllinen neuvo. ::)

Googlailtuani suunnilleen vartin verran löysin toisen lähes identtisen ongelman kanssa painineen henkilön foorumipostauksen. Tässä ongelman tuotti vakiokiusankappale SELinux, joka tulee RHEL- ja Fedora-pohjaisissa Linuxeissa vakiona ja on erääntyyppinen Linuxin kerneeliin syvälle hakattu turvallisuuspalikka, joka toimii Linuxin palomuurin, firewalld:n kanssa, Linuxin suojana netistä päin tehtäviä pahantahtoisia temppuja vastaan. Pistin tuon suoraan disableksi sen config-filusta ensimetreillä kun serveri oli vielä minuutteja vanha, koska serveri on rautapalomuurin takana. Vähänpä tiesin, että vaikka muutoksen tein, jostain syystä sen asettamat File System Security Contextit pysyivät edelleen voimassa ja ne olivat kirjoituksen esteenä. Annettuani koko foorumihakemistoon järjestelmälle oikeudet httpd:lle kirjoittaa, tämä ongelma otti ja katosi. Tietokanta lähti päivittymään 1.1 => 2.0:aan ja koko foorumisofta sen mukana.

Vasta jälkeenpäin tajusin myös, että muutin vain SELinuxin config-filua, mutten käynnistänyt serveriä ikinä uudelleen. Tämä oli unohtunut koska keskityin MySQL:n ja Apachen kanssa näpertelyyn ja niillä oli omat servicensä, joita pystyi kyykyttämään ilman serverin uudelleenkäynnistystä. Tarkistin, että config-filussa parametri oli "disabled", niinkuin olikin, mutta kun kysyin SELinuxilta getenforce-komennolla että mikäs moodi sillä on päällä, sieltä tuli takaisin "Enforcing", mikä on sen alkuperäinen asetus. Kun käynnistin serverin uudelleen, moodiksi palautui "Disabled". Pitänee siis vielä palauttaa serveri takaisin tilanteeseen ennen päivitystä (joka on myös Staging-serverin lähtötila, kun tämä foorumi siirretään lopullisesti uudelle alustalle) ja katsoa, toistuuko tämä "apache:apache + 0775 = ei kirjoitusoikeutta"-ongelma uudelleen. Ei pitäisi, mutta vaikka toistuisi, tiedän jo että "chcon -R -t httpd_sys_rw_content_t <foorumin hakemisto>"-komennolla sen tilanteen saa korjattua.

Mikä minusta oli tässä koko päivityksessä ehkä hämmentävintä oli se, että foorumin 2.0.6-päivityksen jälkeen foorumi pyysi päivittää itsensä askel askeleelta ihan viimeisimpään versioonsa (2.0.15) saakka ja mikä odottamattominta, se teki sen myös onnistuneesti. Foorumi toimi normaalisti vaikka taustalla pyörivä PHP-versio oli edelleen antiikkinen 5.4. Se tekee tuosta SMF:n vaatimusluettelosta vielä kummempaa luettavaa, sillä se antaa ymmärtää, että PHP 5.4 lakkaa olemasta toimiva siinä vaiheessa, kun versio nousee 2.0.7:n ohi. Ilmeisesti ei sitten kuitenkaan.

Pahin tilanne on siis ohi: Foorumi saadaan päivitettyä nyt onnistuneesti.
Päivä ei ole vielä kuitenkaan täysin ohi: Ajan seuraavaksi dumpin tuosta muutetusta tietokannasta ja paiskaan sen Apache 2.4:sta, PHP 7.1:stä ja MySQL 5.7:aa pyörittävälle, tulevalle alustalle, jotta näen mitä odottaa tapahtuvaksi, kun siirron viimeinen askel otetaan.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - lauantai, 01.09.2018, 15:22
Lainaaweatherc:lle ensimmäiseksi kiitokset siitä että sai minut paiskaamaan Windows-serverin huitsin nevadaan. Se oli kuin olikin ratkaisun avain.

Ollos hyvä.  :)
Alkoi vaan tulemaan mieleen tuo että ihan turhaan koitat saada sitä Windowsia päivitettyä kun kerran Linukkaan oot siirtymässä  ;D

LainaaPäivitystyökalu väitti minulle kivenkovaan ettei kykene kirjoittamaan filuille, jotka se nyt jopa listasi. Homma oli äärimmäisen outo, seikka sillä chown:lla tehty omistajamuutos apache => root ei tuottanut tulosta, eikä edes se, vaikka annoin chmod:lla ensin 0775:t ja sitten 0777:t koko foorumihakemistoon ja siitä alaspäin.

Normisettiä. Linkukka ja sen oikeudet saa välillä kyllä aaarghhh-kiljahduksia aikaseksi ;D

LainaaVasta jälkeenpäin tajusin myös, että muutin vain SELinuxin config-filua, mutten käynnistänyt serveriä ikinä uudelleen.

Normisettiä sekin  ;D

LainaaPitänee siis vielä palauttaa serveri takaisin tilanteeseen ennen päivitystä (joka on myös Staging-serverin lähtötila, kun tämä foorumi siirretään lopullisesti uudelle alustalle) ja katsoa, toistuuko tämä "apache:apache + 0775 = ei kirjoitusoikeutta"-ongelma uudelleen. Ei pitäisi, mutta vaikka toistuisi, tiedän jo että "chcon -R -t httpd_sys_rw_content_t <foorumin hakemisto>"-komennolla sen tilanteen saa korjattua.

Täälläkin on harrastettu tuollaista ja todettu ihan toimivaksi systeemiksi että ensin koittaa rakentaa X, kun se on saatu toimimaan niin kone tyhjäksi ja eikun uusiksi, samalla kirjoittaen ylös että mitä tuli tehtyä, mulla yleensä pelkät komennot jotta helppo ajaa uusiksi copy/pastella.  :)
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - lauantai, 01.09.2018, 15:33
Itse itseäni lainaten:

Lainaus käyttäjältä: J.Jäntti - lauantai, 01.09.2018, 14:21
Päivä ei ole vielä kuitenkaan täysin ohi: Ajan seuraavaksi dumpin tuosta muutetusta tietokannasta ja paiskaan sen Apache 2.4:sta, PHP 7.1:stä ja MySQL 5.7:aa pyörittävälle, tulevalle alustalle, jotta näen mitä odottaa tapahtuvaksi, kun siirron viimeinen askel otetaan.
Päivä on nyt pulkassa ja mikä parasta, onnistunut sellainen. Syytä hymyyn on viimeinkin. ;D
Ajoin uudelle alustalle SMF 2.0.15:n suoraan, samoilla tiedoilla kuin alkuperäinen foorumi on. Se meni köhimättä läpi. Sitten ei muuta kuin droppia foorumin tietokannalle ja dumpista virallinen 2.0-versio sisään, mikä meni myös läpi. Jopa konversio tietokannan 5.5.61-versiosta 5.7:aan meni kerralla ja ilman mitään rähinöintiä läpi.

Foorumi nousi uudella serverialustalla ylös ja on tällä hetkellä, tätä kirjoittaessa, noin 6 tuntia vanhempi versio tästä foorumista. Kaikki toiminnot ovat siellä: Viestit ja postaukset, jäsenet ja heidän tietonsa ja kustomoidut avatarinsa. Vain foorumin ulkonäkö on hieman erilainen (kuva liitteenä).
Sunnuntaina suoritan tämän saman konversio- ja siirtotempun testiksi vielä toistamiseen ja tarkistan että kaikki onnistuu yhtä hyvin, kuin nyt. Jos kaikki menee niin kuin pitää, loppusuora alustan vaihdossa alkaa vihdoin häämöttämään.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - sunnuntai, 02.09.2018, 00:41
Lainaus käyttäjältä: weatherc - lauantai, 01.09.2018, 15:22
Lainaaweatherc:lle ensimmäiseksi kiitokset siitä että sai minut paiskaamaan Windows-serverin huitsin nevadaan. Se oli kuin olikin ratkaisun avain.
Alkoi vaan tulemaan mieleen tuo että ihan turhaan koitat saada sitä Windowsia päivitettyä kun kerran Linukkaan oot siirtymässä  ;D

Syy, miksi ylipäänsä yritin tuota Windowsin raatoa tekohengittää oli se, että siitä piti saada kyhättyä konversiosilta helposti vain kloonaamalla vanha serveri ja siitä kyhäämällä vähän uudempia paketteja päälle. Tarkoituksena oli saada sellainen WAMP-versioyhdistelmä, joka pyörittäisi foorumin 1.1-versiota ja joka olisi siitä nostettavissa versioon 2.0. Valitettavasti Windows-maailmassa se oli yksi pirullisuuden ilmentymä, kun Apache tukeutui erillisiin .dll-filuihin keskustellakseen MySQL:n ja PHP:n kanssa, josta todistetusti tuli lopulta yhtä tiiliseinään juoksemisen suurta juhlaa. Viimeksi taisi olla yhtä turhautunut meininki, kuin aikoinaan levyjärjestelmäpäivityksen kanssa painin. Taisin käyttää samaa kuvaakin kuvastamaan mikä oli fiilis juuri silloin.

Kun nyt katson tätä tappelua taaksepäin, voin vain kysyä itseltäni, että "mitä helvettiä taas oikein ajattelit?". Samassa ajassa, mitä käytin tuon Windows Server 2003 R2:n kloonaamiseen ja yksilöintiin, kaikkien komponenttien hakemiseen, asentamiseen ja testaamiseen ja vian etsintään, olisin nostanut CentOS 7:n, ja AMP-komponentit ylös valehtelematta 3-4 kertaa ja ne kaikki olisivat toimineet lähes heti konversiosiltana.

On olemassa yrittämistä ja sitten on olemassa liiallista yrittämistä (mikä lienee jonkinlainen tyhmyyden merkkikin, uskallan väittää) ja kun jälkimmäiseen jää jumittamaan, kuten minulla on paha tapa, lopputulos on se että pää on otsastaan litteä jatkuvan tiiliseinään juoksemisen takia.

Lainaus käyttäjältä: weatherc - lauantai, 01.09.2018, 15:22
Linkukka ja sen oikeudet saa välillä kyllä aaarghhh-kiljahduksia aikaseksi ;D

Sinällään kyllä, mutta jos siinä ei ole SELinux välissä, tuo ongelma on loppupeleissä melko vähäinen. SELinux on sentään helppo pysäyttää tolpilleen ja siten tehdä järjestelmästä perinteisempi Linux. Näyttää hyvin vahvasti siltä, että LAMP-ympäristö on vähemmän murheellinen konfiguroitava, kuin WAMP. LAMP:ssa nuo eri komponentit keskustelevat huomattavasti suoraviivaisemmin keskenään, eikä siinä tarvitse upottautua mihinkään käsittämättömään .dll-filujen sekamelskaan, jonka toimivuudesta ei ole lopulta minkäänlaisia takeita.

Tässä kohtaa näyttää myös siltä, että jos olisin vain bootannut serverin, tuota chcon-komentoa ei olisi edes tarvittu. Sitä taas oppii olemaan tarkempi.

Lainaus käyttäjältä: weatherc - lauantai, 01.09.2018, 15:22
Täälläkin on harrastettu tuollaista ja todettu ihan toimivaksi systeemiksi että ensin koittaa rakentaa X, kun se on saatu toimimaan niin kone tyhjäksi ja eikun uusiksi, samalla kirjoittaen ylös että mitä tuli tehtyä, mulla yleensä pelkät komennot jotta helppo ajaa uusiksi copy/pastella.  :)

Itse en ole kirjannut mitään ylös, mutta tiedän jo tässä kohtaa tiiliseinään juosseena mistä ne tiiliseinät nousevat ja pystyn ne välttämään.
15 vuotta vanhan Windows-käyttöjärjestelmän aika alkaa olemaan pikkuhiljaa loppumassa. Jos sunnuntaina tai maanantaina suoritetty testiajo osoittautuu onnistuneeksi, suoritetaan uusien ilmoittautuneiden ja tietonsa korjanneiden sääasemien päivitys uuteen järjestelmään, PHP:n konfiguraatioajo testitasosta tuotantotasolle ja sivuston finaalitestaus. Kun se on todettu toimivaksi, huoltoikkuna avataan foorumin siirtämiseksi vanhalta alustalta uudelle.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - keskiviikko, 05.09.2018, 22:22
Keskiviikon (05.09.2018) tapahtumia:

Tuli sitten viimein sen verran vapaata aikaa, että pääsi testaamaan asioiden toimivuutta uudemman kerran.
Suoritin foorumin konversioajon toistamiseen viimeisimmällä tietokannan varmuuskopiolla ja kaikki meni läpi jälleen kerran kirkkaasti ilman minkäänlaista ongelmaa. Nyt hommat menivät edellistä nopeammin, koska tulevalla alustalla oleva foorumi on suoraan versiossa 2.0.15 ja 2.0.6:n tietokanta putoaa siihen suoraan sellaisenaan ilman tarvetta ylimääräisiin kikkailuihin.

Näin ollen ensi viikonlopun (07.-09.09.2018) aikana suoritetaan sääasematietojen synkronointi ja tietojen muokkaukset uudella alustalla valmiiksi, jonka jälkeen muutoskielto (Feature freeze) astuu voimaan sääasemien osalta myös uudella alustalla ja se puretaan kun uusi alusta ottaa ohjat. Kun muutos sääasemien suhteen on tehty, alusta siirretään Apachen ja PHP:n osilta testimoodeistaan tuotantomoodeihinsa ja sitten julkaistaan huoltoikkunan ajankohta foorumin siirrossa vanhalta alustalta uudelle.

Alamme siis olemaan vihdoinkin loppusuoralla tämän projektin kanssa. Ei siihen olekaan mennyt tässä vaiheessa, kuin puolitoista kuukautta - lähemmäs kaksi. 8)
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: J.Jäntti - sunnuntai, 09.09.2018, 17:55
Viikonlopun (08.-09.09.2018) tapahtumia:
Kaikki alkaa olemaan valmista!

Uusi alusta on enää foorumia vaille valmis yliheitettäväksi.
Koko kuluneen viikonlopun ajan olen konvertoinut FinWX:n sivuja vanhasta ISO-8859-1 standardista yleismaallisempaan UTF-8:aan, sekä testaillut ja silotellut uuden alustan sivustolla olleita ryppyjä, jotka aiheuttivat virhetilanteita.
Viimeisimmät testit osoittivat sivuston toimivan nyt täysin identtisen oloisesti, kuin vanha alusta - poislukien tietenkin se, että nyt kaikki https:ien takana majailevien sääasemien tiedot näkyvät nyt sivustolla myös, mikä oli pääsääntöinen tahtotila kun tähän projektiin ryhdyttiin. ;D

Apache ja PHP ovat molemmat asetettu testitilastaan tuotantotilaan eikä tämän aikana myöskään havaittu häiriöitä sivuston toiminnassa.
Tämän lisäksi kaikkien mukana olevien sääasemien tiedot ovat nyt synkronoitu ja tiedot muokattu uudella alustalla valmiiksi, sekä tämän projektin aikana mukaan ilmoittautuneiden, että poistolistalle päätyneiden sääasemien operaattoreiden ilmoituksien pohjalta.
Näin ollen muutoskielto (Feature Freeze) astuu voimaan nyt myös FinWX:n uuden alustan osalta 09.09.2018 kello 18:00 alkaen ja se puretaan kun uusi alusta on ottanut ohjat.

Kaikki on siis valmista foorumin päivitykseen ja siirtoon uudelle alustalle.
Huoltoikkunailmoitus tulee erillsenä ilmoituksena.
Otsikko: Vs: FinWX siirtymässä WAMP-konfiguraatiosta LAMP-konfiguraatioon
Kirjoitti: weatherc - maanantai, 10.09.2018, 17:55
No niin  ;D (miksei foorumeissa ole sitä peukku-ikonia?  ;D)