[Päivitetty 5.3.2019]
12 . Web-sovelluksia
Tähän lukuun on koottu (kootaan) lähinnä
Linux/Apache/PHP-työkaluin toteutettuja Web-sovelluksia.
Tällaiset Web-ympäristössä HTTP-prokollan välityksellä
toimivat asiakas-palvelin-malliin perustuvat Web-sovellukset
tarvitsevat toimiakseen tyypillisesti (suluissa tässä
luvussa käytetyt ohjelmistot):
- Toimivan TCP/IP-verkon, jonka avulla asiakasohjelma
voi käyttää palvelimella suoritettavaa Web-sovellusta
- Web-selaimen asiakasohjelmana (Vapaavalintainen)
- Palvelinkäyttöjärjestelmän (Linux)
- Web-palvelinohjelmiston (Apache)
- Palvelintekniikkaa, jolla Web-dokumentteja voidaan
tuottaa ohjelmoimalla dynaamisesti (PHP)
- Usein tarvitaan myös relaatiotietokannan
hallintajärjestelmää (PostgreSQL tai MySQL) tietojen
varastointiin.
- Muita palvelinohjelmistoja käytetään tarpeen mukaan:
Postipalvelin (MTA), NNTP-palvelin, ...
Tällaisia Web-sovelluksia voidaan käyttää lukuisiin
erilaisiin käyttötarkoituksiin osana minkä tahansa
organisaation tietojärjestelmää. Sovellusalueesta ja
näkökulmasta riippuen voidaan puhua Internet-, Extranet- tai
Intranet-sovelluksista, Web-pohjaisista
työryhmäohjelmistoista, portaaliohjelmistoista jne.
Kaikkien em. Web-sovellusten keskeisenä ideana on tarjota
yhtenäinen Web-selaimeen rakennettava käyttöliittymä
erilaisiin informaatiopalveluhin.
Joomla!: http://joomla.org/
Vaadittava alusta (LAMP)
- Toimiva käynnissä oleva WWW-palvelin (esim. Apache)
- Toimiva PHP
- Toimiva käynnissä oleva MySQL-tietokantapalvelin
- Olemassaoleva tietokantapalvelimen käyttäjätunnus,
jolla oikeudet luoda uusia tietokantoja (tkuser?)
Asennus
Asennuksen aloitus Linuxin komentotulkissa tavallisena tunnus -nimisenä
käyttäjänä.:
Luodaan t a r vi t t a e s s a joomladb -niminen
tietokanta:
mysqladmin -u tunnus -p create joomladb Enter password:
Huom1: tunnus tarkoittaa
tietokantapalvelimen tunnus-nimistä käyttäjää, joten
salasanakin tulee olla tietokantakäyttäjän tunnus salasana.
mkdir ~/public_html/joomla cd ~/public_html/joomla wget https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip (tai: wget http://student.labranet.jamk.fi/~ara/ftp/Joomla_3-8-5-Stable-Full_Package.zip unzip Joomla_3-8-5-Stable-Full_Package.zip chmod -R 777 ~/public_html/joomla/
Asennus jatkuu Web-selaimella osoitteessa:
- http://mun.ip.osoite/~tunnus/joomla
Valitse esim. seuraavia parametreja:
1 Congiguration:
Site Name: Testiportaali
Email: testi@localhost.fi Useename: admin Password: sala
Site Offline: No
2 Database
MySQLi Host Name: localhost Username: tkuser Password: sala
Database Name: joomladb
3 Overview
Install Sample Data [X] None (Required for basic native multilingual site creation)
->[INSTALL]
Se oli siinä!
=> Pyytää poistamaan asennushakemiston:
=> Voit napsauttaa: Remove
Installation folder -painiketta
Tai tarvittaessa voit uudelleennimetä ao. hakemiston:
cd ~/public_html/joomla mv installation/ installation_rm
ja ladataan aloitussivu uudelleen osoitteesta:
- http://mun.ip.osoite/~tunnus/joomla
Administrator - perusjutut
Osoite: http://mun-palvelin.ip/~tunnus/joomla/administrator/
Pääkäyttäjän päävalikko
System / Control Panel
Sisällön hallinta
- Julkaistava perusyksikkö: Artikkeli
- Artikkeleiden lisäksi mm. syötteitä, äänestyksiä,
linkkikokoelmia, mainoksia, valikkoja
- Artikkelit ryhmitellään puurakenteen mukaisiin kategorioihin
- Valitse: Content / Categories / Add New Category
- Title: Suomen Uutiset
- Parent: no parent
- Description: Uutisia Suomesta Lorem Ipsum Lorem
Ipsum ...
- Muut kohdat: oletusasetuksin.
- => Save
- => Save and Close
- Valitse: Content / Categories / Add New Category
- Title: Jyväskylän uutiset
- Parent: Suomen uutiset
- Kuvaus: Uutisia Jyväskylästä Lorem Ipsum Lorem Ipsum
...
- Muut kohdat: oletusasetuksin.
- => Save
- => Save and Close
- Valitse: Content / Articles / Add New Article
- Title: Räntää räntää
- Category: Jyväskylän uutiset
- Featured: Yes (Näytetään etusivulla)
- Content: Nyt sitä taas saadaan, yllättäen ja
pyytämättä - räntää nimittäin. Lorem Ipsum Lorem Ipsum
...
- Huom: Read more
-toiminnolla voit jakaa artkkelisi osiin. Ennen
ensimmäistä Read
more -katkoa sijaitseva teksti toimii jutun
johdantona eli ingressinä.
- Muut kohdat: oletusasetuksin.
- => Save
- => Save and Close
- Valitse: Content / Articles / Add New Article
- Title: Lunta Lunta
- Category: Jyväskylän uutiset
- Featured: Yes (Näytetään etusivulla)
- Content: Nyt sitä taas saadaan, yllättäen ja
pyytämättä - lunta nimittäin. Lorem Ipsum Lorem Ipsum
...
- Muut kohdat: oletusasetuksin.
- => Save
- => Save and Close
- Käy katsomassa ja toteamassa muutokset
kirjautumattomana käyttäjänä etusivulla (mieluiten
toisella selaimella).
Sivuston layoutin muuttaminen sivupohjilla (template)
Asennettuja sivupohjia valitaan toiminnolla
- Extensions / Templates / Templates
- Huomaa, että (julkiselle) sivustolle (Site) ja ylläpidolle
(Administrator) valitaan teema erikseen!
- Kokeile sivuston oletusmallipohjaksi myös Beez3-pohjaa!
Uuden
sivupohjan (template) asentaminen
Huom: Ota
protostar-sivupohja käyttöön takaisin seuraavien asioiden
testaamisen ajaksi!
Valikot
Valikot ovat moduuleja, joiden tarkoituksena on tarjota
käyttäjille navigointimahdolllisuuksia sivustolla.
Asennuksen jälkeen on olemassa ainoastaan Main Menu -valikko,
jossa on Home-nimike.
- Valikko: Sisältää 1) valikon nimen ja 2) valikon
nimikkeet
- Valikon tyyppi: Yksilöllinen Joomlan sisäinen nimi
valikolla (ei voi olla kahta samannimistä) esim.
resurssit-valikko
- Valikon nimikkeet (linkit) viittaavat: yksittäisiin
artikkeleihin, artikkeliryhmiin tai sivuston
ulkopuolisiin kohteisiin
- Luotuun valikkoon on siis erikseen lisättävä
valikkokohdat (valikon nimikkeet)
- Jotta valikko näkyisi sivustolla, on sitä varten
erikseen luotava Moduuli Moduulien hallinnassa ja lisäksi ao.
Moduuli on julkaistava. Lisäksi on varmistettava, että
Moduulin Asema
on sellainen, joka on käytössä voimassa olevassa
sivupohjassa.
- Valikkoja käsitellään: Sivusto / Ohjauspaneeli/
Valikoiden hallinta
Lisätään Main Menu
-valikkoon CSM-ylläpito -linkki
- Menus / Main Menu
- Menu Items
- Menu: Main Menu
- + New
- Menu Title: CMS - Ylläpito
- Menu Item Type: System Links / URL
- Linkki:
http://mun.palvelimen.ip/~testi/joomla/administrator/
- Muut valinnat: Oletusasetuksin
- Save & Close
- Testaa Sivuston puolella
- Lopputulos: Saatiin lisättyä olemassa olevan
moduulin valikkoon uusi linkki
Lisätään Oleelliset -menu
ja sinne CSM-ylläpito -linkki
- Menus / Manage / Add New Menu
- Title: Oleelliset
- Menu Type: oleelliset
- Save & Close
- Menus / Oleelliset / Add New Menu Item
- Menu Title: CMS - Ylläpito
- Alias: cms-yllaepito2
- Menu Item Type: System Links / URL
- Linkki:
http://mun.palvelimen.ip/~testi/joomla/administrator/
- Muut valinnat: Oletusasetuksin
- Save & Close
- Menus / Oleelliset / Add New Menu Item
- Menu Item Type: Articles / List All Categories
- Title: Kaikki kategoriat
- Alias: kaikki_kategoriat
- Linkki: oletusarvo
(index.php?option=com_content&view=categories)
- Muut valinnat: Oletusasetuksin
- Save & Close
- Menus / Oleelliset / Add New Menu Item
- Menu Item Type: Articles / Category List
- Title: Jyväskylän uutiset
-
Choose a Category: Jyväskylän uutiset
- Linkki: oletusarvo
(index.php?option=com_content&view=category)
- Muut valinnat: Oletusasetuksin
- Save & Close
- Extensions / Modules
- + New
- Select a Module Type: Menu
- Title: Oleelliset
- Select Menu: Oleelliset
- Position: Protostar/Banner (ei todellakaan
optimaalisin sijainti, mutta tätä kautta ymmärtää
kuinkla
- Save & Close
- Testaa Sivuston puolella
Joomlan moduulit
Sivusto / Ohjauspaneeli/ Moduulien hallinta
Moduuleja
käytetään sivustolla näyttämään erilaista sisältöä sekä
mediaa. Valikoilla on oltava aina moduuli, joka määrittää
missä kohdassa sivua valikko näytetään.
Moduulin asema
määrää missä paikassa sivulla moduuli näytetään. Asemat ovat
erilaisia moduulipaikkoja, jotka on määritelty sivupohjassa.
Tärkeää: Jos moduulille merkittyä aseman nimeä esim.
"position-7" ei ole ao. sivupohjassa, niin moduulia ei ao.
tapauksessa näytetä.
Käyttäjien hallinta / Alkeet
- Sivustolla voi olla useita ylläpitäjiä: vastuut
jaetaan käyttäjienhallinnalla (Users/Manage)
- Julkisen ylläpidon ylläpitoryhmiä ovat mm.
- Pääylläpitäjä (admin): rajoittamattomat oikeudet
- Ylläpitäjä/Administrator-ryhmä: Voivat mm. lisätä
uusia käyttäjiä
- Manageri-ryhmä: Oikeus julkaista ja ryhmitellä
sisältöä sekä hallita mediatiedostoja
- Julkisen sivuston rekisteröityneitä
ryhmiä ovat mm.
- Kirjoittaja/Author: Tuottaa sisältöä, joku toinen
(julkaisija) hyväksyy
- Editoija/Editor: Voi julkaista, mutta myös muokata
muiden artikkeleita
- Julkaisija/Publisher: Edellisten lisäksi voivat
hyväksyä toisten kirjoituksia
- Kirjaudu uudelleen admin-käyttäjänä ja lisää
järjestelmään 1) Julkaisija-tason käyttäjä tavis ja 2)
Manageri-tason käyttäjä manageri.
- Testaa voiko edellä luomasi käyttäjänä tavis kirjoittaa
uuden jutun Suomen uutiset/Jyväskylän uutiset
-kategoriaan? Pitäisi pystyä. (Pitää kirjautua julkisen
sivuston kautta ja valita Submit an Article / Luo
artikkeli)
- Testaa voiko edellä luomasi käyttäjänä manageri kirjoittaa
uuden jutun Suomen uutiset/Jyväskylän uutiset
-kategoriaan? Pitäisi pystyä.
OsCommerce
OsCommerce http://www.oscommerce.com/
on kauppapaikkasovellus erityisesti Webissä toteutettavaa
verkkokauppaa varten.
Yleisiä asioita verkkokauppoista
Ennen verkkokaupan perustamista lienee hyvä tutustua
kuluttajaviraston verkkokauppiaan ohjeeseen:
http://www.kuluttajavirasto.fi/fi-FI/yritykselle/verkkokauppa/
Vaatimukset
- Apache toimintakunnossa
- PHP toimintakunnossa
- php5-mysql -paketti asennettuna
- MySQL toimintakunnossa (ks. esim Joomlan asennuksesta)
Asennus
Asennuksen aloitus Linuxin komentotulkissa tavallisena tunnus -nimisenä
käyttäjänä.
Hakeminen ja purkaminen
sudo su - cd /tmp unzip /home/testi/Downloads/oscommerce-2.3.4.1.zip
Kopioidaan tarvittavat tiedostot asentamista varten
mkdir ~/public_html/kauppa cd ~/public_html/kauppa cp -a /tmp/oscommerce-2.3.4.1/catalog/* ~/public_html/kauppa
ja annetaan asennusohjelman muokata konfigurointitiedostoja:
chmod 777 ~/public_html/kauppa/includes/configure.php chmod 777 ~/public_html/kauppa/admin/includes/configure.php
Em. asetukset pitää ainakin tuotantokäytössä muuttaa
asennuksen jälkeen tietorurvasyistä esim. "644-suojatuiksi".
Tästä OSC toki muistutteleekin käyttäjää.
Mahdollinen pääkäyttäjän asennusosio
Katsotaan Web-pohjaisen asennuksen "puutelista" osoiteesta:
http://mun.ip.osoite/~tunnus/kauppa.Tarvittaessa pyydä
palvelimesi ylläpitäjää asentamaan mahdolliset puuttuvat
ohjelmistopaketit. Mahdollisia puutteita:
- php-gd curl php-curl (tai mahdollisesti php5-gd curl
php5-curl)
- Web-palvelimen uudelleenkäynnistys: sudo service
apache2 restart
Luodaan tietokanta
mysqladmin -u tunnus -p create oscommerce_db
Loppuasennus Web-pohjaisena
- Ladataan sivu uudelleen osoitteesta:
http://mun.ip.osoite/kauppa
- Start
- New Installation:
- Database Server:
localhost
- Username:
tkuser
- Passsword:
sala
- Database Name:
tunnus_catalogdb
- Web Server:
- WWW Address:
http://mun.ip.osoite/~tunnus/kauppa/
- Webserver Root Directory:
/home/tunnus/public_html/kauppa/
- Online Store Settings
- Store Name:
Arin store
- Store Owner Name:
Ari Rantala
- Store Owner E-Mail Address:
testi@localhost
- Administrator Username:
admin
- Administrator Password:
sala
- Administration Directory Name:
admin
- Time Zone:
Helsinki
- Finished:
- Asennuksen lopuksi voidaan tarkastella
Online
Store -painikkeella asennetun kauppapaikan
oletusarvoista sisältöä tai siirtyä konfiguroimaan
sovellusta Administration Tool
-painikkeella.
HUOMAA Post-Installations Notes -ilmoitukset:
- Delete the /home/testi/public_html/kauppa/install
directory.
- Rename the Administration Tool directory located at
/home/testi/public_html/kauppa/admin.
- Set the permissions on
/home/testi/public_html/kauppa/includes/configure.php to
644 (or 444 if this file is still writable).
- Set the permissions on
/home/testi/public_html/kauppa/admin/includes/configure.php
to 644 (or 444 if this file is still writable).
- Review the directory permissions on the Administration
Tool -> Tools -> Security Directory Permissions
page.
- The Administration Tool should be further protected
using htaccess/htpasswd and can be set-up within the
Configuration -> Administrators page.
Kuvat ei näy OsCommercen 2.3.4.1-versiossa?
- OsCommercen 2.3.4.1 joissakin
asennuksissa myytävien tuotteiden kuvat eivät näy
oletusarvoisesti, ratkaisu:
Poista images -kansion .htaccess -tiedoston
hakemistolistauksen kieltävä Options -Indexes
-rivi:
sudo nano ~/public_html/kauppa/images/.htaccess
.htaccess -tiedosto:
# $Id$ # # This is used to restrict access to this folder to anything other # than images
# Prevents any script files from being accessed from the images folder <FilesMatch "\.(php([0-9]|s)?|s?p?html|cgi|pl|exe)$"> Order Deny,Allow Deny from all </FilesMatch>
Options -Indexes # <----- Tämä rivi pois kokonaan (tai kommentoi pois)
OsCommerce: Hajahuomioita
- Kauppapaikan sisällön selailu:
http://mun.ip.osoite/~tunnus/kauppa/index.php
- Kauppapaikan ylläpito:
http://mun.ip.osoite/ ~tunnus/ kauppa/admin/index.php
- Ylläpito-osio olisi hyvä suojata aluksi vähintään
HTTP Basic Authentication -menetelmällä (esim
.htaccess-tiedostolla)
- Ylläpito-osion käyttö olisi syytä sallia vain
sellaisista verkkoalueista, joista sitä todella
tarvitsee käyttää
- Ylläpito-osion käyttö tulisi sallia ainoastaan
salattuja yhteyksiä käyttäen (https)
|