Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - teele

Sivuja: 1 ... 3 4 [5] 6 7 ... 27
81
Nyt on tullut pientä pohdittavaa loppuparametrin kertomisessa std::copy -funktiolle.

Alkuperäinen koodi toimii hyvin

Koodia: [Valitse]
#include <fstream>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <regex>

int main()       // tämä toimii alkuperäinen versio, versio 1
{
   std::string text = "Quick brown fox.";
   std::regex ws_re("\\s+"); // whitespace
   std::copy( std::sregex_token_iterator(text.begin(), text.end(), ws_re, -1),
                            std::sregex_token_iterator(),
                            std::ostream_iterator<std::string>(std::cout, "\n")
                          );
}

jos alkuiteraattori annetaan kutsun ulkopuolella alustetulla muuttujalla, silloinkin ohjelma toimii hyvin.

Koodia: [Valitse]
#include <fstream>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <regex>

int main()       // tämä toimii, versio 2
{
   std::string text = "Quick brown fox.";
   std::regex ws_re("\\s+"); // whitespace
   std::sregex_token_iterator it1(text.begin(), text.end(), ws_re, -1);
   std::copy( it1,
                            std::sregex_token_iterator(),
                            std::ostream_iterator<std::string>(std::cout, "\n")
                          );
}

Mutta jos loppukohta annetaan funktion ulkopuolella alustetulla parametrilla, tulee käännöksessä virheitä.

Koodia: [Valitse]
#include <fstream>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <regex>

nt main()       // tämä ei toimi, versio 3
{
   std::string text = "Quick brown fox.";
   std::regex ws_re("\\s+"); // whitespace
   std::sregex_token_iterator it1(text.begin(), text.end(), ws_re, -1);
   std::sregex_token_iterator stop();
   std::copy( it1,
                            stop,
                            std::ostream_iterator<std::string>(std::cout, "\n")
                          );
}

Vaikka versioita 1 ja 2 voi käyttää, joskus olisi siistimmän näköistä, jos voisi käyttäa myös 3-versiota, mutta miten sen voisi saada toimimaan. Miten loppukohdan voisi kertoa funktion ulkopuolisella muuttujalla.

Käännöskomento oli kaikissa

Koodia: [Valitse]
g++ regex07.cpp -o regex07 -std=c++17 -Wall -pedantic

kun lähdekoodi on regex07.cpp (eli kaikenlaista on yritetty, ainakin 7:s yritys menossa)



82

Ainakin tavallisilla hipsuilla toimii

Koodia: [Valitse]
./testiohjelma1 infile.txt '<td'  '</td>'

Kiitos vastauksista, oli ilmeisesti se hipsuvaihtoehto, jota ei tullut tarpeeksi huolellisesti kokeiltua    :)

83
Tavallinen c++ -ohjelma haluaa ohjelmaparametrina merkkijonon.

Miten sen saa syötettyä, jos merkkijono on esimerkiksi </br>.

Kaikenlaisia lainaus-, ja heittomerkkiyhdistelmiä on kokeitu, mutta bashin mielestä pitäisi olla tiedosto /br.

84
Matti ja Maija pitävät omia sivuja pilvipalvelimella, joka moni-isännöi Matin koirasivuja ja Maijan kissasivuja.

Sivustot ovat esimerkiksi hakemistoissa /var/www/html/koirasivut ja /var/www/html/kissasivut. Selaimella ne löytyvät osoitteesta koirasivut.dy.fi ja kissasivut.dy.fi.

Matti ja Maija haluaisivat kummatkin ylläpitää omia sivujaan tavallisena käyttäjänä ilman sudoilua.

Netistä löytyi ohje

https://serverfault.com/questions/357108/what-permissions-should-my-website-files-folders-have-on-a-linux-webserver

jota soveltamalla olisi toiveena keksiä Matille ja Maijalle sopivat palvelinasetukset pilvikoneen Apachelle ja tiedosto-oikeuksille.

Olisivatko tällaiset asetukset toimivat

Koodia: [Valitse]
chown -R matti  /var/www/html/koirasivut
chgrp -R www-data  /var/www/html/koirasivut 
chmod -R 750  /var/www/html/koirasivut
chmod g+s  /var/www/html/koirasivut

chown -R maija  /var/www/html/kissasivut
chgrp -R www-data  /var/www/html/kissasivut
chmod -R 750  /var/www/html/kissasivut
chmod g+s  /var/www/html/kissasivut

Tässä on oletuksena, että Apache toimii www-data -oikeuksilla, mutta toimiiko se todella niin Ubuntu 18.04 :ssä, ei ole vielä netistä hakemalla selvinnyt.  Apachen asetuksiin eitarvitsisi koskea, jos edellä oleva toimisi.   

