Hvernig á að setja upp dotCMS á Ubuntu 16.04

DotCMS er opinn uppspretta vefumsjónarkerfi í fyrirtækjaflokki skrifað í Java. Það inniheldur næstum alla eiginleika sem þarf til að búa til vefsíðu fyrir fyrirtækið þitt. Það veitir RESTful API til að samþætta við aðra þjónustu eins og CRM, farsímaforrit og fleira. Það notar Elasticsearch fyrir rauntíma flokkun efnis og Redis til að innleiða marglaga skyndiminni.

Forkröfur

  • Vultr Ubuntu 16.04 netþjónstilvik.
  • A sudo notandi .
  • Lén vísaði í átt að þjóninum.

Fyrir þessa kennslu munum við nota 192.168.0.1 sem opinbera IP tölu og cms.example.com sem lénið sem vísaði í átt að Vultr tilvikinu. Vinsamlega vertu viss um að skipta út öllum tilfellum af dæmi léninu og opinberu IP-tölu fyrir hið raunverulega.

Uppfærðu grunnkerfið þitt með því að nota handbókina Hvernig á að uppfæra Ubuntu 16.04 . Þegar kerfið þitt hefur verið uppfært skaltu halda áfram að setja upp Java.

Settu upp Java

Bættu við Ubuntu geymslunni fyrir Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Settu upp Java.

sudo apt -y install oracle-java8-installer

Þú munt geta staðfest útgáfu Java.

java -version

Þú munt sjá eftirfarandi úttak.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Stilltu sjálfgefna slóð fyrir Java með því að setja upp eftirfarandi pakka.

sudo apt -y install oracle-java8-set-default

Þú getur staðfest að það JAVA_HOMEsé stillt.

echo $JAVA_HOME

Þú ættir að sjá eftirfarandi.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Ef þú sérð alls ekkert úttak þarftu að skrá þig út úr núverandi skel og skrá þig aftur inn.

Settu upp PostgreSQL

Sjálfgefið er dotCMS stillt til að nota H2 gagnagrunnsvélina. H2 gagnagrunnsvélin er gagnagrunnsvél sem byggir á flatri skrá. Ekki er mælt með því að nota það í framleiðslu. Í þessari kennslu munum við nota PostgreSQL miðlara til að geyma dotCMS gagnagrunninn.

PostgreSQL er gagnagrunnskerfi sem tengist hlutum, þekkt fyrir stöðugleika og hraða. Sjálfgefin Ubuntu geymslan inniheldur gamla útgáfu af PostgreSQL, svo bættu við PostgreSQL geymslunni.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Settu upp PostgreSQL gagnagrunnsþjóninn.

sudo apt -y install postgresql

Ræstu PostgreSQL þjóninn og gerðu það kleift að ræsast sjálfkrafa við ræsingu.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Breyttu lykilorðinu fyrir sjálfgefinn PostgreSQL notanda.

sudo passwd postgres

Skráðu þig inn sem PostgreSQL notandi.

sudo su - postgres

Búðu til nýjan PostgreSQL notanda fyrir dotCMS.

createuser dotcms 

PostgreSQL veitir psql skelina til að keyra fyrirspurnir á gagnagrunnsþjóninum. Skiptu yfir í PostgreSQL skelina.

psql

Stilltu lykilorð fyrir nýstofnaðan notanda fyrir dotCMS gagnagrunninn.

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

Skiptu um lykilorð notanda gagnagrunnsins DBPassword fyrir öruggt lykilorð.

Búðu til nýjan gagnagrunn fyrir dotCMS uppsetninguna.

CREATE DATABASE dotcms OWNER dotcms;

Farið úr psql skelinni.

\q

Skiptu yfir í sudo notanda.

exit

Settu upp dotCMS

Sæktu dotCMS skjalasafnið.

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.3.2.tar.gz

Þú getur alltaf fundið hlekkinn á nýjustu útgáfuna af forritinu á dotCMS niðurhalssíðunni .

Búðu til nýja möppu til að geyma dotCMS skrárnar og draga þær út í hana.

sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms

Opnaðu gagnagrunnsstillingarskrána.

cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml

Finndu H2 blokkina.

<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Skrifaðu athugasemd út allan H2 hlutann með því að færa athugasemdaafmörkunina --> frá upphafi hlutans til loka hlutans. Það ætti að líta svona út.

<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->

Taktu athugasemdir við PostgreSQL hlutann með því að fjarlægja athugasemdaafmörkunina --> í lok hlutans og setja hann á efstu umbúðirnar POSTGRESQL. Finndu líka username= og password= skiptu út núverandi gildum fyrir notandanafn og lykilorð PostgreSQL gagnagrunnsnotandans þíns. Ef þú hefur notað annað nafn gagnagrunns en dotcms, þá þarftu að breyta nafni gagnagrunnsins í url=. Þegar það hefur verið stillt mun PostgreSQL blokkin í skránni líta út eins og eftirfarandi.

<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      driverClassName="org.postgresql.Driver"
      url="jdbc:postgresql://localhost/dotcms"
      username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
      removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
      timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

Gefðu framkvæmdarheimild fyrir allar keyranlegu skrárnar.

sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh

DotCMS er nú sett upp á netþjóninum þínum. Til að keyra forritið strax skaltu framkvæma eftirfarandi.

cd /opt/dotcms
sudo bin/startup.sh

Þú munt sjá eftirfarandi úttak þegar þjónninn hefur ræst með góðum árangri.

user@vultr:/opt/dotcms$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS =  -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID:    /tmp/dotcms.pid
Tomcat started.

Ofangreind skipun mun ræsa Tomcat vefþjóninn til að þjóna forritinu á höfn 8080.

Open your favorite browser and browse to http://192.168.0.1:8080. You will see that the application is running a demo website. If you do not see your website, please wait as the first startup of the dotCMS server takes five to ten minutes as it writes data into the PostgreSQL database and builds the cache. You can also check the startup logs.

tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log

Configure Systemd

The dotCMS server can be started directly using the startup script provided in the installer package. As a matter of convenience, you should set up a Systemd unit file for the dotCMS server. This will ensure that the application server is automatically started on system restart and failures.

Stop the running dotCMS server using the shutdown script.

sudo bin/shutdown.sh

Create an unprivileged user for running the dotCMS server, for security reasons.

sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms

Provide ownership of the files to the dotCMS user.

sudo chown -R dotcms:dotcms /opt/dotcms

Búðu til nýja Systemd þjónustu.

sudo nano /etc/systemd/system/dotcms.service

Fylltu út skrána.

[Unit]
Description=dotCMS service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always

[Install]
WantedBy=multi-user.target

Ræstu forritið og gerðu það kleift að ræsast sjálfkrafa við ræsingu.

sudo systemctl start dotcms
sudo systemctl enable dotcms

Gakktu úr skugga um að þjónustan sé í gangi.

sudo systemctl status dotcms

Stilltu öfugt umboð

Sjálfgefið er að dotCMS þjónninn hlustar á port 8080. Við munum stilla Nginx sem öfugan umboð þannig að hægt sé að nálgast forritið í gegnum staðalinn HTTP og HTTPS tengi. Við munum einnig stilla Nginx til að nota SSL sem er búið til með Let's Encrypt.

Settu upp Nginx.

sudo apt -y install nginx

Ræstu Nginx og gerðu það kleift að byrja sjálfkrafa við ræsingu.

sudo systemctl start nginx
sudo systemctl enable nginx

Bættu við Certbot geymslunni.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Settu upp Certbot, sem er biðlaraforritið fyrir Let's Encrypt CA.

sudo apt -y install certbot

Athugið: Til að fá skírteini frá Let's Encrypt CA verður lénið sem á að búa til skírteini að vera beint að þjóninum. Ef ekki, gerðu nauðsynlegar breytingar á DNS-skrám lénsins og bíddu eftir að DNS breiðist út áður en þú gerir vottorðsbeiðnina aftur. Certbot athugar lénsvaldið áður en það gefur upp vottorðin.

