Ero sivun ”S:Dokumentointi” versioiden välillä
Rivi 504: | Rivi 504: | ||
find /var/www/w -type f -exec chmod 644 {} \; | find /var/www/w -type f -exec chmod 644 {} \; | ||
+ | |||
+ | {{S:HideForOthers}} |
Nykyinen versio 4. maaliskuuta 2021 kello 14.01
Tällä sivulla on dokumentoituna koko Järviwikin pystyttäminen ohjelmien asentamisesta sisältöjen siirtoon. Tarkoitus on, että dokumentin avulla Järviwikin korjaaminen tai esimerkiksi siirtoo toiselle palvelimelle olisi mahdollisimman helppoa. Tätä dokumenttia voi myös käyttää oman vastaavan wikin luomiseen.
Palvelin
Järviwikidemo pyörii tällä hetkellä Tentacle Networks Oy:n virtuaalipalvelimella Linux-käyttöjärjestelmällä.
Palvelimen tarkemmat tiedot:
IP-osoite: | 213.157.87.32 |
DNS-nimi: | jarviwikidemo.fi |
Käyttöjärjestelmä: | Debian 5 64bit |
Hallinnollinen nimi: | virtual60.tentacle.fi |
Root-salasana: | ********** |
Käyttöönottohetkellä virtuaalipalvelimessa oli käyttöjärjestelmä asennettuna perusasetuksilla. Järviwikiä varten käyttöjärjestelmään on tehty alla lueteltuja päivityksiä, asennuksia ja määrityksiä.
Käyttöjärjestelmän päivitys
Ensin kannattaa asentaa sudo-ohjelma, jolla voi myöhemmin tehdä asennuksia root-tason oikeuksilla, vaikka on kirjautunut normaalikäyttäjänä
$ sudo apt-get install sudo
Uusi käyttäjä lisätään adduser-komennolla
$ adduser <username>
Debian-käyttöjärjestelmässä pakettitietokanta päivitetään ja tarvittavat päivitykset suoritetaan sitten komennolla:
$ sudo apt-get upgrade update
Debian-käyttöjärjestelmää ei tarvitse juuri koskaan bootata, mutta jos päivitykset sisältävät uuden version Linux-kernelistä, tapahtuu käyttöjärjestelmän uudelleenkäynnistys komennolla:
$ sudo shutdown -r now
Asennetut ohjelmistot
Apache ja PHP
Verkkopalvelinohjelmisto (Apache) ja PHP-komentokieli asennettaan komennolla:
$ sudo apt-get install apache2 php5 libapache2-mod-php5
Ja php-skriptien välimuisti komennolla:
$ sudo apt-get install php-apc
Jos Apache:en lisätään lisäosia (kuten tuo xcache) tai muutetaan asetuksia, astuvat muutokset voimaan vasta kun Apache on uudelleenkäynnistetty komennolla:
$ sudo /etc/init.d/apache2 restart
MySQL
Tietokantapalvelinohjelmisto (MySQL) asennettaan komennolla:
$ sudo apt-get install mysql-server mysql-client php5-mysql
Ja tietokantapalvelimen hallintaohjelmisto komennolla:
$ sudo apt-get install phpmyadmin
Muut ohjelmistot
Lisäksi palvelimelle on asennettu alla luetellut ohjelmat.
Subversion on versionhallintajärjestelmä, jota Järviwikin julkaisujärjestelmä (Mediawiki) käyttää:
$ sudo apt-get install subversion
Screen on komentoistuntojen hallintaohjelmisto, joka helpottaa pitkäkestoisten skriptien suorittamista:
$ sudo apt-get install screen
- apt-get sendmail
- apt-get exim4
Julkaisujärjestelmä
Järviwikin julkaisujärjestelmänä toimii Mediawiki (versio 1.16). Mediawiki on avoimen lähdekoodin ohjelma, jota rakennetaan ja ylläpidetään ensisijaisesti Wikipediaa varten. Lukuisten liitännäisten avulla se soveltuu kuitenkin hyvin monenlaiseen verkkojulkaisemiseen. Mediawiki perustuu php-skripteihin ja MySQL-tietokantaan.
Mediawiki asennetaan subversion ohjelman avulla. Seuraava komento kopioi ohjelmiston w-hakemistoon:
$ sudo cd /var/www
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/branches/REL1_16/phase3 w
Seuraavaksi määritellään Mediawikin perusasetukset mukana tulevan verkkotyökalun avulla. Mediawikin config-hakemistolle on määriteltävä kirjoitusoikeudet ennen sitä:
$ sudo chmod a+w config
Liitännäiset
Mediawikiin on Järviwikiä varten asennettu alla luetellut liitännäiset. Liitännäisen asentaminen vaatii liitännäisen latauksen Mediawikin extensions-hakemistoon, muutoksia Mediawikin asetustiedostoon LocalSettings.php ja joskus päivitysskriptin suorittamisen. Liitännäisten lataus on helpointa tehdä subversion ohjelmalla extensions-kansiosta.
$ sudo cd extensions
SemanticMediaWiki on liitännäinen, joka lisää Mediawikiin semanttiset ominaisuudet. Liitännäisen käyttöönottoon tarvitaan seuraavat komennot:
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticMediaWiki
$ sudo echo "include_once(\"\$IP/extensions/SemanticMediaWiki/includes/SMW_Settings.php\");" >> ../LocalSettings.php
$ sudo echo "enableSemantics(\$wgServerName);" >> ../LocalSettings.php
$ sudo php SemanticMediaWiki/maintenance/SMW_setup.php
SemanticForms lisää mediawikiin mahdollisuuden syöttää semanttisia tietoja lomakkeella.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticForms
$ sudo echo "include_once(\"\$IP/extensions/SemanticForms/includes/SF_Settings.php\");" >> ../LocalSettings.php
SemanticFormsInputs lisää SemanticForms-liitännäiseen mm. kalenteriominaisuuden.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticFormsInputs
$ sudo echo "include_once(\"\$IP/extensions/SemanticFormsInputs/SemanticFormsInputs.php\");" >> ../LocalSettings.php
SemanticCompoundQueries laajentaa SemanticMediaWiki-liitännäisen kyselyominaisuutta. Tämän avulla voi mm. näyttää kartalla eri ikoneita eri tyyppisille sivuille.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticCompoundQueries
$ sudo echo "include_once(\"\$IP/extensions/SemanticCompoundQueries/SemanticCompoundQueries.php\");" >> ../LocalSettings.php
Validator sisältää funktioita, joita muut liitännäiset käyttävät.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/Validator
$ sudo echo "include_once(\"\$IP/extensions/Validator/Validator.php\");" >> ../LocalSettings.php
Maps mahdollistaa koordinaattifunktioita ja mahdollistaa Google, Yahoo tai OpenLayers -karttojen näyttämisen palvelussa. Järviwikissä on käytössä Google Maps, jonka käyttö vaatii Googlelta saatavan avaimen. Muut asetukset määräävät minkätyyppinen pohjakartta on oletuksena näkyvillä, mitkä vaihtoehdot on valittavissa ja minkälainen valikko on käytössä.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/Maps
$ sudo echo "include_once(\"\$IP/extensions/Maps/Maps.php\");" >> ../LocalSettings.php
$ sudo echo "\$egGoogleMapsKey = \"ABQIAAAARdxe8phvch3QrwX1798n8xT6C5obI6iJrn6gNlQJbs8vDtVVlRRZyK2DS2x0iOriQAoPExRMp5h2nQ\";" >> ../LocalSettings.php
$ sudo echo "\$egMapsGoogleMapsType = \'normal\';" >> ../LocalSettings.php
$ sudo echo "\$egMapsGoogleMapsTypes = array(\'normal\', \'satellite\', \'physical\');" >> ../LocalSettings.php
$ sudo echo "\$egMapsGMapControls = array(\'small\', \'type-menu\');" >> ../LocalSettings.php
SemanticMaps mahdollistaa semanttisten hakutulosten näyttämisen kartalla. $smgQPForceShow-asetus pakottaa näyttämään kartan, vaikka hakutuloksia ei olisi yhtään.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticMaps
$ sudo echo "include_once(\"\$IP/extensions/SemanticMaps/SemanticMaps.php\");" >> ../LocalSettings.php
$ sudo echo "\$smgQPForceShow = true;" >> ../LocalSettings.php
SemanticResultFormats sisältää lisää semanttisten hakutulosten esitysmuotoja. Järviwikissä on käytössä timeline (aikajana).
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticResultFormats
$ sudo echo "include_once(\"\$IP/extensions/SemanticResultFormats/SemanticResultFormats.php\");" >> ../LocalSettings.php
SemanticInternalObjects mahdollistaa monimutkaisempien semanttisten tietorakenteiden tallentamisen sivukohtaisesti. Järviwikissä tätä käytetään erityisesti havaintojen tallentamiseen.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SemanticInternalObjects
$ sudo echo "include_once(\"\$IP/extensions/SemanticInternalObjects/SemanticInternalObjects.php\");" >> ../LocalSettings.php
ExternalData mahdollistaa semanttisten ominaisuuksien lataamisen tietokannasta. Asetukset määrittelevät tietokannan sijainnin, tyypin, nimen, käyttäjätunnuksen ja salasanan.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ExternalData
$ sudo echo "include_once(\"\$IP/extensions/ExternalData/ExternalData.php\");" >> ../LocalSettings.php
$ sudo echo "\$edgDBServer[\'jwdata\'] = \"localhost\";" >> ../LocalSettings.php
$ sudo echo "\$edgDBServerType[\'jwdata\'] = \"mysql\";" >> ../LocalSettings.php
$ sudo echo "\$edgDBName[\'jwdata\'] = \"jwdata\";" >> ../LocalSettings.php
$ sudo echo "\$edgDBUser[\'jwdata\'] = \"wikiuser\";" >> ../LocalSettings.php
$ sudo echo "\$edgDBPass[\'jwdata\'] = \"**********\";" >> ../LocalSettings.php
ParserFunctions määrittelee joukon hyödyllisiä funktioita, joiden avulla voi esimerkiksi ohjata sivuilla näytettäviä elementtejä jonkin semanttisen ominaisuuden perusteella.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ParserFunctions
$ sudo echo "include_once(\"\$IP/extensions/ParserFunctions/ParserFunctions.php\");" >> ../LocalSettings.php
$ sudo echo "\$wgPFEnableStringFunctions = true;" >> ../LocalSettings.php
Widgets määrittelee uuden nimiavaruuden (Widgets), johon voi rakentaa upotettavia pienoisovelluksia. Pienoissovellusten teko-oikeus on vain ylläpitäjilla ja "Pienoisohjelmien muokkaaja"-ryhmään kuuluvilla käyttäjillä. Liitännäisen compiled_templates -hakemistoon on annettava kirjoitusoikeus palvelinohjelmistolle.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/Widgets
$ sudo echo "include_once(\"\$IP/extensions/Widgets/Widgets.php\");" >> ../LocalSettings.php
$ sudo echo "\$wgGroupPermissions['sysop']['editwidgets'] = true;" >> ../LocalSettings.php
$ sudo chmod a+rw Widgets/compiled_templates
FCKeditor mahdollistaa sivujen editoimisen WYSIWYG-editorilla.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/FCKeditor
$ sudo echo "include_once(\"\$IP/extensions/FCKeditor/FCKeditor.php\");" >> ../LocalSettings.php
LiquidThreads muuttaa sivujen keskustelusivun enemmän kestskustelupalstamaiseksi.
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/LiquidThreads
$ sudo echo "include_once(\"\$IP/extensions/LiquidThreads/LiquidThreads.php\");" >> ../LocalSettings.php
$ php ../maintenance/sql.php ../extensions/LiquidThreads/lqt.sql
Facebook mahdollistaa kirjautumisen Facebook-tunnuksilla. Liitännäisen käyttöön tarvitaan Facebook API avain, jonka saa kun rekisteröi palvelunsa sivulla: http://www.facebook.com/developers/createapp.php.
$ sudo svn checkout https://fbconnect4mw.svn.sourceforge.net/svnroot/fbconnect4mw/trunk/Facebook Facebook
$ sudo echo "include_once(\"\$IP/extensions/Facebook/Facebook.php\");" >> ../LocalSettings.php
$ sudo echo "\$wgFbAppId = \'4b235e6a52e64db69583ca4c0221cf8a\';" >> ../LocalSettings.php
$ sudo echo "\$wgFbSecret = \'033a08d584f3d11939ec9a6473cac6c5\';" >> ../LocalSettings.php
$ sudo echo "\$wgFbScript = \'http://connect.facebook.net/fi_FI/all.js\';" >> ../LocalSettings.php
AdminLinks
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/AdminLinks/
$ sudo echo "include_once("$IP/extensions/AdminLinks/AdminLinks.php");" >> ../LocalSettings.php
Google Analytics Integration
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/googleAnalytics/
$ sudo echo "include_once("$IP/extensions/googleAnalytics/googleAnalytics.php");" >> ../LocalSettings.php
SimpleSecurity
$ sudo svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/SimpleSecurity/
$ sudo echo "require_once("$IP/extensions/SimpleSecurity/SimpleSecurity.php");" >> ../LocalSettings.php
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ReplaceText
svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/HeaderTabs
require_once("$IP/extensions/AuthorProtect/AuthorProtect.php");
require_once("$IP/extensions/SemanticJwFormats/SemanticJwFormats.php");
- require_once("{$IP}/extensions/CategoryTree/CategoryTree.php");
require_once( "$IP/extensions/MyVariables.php" );
require_once( "$IP/extensions/Terminology.php" );
Nimiavaruudet
S_Malline
S_Malline_talk
S_Data
S_Data_talk
S_Tiedosto
S_tiedosto_talk
vai pelkkä S?
Käyttäjäryhmät
Alla olevassa taulukossa on luetltuna Järviwikin käyttäjäryhmät ja niiden oikeudet.
Käyttäjäryhmä | Jäsenet | Oikeudet |
* | kaikki käyttäjät | Katsella kaikkia paitsi nimiavaruuden S sivuja |
users | rekisteröityneet käyttäjät | Katsella kaikkia paitsi nimiavaruuden S sivuja |
emailconfirmed | rekisteröityneet käyttäjät, jotka ovat vahvistaneet sähköpostiosoitteensa | Automaattinen liittäminen ryhmään: rekisteröityneet käyttäjät |
Facebook Connect Users | käyttäjät, jotka ovat rekisteröityneet Facebook -tunnuksillaan | Automaattinen littäminen ryhmään: rekisteröityneet käyttäjät |
rekisteröityneet käyttäjät | Kaikki käyttäjät, joiden rekisteröityminen on vahvistettu sähköpostiosoitteen tai Facebook -tunnusten avulla. |
Katsella kaikkia paitsi nimiavaruuden S sivuja Muokata erikseen lukitsemattomia sivuja Päänimiavaruudessa ja sen keskustelunimiavaruudessa sekä nimiavaruuksissa: Malline ja Tiedosto sekä näiden keskustelunimiavaruuksissa. Käyttäjäryhmä ei voi muokata sivua, joka on luokassa Kokeneen käyttäjän ylläpitämä, Koulutetun havainnoitsijan ylläpitämä, Viranomaisen ylläpitämä tai Suojattu, Luoda uusia sivuja nimiavaruuksiin: Päänimiavaruus, Malline ja Tiedosto. |
kokeneet käyttäjät | Rekisteröityneet käyttäjät, jotka ovat suorittaneet ## muokkausta vähintään ## kuukauden aikana | Saavat muokata sivuja luokassa Kokeneen käyttäjän ylläpitämä. |
koulutetut havainnoitsijat |
Rekisteröityneet käyttäjät, jotka on koulutettu havainnoimaan esimerkiksi levätilannetta |
Saavat muokata sivuja luokassa Koulutetun käyttäjän ylläpitämä |
viranomaiset | Käyttäjät, jotka toimivat Järviwikissä viranomaisroolissa ja joiden tuottama tieto on viranomaistietoa. | Saavat muokata sivuja luokassa Viranomaisen ylläpitämä |
pienoisohjelmien muokkaaja | Saavat luoda ja muokata sivuja nimiavaruudessa Widget | |
data | Saavat katsella nimiavaruuden S sivuja | |
byrokraatit | ||
botti | Kaikki oikeudet | |
ylläpitäjä | Kaikki oikeudet |
automaattisesti hyväksytyt käyttäjät ja emailconfirmed Ryhmät, joita voit muuttaa
botti ylläpitäjä byrokraatti Facebook Connect user pienoisohjelman muokkaaja
Luokat
Sisältö
Varmuuskopiointi
Hakemiston kopiointi
Hakemistosta kannattaa ensin tehdä arkistotiedosto, joka sitten kopioidaan verkon yli jonnekin turvaan.
gzip -cr w >w.zip
Tietokannan kopiointi
$ mysqldump --add-drop-table -u [käyttäjätunnus]-p [tietokannan nimi] > [tiedostonnimi, johon kanta kopioidaan]
Tietokannan palautus
mysql -u [uname] -p[pass] [dbname] < [backupfile.sql]
Tiedostojen siirtäminen palvelimelta toiselle
scp -r root@www.jarviwiki.fi:/var/www/w /var/www/w
vain muutetut:
rsync -avz -e ssh root@www.jarviwiki.fi:/var/www/w /var/www/w
oikeuksien asettamine
find /var/www/w -type d -exec chmod 755 {} \;
find /var/www/w -type f -exec chmod 644 {} \;