Created
August 15, 2019 08:37
-
-
Save jendrusk/fbcda7680a7c62195c4b87ca7fd429c7 to your computer and use it in GitHub Desktop.
Skrypt instaluje uprel/gisapp i uprel/gisportal na ubuntu 18.04
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -x | |
#czekamy aż będzie sieć | |
while ! (ping -c 1 8.8.8.8); do sleep 1; done | |
# update, upgrade | |
apt update | |
apt upgrade -y | |
# instalacja apache | |
apt install -y apache2 libapache2-mod-fcgid | |
# instalacja mc | |
apt install -y mc | |
apt install -y software-properties-common git | |
# włączenie modułów apache | |
a2enmod rewrite | |
a2enmod cgi | |
a2enmod fcgid | |
service apache2 restart | |
# repozytorium dla paczek QGIS | |
apt-add-repository 'deb https://qgis.org/debian-ltr bionic main' | |
apt-key adv --keyserver keyserver.ubuntu.com --recv-key CAEB3DC3BDF7FB45 | |
apt update | |
# sprawdzamy co się zainstaluje | |
apt policy qgis-server | |
#instalacja QGIS Serwera | |
apt install -y qgis-server python3-qgis | |
#instalacja bazy danych | |
apt install -y postgresql | |
#instalacja php | |
apt install -y php libapache2-mod-php php-pgsql php-xml php-zip | |
service apache2 restart | |
#instalacja gdal-bin | |
apt install -y gdal-bin | |
#instalacja gisapp | |
cd /var/www/html/ && git clone https://github.com/uprel/gisapp.git | |
cd /var/www/html/gisapp && git checkout v1.8.2 | |
cp /var/www/html/gisapp/_setup/gisapp.conf /etc/apache2/conf-available/ | |
#rekonfiguracja apache | |
sed -i '2i\ ' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iInclude conf-available/gisapp.conf' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iInclude conf-available/serve-cgi-bin.conf' /etc/apache2/sites-available/000-default.conf | |
sed -i '2i\ ' /etc/apache2/sites-available/000-default.conf | |
sed -i '2i FcgidInitialEnv QGIS_AUTH_DB_DIR_PATH "/srv/qgissrvdb/"' /etc/apache2/sites-available/000-default.conf | |
sed -i '2i FcgidInitialEnv QGIS_AUTH_PASSWORD_FILE "/srv/qgissrvdb/qgis-auth.db"' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iFcgidInitialEnv QGIS_SERVER_LOG_FILE /var/log/qgis/qgisserver.log' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iFcgidInitialEnv QGIS_SERVER_LOG_LEVEL 0' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iFcgidInitialEnv QGIS_DEBUG 1' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iFcgidIOTimeout 120' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iFcgidMaxRequestLen 26214400' /etc/apache2/sites-available/000-default.conf | |
sed -i '2iFcgidConnectTimeout 60' /etc/apache2/sites-available/000-default.conf | |
service apache2 restart | |
# foldery dla QGIS Servera | |
mkdir -p /srv/qgissrvdb/ | |
chown www-data:www-data /srv/qgissrvdb/ | |
mkdir /var/log/qgis/ | |
chown www-data:www-data /var/log/qgis | |
service apache2 reload | |
# utworzenie użytkownika w bazie | |
sudo -u postgres psql -c "create user gisapp_usr nocreatedb inherit login createrole superuser password 'gausr54321';" | |
# utworzenie bazy danych dla aplikacji | |
sudo -u postgres psql <<EOF | |
CREATE DATABASE gisapp WITH OWNER = gisapp_usr ENCODING = 'UTF8'; | |
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON tables TO gisapp_usr; | |
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, USAGE ON sequences TO gisapp_usr; | |
\connect gisapp | |
\i /var/www/html/gisapp/_scripts/_setup.sql | |
EOF | |
#zapisanie hasła dla postgresa lokalnie | |
echo "127.0.0.1:5432:gisapp:gisapp_usr:gausr54321" > ~/.pgpass | |
chmod 700 ~/.pgpass | |
# sprawdzenie czy baza działa i została prawidłowo wypełniona | |
psql -h 127.0.0.1 -U gisapp_usr -w -c "SELECT name FROM layers;" gisapp | |
# kopia ustawień z szablonu i zmiana danych logowania do bazy | |
cp /var/www/html/gisapp/admin/settings_template.php /var/www/html/gisapp/admin/settings.php | |
sed -i 's/username/gisapp_usr/g' /var/www/html/gisapp/admin/settings.php | |
sed -i 's/password/gausr54321/g' /var/www/html/gisapp/admin/settings.php | |
# pokaż ustawienia | |
cat /var/www/html/gisapp/admin/settings.php | |
# kopia ustawień javascriptu | |
cp /var/www/html/gisapp/client_common/settings-template.js /var/www/html/gisapp/client_common/settings.js | |
# pobieramy gisportal (część administracyjna) | |
cd /var/www/html/ && git clone https://github.com/uprel/gisportal.git | |
cd /var/www/html/gisportal && git checkout v1.0.0 | |
# Konfiguracja dostępu do bazy danych | |
sed -i 's/\x27username\x27 => \x27pguser\x27/\x27username\x27 => \x27gisapp_usr\x27/g' /var/www/html/gisportal/application/config/database.php | |
sed -i 's/\x27password\x27 => \x27password\x27/\x27password\x27 => \x27gausr54321\x27/g' /var/www/html/gisportal/application/config/database.php | |
# konfiguracja adresu i domyślnego języka | |
sed -i 's/\$config\[\x27base_url\x27\] = \x27http:\/\/your_site\/gisportal\/\x27;/\$config\[\x27base_url\x27\] = \x27http:\/\/gisapp.demo\/gisportal\/\x27;/g' /var/www/html/gisportal/application/config/config.php | |
sed -i 's/\$config\[\x27language\x27\]\t= \x27english\x27;/\$config\[\x27language\x27\]\t= \x27polish\x27;/g' /var/www/html/gisportal/application/config/config.php | |
# Kopia ustawień gisportalu z szablonu | |
cp /var/www/html/gisportal/application/config/gisportal_template.php /var/www/html/gisportal/application/config/gisportal.php | |
# Adjust gisportal specific settings in new gisportal.php file. | |
# Edit header_logo.png in assets/img folder. | |
# Enable integration with gisportal in gisapp/client_common/settings.js | |
sed -i 's/Eqwc\.settings\.useGisPortal = false;/Eqwc\.settings\.useGisPortal = true;/g' /var/www/html/gisapp/client_common/settings.js | |
# żeby zachować informację o logowaniu między aplikacjami trzeba przeedytować php.ini | |
sed -i 's/session\.name = PHPSESSID/session\.name = sess_/g' /etc/php/7.2/apache2/php.ini | |
sed -i 's/session\.name = PHPSESSID/session\.name = sess_/g' /etc/php/7.2/cli/php.ini | |
sed -i 's/session\.gc_maxlifetime = 1440/session\.gc_maxlifetime = 7200/g' /etc/php/7.2/apache2/php.ini | |
sed -i 's/session\.gc_maxlifetime = 1440/session\.gc_maxlifetime = 7200/g' /etc/php/7.2/cli/php.ini | |
chown -R www-data:www-data /var/www | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment