Update docs/source/install.rst
This commit is contained in:
parent
80b6881d16
commit
7e5e545c80
docs/source
|
@ -59,37 +59,46 @@ For below, we will use the following. You can adjust as needed
|
||||||
APPS_DIR='/var/www/html/apps'
|
APPS_DIR='/var/www/html/apps'
|
||||||
|
|
||||||
|
|
||||||
1. Install dependencies:
|
Install dependencies:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
apt-get -y install apache2 php-{pgsql,zip,gd,simplexml,curl,fpm} proftpd libapache2-mod-fcgid postfix python3-certbot-apache gdal-bin
|
apt-get -y install apache2 php-{pgsql,zip,gd,simplexml,curl,fpm} proftpd libapache2-mod-fcgid postfix python3-certbot-apache gdal-bin
|
||||||
|
|
||||||
2. Install QGIS Server
|
Install QGIS Repository
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
# Check release:
|
|
||||||
lsb_release -cs
|
|
||||||
|
|
||||||
wget --no-check-certificate --quiet -O /etc/apt/keyrings/qgis-archive-keyring.gpg https://download.qgis.org/downloads/qgis-archive-keyring.gpg
|
wget --no-check-certificate --quiet -O /etc/apt/keyrings/qgis-archive-keyring.gpg https://download.qgis.org/downloads/qgis-archive-keyring.gpg
|
||||||
|
|
||||||
cat >>/etc/apt/sources.list.d/qgis.sources <<CAT_EOF
|
|
||||||
|
Check release using lsb_release -cs and create /etc/apt/sources.list.d/qgis.sources as below
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
Types: deb deb-src
|
Types: deb deb-src
|
||||||
URIs: https://qgis.org/ubuntu
|
URIs: https://qgis.org/ubuntu
|
||||||
Suites: # use output from lsb_release -cs above
|
Suites: # use output from lsb_release -cs above
|
||||||
Architectures: amd64
|
Architectures: amd64
|
||||||
Components: main
|
Components: main
|
||||||
Signed-By: /etc/apt/keyrings/qgis-archive-keyring.gpg
|
Signed-By: /etc/apt/keyrings/qgis-archive-keyring.gpg
|
||||||
CAT_EOF
|
|
||||||
|
|
||||||
|
Update and install QGIS Server:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
apt-get update -y || true
|
apt-get update -y || true
|
||||||
|
|
||||||
apt-get install -y qgis-server
|
apt-get install -y qgis-server
|
||||||
|
|
||||||
|
|
||||||
|
Create /etc/logrotate.d/qgisserver with below:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
|
||||||
if [ -d /etc/logrotate.d ]; then
|
/var/log/qgisserver.log {
|
||||||
cat >/etc/logrotate.d/qgisserver <<CAT_EOF
|
|
||||||
/var/log/qgisserver.log {
|
|
||||||
su www-data www-data
|
su www-data www-data
|
||||||
size 100M
|
size 100M
|
||||||
notifempty
|
notifempty
|
||||||
|
@ -98,9 +107,11 @@ For below, we will use the following. You can adjust as needed
|
||||||
daily
|
daily
|
||||||
compress
|
compress
|
||||||
create 660 www-data www-data
|
create 660 www-data www-data
|
||||||
}
|
|
||||||
CAT_EOF
|
Create qgisserver.log and set permissions
|
||||||
fi
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
|
||||||
mkdir -p ${DATA_DIR}/qgis
|
mkdir -p ${DATA_DIR}/qgis
|
||||||
chown www-data:www-data ${DATA_DIR}/qgis
|
chown www-data:www-data ${DATA_DIR}/qgis
|
||||||
|
@ -108,38 +119,42 @@ For below, we will use the following. You can adjust as needed
|
||||||
touch /var/log/qgisserver.log
|
touch /var/log/qgisserver.log
|
||||||
chown www-data:www-data /var/log/qgisserver.log
|
chown www-data:www-data /var/log/qgisserver.log
|
||||||
|
|
||||||
3. Set up Apache
|
Set up Apache
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
a2enmod ssl headers expires fcgid cgi
|
a2enmod ssl headers expires fcgid cgi
|
||||||
|
|
||||||
|
|
||||||
4. Copy conf files from installer directory
|
Copy conf files from installer directory
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
cp installer/apache2.conf /etc/apache2/sites-available/default-ssl.conf
|
cp installer/apache2.conf /etc/apache2/sites-available/default-ssl.conf
|
||||||
|
|
||||||
|
|
||||||
sed "s|\$DATA_DIR|$DATA_DIR|" < installer/qgis_apache2.conf > /etc/apache2/sites-available/qgis.conf
|
Copy conf files from installer directory and configure
|
||||||
|
|
||||||
for f in default-ssl 000-default; do
|
.. code-block:: console
|
||||||
sed -i.save "s/#ServerName example.com/ServerName ${HNAME}/" /etc/apache2/sites-available/${f}.conf
|
|
||||||
done
|
|
||||||
|
sed "s|\$DATA_DIR|$DATA_DIR|" < installer/qgis_apache2.conf > /etc/apache2/sites-available/qgis.conf
|
||||||
|
|
||||||
a2ensite 000-default default-ssl qgis
|
a2ensite 000-default default-ssl qgis
|
||||||
a2disconf serve-cgi-bin
|
a2disconf serve-cgi-bin
|
||||||
|
|
||||||
# switch to mpm_event to server faster and use HTTP2
|
|
||||||
PHP_VER=$(php -version | head -n 1 | cut -f2 -d' ' | cut -f1,2 -d.)
|
Switch to mpm_event and use HTTP2
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
a2enmod proxy_fcgi setenvif http2
|
a2enmod proxy_fcgi setenvif http2
|
||||||
a2enconf php${PHP_VER}-fpm
|
a2enconf php8.1-fpm
|
||||||
a2enmod mpm_event
|
a2enmod mpm_event
|
||||||
|
|
||||||
systemctl reload apache2
|
systemctl reload apache2
|
||||||
|
|
||||||
5. Set up ProFTPD
|
Set up ProFTPD
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
@ -149,7 +164,7 @@ For below, we will use the following. You can adjust as needed
|
||||||
systemctl enable proftpd
|
systemctl enable proftpd
|
||||||
systemctl restart proftpd
|
systemctl restart proftpd
|
||||||
|
|
||||||
6. Create the PostgreSQL database
|
Create the PostgreSQL database
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
@ -161,7 +176,7 @@ For below, we will use the following. You can adjust as needed
|
||||||
psql -c "ALTER DATABASE quartz OWNER TO quartz"
|
psql -c "ALTER DATABASE quartz OWNER TO quartz"
|
||||||
CMD_EOF
|
CMD_EOF
|
||||||
|
|
||||||
7. Create the Data, Cache, and Apps directories
|
Create the Data, Cache, and Apps directories
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
@ -176,17 +191,16 @@ For below, we will use the following. You can adjust as needed
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
8. Give sync service +w to apps/1/images dir
|
Give sync service +w to apps/1/images dir
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
chmod -R g+w "${APPS_DIR}"
|
chmod -R g+w "${APPS_DIR}"
|
||||||
|
|
||||||
9. Create the const.php configuration file using values from above
|
Create the admin/incl/const.php configuration file using values from above
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
cat >admin/incl/const.php <<CAT_EOF
|
|
||||||
<?php
|
<?php
|
||||||
define("DB_HOST", "localhost");
|
define("DB_HOST", "localhost");
|
||||||
define("DB_NAME", "${APP_DB}");
|
define("DB_NAME", "${APP_DB}");
|
||||||
|
@ -199,10 +213,9 @@ For below, we will use the following. You can adjust as needed
|
||||||
define("DATA_DIR", "${DATA_DIR}");
|
define("DATA_DIR", "${DATA_DIR}");
|
||||||
define("SUPER_ADMIN_ID", 1);
|
define("SUPER_ADMIN_ID", 1);
|
||||||
define("SESS_USR_KEY", 'quartz_user');
|
define("SESS_USR_KEY", 'quartz_user');
|
||||||
?>
|
?>
|
||||||
CAT_EOF
|
|
||||||
|
|
||||||
10. Copy files from quartzmap directory to /var/www/html
|
Copy files from quartzmap directory to /var/www/html
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue