1,084
edits
Technician (talk | contribs) (→Hosts) |
Technician (talk | contribs) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
{| class="wikitable" | {| class="wikitable" | ||
!IP !! FQDN !! Host !! Purpose | !IP !! FQDN !! Host !! Purpose !! Ports | ||
|- | |- | ||
|85.214.101.34 || feministwiki.org || || Wiki | |85.214.101.34 || feministwiki.org || || Wiki || 80, 443 | ||
|- | |- | ||
|85.214.101.34 || www.feministwiki.org || www || Wiki | |85.214.101.34 || www.feministwiki.org || www || Wiki || 80, 443 | ||
|- | |- | ||
|85.214.101.34 || ldap.feministwiki.org || ldap || LDAP | |85.214.101.34 || ldap.feministwiki.org || ldap || LDAP || - | ||
|- | |- | ||
|85.214.101.34 || blogs.feministwiki.org || blogs || Blogging | |85.214.101.34 || blogs.feministwiki.org || blogs || Blogging || 80, 443 | ||
|- | |- | ||
|85.214.101.34 || chat.feministwiki.org || chat || Web-client for XMPP | |85.214.101.34 || chat.feministwiki.org || chat || Web-client for XMPP || 80, 443 | ||
|- | |- | ||
|85.214.101.34 || forum.feministwiki.org || forum || BBS Forum | |85.214.101.34 || forum.feministwiki.org || forum || BBS Forum || 80, 443 | ||
|- | |- | ||
|85.214.101.34 || mail.feministwiki.org || mail || Web-client for Mail | |85.214.101.34 || mail.feministwiki.org || mail || Web-client for Mail || 80, 443 | ||
|- | |- | ||
|85.214.101.34 || files.feministwiki.org || files || File storage | |85.214.101.34 || files.feministwiki.org || files || File storage || 80, 443 | ||
|- | |- | ||
|85.214.101.34 || imap.feministwiki.org || imap || IMAP | |85.214.101.34 || imap.feministwiki.org || imap || IMAP || 993 | ||
|- | |- | ||
|85.214.101.34 || pop3.feministwiki.org || pop3 || POP3 | |85.214.101.34 || pop3.feministwiki.org || pop3 || POP3 || 995 | ||
|- | |- | ||
|85.214.101.34 || smtp.feministwiki.org || smtp || SMTP | |85.214.101.34 || smtp.feministwiki.org || smtp || SMTP || 25, 465, 587 | ||
|- | |- | ||
|85.214.101.34 || xmpp.feministwiki.org || xmpp || XMPP | |85.214.101.34 || xmpp.feministwiki.org || xmpp || XMPP || 5222, 5269, 5280 | ||
|- | |- | ||
|85.214.101.34 || irc.feministwiki.org || irc || IRC | |85.214.101.34 || irc.feministwiki.org || irc || IRC || 6697 | ||
|- | |- | ||
|85.214.101.34 || | |85.214.101.34 || account.feministwiki.org || account || Account operations || 80, 443 | ||
|} | |} | ||
As you can see, all services are on the same server for now. However, it should be kept as an open possibility that the hosts are split across different IPs. When done so, the <code>ldap</code> host should listen on 636 for LDAPS connections. | |||
== Firewall == | |||
The simple <code>ufw</code> firewall-frontend is used to trivially limit all network I/O to the ports you can see in the host table above, plus port 22 for ssh and scp. | |||
== Special DNS entries == | == Special DNS entries == | ||
Line 64: | Line 68: | ||
|TXT || _dmarc || v=DMARC1; p=reject; rua=<nowiki>mailto:admin</nowiki>@feministwiki.org || DMARC | |TXT || _dmarc || v=DMARC1; p=reject; rua=<nowiki>mailto:admin</nowiki>@feministwiki.org || DMARC | ||
|} | |} | ||
'''Note:''' There must be a direct A or AAAA record (not a CNAME record) for the domain name specified in the MX record. | |||
For XMPP: | For XMPP: | ||
Line 111: | Line 117: | ||
cat fullchain.pem privkey.pem > certbundle.pem | cat fullchain.pem privkey.pem > certbundle.pem | ||
The script <code>/root/bin/letsencrypt-refresh</code> '''does all of the above''', | The script <code>/root/bin/letsencrypt-refresh</code> '''does all of the above''' automatically. It stops Apache, runs the commands described above, and starts Apache again. This can be used not only to refresh a cert that's running out, but also to add a new domain to the cert. Just add the domain to <code>/root/etc/domains</code> and run the commands. Note that the letsencrypt command may not work well on a "dumb" terminal such as an Emacs shell buffer. If in doubt, run it from within a proper terminal emulator. | ||
=== Readability of the key files === | |||
To ensure that processes running under unprivileged users can read key files, ensure that the users they run under are members of the <code>ssl-cert</code> group, which should have read access to the files in <code>/etc/letsencrypt/live/feministwiki.org</code>. | |||
== Ubuntu package repositories == | |||
Currently, FeministWiki runs on Ubuntu 16.04 LTS (Xenial), which has rather old Apache and PHP packages. We use the Ubuntu PPAs <code>ondrej/apache2</code> and <code>ondrej/php</code> to get newer versions. | |||
For F-Droid packages, we use the <code>fdroid/fdroidserver</code> Ubuntu PPA. | |||
== Services == | == Services == | ||
Line 134: | Line 138: | ||
Software: OpenLDAP | Software: OpenLDAP | ||
The LDAP service contains the central database of FeministWiki members. | The LDAP service contains the central database of FeministWiki members. For details on the LDAP schema, see [[FeministWiki:LDAP Schema]]. | ||
=== Wiki === | === Wiki === | ||
Line 177: | Line 145: | ||
Software: MediaWiki | Software: MediaWiki | ||
The wiki uses a [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] installation located at <code>/var/www/wiki/w</code> | The wiki uses a [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] installation located at <code>/var/www/wiki/w</code>. It uses the [https://www.mediawiki.org/wiki/LDAP_Stack LDAP Stack] for login management, and the "Short URL" feature enabled with help of Apache's vhost configuration. | ||
The wiki uses the SQL database called "feministwiki" and the SQL user of the same name. | The wiki uses the SQL database called "feministwiki" and the SQL user of the same name. | ||
Line 244: | Line 212: | ||
There are also various tools on the web to automatically test the DNS settings for correctness, to check if the domain/IP is on blacklists, etc., which you can find via Google. All in all, FeministMail is probably the most complicated service of the FeministWiki, as far as technical background goes. | There are also various tools on the web to automatically test the DNS settings for correctness, to check if the domain/IP is on blacklists, etc., which you can find via Google. All in all, FeministMail is probably the most complicated service of the FeministWiki, as far as technical background goes. | ||
=== Mailing lists === | |||
Email domain: lists.feministwiki.org <br/> | |||
Software: GNU Mailman, Postfix | |||
Postfix is configured to recognize <code>lists.feministwiki.org</code> as a "local" domain. This means it uses the file specified in the <code>alias_maps</code> configuration directive (typically <code>/etc/aliases</code>) to decide the final recipient of an e-mail sent to this domain. Correspondingly, we populate <code>/etc/aliases</code> with the aliases needed by Mailman to operate each mailing list it controls. | |||
Note that there is no DNS entry for <code>lists.feministwiki.org</code> because e-mail software just checks the MX record for <code>feministwiki.org</code> when the recipient is from the domain <code><em>anything</em>.feministwiki.org</code>. | |||
=== XMPP === | === XMPP === | ||
Line 259: | Line 236: | ||
FeministIRC uses the [http://www.inspircd.org/ InspIRCd] IRC server with the <code>ldapauth</code> module for LDAP authentication. | FeministIRC uses the [http://www.inspircd.org/ InspIRCd] IRC server with the <code>ldapauth</code> module for LDAP authentication. | ||
=== | === Account operations === | ||
Host: | Host: account.feministwiki.org <br/> | ||
Software: custom | Software: custom | ||
This custom web interface hosted at <code>/var/www/account</code> lets you complete several tasks related to FeministWiki membership, such as changing your account settings, resetting your password, or adding a new member. It also contains a form to request membership. The interface is written in HTML, CSS, PHP, and C. |