Instalace Apache serveru
1
2
| sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install apache2 -y
|
Spuštění aplikace Apache a nastavení spuštění po startu serveru
1
| sudo systemctl start apache2 && systemctl enable apache2
|
Povolení portů ve firewall
1
2
| sudo ufw allow 'Apache Full'
sudo ufw reload
|
Povolení modulu mod_rewrite
1
2
| sudo a2enmod rewrite
sudo systemctl restart apache2
|
Instalace PHP 7.4
1
| sudo apt-get install php php-bcmath php-bz2 php-intl php-gd php-mbstring php-mysql php-zip php-opcache php-pdo php-calendar php-ctype php-exif php-ffi php-fileinfo php-ftp php-iconv php-intl php-json php-mysqli php-phar php-posix php-readline php-shmop php-sockets php-sysvmsg php-sysvsem php-sysvshm php-tokenizer php-curl php-ldap -y
|
Instalace PHP Composer
PHP Composer je nástroj na instalaci a správu závislostí PHP knihoven
1
2
| curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
|
Instalace MariaDB
1
| sudo apt-get install mariadb-server mariadb-client -y
|
Spuštění aplikace MariaDB a nastavení spuštění po startu serveru
1
| sudo systemctl start mariadb && systemctl enable mariadb
|
Konfigurace zabezpečení databázového serveru
1
| sudo mysql_secure_installation
|
1
2
3
4
5
6
| Enter current password for root (enter for none): <enter>
Set a root password? [Y/n]: y
Remove anonymous users? : y
Disallow root login remotely? : y
Remove test database and access to it? : y
Reload privilege tables now? : y
|
Založení databáze pro Snipe-IT
Přihlášení do databázového serveru
Vytvoření DB. Hodnotu ZMEN_HESLO nahraď vlastním heslem, možné je změnit i uživatelské jméno snipe_it_user
1
2
3
4
5
| CREATE DATABASE snipe_it;
CREATE USER 'snipe_it_user'@'localhost' IDENTIFIED BY 'ZMEN_HESLO';
GRANT ALL PRIVILEGES ON snipe_it.* TO 'snipe_it_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
|
Instalace Snipe-IT
Otevři složku webového serveru
Stažení aplikace z repozitáře
1
| sudo git clone https://github.com/snipe/snipe-it snipe-it
|
Otevři staženou složku, vytvoř konfigurační soubor a otevři ho pro editaci
1
2
3
| cd /var/www/snipe-it
sudo cp /var/www/snipe-it/.env.example /var/www/snipe-it/.env
sudo nano /var/www/snipe-it/.env
|
Uprav následující proměné
1
2
3
4
5
6
7
| APP_URL=snipeit.domena.cz
APP_TIMEZONE='Europe/Prague'
DB_PORT=3306
DB_DATABASE=null
DB_USERNAME=null
DB_PASSWORD=null
|
Změna oprávnění na Snipe-IT složce
1
2
| sudo chown -R www-data:www-data /var/www/snipe-it
sudo chmod -R 755 /var/www/snipe-it
|
Instalace Snipe-IT závislostí pomocí Composer
1
2
| composer update –no-plugins –no-scripts
composer install --no-dev --prefer-source
|
Vygenerování APP_key
Příkaz vygeneruje APP_key a uloží ho do souboru /var/www/snipe-it/.env
1
| php artisan key:generate
|
Vytvoření Virtual Host File
Zakázání výchozí konfigurace
1
| sudo a2dissite 000-default.conf
|
Vytvoření nového Apache config file
1
| sudo nano /etc/apache2/sites-available/snipe-it.conf
|
1
2
3
4
5
6
7
8
9
10
11
| <VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/snipe-it/public
<Directory /var/www/snipe-it/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
|
Povolené nové konfigurace
1
2
| sudo a2ensite snipe-it.conf
sudo systemctl restart apache2
|
Otevři URL webového serveru a dokonči instalaci v prohlížeči.
Instalace CERTBOT a konfigurace https
1
| sudo apt-get install certbot python3-certbot-apache -y
|
Získání certifikátu
Pokračuj podle instrukcí průvodce…
Ověření naplánování obnovy certifikátu
1
| sudo systemctl status certbot.timer
|
Příklad výstupu:
1
2
3
4
5
6
7
8
| Output
● certbot.timer - Run certbot twice daily
Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Sun 2022-09-18 20:12:54 UTC; 15min ago
Trigger: Mon 2022-09-19 00:33:47 UTC; 4h 5min left
Triggers: ● certbot.service
Sep 18 20:12:54 dev-ts-snipeit-we-vm-1 systemd[1]: Started Run certbot twice daily.
|
Otestování obovy certifikátu
1
| sudo certbot renew --dry-run
|