Skip to content

Commit 8fd2e3a

Browse files
committed
update website via GitHub Actions
1 parent 6f5fcf1 commit 8fd2e3a

22 files changed

Lines changed: 107 additions & 82 deletions

File tree

advanced/apache/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,10 +1436,10 @@ <h1 id="mapserver-and-apache">MapServer and Apache</h1>
14361436
<p>This page is currently in a draft form.</p>
14371437
</div>
14381438
<h2 id="overview">Overview</h2>
1439-
<p>The Apache web server is used by the workshop Docker image. Since version 8.0 MapServer has a global config file.</p>
14401439
<p>At its heart MapServer is a command-line application that can be accessed through a web server.</p>
1440+
<p>The Apache web server is used by the workshop Docker image.</p>
14411441
<p>Apache has a <a href="https://github.com/MapServer/getting-started-with-mapserver/blob/main/docker/runtime/etc/apache2/conf-enabled/mapserver.conf">configuration file</a>.
1442-
The Docker image uses a [start-up script(https://github.com/MapServer/getting-started-with-mapserver/blob/main/docker/runtime/usr/local/bin/start-server).</p>
1442+
The Docker image uses a <a href="https://github.com/MapServer/getting-started-with-mapserver/blob/main/docker/runtime/usr/local/bin/start-server">start-up script</a>.</p>
14431443
<p>MapServer uses the <a href="https://httpd.apache.org/mod_fcgid/">mod_fcgid module</a>, which is an Apache module that provides FastCGI support.</p>
14441444
<div class="language-text highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>FcgidMaxRequestsPerProcess ${MAX_REQUESTS_PER_PROCESS}
14451445
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>FcgidMinProcessesPerClass ${MIN_PROCESSES}
@@ -1448,8 +1448,8 @@ <h2 id="overview">Overview</h2>
14481448
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>FcgidIdleTimeout ${IDLE_TIMEOUT}
14491449
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>FcgidIOTimeout ${IO_TIMEOUT}
14501450
</span></code></pre></div>
1451-
<p>These are all documented on the [reference page(https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html).</p>
1452-
<p>These all have defaults in the Docker file, but can be overridden using environment variables.</p>
1451+
<p>These are all documented on the <a href="https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html">reference page</a>.</p>
1452+
<p>These all have defaults in the Docker file, but can be overridden using Docker environment variables.</p>
14531453
<div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>ENV MS_DEBUGLEVEL=0 \
14541454
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a> MS_ERRORFILE=stderr \
14551455
</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a> MAPSERVER_CONFIG_FILE=/etc/mapserver.conf \

advanced/debugging/index.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1396,7 +1396,10 @@
13961396

13971397

13981398
<h1 id="debugging-mapserver">Debugging MapServer</h1>
1399-
<p>TODO</p>
1399+
<div class="admonition warning">
1400+
<p class="admonition-title">Warning</p>
1401+
<p>This page is currently in a draft form.</p>
1402+
</div>
14001403
<div class="language-scala highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="w"> </span><span class="nc">LAYER</span>
14011404
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="w"> </span><span class="nc">NAME</span><span class="w"> </span><span class="s">&quot;countries&quot;</span>
14021405
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="w"> </span><span class="nc">DEBUG</span><span class="w"> </span><span class="mi">5</span>
@@ -1405,7 +1408,8 @@ <h1 id="debugging-mapserver">Debugging MapServer</h1>
14051408
CONFIG MS_ERRORFILE &quot;stderr&quot;
14061409
</code></pre></div>
14071410
<p>Then follow live logs:</p>
1408-
<p>docker logs -f mapserver</p>
1411+
<div class="language-text highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>docker logs -f mapserver
1412+
</span></code></pre></div>
14091413

14101414

14111415

advanced/gdalg/index.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,6 +1661,17 @@ <h2 id="overview">Overview</h2>
16611661
<iframe src="https://mapserver.github.io/getting-started-with-mapserver-demo/gdalg.html"></iframe>
16621662
</div>
16631663

1664+
<p>The pipeline we will be running in this example reads a dataset from a FlatGeoBuf file, and applies
1665+
a buffer to it:</p>
1666+
<div>
1667+
<object
1668+
type="image/svg+xml"
1669+
data="/assets/images/roads.gdalg.svg"
1670+
width="100%"
1671+
height="200">
1672+
</object>
1673+
</div>
1674+
16641675
<h2 id="checking-the-pipelines-with-gdal">Checking the Pipelines with GDAL</h2>
16651676
<p>Before configuring MapServer, it is often easier to test your pipelines directly with GDAL, to ensure they run correctly.
16661677
Run the commands below to connect to the MapServer Docker container and use GDAL to get information about the pipelines.</p>

credits/index.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1409,11 +1409,16 @@
14091409

14101410
<h1 id="authors">Authors</h1>
14111411
<ul>
1412-
<li><a href="https://geographika.net/">Seth Girvin</a> (found on GitHub at <a href="https://github.com/geographika">@geographika</a>). Please get in touch if you'd like a particular topic added to the workshop, or require any MapServer development.</li>
1412+
<li><a href="https://geographika.net/">Seth Girvin</a> (found on GitHub at <a href="https://github.com/geographika">@geographika</a>,
1413+
and Mastodon at <a href="https://mastodon.social/@geographika">@geographika</a>).
1414+
Please get in touch if you'd like a particular topic added to the workshop, or require any MapServer development.</li>
14131415
</ul>
14141416
<h1 id="thanks">Thanks</h1>
14151417
<p>Thanks to the following for helping this workshop to be created and improved:</p>
14161418
<ul>
1419+
<li>The workshop participants at <a href="https://2025.europe.foss4g.org/">FOSS4G Europe 2025</a> in Mostar, for their enthusiasm and feedback.</li>
1420+
<li><a href="https://www.osgeo.org/member/even-rouault/">Even Rouault</a> and <a href="https://www.osgeo.org/member/tom-kralidis/">Tom Kralidis</a> for
1421+
assisting, and valuable comments and additions at FOSS4G Europe 2025.</li>
14171422
<li>The workshop participants at <a href="https://2024.europe.foss4g.org/">FOSS4G Europe 2024</a> for their participation, feedback, and for having everything installed ready for a 9am start!</li>
14181423
<li><a href="https://www.osgeo.org/member/michael-smith/">Michael Smith</a> for co-hosting the FOSS4G Europe 2024 workshop, and providing valuable tips and assistance.</li>
14191424
<li>Colleagues at <a href="https://compass.ie/">Compass Informatics</a> for trialling the workshop and providing valuable feedback.</li>

inputs/databases/index.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1598,10 +1598,10 @@ <h2 id="overview">Overview</h2>
15981598
<p>MapServer can connect to most geospatial databases. There are native MapServer drivers for <a href="https://mapserver.org/input/vector/postgis.html">PostgreSQL/PostGIS</a>,
15991599
<a href="https://mapserver.org/input/vector/oracle.html">Oracle</a>, and <a href="https://mapserver.org/input/vector/mssql.html">Microsoft SQL Server</a>. Other databases
16001600
can be accessed through OGR, for example <a href="https://mapserver.org/input/vector/mysql.html">MySQL</a>.</p>
1601-
<p>In this exercise we'll be connecting to a PostGIS database to display water polygon features using a MapServer WMS. <a href="https://postgis.net/">PostGIS</a> spatially enables the <a href="https://www.postgresql.org/">PostgreSQL</a>
1602-
databases. </p>
1601+
<p>In this exercise we'll be connecting to a PostGIS database to display water polygon features using a MapServer WMS.
1602+
<a href="https://postgis.net/">PostGIS</a> spatially enables <a href="https://www.postgresql.org/">PostgreSQL</a> databases. </p>
16031603
<h2 id="docker-setup">Docker Setup</h2>
1604-
<p>To avoid having to install and setup a database we'll be using the <a href="https://hub.docker.com/r/kartoza/postgis/">PostGIS Docker image</a> provided
1604+
<p>To avoid having to install and set up a database we'll be using the <a href="https://hub.docker.com/r/kartoza/postgis/">PostGIS Docker image</a> provided
16051605
by <a href="https://kartoza.com/">Kartoza</a>.</p>
16061606
<div class="admonition info">
16071607
<p class="admonition-title">Info</p>
@@ -1640,7 +1640,7 @@ <h2 id="checking-the-database-connection-with-qgis">Checking the Database Connec
16401640
</ul>
16411641
</div>
16421642
<h2 id="adding-data-to-the-database">Adding Data to The Database</h2>
1643-
<p>We can use the OGR tool <a href="https://gdal.org/programs/ogr2ogr.html">ogr2ogr</a> installed on the MapServer container to add datasets to the PostgreSQL database.</p>
1643+
<p>We can use the GDAL CLI tool <a href="https://gdal.org/en/stable/programs/gdal_vector_convert.html">gdal vector convert</a> installed on the MapServer container to add datasets to the PostgreSQL database.</p>
16441644
<div class="language-bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="c1"># connect to the MapServer Docker image which includes OGR tools for importing data</span>
16451645
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>docker<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>-it<span class="w"> </span>mapserver2<span class="w"> </span>bash
16461646
</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="c1"># navigate to the folder containing the OSM FlatGeobuf files</span>
@@ -1745,11 +1745,11 @@ <h2 id="code">Code</h2>
17451745
</details>
17461746
<h2 id="exercises">Exercises</h2>
17471747
<ol>
1748-
<li>Try and load another dataset into the database using the <code>ogr2ogr</code> approach above.</li>
1748+
<li>Try to load another dataset into the database using the <code>gdal vector convert</code> approach above.</li>
17491749
<li>Now add a new layer to the Mapfile to display the layer. You can make a direct request to MapServer in the form:
17501750
<a href="http://localhost:7000/?map=/etc/mapserver/postgis.map&amp;mode=map&amp;layers=water%20NEWLAYERNAME">http://localhost:7000/?map=/etc/mapserver/postgis.map&amp;mode=map&amp;layers=water%20NEWLAYERNAME</a>.</li>
17511751
<li>
1752-
<p>Now update the JS file so the layer is visible as part of the interactive map, through WMS:</p>
1752+
<p>Now update the JS file so the layer is visible in the interactive map via WMS:</p>
17531753
<div class="language-js highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="w"> </span><span class="nx">source</span><span class="o">:</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">ImageWMS</span><span class="p">({</span>
17541754
</span><span id="__span-4-2"><a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nx">url</span><span class="o">:</span><span class="w"> </span><span class="nx">mapserverUrl</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">mapfilesPath</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s1">&#39;postgis.map&amp;&#39;</span><span class="p">,</span>
17551755
</span><span id="__span-4-3"><a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="nx">params</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">&#39;LAYERS&#39;</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;water,NEWLAYERNAME&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;STYLES&#39;</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;&#39;</span><span class="w"> </span><span class="p">},</span>

inputs/raster/index.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1617,9 +1617,9 @@
16171617

16181618
<h1 id="raster-data">Raster Data</h1>
16191619
<h2 id="overview">Overview</h2>
1620-
<p>MapServer can serve both <a href="https://mapserver.org/input/vector/index.html">vector</a> and <a href="https://mapserver.org/input/raster.html">raster</a> data.</p>
1621-
<p>The dataset used in this example is elevation data from the <a href="https://geoportaal.maaamet.ee/eng/Spatial-Data/Elevation-Data-p308.html">Estonian Geoportal</a>,
1622-
and data provided by the Estonian Land Board 2024. It covers Tartu center and is from map sheet 474659.</p>
1620+
<p>MapServer can serve both <a href="https://mapserver.org/input/vector/index.html">vector</a> and <a href="https://mapserver.org/input/raster.html">raster</a> data.
1621+
The dataset used in this example is elevation data from the <a href="https://geoportaal.maaamet.ee/eng/Spatial-Data/Elevation-Data-p308.html">Estonian Geoportal</a>,
1622+
provided by the Estonian Land Board (2024). It covers Tartu center and is from map sheet 474659.</p>
16231623
<div class="map">
16241624
<iframe src="https://mapserver.github.io/getting-started-with-mapserver-demo/raster.html"></iframe>
16251625
</div>
@@ -1652,7 +1652,7 @@ <h2 id="a-raster-layer">A Raster LAYER</h2>
16521652
</span><span id="__span-1-13"><a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span><span class="nc">INCLUDE</span><span class="w"> </span><span class="s">&quot;terrain.include&quot;</span>
16531653
</span><span id="__span-1-14"><a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="nc">END</span>
16541654
</span></code></pre></div>
1655-
<p>There are a few points to note in this Mapfile. </p>
1655+
<p>There are a few points to note about this Mapfile.</p>
16561656
<h2 id="include-files">Include Files</h2>
16571657
<p>We are making use of the <a href="https://mapserver.org/mapfile/include.html">INCLUDE</a>
16581658
directive. This allows us to include additional files within our Mapfile. Any file extensions can be used, and paths are always relative to the main
@@ -1677,7 +1677,7 @@ <h2 id="include-files">Include Files</h2>
16771677
</span><span id="__span-2-13"><a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a><span class="nc">END</span>
16781678
</span></code></pre></div>
16791679
<h2 id="composite-blocks">Composite Blocks</h2>
1680-
<p>A <a href="https://mapserver.org/mapfile/composite.html">COMPOSITE</a> block is used on the layer to make it 20% transparent.</p>
1680+
<p>A <a href="https://mapserver.org/mapfile/composite.html">COMPOSITE</a> block is used to make the layer 20% transparent.</p>
16811681
<h2 id="code">Code</h2>
16821682
<div class="admonition example">
16831683
<p class="admonition-title">Example</p>

inputs/vector/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1564,7 +1564,7 @@ <h2 id="overview">Overview</h2>
15641564

15651565
<h2 id="remote-datasets-using-virtual-file-systems">Remote Datasets using Virtual File Systems</h2>
15661566
<p>GDAL's <a href="https://gdal.org/user/virtual_file_systems.html">Virtual File Systems</a> can be used to
1567-
access data over stored on a network, for example on a server or Amazon S3 bucket. </p>
1567+
access data stored on a network, for example on a server or Amazon S3 bucket. </p>
15681568
<div class="language-scala highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nc">CONNECTIONTYPE</span><span class="w"> </span><span class="nc">OGR</span>
15691569
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="nc">CONNECTION</span><span class="w"> </span><span class="s">&quot;/vsicurl/https://raw.githubusercontent.com/ofrohn/d3-celestial/master/data/constellations.lines.json&quot;</span>
15701570
</span></code></pre></div>
@@ -1725,7 +1725,7 @@ <h2 id="exercises">Exercises</h2>
17251725
</span><span id="__span-3-14"><a id="__codelineno-3-14" name="__codelineno-3-14" href="#__codelineno-3-14"></a><span class="w"> </span><span class="nc">END</span>
17261726
</span><span id="__span-3-15"><a id="__codelineno-3-15" name="__codelineno-3-15" href="#__codelineno-3-15"></a><span class="nc">END</span>
17271727
</span></code></pre></div>
1728-
<p>In the <code>stars.js</code> you will need to ensure the <code>milkyway</code> layer is added to the OpenLayers map:</p>
1728+
<p>In the <code>stars.js</code> file you will need to ensure the <code>milkyway</code> layer is added to the OpenLayers map:</p>
17291729
<div class="language-js highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nx">params</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">&#39;LAYERS&#39;</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;constellations,stars,stars2,milkyway&#39;</span><span class="p">},</span>
17301730
</span></code></pre></div>
17311731
</li>

introduction/commandline/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1425,23 +1425,23 @@ <h1 id="mapserver-on-the-command-line">MapServer on the Command Line</h1>
14251425
</span><span id="__span-1-4"><a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE INPUT=FLATGEOBUF
14261426
</span></code></pre></div>
14271427
<p>When run through a web server, data is passed to the <code>mapserv</code> application, which generates output that is then sent back through the web server.
1428-
All web requests can be recreated and tested on the command line, this makes it a handy debugging tool. </p>
1428+
All web requests can be recreated and tested on the command line, making it a handy debugging tool.</p>
14291429
<p>To test a URL such as <a href="http://localhost:7000/?map=/etc/mapserver/countries.map&amp;mode=map">http://localhost:7000/?map=/etc/mapserver/countries.map&amp;mode=map</a> run the following command:</p>
14301430
<div class="language-bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>mapserv<span class="w"> </span><span class="s2">&quot;QUERY_STRING=map=/etc/mapserver/countries.map&amp;mode=map&quot;</span>
14311431
</span></code></pre></div>
14321432
<p>This will output a PNG image to the command line - this will look like garbage!</p>
14331433
<p>We can save the output by redirecting it to a file using <code>&gt;</code>.
14341434
As the <code>mapserv</code> program returns responses for a web client it also returns HTTP headers. To create a valid image file we need to strip these
1435-
header by using the <code>-nh</code> (no headers) switch.</p>
1435+
headers by using the <code>-nh</code> (no headers) switch.</p>
14361436
<div class="language-bash highlight"><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>mapserv<span class="w"> </span>-nh<span class="w"> </span><span class="s2">&quot;QUERY_STRING=map=/etc/mapserver/countries.map&amp;mode=map&quot;</span><span class="w"> </span>&gt;<span class="w"> </span>/etc/mapserver/test.png
14371437
</span></code></pre></div>
1438-
<p><code>test.png</code> should now be on your local disk at <code>getting-started-with-mapserver/workshop/exercises/mapfiles</code>.</p>
1438+
<p><code>test.png</code> should now be available on your local disk at <code>getting-started-with-mapserver/workshop/exercises/mapfiles</code>.</p>
14391439
<p><img alt="Test output generated at the command line" src="../../assets/images/command-line-test.png" /></p>
14401440
<div class="admonition tip">
14411441
<p class="admonition-title">Tip</p>
14421442
<p>The <code>docker-compose.yml</code> file maps local folders to folders on the Docker container. Files created in the Docker
14431443
container will be visible on your local disk, and files on your local disk will be visible in the container.
1444-
This is set in in the <code>volumes</code> section, using the syntax <code>- LOCAL_FOLDER:CONTAINER_FOLDER</code></p>
1444+
This is set in the <code>volumes</code> section, using the syntax <code>- LOCAL_FOLDER:CONTAINER_FOLDER</code></p>
14451445
<div class="language-yaml highlight"><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nt">volumes</span><span class="p">:</span>
14461446
</span><span id="__span-4-2"><a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./scripts:/scripts</span>
14471447
</span><span id="__span-4-3"><a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./mapfiles:/etc/mapserver</span>

0 commit comments

Comments
 (0)