Búðu til SSL vottorðin.

sudo certbot certonly --webroot -w /var/www/html -d cms.example.com

Líklegt er að útbúin skírteini séu geymd í /etc/letsencrypt/live/cms.example.com/. Við skulum dulkóða vottorð renna út eftir 90 daga, þess vegna er mælt með því að setja upp sjálfvirka endurnýjun skírteina með Cron störf.

Opnaðu cron vinnuskrána.

sudo crontab -e

Bættu við eftirfarandi línu í lok skráarinnar.

30 5 * * * /usr/bin/certbot renew --quiet

Ofangreint cron starf mun keyra á hverjum degi klukkan 5:30. Ef skírteinið á að renna út verður það sjálfkrafa endurnýjað.

Búðu til nýja netþjónablokkaskrá fyrir dotCMS síðuna.

sudo nano /etc/nginx/sites-available/dotcms

Fylltu út skrána.

server {
    listen 80;
    server_name cms.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name cms.example.com;

    ssl_certificate           /etc/letsencrypt/live/cms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/cms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/dotcms.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://cms.example.com;
    }
  }

Virkjaðu uppsetninguna.

sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms

Endurræstu Nginx vefþjóninn svo breytingarnar geti tekið gildi.

sudo systemctl restart nginx

DotCMS forritið er nú sett upp á netþjóninum þínum til framleiðslunotkunar. Fáðu aðgang að stjórnunarborðinu á eftirfarandi heimilisfangi.

https://cms.example.com/dotAdmin

Skráðu þig inn með því að nota upphaflega stjórnandareikninginn [email protected] og lykilorðið admin. Breyttu sjálfgefna lykilorðinu strax eftir innskráningu.

Til hamingju, dotCMS vefumsjónarkerfið er nú sett upp á netþjóninum þínum. Þú getur breytt kynningarsíðunni eða þú getur byrjað að byggja upp síðuna þína frá grunni.


Hvernig á að setja upp Thelia 2.3 á Debian 9

Hvernig á að setja upp Thelia 2.3 á Debian 9

Að nota annað kerfi? Thelia er opinn hugbúnaður til að búa til vefsíður fyrir rafræn viðskipti og stjórna efni á netinu sem skrifað er í PHP. Thelia frumkóði i

Hvernig á að setja upp Microweber á CentOS 7

Hvernig á að setja upp Microweber á CentOS 7

Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér

Að setja upp Microweber á Ubuntu 16.04

Að setja upp Microweber á Ubuntu 16.04

Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér

Hvernig á að setja upp dotCMS á Ubuntu 16.04

Hvernig á að setja upp dotCMS á Ubuntu 16.04

Að nota annað kerfi? DotCMS er opinn uppspretta vefumsjónarkerfi í fyrirtækjaflokki skrifað í Java. Það inniheldur næstum alla eiginleika sem þarf t

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Hvernig á að setja upp Pagekit 1.0 CMS á FreeBSD 11 FAMP VPS

Að nota annað kerfi? Pagekit 1.0 CMS er fallegt, mát, útvíkkanlegt og létt, ókeypis og opið efnisstjórnunarkerfi (CMS) með

Hvernig á að setja upp BigTree CMS á Fedora 26 LAMP VPS

Hvernig á að setja upp BigTree CMS á Fedora 26 LAMP VPS

Að nota annað kerfi? BigTree CMS 4.2 er hraðvirkt og létt, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) fyrir fyrirtæki með víðtæka

Að setja upp Pagekit CMS á Ubuntu 16.04 LTS

Að setja upp Pagekit CMS á Ubuntu 16.04 LTS

Að nota annað kerfi? Pagekit er opinn uppspretta CMS skrifað í PHP. Pagekit frumkóði er hýst á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp

Hvernig á að setja upp PyroCMS á Ubuntu 16.04

Hvernig á að setja upp PyroCMS á Ubuntu 16.04

Að nota annað kerfi? PyroCMS er opinn uppspretta CMS skrifað í PHP. PyroCMS frumkóði er hýstur á GitHub. Í þessari handbók ganga vel í gegnum allt

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