Jos edellä oleva järjestely ei toimi, jokin muukin tapa saada sama toiminnallisuus tietysti kävisi myös.

Muokk.
Tämänhetkiset kokeilujen tulokset näyttäisivät siltä, että ratkaisu voisi olla

Koodia: [Valitse]
sudo chown matti /var/www/html/koirasivut
sudo chown maija /var/www/html/kissasivut

Tulos on tietysti ainakin sillä varaumalla, että kokeiluissa ei oe tapahtunut jotain sellaista, jota ei ole huomattu ja joka on vaikuttanut oikeuksiin.


85

Löytyi sitten virheraporttikin, mutta en saa sitä tulemaan liitteenä näköjään :(

Olisiko siitä apua, voin laittaa sen tavallisena tekstinä tähän tekstikenttään, jos se auttaisi asiaa. (muutin päätteen .crashista txtiksi, se ei näköjään auttanut, liite ei toiminut, jstain syystä, ehkä tässä koneessa on jotain muutakin häikkää ???)


86
 
Ei auttanut pelkkä aptikaan, mistähän päin voisi alkaa asiaa perkaamaan.

87
Kokeilin

Koodia: [Valitse]
sudo apt-get install wxmasima

lubuntu 18.04 -koneessa.

wxmaxima näytti asentuvan ja sen saa käynnistettyä opetusohjelmat-valikosta. Ohjelman ikkuna ilmestyy näkyviin, mutta se ei ota vastaan mitään syötettä hiireltä tai näppäimistöltä. Ainoa tapa selvitä tilanteesta on päätteen pkill -komento.

Onko joku saanut wxmaximan toimimaan lubuntu 18-04-versiossa, miten se onnistuisi?

88
nyt on (sivujen nimet eivät ole todellisia) eli Servername on se osoite, josta sivuja pyydetään selaimella ja DocumentRoot on sen hakemiston osoite, jossa on sivujen index.html -tiedosto. Varmuuden vuoksi vielä lainausmerkitkin on lisätty DocumentRootiin linkissä olleen ohjeen perusteella.

Koodia: [Valitse]
ServerAdmin webmaster@localhost
        ServerName koirajutut.dy.fi
DocumentRoot "/var/www/html/koirasivut"


ja sitten on tehty

Koodia: [Valitse]
sudo /etc/init.d/apache2 reload
[ ok ] Reloading apache2 configuration (via systemctl): apache2.service.

Mutta kun pyydetään selaimessa koirajutut.dy.fi, tulee kissajutut, joka on siis oletuksena 000-defaultissa, tai siis kissajuttujen hakemiston osoite on 000-defaultissa DocumentRootina.

Muokk.

Nyt näyttäisi toimivan, en tiedä, missä kaikissa kohdissa tein aluksi väärin, mutta tässä vielä ilmeisesti oikeat temput. Kiitos neuvoista  :)

// tämä on dy.fi-päivitystiedosto, uuden  sivuston nettiosoite lisätään tänne. siis
// esim. koirajutut.dy.fi
sudo nano /usr/local/etc/dyfi-update.conf 
 
// sitten tehdään koirajuttujen hakemisto palvelimella, yhdysviiva on kielioppivirhe, mutta
// auttaa selventämään asiaa
sudo mkdir /var/www/html/koira-sivut

