servnest-mkosi/mkosi.postinst

100 lines
2.8 KiB
Plaintext
Raw Normal View History

2022-04-20 00:29:47 +02:00
#!/usr/bin/bash
source /etc/os-release
# Create system users
useradd -U -r -s /usr/sbin/nologin nginx
2023-01-29 21:14:36 +01:00
useradd -U -r -s /usr/sbin/nologin servnest
useradd -U -r -s /usr/sbin/nologin sftpgo
# Set proper permissions
2022-05-03 19:18:09 +02:00
chown -R knot:knot /var/lib/knot/confdb
chmod -R u=rwX,g=rwX,o= /var/lib/knot/confdb
2023-01-29 21:14:36 +01:00
usermod -aG knot servnest
chown -R knot:knot /var/log/knot
2022-06-23 19:50:50 +02:00
chmod -R u=rwX,g=,o= /var/log/knot
2023-01-29 21:14:36 +01:00
chown -R servnest:knot /srv/servnest/ns
chmod -R u=rwX,g=rwX,o= /srv/servnest/ns
chown -R servnest:knot /srv/servnest/reg
chmod -R u=rwX,g=rwX,o= /srv/servnest/reg
2023-01-29 21:14:36 +01:00
chown -R servnest:nginx /srv/servnest/nginx /srv/servnest/subpath /srv/servnest/subdomain
chmod -R u=rwX,g=rX,o= /srv/servnest/nginx /srv/servnest/subpath /srv/servnest/subdomain
chown -R sftpgo:sftpgo /etc/sftpgo
2022-05-31 23:56:38 +02:00
chmod -R u=rX,g=rX,o=rX /etc/sftpgo
chmod u=r,g=,o= /etc/sftpgo/ed25519
2023-01-29 21:14:36 +01:00
chown -R servnest:sftpgo /srv/servnest/ht
chmod -R u=rwX,g=rwX,o=rX /srv/servnest/ht
2022-05-06 14:08:38 +02:00
if [[ $ID = "debian" ]]; then
2023-01-29 21:14:36 +01:00
chown -R servnest:debian-tor /srv/servnest/tor-config
chown -R debian-tor:debian-tor /srv/servnest/tor-keys
2022-05-06 14:08:38 +02:00
else
2023-01-29 21:14:36 +01:00
chown -R servnest:tor /srv/servnest/tor-config
chown -R tor:tor /srv/servnest/tor-keys
2022-05-06 14:08:38 +02:00
fi
2023-01-29 21:14:36 +01:00
chmod -R u=rwX,g=rX,o= /srv/servnest/tor-config
chmod -R u=rwX,g=,o= /srv/servnest/tor-keys
2022-05-05 02:03:01 +02:00
2023-01-29 21:14:36 +01:00
chown -R servnest:nginx /srv/servnest/core /srv/servnest/errors
chmod -R u=rX,g=rX,o= /srv/servnest/core /srv/servnest/errors
chown -R servnest:servnest /srv/servnest/core/db
chmod -R u=rwX,g=,o= /srv/servnest/core/db
# Load configuration in Knot database
sudo -u knot knotc conf-import /etc/knot/knot.conf
2022-05-05 02:03:01 +02:00
# PHP paths unification across distributions
export PHP_INI=/etc/php/php.ini
if [[ $ID = "debian" ]]; then
2023-01-29 21:14:36 +01:00
rm /etc/php/8.2/fpm/php-fpm.conf
ln -s /etc/php/php-fpm.conf /etc/php/8.2/fpm/php-fpm.conf
ln -s /etc/php/php-fpm.d/ /etc/php/8.2/fpm/pool.d
2023-01-29 21:14:36 +01:00
export PHP_INI=/etc/php/8.2/fpm/php.ini
fi
# Configure PHP-FPM properly
cat >> $PHP_INI << EOF
expose_php = Off
display_errors = On
extension = pdo_sqlite
2022-12-13 19:39:34 +01:00
extension = sodium
2023-01-29 21:14:36 +01:00
extension = gettext
2022-12-13 19:39:34 +01:00
zend_extension = opcache
opcache.jit_buffer_size = 32M
EOF
2022-06-10 03:20:19 +02:00
# Configure Tor
if [[ $ID = "debian" ]]; then
mv /etc/systemd/system/tor.service.d/ /etc/systemd/system/tor@default.service.d/
2022-06-10 03:20:19 +02:00
sed -i 's/User tor/User debian-tor/' /etc/tor/torrc
2023-01-29 21:14:36 +01:00
sed -i 's/reload tor/reload tor@default/' /etc/sudoers.d/servnest
sed -i 's/ALL=(tor)/ALL=(debian-tor)/' /etc/sudoers.d/servnest
sed -i 's/systemctl reload tor"/systemctl reload tor@default"/' /srv/servnest/core/config.ini
2023-01-29 21:14:36 +01:00
sed -i 's/tor_user = "tor"/tor_user = "debian-tor"/' /srv/servnest/core/config.ini
2022-05-05 02:03:01 +02:00
fi
# Start SystemD services at startup
systemctl enable sftpgo
2022-04-20 00:29:47 +02:00
if [[ $ID = "arch" ]]; then
systemctl enable sshd
systemctl enable knot
systemctl enable nginx
2022-05-04 17:45:05 +02:00
systemctl enable tor
2022-04-20 00:29:47 +02:00
systemctl enable php-fpm
pacman-key --init
pacman-key --populate
2022-04-20 00:29:47 +02:00
fi