Katalog na systemie plików ZFS zfs create nazwazasobuzfs/nazwakatalogu edycja pliku /etc/pve/storage.cfg
Katalog na systemie plików ZFS
zfs create nazwazasobuzfs/nazwakatalogu
edycja pliku /etc/pve/storage.cfg
dir: nazwa katalogu widocznego w panelu proxmox
path /nazwazasobuzfs/nazwakatalogu
content iso,images,backup
shared 0
is_mountpoint 1
Arch Linux kontener dla Dockera
inicjalizacja pacman:
pacman-key --init
pacman-key --populate archlinux
Instalacja update, openssh, docker, mc:
pacman -Syu
pacman -S openssh
pacman -Syy docker
pacman -Syy mc
systemctl restart sshd
systemctl enable sshd
Instalacja Portainer community edition:
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
https://localhost:9443
Uruchominie VM z klastra gdy jeden z serwerów nie działa:
Przy próbie uruchomienia VM pojawia się błąd: cluster not redy - no quorum? (500)
Na działającym węźle wykonać polecenie: pvecm expected 1
Niestety wszystkie wydania jak do tej pory zostały oparte o dystrybucje RedHat, Ubuntu i SUSE z obsługą systemdW załączeniu paczka txz z MSSQL dla Slackware MSSQL 2022 Build 16.0.950.9-1 –>mssql-server_16.0.950.9-1 MSSQL 2019 tools–>mssql-tools_17.7.1.1-1_amd64.txz MSODBCSQL–>msodbcsql17_17.10.1.1-1 Dodatkowe biblioteki dla wersji 16.0.950.9-1 libsss_nss_idmap.0.6.0–>libsss_nss_idmap rozpakować do /usr/local/lib64 Pierwsza konfiguracja serwera poprzez /opt/mssql/bin/mssql-conf setupLista dostępnych opcji poprzez uruchomienie samego mssql-conf […]
Niestety wszystkie wydania jak do tej pory zostały oparte o dystrybucje RedHat, Ubuntu i SUSE z obsługą systemd
W załączeniu paczka txz z MSSQL dla Slackware
MSSQL 2022 Build 16.0.950.9-1 –>mssql-server_16.0.950.9-1
MSSQL 2019 tools–>mssql-tools_17.7.1.1-1_amd64.txz
MSODBCSQL–>msodbcsql17_17.10.1.1-1
Dodatkowe biblioteki dla wersji 16.0.950.9-1 libsss_nss_idmap.0.6.0–>libsss_nss_idmap rozpakować do /usr/local/lib64
Pierwsza konfiguracja serwera poprzez /opt/mssql/bin/mssql-conf setup
Lista dostępnych opcji poprzez uruchomienie samego mssql-conf
nazwa serwera mssql vNEXT = nazwa hosta
przykładowy skrypt uruchomieniowy:
#!/bin/bash
#
# /etc/rc.d/rc.mssql
#
# Start/stop MSSQL
# Last modified: 03.01.2018
case „$1” in
’start’ )
echo „Start MSSQL”
nohup /opt/mssql/bin/sqlservr > /dev/null 2>&1 & echo $! > /var/run/sqlservr.pid
echo „MSSQL started.”
;;
’stop’)
echo „Stop MSSQL.”
pid=`cat /var/run/sqlservr.pid`
kill -s SIGINT $pid
rm /var/run/sqlservr.pid
echo „MSSQL Stopped.”
;;
*)
echo „usage $0 start|stop”
;;
esac
Tworzone bazy danych maja compatibility level 150 , czyli dalej mssql 2019
Testowo baza płatnika o rozmiarze 4GB działa bez zarzutu zarówno w pierwotnym compatibility level 110 jak i w podniesionym do 150
Przydatne zapytania SQL
Podniesienie compatibility level:
ALTER DATABASE nazwa_bazy
SET COMPATIBILITY_LEVEL = 150;
GO
Sprawdzenie poziomu compatibility level:
USE nazwa_bazy;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'nazwa_bazy’;
GO
AdHoc włączenie – dla Płatnika
sp_configure 'show advanced options’, 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries’, 1;
RECONFIGURE;
GO
Dodanie nazwy serwera do sys.servers
EXEC sp_addlinkedserver @server=’Twoja_nazwa’
Sprawdzenie nazw linked server
select name from sys.servers
Po instalacji zmiana collation z domyślnego latin1 zanim uruchomimy serwer mssql
mssql-conf set-collation
wpisać: Polish_CI_AS
Jest to bardzo ważne jeżeli przenosimy bazy np pakietu firmy INSERT (Subiekt, Rewizor, Rachmistrz itp) jeżeli nie zmienimy kodowania serwera na kodowanie równe bazie danych przy aktualizacji podmiotów otrzymamy błąd 0x80040E14
Przykładowy skrypt backupu pojedynczej bazy danych
#!/bin/bash
#
KIEDY=`date +%F`
KATALOG=/katalog/przechowywania/kopii
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P haslo_bazy -Q „BACKUP DATABASE [nazwa_bazy] TO DISK = N’$KATALOG/nazwa_bazy-$KIEDY.bak’ WITH NOFORMAT, NOINIT, NAME = 'nazwa_bazy-full’, SKIP, NOREWIND, STATS = 10”
gzip -9 $KATALOG/nazwa_bazy-$KIEDY.bak
Za nami rok zmagania się z pandemią COVID19 , a co za tym idzie pracą zdalną. Wielu administratorów małych sieci zastanawiało się pewnie w jaki sposób bezpiecznie udostępnić zasoby komputera z pracy zdalnej nie narażając sieci na włamania. Z pomocą przychodzi aplikacja MultiOTP, Ma ona bardzo dużą zaletę, umożliwia włączenie autoryzacji tylko dla połączeń zdalnych […]
Za nami rok zmagania się z pandemią COVID19 , a co za tym idzie pracą zdalną. Wielu administratorów małych sieci zastanawiało się pewnie w jaki sposób bezpiecznie udostępnić zasoby komputera z pracy zdalnej nie narażając sieci na włamania. Z pomocą przychodzi aplikacja MultiOTP, Ma ona bardzo dużą zaletę, umożliwia włączenie autoryzacji tylko dla połączeń zdalnych poprzez protokół RDP. Instalacja jest banalnie prosta, do katalogu c:/windows/system32 należy skopiować plik MultiOTPCredentialProviderV2.dll zaimportować wpis rejestru. Pliki załączone wraz z MultioOTYP Oraz z wypakowanego pliku katalog multiotp skopiować na głowną partycje c:\. W powstałym katalogu c:\multiotp\windows uruchomić plik multiotp.exe Wygeneruje on domyślną konfiguracje w katalogu config, multiotp.ini ,w pliku tym można ustawić np Issuer – nazwa wystawcy MULTIOTP czas ważności kodu itp.
Aby wygenerować kod autoryzacyjny trzeba wykonać trzy komendy:
- c:\multiotp\windows\multiotp -log -create nazwa_uzytkownika TOTP 4d123df5bf645cf0ad154cff528b6ee221d398e1 1234 6 30
- c:\multiotp\windows\multiotp -debug -set nazwa_uzytkownika pin=
- c:\multiotp\windows\multiotp -debug -qrcode nazwa_uzytkownika nazwa_uzytkownika.png
W pierwszej komendzie tworzymy użytkownika wraz z hashem kodującym ( ciąg 41 znaków). Druga komenda ustawia pin, tak mozna jeszcze dodatkowo ustawć, ta komenda go wyłącza. Trzecia komenda generuje kod QR dla aplikacji wyświetlającej token.
Do obsługi tokena świetnie nadaje się Aplikacja na systemy Android i IOS – Microsoft Authenticator, dostępna za darmo w sklepi GooglePlay lub AppStore
Autoryzacja wygląda w następujący sposób: Po poprawnym zalogowaniu się do pulpitu zdalnego wymagana jest powtórna autoryzacja z dodatkowym użyciem tokena z aplikacji Microsoft Authenticator.
Bardzo ważną kwestią jest dokładna synchronizacja zegara komputera z urządzeniem generującym kod ( telefonem) różnica rzędu 2-5 sekund nie będzie sprawiać większego problemu, natomiast różnica większa od czasu zmiany tokena nie pozwoli na zdalne zalogowanie się
Skompresowany MultiOTP z plikiem reg oraz dll –>multiotp.zip
Konfiguracja exim 4.94 do współpracy z vexim2 i mariadb kompilacja i instalacja libspf2 https://github.com/shevek/libspf2 ./configure –libdir=/usr/local/lib64 && make && make install Dovecot z Slackbuilds.org –>Dovecot 2.3.4 Przed budowaniem paczki wykonać: groupadd -g 202 dovecot && useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot && groupadd -g 248 dovenull && useradd -d /dev/null -s […]
Konfiguracja exim 4.94 do współpracy z vexim2 i mariadb
kompilacja i instalacja libspf2 https://github.com/shevek/libspf2 ./configure –libdir=/usr/local/lib64 && make && make install
Dovecot z Slackbuilds.org –>Dovecot 2.3.4
Przed budowaniem paczki wykonać:
groupadd -g 202 dovecot && useradd -d /dev/null -s /bin/false -u 202 -g 202 dovecot && groupadd -g 248 dovenull && useradd -d /dev/null -s /bin/false -u 248 -g 248 dovenull
Pliki do podmiany w etc/dovecot –>dovecot.zip
Plik zawiera skrypt do generowania certyfikatów , w pliku /etc/dovecot/dovecot-sql.conf.ext w linii connect = host=/var/run/mysql/mysql.sock dbname=vexim2 user=username password=password
należy ustawić login i hasło użytkownika mysql dla bazy vexim2
Clamav https://www.clamav.net/downloads
Konfiguracja i instalacja ( dla formalności: ./configure –prefix=/usr –sysconfdir=/etc –localstatedir=/var –with-user=exim –with-group=exim && make && make install && :>/var/log/freshclam.log && :>/var/log/clamd.log && chown exim:exim /var/log/freshclam.log && chown exim:exim /var/log/clamd.log
Bogofilter 1.2.5 –>bogofilter
Pliki do podmiany w etc –>bogofilter.zip
Należy utworzyć katalog /tmp/bogofilter oraz /var/spool/bogofilter i nadać im uprawnienia dla użytkownika exim oraz grupy exim
chown exim:exim /var/spool/bogofilter && chown exim:exim /tmp/bogofilter
Spamassassin z Slackbuilds.org –>Spamassassin 3.4.4
Przed budowaniem paczki zainstalować potrzebne pakiety perla
cpan -i HTML::Parser && cpan -i Net::DNS && cpan -i NetAddr::IP && cpan -i Digest::SHA1 && cpan -i Mail::SPF && cpan -i GeoIP2::Database::Reader && cpan -i Geo::IP && cpan -i IP::Country::DB_File && cpan -i Net::CIDR::Lite && cpan -i IO::Socket::INET6 && cpan -i IO::Socket::SSL && cpan -i Mail::DKIM && cpan -i LWP::UserAgent && cpan -i Encode::Detect::Detector && cpan -i Net::Patricia && cpan -i BSD::Resource && cpan -i Archive::Zip && cpan -i IO::String
oraz:
Razor2 –>Razor2
perl Makefile.PL && make && make install
re2c Slackbuild –>re2c
Po instalacji koniecznie wykonać polecenie sa-update
dnspython Slackbuilds.org –>dnspython
mailman Slackbuilds.org –>mailman
Przed tworzeniem pakietu wykonać: groupadd -g 204 mailman && useradd -u 204 -d /dev/null -s /bin/false -g mailman mailman
Po instalacji wykonać /opt/mailman/bin/check_perms -f
vexim2 git clone https://github.com/vexim/vexim2.git –>vexim2
Skopiować plik /vexim/config/variables.php.example na variables.php
Plik konfiguracyjny vexim2 vexim/config/variables.php –>variables.zip
W pliku variables.php ustawić użytkownika i hasło dla bazy vexim2
Domyślne miejsce dla domen = $mailroot = „/var/vmail/”;
Plik mojego autorstwa polonizujący konsole vexim2 –>pl.zip
Rozpakować do katalogu locale w pliku config/i18n.php ustawić $language = 'pl_PL’;
Mysql
Inicjalizacja: mysql_install_db –user=mysql
chmod 755 /etc/rc.d/rc.mysqld
/etc/rc.d/rc.mysqld start
Utworzenie hasła dla użytkownika root w mysql: mysqladmin -u root password 'Twoje haslo’
Utworzyć użytkownika i haslo dla bazy vexim2
mysql -u root -p
CREATE USER 'username’@’localhost’ IDENTIFIED BY 'password’;
GRANT ALL PRIVILEGES ON * . * TO 'username’@’localhost’;
FLUSH PRIVILEGES;
Utworzenie bazy danych vexim2:
mysql -u username -p
CREATE DATABASE vexim2;
Zasilenie bazy danych:
w katalogu vexim2/setup:
mysql -u username -D vexim2 -p < mysql.sql
Po zasileniu bazy danych zostanie wyświetlone haslo dla aministratora vexim2 - siteadmin
"A site administrator user has been created with the following credentials:
User name: siteadmin
Password: aHer4dmfcn
You are encouraged to change this password to an even more secure one though."
EXIM
Użytkownik i grupa dla Exim
groupadd exim && useradd -g exim -d / -s /dev/null exim && mkdir -m 750 /var/log/exim && chown exim:exim /var/log/exim
Konfiguracja Exim - plik Local/Makefile -->Makefile
Kompilacja instalacja – make && make install
Skompresowane pakiety oraz źródła –>vexim2_pakiety_i_zrodla.tar
Niestety wszystkie wydania jak do tej pory zostały oparte o dystrybucje RedHat, Ubuntu i SUSE z obsługą systemd W załączeniu paczka txz z MSSQL dla Slackware Do poprawnego działania potrzebne są biblioteki libc++ oraz numactl w Slackware 14.2 dodatkowo python3 jeżeli ktoś nie ma zainstalowanego, paczki pythona3 zbudowana ze źródeł current Python3–>python3-3.9.1-x86_64-2.txz Python-setuptools–>python-setuptools-53.0.0-x86_64-1.txz Gotowe paczki […]
Niestety wszystkie wydania jak do tej pory zostały oparte o dystrybucje RedHat, Ubuntu i SUSE z obsługą systemd
W załączeniu paczka txz z MSSQL dla Slackware
Do poprawnego działania potrzebne są biblioteki libc++ oraz numactl w Slackware 14.2 dodatkowo python3 jeżeli ktoś nie ma zainstalowanego, paczki pythona3 zbudowana ze źródeł current
Python3–>python3-3.9.1-x86_64-2.txz
Python-setuptools–>python-setuptools-53.0.0-x86_64-1.txz
Gotowe paczki przy linkach do slackbuildów
https://slackbuilds.org/repository/14.2/system/numactl/?search=libnuma –>numactl-2.0.13-x86_64-1_SBo.tgz
Do poprawnego zbudowania paczki z libc++ wymagane są biblioteki – w odpowiedniej kolejności:
https://slackbuilds.org/repository/14.2/libraries/libunwind/ –>libunwind-1.1-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/development/docutils/–>docutils-0.14-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/pytz/–>pytz-2018.3-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/babel/–>babel-2.5.3-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/six/–>six-1.14.0-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/MarkupSafe/–>MarkupSafe-1.1.1-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/libraries/Jinja2/–>Jinja2-2.11.2-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/Pygments/–>Pygments-2.7.2-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/python-requests/–>python-requests-2.25.0-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/alabaster/–>alabaster-0.7.12-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/python/imagesize/–>imagesize-1.2.0-x86_64-2_SBo.tgz
https://slackbuilds.org/repository/14.2/python/snowballstemmer/–>snowballstemmer-1.2.1-x86_64-2_SBo.tgz
https://slackbuilds.org/repository/14.2/development/Sphinx/–>Sphinx-3.4.1-x86_64-1_SBo.tgz
https://slackbuilds.org/repository/14.2/network/krb5/–>krb5-1.19-x86_64-1.txz
Na koniec pakiet libc++ https://slackbuilds.org/repository/14.2/libraries/libc++/–>libc++-3.8.0-x86_64-1_SBo
MSSQL 2019 Build 15.0.4083.2-15 –>mssql-server_15.0.4083.2-15_amd64.txz
MSSQL 2019 tools–>mssql-tools_17.7.1.1-1_amd64.txz
MSODBCSQL–>msodbcsql_13.1.9.2-1_amd64
Dodatkowe biblioteki dla wersji 15.0.4083.2-15 libsss_nss_idmap–>libsss_nss_idmap rozpakować do /usr/local/lib64
Pierwsza konfiguracja serwera poprzez /opt/mssql/bin/mssql-conf setup
Lista dostępnych opcji poprzez uruchomienie samego mssql-conf
nazwa serwera mssql vNEXT = nazwa hosta
przykładowy skrypt uruchomieniowy:
#!/bin/bash
#
# /etc/rc.d/rc.mssql
#
# Start/stop MSSQL
# Last modified: 03.01.2018
case „$1” in
'start’ )
echo „Start MSSQL”
nohup /opt/mssql/bin/sqlservr > /dev/null 2>&1 & echo $! > /var/run/sqlservr.pid
echo „MSSQL started.”
;;
'stop’)
echo „Stop MSSQL.”
pid=`cat /var/run/sqlservr.pid`
kill -s SIGINT $pid
rm /var/run/sqlservr.pid
echo „MSSQL Stopped.”
;;
*)
echo „usage $0 start|stop”
;;
esac
Tworzone bazy danych maja compatibility level 140 = mssql -vNext
Testowo baza płatnika o rozmiarze 4GB działa bez zarzutu zarówno w pierwotnym compatibility level 110 jak i w podniesionym do 140
Przydatne zapytania SQL
Podniesienie compatibility level:
ALTER DATABASE nazwa_bazy
SET COMPATIBILITY_LEVEL = 150;
GO
Sprawdzenie poziomu compatibility level:
USE nazwa_bazy;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'nazwa_bazy’;
GO
AdHoc włączenie – dla Płatnika
sp_configure 'show advanced options’, 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries’, 1;
RECONFIGURE;
GO
Dodanie nazwy serwera do sys.servers
EXEC sp_addlinkedserver @server=’Twoja_nazwa’
Sprawdzenie nazw linked server
select name from sys.servers
Po instalacji zmiana collation z domyślnego latin1 zanim uruchomimy serwer mssql
mssql-conf set-collation
wpisać: Polish_CI_AS
Jest to bardzo ważne jeżeli przenosimy bazy np pakietu firmy INSERT (Subiekt, Rewizor, Rachmistrz itp) jeżeli nie zmienimy kodowania serwera na kodowanie równe bazie danych przy aktualizacji podmiotów otrzymamy błąd 0x80040E14
Przykładowy skrypt backupu pojedynczej bazy danych
#!/bin/bash
#
KIEDY=`date +%F`
KATALOG=/katalog/przechowywania/kopii
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P haslo_bazy -Q „BACKUP DATABASE [nazwa_bazy] TO DISK = N’$KATALOG/nazwa_bazy-$KIEDY.bak’ WITH NOFORMAT, NOINIT, NAME = 'nazwa_bazy-full’, SKIP, NOREWIND, STATS = 10”
gzip -9 $KATALOG/nazwa_bazy-$KIEDY.bak