// kopioidaan vaikka kissajuttujen hakemistosta valmista aineistoa pohjaksi
sudo cp -r /var/www/html/kissa-sivut/*.* /var/www/html/koira-sivut

// kirjoitetaan uudet jutut vanhojen tilalle kopioituun pohjaan
sudo nano /var/www/html/koira-sivut/index.html

// tehdään hakemistoon  /etc/apache2/sites-available/ koira-sivut.conf -tiedosto
// voidaan kopioida ja muokata kissa-sivut.conf -tiedostosta,  pääsee helpommalla
cd /etc/apache2/sites-available/
sudo nano koira-sivut.conf

// kerrotaan apachelle, että uudet koira-sivut ovat käytettävissä
sudo a2ensite koira-sivut

// lopuksi uudelleenkäynnistetään apache
sudo systemctl restart apache2




89
Pilvipalvelimessa on Ubuntu 18.04 ja Apache2. Toivomuksena olisi saada moni-isännöinti (virtual hosting) toimimaan niin, että palvelimella voidaan pitää portissa 80 muutamaa eri sivustoa, esimerkiksi kissasivut, koirasivut ja pupusivut.

Palvelin näyttää

Koodia: [Valitse]
/etc/apache2/sites-available$ ls
000-default.conf  default-ssl.conf  koirasivut.conf


joten koirasivujenkin pitäisi olla näkyvissä. 000-defaultissa on osoitteena kissasivujen index.html:n sisältävä hakemisto.

Koodia: [Valitse]
cat /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/kissasivut

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

koirasivut.conf on muuten samanlainen kuin 000-default.conf:kin, mutta siellä on

Koodia: [Valitse]
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/koirasivut

DocumentRoot:na.

Netistä on paljon kysymyksiä samasta asiasta, mutta olen mielestäni tehnyt kaikki vaadittavat temput palvelimen uudelleenkäynnistys mukaan luettuna. Koska sivut ovat saatavissa, se kertoo, että a2ensite:kin on tehty (varmaan jo monta kertaakin ).

Vielä en ole kokeillut a2dissite:ä kissasivuille eli 000-defaultille, koska vaarana on, että kaikkien sivujen näkyminen loppuisi. Nyt tilanne on siis se, että kun pyydetään koirasivua, palvelin lähettää kissasivun ja kissasivun saa myös sitä pyydettäessä.




90

pakettivarastot ovat tässä


#

# deb cdrom:[Official Debian GNU/Linux Live 9.6.0 cinnamon 2018-11-10T11:54]/ stretch main

deb cdrom:[Official Debian GNU/Linux Live 9.6.0 cinnamon 2018-11-10T11:54]/ stretch main

# Line commented out by installer because it failed to verify:
#deb http://security.debian.org/debian-security stretch/updates main
# Line commented out by installer because it failed to verify:
#deb-src http://security.debian.org/debian-security stretch/updates main

# stretch-updates, previously known as 'volatile'
# A network mirror was not selected during install.  The following entries
# are provided as examples, but you should amend them as appropriate
# for your mirror of choice.
#
#deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free


91
Kokeilin Debian 9 -asennusta tikulta ilman nettiyhteyttä. Kaikki pakettivarastot on kommentoiutuina tiedostossa

/etc/apt/sources.list

Voiko kaikki kommentoinnit poistaa?

92

Kokeilen nettisivujen pitoa pilvipalvelimella ja näin alkuvaiheessa olisi hyvä kuulla, millainen hakemistorakenne on oikeasti käytännössä toimiva.

Jos esimerkiksi tarkoituksena on pitää kolmea sivustoa, kissajutut.dy.fi, koirajutut.dy.fi ja pupujutut.dy.fi yhdellä virtuaali-Ubuntulla ja yhdellä Apacella moni-isännöinnissä (virtual hostingissa), niin sivustot varmaan kannattaa kukin laitaa omaan alihakemistoonsa.

Mutta onko /var/www/html/ hyvä paikka sivustoille vai olisiko parempi laittaa ne omaan käyttäjähakemistoon. Toivomuksena on, että pääsee mahdollisimman vähällä chmodaamisella.

Kokeilutarkituksessa Apachen rinnalla voinee kai toimia joku pieni kokeilupalvelinkin, vai haittaisiko se sivustojen toimintaa? Sen voinee laittaa omaan porttiinsa?


93

Lämpömittari on kytketty usb-paikkaan ja tiedot näkyvät omalla koneella vaikka terminaalissa. Jotta lukemia voisi seurata myös etänä, tiedot pitäisi saada välitettyä pilvikoneelle, jossa siinäkin on käynnissä Ubuntu, myös Apache php.

Millä tavalla kannattaisi alkaa suunnitella tietojen lähettämistä pilvikoneelle, jos toivomuksena on, että lämpötiloja voisi katsella pilvikoneelta selaimella mistä vain.

Minuutin välein tuleva päivitystieto on lyhyt, lämpötila ja kellonaika tms. Ja toivomuksena on, että jos systeemi saadaan toimimaan, sitä voisi helpoti laajentaa niin, että samanlaisia tietoja voisi välittyä muistakin paikoista joskus myöhemmin. Silloin välittyvinä tietoina voisivat olla mittarin sijainti, kellonaika ja lämpötila.

Jos tietoja olisi enemmän, ajastettu scp-komento voisi olla vaihtehto, mutta nyt ehkä olisi olemassa jokin kevyempi ratkaisu? Onko netcat täysin turvallinen, ...... ja tietojen lähettäminen php-kyselyn argumentteina ei ehkä ole kovin kevyt ratkaisu? ..... entä pieni c++ -  tai python-ohjelma?





94
Kiitos, wget ratkaisi asian.

Yhteys todella katkeili,  mutta wget osasi jatkaa katkaisukohdasta, selainlataus ehkä ei.

Koodia: [Valitse]
Tallennetaan kohteeseen ”raspbian_lite_latest”

raspbian_lite_lates  75%[+++++++=======>     ] 264,66M   140KB/s    in 16m 29s

2019-03-13 10:03:40 (141 KB/s) - Yhteys suljettu tavun 277512192 kohdalla. Yritetään uudelleen.

--2019-03-13 10:03:42--  (yritys: 3)  http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-11-15/2018-11-13-raspbian-stretch-lite.zip
Yhdistetään palvelimeen director.downloads.raspberrypi.org (director.downloads.raspberrypi.org)|2a00:1098:0:82:1000:13:0:5|:80... yhdistetty.
HTTP-pyyntö lähetetty, odotetaan vastausta... 206 Partial Content
Pituus: 368428301 (351M), 90916109 (87M) jäljellä [application/zip]
Tallennetaan kohteeseen ”raspbian_lite_latest”

raspbian_lite_lates 100%[+++++++++++++++====>] 351,36M   138KB/s    in 10m 31s

2019-03-13 10:14:12 (141 KB/s) - ”raspbian_lite_latest” tallennettu [368428301/368428301]


95
Jostain syystä Piin Debian Liten lataus ei onnistu, kun pyydetään latausta Firefaxista zippinä täältä

https://www.raspberrypi.org/downloads/raspbian/

Yritetty versio on Raspbian Stretch Lite eli alimmaisen vaihtoehdon zip-muoto.

Luultavasti lataus onnistuu jollain muulla tavalla ja image saadaan Piille, mutta kysymyksenä asia on mielenkiintoinen. Käytössä on Huawein nettitikku ja yhteys on elisalta. Käytössä on Ubuntu 18.04 vakiopäivityksin.

Voisiko ongelman syytä jotenkin itse jäljittää.




96

Kiitos hyvistä vastauksista  :)

97
Näkyykö dy.fi tyyppinen osoite palvelimella suoraan ja samanlaisena kuin muutkin osoitteet.

Eli kannattaako yrittää tehdä nimiperustaista moni-isännöintiä (virtualhostingia), jos se perustuu dy.fi -muotoisiin osoitenimiin.

Toinen saman asian ratkaiseva kysymys voisi olla, saako palvelimen näkemän asiakassivun nimen näkymään jollain tavalla esimerkiksi php:n avulla. Silloin voisi katsoa vastauksen alkuperäiseenkin ongelmaan.

Muok.

Huomasin sattumalta seuraavan kaltaisen ilmoituksen


Not Found

The requested URL /ukk.html was not found on this server.
Apache/2.4.29 (Ubuntu) Server at oma_sivu.dy.fi Port 80

kun en ollut vielä tehnyt ukk-sivua. Ehkä tästä voisi päätellä, että Apache näkee dy.fi.-muotoiset osoitteet muuttumattomina?




98
Liittyisivätkö ohjeet

https://www.ostechnix.com/configure-apache-virtual-hosts-ubuntu-part-1/

esillä olevaan kysymykseen.

Yritin niiden avulla selvittää, olisiko mahdollista saada virtuaalihostingi toimimaan pilvikoneessa niin, että siellä voisi pitää turvallisesti kahta eri sivustoa.

Toiveena olisi, että kummastakaan sivustosta ei vahingossa voisi päästä toiseen ja että vain tietyssä hakemistossa olevat tiedot olisivat vapaasti saatavissa selaimella tai wgetillä tai millä vain.

Toimiiko nimiperustainen virtualhostingi, jos nimet on annettu dy.fi -muotoisina, virallista nimeähän sivustoille ei ole ostettu.


99
Onko turvallista ja taviskäyttäjälle suositeltavaa asentaa ohjelmia ppa-ohjelmalähteistä.

Ubuntu 18.04 tulee ilman openscad-pakettia, mutta se on saatavissa ppa-lähteestä.

Koodia: [Valitse]

sudo add-apt-repository ppa:openscad/releases

sudo apt-get update

sudo apt-get install openscad



Ohjelma voitaneen poistaa komennolla

Koodia: [Valitse]
sudo dpkg -r openscad

Miten ylempi komento eroaa vaikutuksiltaan seuraavasta

Koodia: [Valitse]
sudo apt-get remove --autoremove openscad

mutta se ei varmaankaan poista ppa-lähteitä. Miten saisi lähteetkin pois ja koneen alkuperäistilaan.


100
Kiitos neuvoista, taisi onnistua  :)

Siltä varalta, että apachen säätely osoittautuu liian vaikeaksi olisi vielä pienenä lisäkysymyksenä kysymys:

Jos pilvikoneella on vain tavallisia html-sivuja, niin voisiko samanlaisen hakemistomuutoksen tehdä vain oletushakemiston index-sivulla.

Koodia: [Valitse]
<meta http-equiv="refresh" content="0; URL='./sopiva_alihakemisto/index.html'" />

Mitä haittoja tai hyötyjä tästä voisi olla.


Sivuja: 1 ... 3 4 [5] 6 7 ... 27