How to Install Subrion 4.1 CMS on a FreeBSD 11 FAMP VPS

Using a Different System? Subrion 4.1 CMS is a powerful and flexible open source Content Management System (CMS) that brings an intuitive and clear conten

Hvernig á að setja upp Backdrop CMS 1.8.0 á Debian 9 LAMP VPS

Hvernig á að setja upp Backdrop CMS 1.8.0 á Debian 9 LAMP VPS

Að nota annað kerfi? Backdrop CMS 1.8.0 er einfalt og sveigjanlegt, farsímavænt, ókeypis og opið efnisstjórnunarkerfi (CMS) sem gerir okkur kleift að

Hvernig á að setja upp Roadiz CMS á Debian 9

Hvernig á að setja upp Roadiz CMS á Debian 9

Að nota annað kerfi? Inngangur Roadiz er nútímalegt CMS hannað til að takast á við margar tegundir þjónustu. Byggt á Symfony íhlutum og Doctrine ORM, þ.e

Að setja upp Microweber á Debian 9

Að setja upp Microweber á Debian 9

Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér

Hvernig á að setja upp Grav CMS á Fedora 28

Hvernig á að setja upp Grav CMS á Fedora 28

Að nota annað kerfi? Grav er opinn uppspretta flatskrár CMS skrifað í PHP. Grav frumkóði er hýst opinberlega á GitHub. Þessi handbók mun sýna þér hvernig t

Hvernig á að setja upp Grav CMS á Debian 9

Hvernig á að setja upp Grav CMS á Debian 9

Að nota annað kerfi? Grav er opinn uppspretta flatskrár CMS skrifað í PHP. Grav frumkóði er hýst opinberlega á GitHub. Þessi handbók mun sýna þér hvernig t

Hvernig á að setja upp Automad CMS á CentOS 7

Hvernig á að setja upp Automad CMS á CentOS 7

Að nota annað kerfi? Automad er opinn uppspretta skráabundið innihaldsstjórnunarkerfi (CMS) og sniðmátsvél skrifað í PHP. Automad frumkóði i

Hvernig á að setja upp Raneto á Ubuntu 17.10

Hvernig á að setja upp Raneto á Ubuntu 17.10

Raneto er ókeypis og opinn þekkingargrunnur, byggður á Node.js sem auðvelt er að setja upp og nota, auk þess sem auðvelt er að stjórna því. Flokkar og síður ar

Hvernig á að setja upp Thelia 2.3 á Ubuntu 16.04

Hvernig á að setja upp Thelia 2.3 á Ubuntu 16.04

Að nota annað kerfi? Thelia er opinn hugbúnaður til að búa til vefsíður fyrir rafræn viðskipti og stjórna efni á netinu sem skrifað er í PHP. Thelia frumkóði i

Hvernig á að setja upp október 1.0 CMS á Debian 9 LAMP VPS

Hvernig á að setja upp október 1.0 CMS á Debian 9 LAMP VPS

Að nota annað kerfi? október 1.0 CMS er einfalt og áreiðanlegt, ókeypis og opinn uppspretta efnisstjórnunarkerfi (CMS) byggt á Laravel ramma

Hvernig á að setja upp ImpressPages CMS 5.0 á Ubuntu 16.04 LAMP VPS

Hvernig á að setja upp ImpressPages CMS 5.0 á Ubuntu 16.04 LAMP VPS

Að nota annað kerfi? ImpressPages CMS 5.0 er einfalt og áhrifaríkt, ókeypis og opinn uppspretta, notendavænt, MVC byggt, efnisstjórnunarkerfi (CMS)

Hvernig á að setja upp CMS Made Simple 2.2 á Debian 9 LAMP VPS

Hvernig á að setja upp CMS Made Simple 2.2 á Debian 9 LAMP VPS

Að nota annað kerfi? CMS Made Simple 2.2 er sveigjanlegt og stækkanlegt, ókeypis og opið efnisstjórnunarkerfi (CMS) sem er skynsamlega hannað til að b.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira