User:Dart Raiden/Server setup: Difference between revisions
Dart Raiden (talk | contribs) No edit summary |
Dart Raiden (talk | contribs) No edit summary |
||
| Line 51: | Line 51: | ||
<tt>sudo systemctl restart nginx</tt> | <tt>sudo systemctl restart nginx</tt> | ||
use repair_settings.php and status.php from https://github.com/SimpleMachines/tools/ | |||
== Restore wiki backup == | == Restore wiki backup == | ||
Revision as of 16:59, 8 June 2026
sudo apt install nginx php-fpm php-mysql php-mbstring php-curl memcached
MariaDB
sudo apt install mariadb-server
sudo mysql_secure_installation (do not set a root password; enable the other restrictions)
sudo mysql -u root
CREATE USER 'forum'@'localhost' IDENTIFIED BY 'p@ssword'; CREATE DATABASE forum_miranda_ng_org; quit
sudo mysql -u root -f forum_miranda_ng_org < ~/forumbackup.sql
sudo mysql -u root
GRANT ALL ON forum_miranda_ng_org.* to 'forum'@'localhost'; FLUSH PRIVILEGES; quit
sudo mysql -u root
CREATE USER 'wiki'@'localhost' IDENTIFIED BY 'p@ssword'; CREATE DATABASE wiki_miranda_ng_org; quit
sudo mysql -u root -f wiki_miranda_ng_org < ~/wikibackup.sql
sudo mysql -u root
GRANT ALL ON wiki_miranda_ng_org.* to 'wiki'@'localhost'; FLUSH PRIVILEGES; quit
Restore forum backup
sudo mkdir /var/www/forum.miranda-ng.org
sudo unzip ~/forum.zip -d /var/www/forum.miranda-ng.org
sudo chown -R www-data:www-data /var/www/forum.miranda-ng.org
sudo nano /etc/nginx/sites-available/forum.miranda-ng.org
sudo ln -s /etc/nginx/sites-available/forum.miranda-ng.org /etc/nginx/sites-enabled/
sudo systemctl restart nginx
use repair_settings.php and status.php from https://github.com/SimpleMachines/tools/
Restore wiki backup
sudo mkdir /var/www/wiki.miranda-ng.org
udo unzip ~/wiki.zip -d /var/www/wiki.miranda-ng.org
sudo chown -R www-data:www-data /var/www/wiki.miranda-ng.org
sudo nano /etc/nginx/sites-available/wiki.miranda-ng.org
sudo ln -s /etc/nginx/sites-available/wiki.miranda-ng.org /etc/nginx/sites-enabled/
sudo systemctl restart nginx
chmod +x /var/www/wiki.miranda-ng.org/htdocs/extensions/SyntaxHighlight_GeSHi/pygments/pygmentize
php wikifolder/maintenance/update.php
Restore website backup
sudo mkdir /var/www/miranda-ng.org
sudo unzip ~/mainsite.zip -d /var/www/miranda-ng.org
sudo chown -R www-data:www-data /var/www/miranda-ng.org
sudo nano /etc/nginx/sites-available/oauth.miranda-ng.org
sudo ln -s /etc/nginx/sites-available/oauth.miranda-ng.org.conf /etc/nginx/sites-enabled/
sudo nano /etc/nginx/sites-available/miranda-ng.org
sudo ln -s /etc/nginx/sites-available/miranda-ng.org /etc/nginx/sites-enabled/
sudo nano /etc/nginx/sites-available/addons.miranda-ng.org
sudo ln -s /etc/nginx/sites-available/addons.miranda-ng.org /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Certbot
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d miranda-ng.org -d www.miranda-ng.org -d addons.miranda-ng.org -d forum.miranda-ng.org -d oauth.miranda-ng.org -d wiki.miranda-ng.org
Postfix
sudo DEBIAN_PRIORITY=low apt install postfix opendkim opendkim-tools
sudo dpkg-reconfigure postfix
Internet Site miranda-ng.org empty default No default 0 + all
sudo nano /etc/postfix/main.cf
myhostname = miranda-ng.org inet_interfaces = loopback-only
sudo systemctl enable -now pendkim
sudo opendkim-genkey -D /etc/dkimkeys/ --domain miranda-ng.org --selector dkim
udo nano /etc/opendkim.conf
UMask 002 Socket local:/var/spool/postfix/run/opendkim/opendkim.sock AutoRestart Yes AutoRestartRate 10/1h SyslogSuccess Yes LogWhy Yes ExternalIgnoreList refile:/etc/dkimkeys/TrustedHosts InternalHosts refile:/etc/dkimkeys/TrustedHosts KeyTable refile:/etc/dkimkeys/KeyTable SigningTable refile:/etc/dkimkeys/SigningTable SignatureAlgorithm rsa-sha256
sudo adduser postfix opendkim
sudo mkdir -p /var/spool/postfix/run/opendkim
sudo chown opendkim:opendkim /var/spool/postfix/run/opendkim
sudo nano /etc/dkimkeys/TrustedHosts
127.0.0.1 localhost *.miranda-ng.org
sudo nano /etc/dkimkeys/KeyTable
dkim._domainkey.miranda-ng.org miranda-ng.org:dkim:/etc/dkimkeys/dkim.private
sudo nano /etc/dkimkeys/SigningTable
*@miranda-ng.org dkim._domainkey.miranda-ng.org
sudo chown -R opendkim:opendkim /etc/dkimkeys
sudo chmod 600 /etc/dkimkeys/*
sudo nano /etc/postfix/main.cf
milter_protocol = 2 milter_default_action = accept smtpd_milters = unix:/run/opendkim/opendkim.sock non_smtpd_milters = unix:/run/opendkim/opendkim.sock
sudo nano /etc/hosts
92.53.65.196 miranda-ng.org
sudo hostnamectl set-hostname miranda-ng.org
sudo systemctl restart opendkim
sudo systemctl restart postfix
DNS records:
miranda-ng.org MX miranda-ng.org 10 miranda-ng.org TXT v=spf1 +a +mx -all DKIM._DOMAINKEY.miranda-ng.org TXT dkim_from_/etc/dkimkeys/dkim.txt _DMARC.miranda-ng.org TXT v=DMARC1; p=none; aspf=r; sp=none
echo "Subject: hello" | sendmail test@example.com
Prosody
sudo wget https://prosody.im/downloads/repos/$(lsb_release -sc)/prosody.sources -O/etc/apt/sources.list.d/prosody.sources
sudo apt install prosody lua-dbi-mysql
sudo mysql -u root
CREATE USER 'prosody'@'localhost' IDENTIFIED BY 'p@ssw0rd'; CREATE DATABASE prosody; GRANT ALL ON prosody.* to 'prosody'@'localhost'; FLUSH PRIVILEGES; quit;
sudo nano /etc/prosody/prosody.cfg.lua
admins = { "username@miranda-ng.org", "username2@miranda-ng.org" }
modules_enabled = {
--"register"; -- Allow users to register on this server
"proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use
}
modules_disabled = {
"s2s"; -- Handle server-to-server connections
}
storage = "sql" -- Default is "internal"
sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "p@ssword", host = "localhost" }
archive_expires_after = "4w" -- Remove archived messages after 1 week
log = {
info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
error = "/var/log/prosody/prosody.err";
}
VirtualHost "miranda-ng.org"
ssl = {
key = "/etc/letsencrypt/live/miranda-ng.org/privkey.pem";
certificate = "/etc/letsencrypt/live/miranda-ng.org/fullchain.pem";
protocol = "tlsv1_1+";
}
Component "conference.miranda-ng.org" "muc"
modules_enabled = { "muc_mam" }
sudo chmod -R 755 /etc/letsencrypt/live
sudo prosodyctl adduser username@miranda-ng.org
sudo systemctl enable -now prosody